@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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, signal, ChangeDetectionStrategy, Component, inject, computed, model, output, ElementRef, Renderer2, Directive, viewChild, Injector, effect, untracked, afterNextRender, ViewEncapsulation, forwardRef, contentChild, viewChildren, HostListener, Injectable } from '@angular/core';
2
+ import { input, signal, ChangeDetectionStrategy, Component, inject, computed, model, output, viewChild, forwardRef, HostListener, ElementRef, Renderer2, Directive, Injector, effect, untracked, afterNextRender, ViewEncapsulation, contentChild, viewChildren, Injectable } from '@angular/core';
3
3
  import { NgClass, NgTemplateOutlet } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
 
@@ -33,7 +33,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
33
33
 
34
34
  class ChevronDownIconComponent {
35
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronDownIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronDownIconComponent, isStandalone: true, selector: "ea-icon-chevron-down", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronDownIconComponent, isStandalone: true, selector: "ea-icon-chevron-down", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
37
37
  <svg
38
38
  viewBox="0 0 24 24"
39
39
  fill="none"
@@ -53,7 +53,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
53
53
  args: [{
54
54
  selector: 'ea-icon-chevron-down',
55
55
  changeDetection: ChangeDetectionStrategy.OnPush,
56
- host: { style: 'display: inline-flex;' },
56
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
57
57
  template: `
58
58
  <svg
59
59
  viewBox="0 0 24 24"
@@ -92,7 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
92
92
 
93
93
  class AlertCircleIconComponent {
94
94
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AlertCircleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
95
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AlertCircleIconComponent, isStandalone: true, selector: "ea-icon-alert-circle", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AlertCircleIconComponent, isStandalone: true, selector: "ea-icon-alert-circle", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
96
96
  <svg
97
97
  viewBox="0 0 16 16"
98
98
  fill="currentColor"
@@ -109,7 +109,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
109
109
  args: [{
110
110
  selector: 'ea-icon-alert-circle',
111
111
  changeDetection: ChangeDetectionStrategy.OnPush,
112
- host: { style: 'display: inline-flex;' },
112
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
113
113
  template: `
114
114
  <svg
115
115
  viewBox="0 0 16 16"
@@ -126,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
126
126
 
127
127
  class CheckIconComponent {
128
128
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CheckIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
129
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CheckIconComponent, isStandalone: true, selector: "ea-icon-check", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
129
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CheckIconComponent, isStandalone: true, selector: "ea-icon-check", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
130
130
  <svg
131
131
  viewBox="0 0 24 24"
132
132
  fill="none"
@@ -146,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
146
146
  args: [{
147
147
  selector: 'ea-icon-check',
148
148
  changeDetection: ChangeDetectionStrategy.OnPush,
149
- host: { style: 'display: inline-flex;' },
149
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
150
150
  template: `
151
151
  <svg
152
152
  viewBox="0 0 24 24"
@@ -166,7 +166,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
166
166
 
167
167
  class InfoIconComponent {
168
168
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: InfoIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: InfoIconComponent, isStandalone: true, selector: "ea-icon-info", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
169
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: InfoIconComponent, isStandalone: true, selector: "ea-icon-info", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
170
170
  <svg
171
171
  viewBox="0 0 24 24"
172
172
  fill="none"
@@ -199,7 +199,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
199
199
  args: [{
200
200
  selector: 'ea-icon-info',
201
201
  changeDetection: ChangeDetectionStrategy.OnPush,
202
- host: { style: 'display: inline-flex;' },
202
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
203
203
  template: `
204
204
  <svg
205
205
  viewBox="0 0 24 24"
@@ -232,7 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
232
232
 
233
233
  class XIconComponent {
234
234
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: XIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XIconComponent, isStandalone: true, selector: "ea-icon-x", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XIconComponent, isStandalone: true, selector: "ea-icon-x", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
236
236
  <svg
237
237
  viewBox="0 0 24 24"
238
238
  fill="none"
@@ -261,7 +261,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
261
261
  args: [{
262
262
  selector: 'ea-icon-x',
263
263
  changeDetection: ChangeDetectionStrategy.OnPush,
264
- host: { style: 'display: inline-flex;' },
264
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
265
265
  template: `
266
266
  <svg
267
267
  viewBox="0 0 24 24"
@@ -313,9 +313,193 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
313
313
  ], template: "@if (visible()) {\n <div\n class=\"ea-alert\"\n [class.ea-alert--default]=\"variant() === 'default'\"\n [class.ea-alert--success]=\"variant() === 'success'\"\n [class.ea-alert--warning]=\"variant() === 'warning'\"\n [class.ea-alert--error]=\"variant() === 'error'\"\n [class.ea-alert--info]=\"variant() === 'info'\"\n role=\"alert\">\n <span class=\"ea-alert__icon\">\n @switch (variant()) {\n @case ('success') {\n <ea-icon-check />\n }\n @case ('warning') {\n <ea-icon-alert-circle />\n }\n @case ('error') {\n <ea-icon-alert-circle />\n }\n @case ('info') {\n <ea-icon-info />\n }\n @default {\n <ea-icon-info />\n }\n }\n </span>\n <div class=\"ea-alert__content\">\n <ng-content />\n </div>\n @if (dismissible()) {\n <button\n class=\"ea-alert__close\"\n type=\"button\"\n aria-label=\"Dismiss\"\n (click)=\"dismiss()\">\n <ea-icon-x />\n </button>\n }\n </div>\n}\n", styles: [".ea-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);border:var(--border-width-thin) solid;border-radius:var(--radius-lg)}.ea-alert--default{background-color:var(--color-bg-subtle);border-color:var(--color-border-default);color:var(--color-text-primary)}.ea-alert--default .ea-alert__icon{color:var(--color-text-secondary)}.ea-alert--success{background-color:var(--color-success-subtle);border-color:var(--color-success-default);color:var(--color-text-primary)}.ea-alert--success .ea-alert__icon{color:var(--color-success-default)}.ea-alert--warning{background-color:var(--color-warning-subtle);border-color:var(--color-warning-default);color:var(--color-text-primary)}.ea-alert--warning .ea-alert__icon{color:var(--color-warning-default)}.ea-alert--error{background-color:var(--color-error-subtle);border-color:var(--color-error-default);color:var(--color-text-primary)}.ea-alert--error .ea-alert__icon{color:var(--color-error-default)}.ea-alert--info{background-color:var(--color-info-subtle);border-color:var(--color-info-default);color:var(--color-text-primary)}.ea-alert--info .ea-alert__icon{color:var(--color-info-default)}.ea-alert__icon{display:flex;flex-shrink:0;width:1.25rem;height:1.25rem;padding-top:1px}.ea-alert__content{flex:1;min-width:0}.ea-alert__close{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;width:1.25rem;height:1.25rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-colors)}.ea-alert__close:hover{color:var(--color-text-primary)}.ea-alert__close:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}\n"] }]
314
314
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], dismissible: [{ type: i0.Input, args: [{ isSignal: true, alias: "dismissible", required: false }] }], visible: [{ type: i0.Input, args: [{ isSignal: true, alias: "visible", required: false }] }, { type: i0.Output, args: ["visibleChange"] }], dismissed: [{ type: i0.Output, args: ["dismissed"] }] } });
315
315
 
316
+ class AutocompleteComponent {
317
+ inputEl = viewChild('inputEl', ...(ngDevMode ? [{ debugName: "inputEl" }] : /* istanbul ignore next */ []));
318
+ hostEl = viewChild('hostEl', ...(ngDevMode ? [{ debugName: "hostEl" }] : /* istanbul ignore next */ []));
319
+ // Inputs
320
+ label = input(undefined, ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
321
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
322
+ options = input([], ...(ngDevMode ? [{ debugName: "options" }] : /* istanbul ignore next */ []));
323
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
324
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
325
+ readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly" }] : /* istanbul ignore next */ []));
326
+ required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
327
+ hint = input(undefined, ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
328
+ errorMsg = input(undefined, { ...(ngDevMode ? { debugName: "errorMsg" } : /* istanbul ignore next */ {}), alias: 'error' });
329
+ minLength = input(0, ...(ngDevMode ? [{ debugName: "minLength" }] : /* istanbul ignore next */ []));
330
+ maxResults = input(10, ...(ngDevMode ? [{ debugName: "maxResults" }] : /* istanbul ignore next */ []));
331
+ emptyMessage = input('No results', ...(ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []));
332
+ id = input(`ea-autocomplete-${Math.random().toString(36).slice(2, 9)}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
333
+ // Two-way value binding (current text value in the input)
334
+ value = model('', ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
335
+ // Outputs
336
+ optionSelected = output();
337
+ valueChanged = output();
338
+ // Internal state
339
+ isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
340
+ focused = signal(false, ...(ngDevMode ? [{ debugName: "focused" }] : /* istanbul ignore next */ []));
341
+ focusedIndex = signal(-1, ...(ngDevMode ? [{ debugName: "focusedIndex" }] : /* istanbul ignore next */ []));
342
+ _formDisabled = signal(false, ...(ngDevMode ? [{ debugName: "_formDisabled" }] : /* istanbul ignore next */ []));
343
+ justSelected = false;
344
+ // ControlValueAccessor callbacks
345
+ onChange = () => { };
346
+ onTouched = () => { };
347
+ // Computed
348
+ isDisabled = computed(() => this.disabled() || this._formDisabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
349
+ resolvedStatus = computed(() => (this.errorMsg() ? 'error' : 'default'), ...(ngDevMode ? [{ debugName: "resolvedStatus" }] : /* istanbul ignore next */ []));
350
+ showError = computed(() => !!this.errorMsg(), ...(ngDevMode ? [{ debugName: "showError" }] : /* istanbul ignore next */ []));
351
+ showHint = computed(() => !!this.hint() && !this.showError(), ...(ngDevMode ? [{ debugName: "showHint" }] : /* istanbul ignore next */ []));
352
+ filteredOptions = computed(() => {
353
+ const query = this.value().trim().toLowerCase();
354
+ const allOptions = this.options();
355
+ const max = this.maxResults();
356
+ if (query.length < this.minLength())
357
+ return [];
358
+ const matched = query
359
+ ? allOptions.filter(o => o.label.toLowerCase().includes(query))
360
+ : allOptions;
361
+ return matched.slice(0, max);
362
+ }, ...(ngDevMode ? [{ debugName: "filteredOptions" }] : /* istanbul ignore next */ []));
363
+ showList = computed(() => this.isOpen() && this.value().length >= this.minLength(), ...(ngDevMode ? [{ debugName: "showList" }] : /* istanbul ignore next */ []));
364
+ showEmpty = computed(() => this.showList() && this.filteredOptions().length === 0, ...(ngDevMode ? [{ debugName: "showEmpty" }] : /* istanbul ignore next */ []));
365
+ wrapperClasses = computed(() => ({
366
+ [`ea-autocomplete__wrapper--${this.size()}`]: true,
367
+ [`ea-autocomplete__wrapper--${this.resolvedStatus()}`]: true,
368
+ 'ea-autocomplete__wrapper--focused': this.focused(),
369
+ 'ea-autocomplete__wrapper--disabled': this.isDisabled(),
370
+ }), ...(ngDevMode ? [{ debugName: "wrapperClasses" }] : /* istanbul ignore next */ []));
371
+ // ControlValueAccessor
372
+ writeValue(val) {
373
+ this.value.set(val ?? '');
374
+ }
375
+ registerOnChange(fn) {
376
+ this.onChange = fn;
377
+ }
378
+ registerOnTouched(fn) {
379
+ this.onTouched = fn;
380
+ }
381
+ setDisabledState(isDisabled) {
382
+ this._formDisabled.set(isDisabled);
383
+ }
384
+ // Handlers
385
+ handleInput(event) {
386
+ const next = event.target.value;
387
+ this.value.set(next);
388
+ this.onChange(next);
389
+ this.valueChanged.emit(next);
390
+ this.isOpen.set(true);
391
+ this.focusedIndex.set(-1);
392
+ }
393
+ handleFocus() {
394
+ this.focused.set(true);
395
+ if (this.justSelected) {
396
+ this.justSelected = false;
397
+ return;
398
+ }
399
+ if (this.value().length >= this.minLength()) {
400
+ this.isOpen.set(true);
401
+ }
402
+ }
403
+ handleBlur() {
404
+ this.focused.set(false);
405
+ this.onTouched();
406
+ }
407
+ handleKeydown(event) {
408
+ if (this.isDisabled() || this.readonly())
409
+ return;
410
+ switch (event.key) {
411
+ case 'ArrowDown':
412
+ event.preventDefault();
413
+ if (!this.isOpen()) {
414
+ this.isOpen.set(true);
415
+ }
416
+ else {
417
+ this.moveFocus(1);
418
+ }
419
+ break;
420
+ case 'ArrowUp':
421
+ event.preventDefault();
422
+ if (this.isOpen())
423
+ this.moveFocus(-1);
424
+ break;
425
+ case 'Enter': {
426
+ const opts = this.filteredOptions();
427
+ const idx = this.focusedIndex();
428
+ if (this.isOpen() && idx >= 0 && idx < opts.length && !opts[idx].disabled) {
429
+ event.preventDefault();
430
+ this.selectOption(opts[idx]);
431
+ }
432
+ break;
433
+ }
434
+ case 'Escape':
435
+ if (this.isOpen()) {
436
+ event.preventDefault();
437
+ this.close();
438
+ }
439
+ break;
440
+ }
441
+ }
442
+ selectOption(option) {
443
+ if (option.disabled || this.isDisabled())
444
+ return;
445
+ this.value.set(option.label);
446
+ this.onChange(option.label);
447
+ this.valueChanged.emit(option.label);
448
+ this.optionSelected.emit(option);
449
+ this.justSelected = true;
450
+ this.close();
451
+ this.inputEl()?.nativeElement.focus();
452
+ }
453
+ close() {
454
+ this.isOpen.set(false);
455
+ this.focusedIndex.set(-1);
456
+ }
457
+ moveFocus(delta) {
458
+ const opts = this.filteredOptions();
459
+ if (opts.length === 0)
460
+ return;
461
+ let idx = this.focusedIndex() + delta;
462
+ while (idx >= 0 && idx < opts.length && opts[idx].disabled) {
463
+ idx += delta;
464
+ }
465
+ if (idx < 0 || idx >= opts.length)
466
+ return;
467
+ this.focusedIndex.set(idx);
468
+ }
469
+ onDocumentClick(event) {
470
+ if (!this.isOpen())
471
+ return;
472
+ const host = this.hostEl()?.nativeElement;
473
+ if (host && !host.contains(event.target)) {
474
+ this.close();
475
+ }
476
+ }
477
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
478
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: AutocompleteComponent, isStandalone: true, selector: "ea-autocomplete", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, errorMsg: { classPropertyName: "errorMsg", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxResults: { classPropertyName: "maxResults", publicName: "maxResults", isSignal: true, isRequired: false, transformFunction: null }, emptyMessage: { classPropertyName: "emptyMessage", publicName: "emptyMessage", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", optionSelected: "optionSelected", valueChanged: "valueChanged" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, providers: [
479
+ {
480
+ provide: NG_VALUE_ACCESSOR,
481
+ useExisting: forwardRef(() => AutocompleteComponent),
482
+ multi: true,
483
+ },
484
+ ], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }, { propertyName: "hostEl", first: true, predicate: ["hostEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n #hostEl\n class=\"ea-autocomplete\">\n @if (label()) {\n <label\n class=\"ea-autocomplete__label\"\n [for]=\"id()\"\n [class.ea-autocomplete__label--required]=\"required()\">\n {{ label() }}\n </label>\n }\n\n <div\n class=\"ea-autocomplete__wrapper\"\n [ngClass]=\"wrapperClasses()\">\n <span class=\"ea-autocomplete__prefix\">\n <ng-content select=\"[slot=prefix]\" />\n </span>\n\n <input\n #inputEl\n class=\"ea-autocomplete__input\"\n type=\"text\"\n autocomplete=\"off\"\n role=\"combobox\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [readOnly]=\"readonly()\"\n [required]=\"required()\"\n [value]=\"value()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n [attr.aria-activedescendant]=\"\n focusedIndex() >= 0 ? id() + '-option-' + focusedIndex() : null\n \"\n [attr.aria-invalid]=\"resolvedStatus() === 'error' || null\"\n [attr.aria-describedby]=\"\n showError() ? id() + '-error' : showHint() ? id() + '-hint' : null\n \"\n (input)=\"handleInput($event)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (keydown)=\"handleKeydown($event)\" />\n\n <span class=\"ea-autocomplete__suffix\">\n <ng-content select=\"[slot=suffix]\" />\n </span>\n </div>\n\n @if (showList()) {\n <ul\n class=\"ea-autocomplete__listbox\"\n role=\"listbox\"\n [id]=\"id() + '-listbox'\">\n @for (option of filteredOptions(); track option.value; let i = $index) {\n <li\n class=\"ea-autocomplete__option\"\n role=\"option\"\n [id]=\"id() + '-option-' + i\"\n [class.ea-autocomplete__option--focused]=\"i === focusedIndex()\"\n [class.ea-autocomplete__option--disabled]=\"option.disabled\"\n [attr.aria-selected]=\"i === focusedIndex()\"\n [attr.aria-disabled]=\"option.disabled || null\"\n (mousedown)=\"selectOption(option)\"\n (mouseenter)=\"focusedIndex.set(i)\">\n {{ option.label }}\n </li>\n }\n @if (showEmpty()) {\n <li\n class=\"ea-autocomplete__empty\"\n role=\"presentation\">\n {{ emptyMessage() }}\n </li>\n }\n </ul>\n }\n\n @if (showError()) {\n <p\n class=\"ea-autocomplete__message ea-autocomplete__message--error\"\n [id]=\"id() + '-error'\"\n role=\"alert\">\n {{ errorMsg() }}\n </p>\n }\n\n @if (showHint()) {\n <p\n class=\"ea-autocomplete__message ea-autocomplete__message--hint\"\n [id]=\"id() + '-hint'\">\n {{ hint() }}\n </p>\n }\n</div>\n", styles: [".ea-autocomplete{position:relative;display:flex;flex-direction:column;gap:var(--space-1-5)}.ea-autocomplete__label{font-size:var(--text-label-md-size);font-weight:var(--text-label-md-weight);line-height:var(--text-label-md-lh);color:var(--color-text-primary)}.ea-autocomplete__label--required:after{content:\" *\";color:var(--color-error-default)}.ea-autocomplete__wrapper{display:flex;align-items:center;gap:var(--space-2);width:100%;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);transition:var(--transition-colors),var(--transition-shadow)}.ea-autocomplete__wrapper--sm{padding:var(--space-1-5) var(--space-2);min-height:2rem}.ea-autocomplete__wrapper--sm .ea-autocomplete__input{font-size:var(--font-size-sm)}.ea-autocomplete__wrapper--md{padding:var(--space-2) var(--space-3);min-height:2.5rem}.ea-autocomplete__wrapper--md .ea-autocomplete__input{font-size:var(--font-size-sm)}.ea-autocomplete__wrapper--lg{padding:var(--space-2-5) var(--space-4);min-height:3rem}.ea-autocomplete__wrapper--lg .ea-autocomplete__input{font-size:var(--font-size-md)}.ea-autocomplete__wrapper--focused{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.ea-autocomplete__wrapper--error{border-color:var(--color-error-default)}.ea-autocomplete__wrapper--error.ea-autocomplete__wrapper--focused{box-shadow:var(--shadow-focus-ring-error)}.ea-autocomplete__wrapper--disabled{background-color:var(--color-bg-muted);opacity:.6;cursor:not-allowed}.ea-autocomplete__input{flex:1;min-width:0;padding:0;border:none;background:transparent;font-family:var(--font-family-sans);color:var(--color-text-primary);outline:none}.ea-autocomplete__input::placeholder{color:var(--color-text-tertiary)}.ea-autocomplete__input:disabled{cursor:not-allowed}.ea-autocomplete__prefix,.ea-autocomplete__suffix{display:flex;flex-shrink:0;align-items:center;color:var(--color-text-secondary)}.ea-autocomplete__prefix:empty,.ea-autocomplete__suffix:empty{display:none}.ea-autocomplete__listbox{position:absolute;z-index:var(--z-index-dropdown);top:100%;left:0;right:0;max-height:15rem;padding:var(--space-1) 0;margin:var(--space-1) 0 0;overflow-y:auto;list-style:none;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--color-bg-base)}.ea-autocomplete__option{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.ea-autocomplete__option--focused{background-color:var(--color-bg-muted)}.ea-autocomplete__option--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-autocomplete__empty{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-tertiary)}.ea-autocomplete__message{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:var(--text-helper-size);font-weight:var(--text-helper-weight);line-height:var(--text-helper-lh)}.ea-autocomplete__message--hint{color:var(--color-text-secondary)}.ea-autocomplete__message--error{color:var(--color-error-default)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
485
+ }
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AutocompleteComponent, decorators: [{
487
+ type: Component,
488
+ args: [{ selector: 'ea-autocomplete', imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
489
+ {
490
+ provide: NG_VALUE_ACCESSOR,
491
+ useExisting: forwardRef(() => AutocompleteComponent),
492
+ multi: true,
493
+ },
494
+ ], template: "<div\n #hostEl\n class=\"ea-autocomplete\">\n @if (label()) {\n <label\n class=\"ea-autocomplete__label\"\n [for]=\"id()\"\n [class.ea-autocomplete__label--required]=\"required()\">\n {{ label() }}\n </label>\n }\n\n <div\n class=\"ea-autocomplete__wrapper\"\n [ngClass]=\"wrapperClasses()\">\n <span class=\"ea-autocomplete__prefix\">\n <ng-content select=\"[slot=prefix]\" />\n </span>\n\n <input\n #inputEl\n class=\"ea-autocomplete__input\"\n type=\"text\"\n autocomplete=\"off\"\n role=\"combobox\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [readOnly]=\"readonly()\"\n [required]=\"required()\"\n [value]=\"value()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"id() + '-listbox'\"\n [attr.aria-activedescendant]=\"\n focusedIndex() >= 0 ? id() + '-option-' + focusedIndex() : null\n \"\n [attr.aria-invalid]=\"resolvedStatus() === 'error' || null\"\n [attr.aria-describedby]=\"\n showError() ? id() + '-error' : showHint() ? id() + '-hint' : null\n \"\n (input)=\"handleInput($event)\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (keydown)=\"handleKeydown($event)\" />\n\n <span class=\"ea-autocomplete__suffix\">\n <ng-content select=\"[slot=suffix]\" />\n </span>\n </div>\n\n @if (showList()) {\n <ul\n class=\"ea-autocomplete__listbox\"\n role=\"listbox\"\n [id]=\"id() + '-listbox'\">\n @for (option of filteredOptions(); track option.value; let i = $index) {\n <li\n class=\"ea-autocomplete__option\"\n role=\"option\"\n [id]=\"id() + '-option-' + i\"\n [class.ea-autocomplete__option--focused]=\"i === focusedIndex()\"\n [class.ea-autocomplete__option--disabled]=\"option.disabled\"\n [attr.aria-selected]=\"i === focusedIndex()\"\n [attr.aria-disabled]=\"option.disabled || null\"\n (mousedown)=\"selectOption(option)\"\n (mouseenter)=\"focusedIndex.set(i)\">\n {{ option.label }}\n </li>\n }\n @if (showEmpty()) {\n <li\n class=\"ea-autocomplete__empty\"\n role=\"presentation\">\n {{ emptyMessage() }}\n </li>\n }\n </ul>\n }\n\n @if (showError()) {\n <p\n class=\"ea-autocomplete__message ea-autocomplete__message--error\"\n [id]=\"id() + '-error'\"\n role=\"alert\">\n {{ errorMsg() }}\n </p>\n }\n\n @if (showHint()) {\n <p\n class=\"ea-autocomplete__message ea-autocomplete__message--hint\"\n [id]=\"id() + '-hint'\">\n {{ hint() }}\n </p>\n }\n</div>\n", styles: [".ea-autocomplete{position:relative;display:flex;flex-direction:column;gap:var(--space-1-5)}.ea-autocomplete__label{font-size:var(--text-label-md-size);font-weight:var(--text-label-md-weight);line-height:var(--text-label-md-lh);color:var(--color-text-primary)}.ea-autocomplete__label--required:after{content:\" *\";color:var(--color-error-default)}.ea-autocomplete__wrapper{display:flex;align-items:center;gap:var(--space-2);width:100%;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);transition:var(--transition-colors),var(--transition-shadow)}.ea-autocomplete__wrapper--sm{padding:var(--space-1-5) var(--space-2);min-height:2rem}.ea-autocomplete__wrapper--sm .ea-autocomplete__input{font-size:var(--font-size-sm)}.ea-autocomplete__wrapper--md{padding:var(--space-2) var(--space-3);min-height:2.5rem}.ea-autocomplete__wrapper--md .ea-autocomplete__input{font-size:var(--font-size-sm)}.ea-autocomplete__wrapper--lg{padding:var(--space-2-5) var(--space-4);min-height:3rem}.ea-autocomplete__wrapper--lg .ea-autocomplete__input{font-size:var(--font-size-md)}.ea-autocomplete__wrapper--focused{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.ea-autocomplete__wrapper--error{border-color:var(--color-error-default)}.ea-autocomplete__wrapper--error.ea-autocomplete__wrapper--focused{box-shadow:var(--shadow-focus-ring-error)}.ea-autocomplete__wrapper--disabled{background-color:var(--color-bg-muted);opacity:.6;cursor:not-allowed}.ea-autocomplete__input{flex:1;min-width:0;padding:0;border:none;background:transparent;font-family:var(--font-family-sans);color:var(--color-text-primary);outline:none}.ea-autocomplete__input::placeholder{color:var(--color-text-tertiary)}.ea-autocomplete__input:disabled{cursor:not-allowed}.ea-autocomplete__prefix,.ea-autocomplete__suffix{display:flex;flex-shrink:0;align-items:center;color:var(--color-text-secondary)}.ea-autocomplete__prefix:empty,.ea-autocomplete__suffix:empty{display:none}.ea-autocomplete__listbox{position:absolute;z-index:var(--z-index-dropdown);top:100%;left:0;right:0;max-height:15rem;padding:var(--space-1) 0;margin:var(--space-1) 0 0;overflow-y:auto;list-style:none;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--color-bg-base)}.ea-autocomplete__option{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.ea-autocomplete__option--focused{background-color:var(--color-bg-muted)}.ea-autocomplete__option--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-autocomplete__empty{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-tertiary)}.ea-autocomplete__message{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:var(--text-helper-size);font-weight:var(--text-helper-weight);line-height:var(--text-helper-lh)}.ea-autocomplete__message--hint{color:var(--color-text-secondary)}.ea-autocomplete__message--error{color:var(--color-error-default)}\n"] }]
495
+ }], propDecorators: { inputEl: [{ type: i0.ViewChild, args: ['inputEl', { isSignal: true }] }], hostEl: [{ type: i0.ViewChild, args: ['hostEl', { isSignal: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], errorMsg: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], minLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "minLength", required: false }] }], maxResults: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxResults", required: false }] }], emptyMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyMessage", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], optionSelected: [{ type: i0.Output, args: ["optionSelected"] }], valueChanged: [{ type: i0.Output, args: ["valueChanged"] }], onDocumentClick: [{
496
+ type: HostListener,
497
+ args: ['document:click', ['$event']]
498
+ }] } });
499
+
316
500
  class CameraIconComponent {
317
501
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CameraIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
318
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CameraIconComponent, isStandalone: true, selector: "ea-icon-camera", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
502
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CameraIconComponent, isStandalone: true, selector: "ea-icon-camera", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
319
503
  <svg
320
504
  viewBox="0 0 24 24"
321
505
  fill="none"
@@ -340,7 +524,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
340
524
  args: [{
341
525
  selector: 'ea-icon-camera',
342
526
  changeDetection: ChangeDetectionStrategy.OnPush,
343
- host: { style: 'display: inline-flex;' },
527
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
344
528
  template: `
345
529
  <svg
346
530
  viewBox="0 0 24 24"
@@ -365,7 +549,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
365
549
 
366
550
  class MinusIconComponent {
367
551
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MinusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
368
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MinusIconComponent, isStandalone: true, selector: "ea-icon-minus", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
552
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MinusIconComponent, isStandalone: true, selector: "ea-icon-minus", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
369
553
  <svg
370
554
  viewBox="0 0 24 24"
371
555
  fill="none"
@@ -389,7 +573,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
389
573
  args: [{
390
574
  selector: 'ea-icon-minus',
391
575
  changeDetection: ChangeDetectionStrategy.OnPush,
392
- host: { style: 'display: inline-flex;' },
576
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
393
577
  template: `
394
578
  <svg
395
579
  viewBox="0 0 24 24"
@@ -413,7 +597,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
413
597
 
414
598
  class PlusIconComponent {
415
599
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PlusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
416
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: PlusIconComponent, isStandalone: true, selector: "ea-icon-plus", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
600
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: PlusIconComponent, isStandalone: true, selector: "ea-icon-plus", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
417
601
  <svg
418
602
  viewBox="0 0 24 24"
419
603
  fill="none"
@@ -442,7 +626,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
442
626
  args: [{
443
627
  selector: 'ea-icon-plus',
444
628
  changeDetection: ChangeDetectionStrategy.OnPush,
445
- host: { style: 'display: inline-flex;' },
629
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
446
630
  template: `
447
631
  <svg
448
632
  viewBox="0 0 24 24"
@@ -471,7 +655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
471
655
 
472
656
  class RotateCcwIconComponent {
473
657
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: RotateCcwIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
474
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: RotateCcwIconComponent, isStandalone: true, selector: "ea-icon-rotate-ccw", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
658
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: RotateCcwIconComponent, isStandalone: true, selector: "ea-icon-rotate-ccw", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
475
659
  <svg
476
660
  viewBox="0 0 24 24"
477
661
  fill="none"
@@ -492,7 +676,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
492
676
  args: [{
493
677
  selector: 'ea-icon-rotate-ccw',
494
678
  changeDetection: ChangeDetectionStrategy.OnPush,
495
- host: { style: 'display: inline-flex;' },
679
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
496
680
  template: `
497
681
  <svg
498
682
  viewBox="0 0 24 24"
@@ -513,7 +697,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
513
697
 
514
698
  class TrashIconComponent {
515
699
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: TrashIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
516
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: TrashIconComponent, isStandalone: true, selector: "ea-icon-trash", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
700
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: TrashIconComponent, isStandalone: true, selector: "ea-icon-trash", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
517
701
  <svg
518
702
  viewBox="0 0 24 24"
519
703
  fill="none"
@@ -535,7 +719,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
535
719
  args: [{
536
720
  selector: 'ea-icon-trash',
537
721
  changeDetection: ChangeDetectionStrategy.OnPush,
538
- host: { style: 'display: inline-flex;' },
722
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
539
723
  template: `
540
724
  <svg
541
725
  viewBox="0 0 24 24"
@@ -557,7 +741,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
557
741
 
558
742
  class UploadIconComponent {
559
743
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: UploadIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
560
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: UploadIconComponent, isStandalone: true, selector: "ea-icon-upload", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
744
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: UploadIconComponent, isStandalone: true, selector: "ea-icon-upload", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
561
745
  <svg
562
746
  viewBox="0 0 24 24"
563
747
  fill="none"
@@ -583,7 +767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
583
767
  args: [{
584
768
  selector: 'ea-icon-upload',
585
769
  changeDetection: ChangeDetectionStrategy.OnPush,
586
- host: { style: 'display: inline-flex;' },
770
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
587
771
  template: `
588
772
  <svg
589
773
  viewBox="0 0 24 24"
@@ -1154,7 +1338,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1154
1338
 
1155
1339
  class UserIconComponent {
1156
1340
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: UserIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1157
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: UserIconComponent, isStandalone: true, selector: "ea-icon-user", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
1341
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: UserIconComponent, isStandalone: true, selector: "ea-icon-user", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1158
1342
  <svg
1159
1343
  viewBox="0 0 24 24"
1160
1344
  fill="none"
@@ -1178,7 +1362,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1178
1362
  args: [{
1179
1363
  selector: 'ea-icon-user',
1180
1364
  changeDetection: ChangeDetectionStrategy.OnPush,
1181
- host: { style: 'display: inline-flex;' },
1365
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
1182
1366
  template: `
1183
1367
  <svg
1184
1368
  viewBox="0 0 24 24"
@@ -1239,6 +1423,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1239
1423
  args: [{ selector: 'ea-badge', imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<span\n class=\"ea-badge\"\n [ngClass]=\"hostClasses()\">\n <ng-content />\n</span>\n", styles: [".ea-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-family-sans);font-weight:var(--font-weight-medium);line-height:var(--line-height-none);white-space:nowrap;border-radius:var(--radius-full)}.ea-badge--sm{padding:var(--space-0-5) var(--space-2);font-size:var(--font-size-xs)}.ea-badge--md{padding:var(--space-1) var(--space-2-5);font-size:var(--font-size-xs)}.ea-badge--lg{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.ea-badge--default{background-color:var(--color-bg-muted);color:var(--color-text-secondary)}.ea-badge--success{background-color:var(--color-success-subtle);color:var(--color-success-700)}.ea-badge--warning{background-color:var(--color-warning-subtle);color:var(--color-warning-700)}.ea-badge--error{background-color:var(--color-error-subtle);color:var(--color-error-700)}.ea-badge--info{background-color:var(--color-info-subtle);color:var(--color-info-700)}\n"] }]
1240
1424
  }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
1241
1425
 
1426
+ class ChevronRightIconComponent {
1427
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronRightIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1428
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronRightIconComponent, isStandalone: true, selector: "ea-icon-chevron-right", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1429
+ <svg
1430
+ viewBox="0 0 24 24"
1431
+ fill="none"
1432
+ stroke="currentColor"
1433
+ stroke-width="2"
1434
+ stroke-linecap="round"
1435
+ stroke-linejoin="round"
1436
+ aria-hidden="true"
1437
+ width="100%"
1438
+ height="100%">
1439
+ <polyline points="9 18 15 12 9 6" />
1440
+ </svg>
1441
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1442
+ }
1443
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronRightIconComponent, decorators: [{
1444
+ type: Component,
1445
+ args: [{
1446
+ selector: 'ea-icon-chevron-right',
1447
+ changeDetection: ChangeDetectionStrategy.OnPush,
1448
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
1449
+ template: `
1450
+ <svg
1451
+ viewBox="0 0 24 24"
1452
+ fill="none"
1453
+ stroke="currentColor"
1454
+ stroke-width="2"
1455
+ stroke-linecap="round"
1456
+ stroke-linejoin="round"
1457
+ aria-hidden="true"
1458
+ width="100%"
1459
+ height="100%">
1460
+ <polyline points="9 18 15 12 9 6" />
1461
+ </svg>
1462
+ `,
1463
+ }]
1464
+ }] });
1465
+
1466
+ class BreadcrumbsComponent {
1467
+ items = input([], ...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
1468
+ separator = input('chevron', ...(ngDevMode ? [{ debugName: "separator" }] : /* istanbul ignore next */ []));
1469
+ ariaLabel = input('Breadcrumb', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
1470
+ itemClicked = output();
1471
+ isLast(index) {
1472
+ return index === this.items().length - 1;
1473
+ }
1474
+ handleClick(item, index, event) {
1475
+ if (item.disabled || this.isLast(index)) {
1476
+ event.preventDefault();
1477
+ return;
1478
+ }
1479
+ this.itemClicked.emit({ item, index, event });
1480
+ }
1481
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1482
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: BreadcrumbsComponent, isStandalone: true, selector: "ea-breadcrumbs", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, separator: { classPropertyName: "separator", publicName: "separator", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<nav\n class=\"ea-breadcrumbs\"\n [attr.aria-label]=\"ariaLabel()\">\n <ol class=\"ea-breadcrumbs__list\">\n @for (item of items(); track $index; let i = $index; let last = $last) {\n <li class=\"ea-breadcrumbs__item\">\n @if (last) {\n <span\n class=\"ea-breadcrumbs__current\"\n aria-current=\"page\">\n {{ item.label }}\n </span>\n } @else if (item.disabled) {\n <span class=\"ea-breadcrumbs__link ea-breadcrumbs__link--disabled\">\n {{ item.label }}\n </span>\n } @else if (item.href) {\n <a\n class=\"ea-breadcrumbs__link\"\n [href]=\"item.href\"\n (click)=\"handleClick(item, i, $event)\">\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"ea-breadcrumbs__link ea-breadcrumbs__link--button\"\n (click)=\"handleClick(item, i, $event)\">\n {{ item.label }}\n </button>\n }\n\n @if (!last) {\n @if (separator() === 'chevron') {\n <ea-icon-chevron-right\n class=\"ea-breadcrumbs__separator\"\n aria-hidden=\"true\" />\n } @else {\n <span\n class=\"ea-breadcrumbs__separator ea-breadcrumbs__separator--slash\"\n aria-hidden=\"true\">\n /\n </span>\n }\n }\n </li>\n }\n </ol>\n</nav>\n", styles: [".ea-breadcrumbs{font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ea-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:0;margin:0;list-style:none}.ea-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.ea-breadcrumbs__link{padding:var(--space-0-5) var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:inherit;text-decoration:none;cursor:pointer;transition:var(--transition-colors)}.ea-breadcrumbs__link:hover:not(.ea-breadcrumbs__link--disabled){color:var(--color-text-primary);text-decoration:underline}.ea-breadcrumbs__link:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-breadcrumbs__link--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-breadcrumbs__current{padding:var(--space-0-5) var(--space-1);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ea-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--color-text-tertiary);flex-shrink:0;-webkit-user-select:none;user-select:none}.ea-breadcrumbs__separator--slash{width:auto;height:auto;font-size:var(--font-size-sm)}\n"], dependencies: [{ kind: "component", type: ChevronRightIconComponent, selector: "ea-icon-chevron-right" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1483
+ }
1484
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
1485
+ type: Component,
1486
+ args: [{ selector: 'ea-breadcrumbs', imports: [ChevronRightIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<nav\n class=\"ea-breadcrumbs\"\n [attr.aria-label]=\"ariaLabel()\">\n <ol class=\"ea-breadcrumbs__list\">\n @for (item of items(); track $index; let i = $index; let last = $last) {\n <li class=\"ea-breadcrumbs__item\">\n @if (last) {\n <span\n class=\"ea-breadcrumbs__current\"\n aria-current=\"page\">\n {{ item.label }}\n </span>\n } @else if (item.disabled) {\n <span class=\"ea-breadcrumbs__link ea-breadcrumbs__link--disabled\">\n {{ item.label }}\n </span>\n } @else if (item.href) {\n <a\n class=\"ea-breadcrumbs__link\"\n [href]=\"item.href\"\n (click)=\"handleClick(item, i, $event)\">\n {{ item.label }}\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"ea-breadcrumbs__link ea-breadcrumbs__link--button\"\n (click)=\"handleClick(item, i, $event)\">\n {{ item.label }}\n </button>\n }\n\n @if (!last) {\n @if (separator() === 'chevron') {\n <ea-icon-chevron-right\n class=\"ea-breadcrumbs__separator\"\n aria-hidden=\"true\" />\n } @else {\n <span\n class=\"ea-breadcrumbs__separator ea-breadcrumbs__separator--slash\"\n aria-hidden=\"true\">\n /\n </span>\n }\n }\n </li>\n }\n </ol>\n</nav>\n", styles: [".ea-breadcrumbs{font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ea-breadcrumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);padding:0;margin:0;list-style:none}.ea-breadcrumbs__item{display:inline-flex;align-items:center;gap:var(--space-1);min-width:0}.ea-breadcrumbs__link{padding:var(--space-0-5) var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-family:inherit;font-size:inherit;text-decoration:none;cursor:pointer;transition:var(--transition-colors)}.ea-breadcrumbs__link:hover:not(.ea-breadcrumbs__link--disabled){color:var(--color-text-primary);text-decoration:underline}.ea-breadcrumbs__link:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-breadcrumbs__link--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-breadcrumbs__current{padding:var(--space-0-5) var(--space-1);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.ea-breadcrumbs__separator{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--color-text-tertiary);flex-shrink:0;-webkit-user-select:none;user-select:none}.ea-breadcrumbs__separator--slash{width:auto;height:auto;font-size:var(--font-size-sm)}\n"] }]
1487
+ }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], separator: [{ type: i0.Input, args: [{ isSignal: true, alias: "separator", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], itemClicked: [{ type: i0.Output, args: ["itemClicked"] }] } });
1488
+
1242
1489
  class ButtonComponent {
1243
1490
  // Inputs
1244
1491
  variant = input('primary', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
@@ -1367,7 +1614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1367
1614
 
1368
1615
  class ArrowDownIconComponent {
1369
1616
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ArrowDownIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1370
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowDownIconComponent, isStandalone: true, selector: "ea-icon-arrow-down", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
1617
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowDownIconComponent, isStandalone: true, selector: "ea-icon-arrow-down", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1371
1618
  <svg
1372
1619
  viewBox="0 0 24 24"
1373
1620
  fill="none"
@@ -1392,7 +1639,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1392
1639
  args: [{
1393
1640
  selector: 'ea-icon-arrow-down',
1394
1641
  changeDetection: ChangeDetectionStrategy.OnPush,
1395
- host: { style: 'display: inline-flex;' },
1642
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
1396
1643
  template: `
1397
1644
  <svg
1398
1645
  viewBox="0 0 24 24"
@@ -1417,7 +1664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1417
1664
 
1418
1665
  class ArrowUpIconComponent {
1419
1666
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ArrowUpIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1420
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowUpIconComponent, isStandalone: true, selector: "ea-icon-arrow-up", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
1667
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowUpIconComponent, isStandalone: true, selector: "ea-icon-arrow-up", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1421
1668
  <svg
1422
1669
  viewBox="0 0 24 24"
1423
1670
  fill="none"
@@ -1442,7 +1689,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1442
1689
  args: [{
1443
1690
  selector: 'ea-icon-arrow-up',
1444
1691
  changeDetection: ChangeDetectionStrategy.OnPush,
1445
- host: { style: 'display: inline-flex;' },
1692
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
1446
1693
  template: `
1447
1694
  <svg
1448
1695
  viewBox="0 0 24 24"
@@ -1467,7 +1714,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1467
1714
 
1468
1715
  class ChevronsUpDownIconComponent {
1469
1716
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronsUpDownIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronsUpDownIconComponent, isStandalone: true, selector: "ea-icon-chevrons-up-down", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
1717
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronsUpDownIconComponent, isStandalone: true, selector: "ea-icon-chevrons-up-down", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1471
1718
  <svg
1472
1719
  viewBox="0 0 24 24"
1473
1720
  fill="none"
@@ -1488,7 +1735,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1488
1735
  args: [{
1489
1736
  selector: 'ea-icon-chevrons-up-down',
1490
1737
  changeDetection: ChangeDetectionStrategy.OnPush,
1491
- host: { style: 'display: inline-flex;' },
1738
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
1492
1739
  template: `
1493
1740
  <svg
1494
1741
  viewBox="0 0 24 24"
@@ -1811,6 +2058,70 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1811
2058
  args: [{ selector: 'ea-divider', imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"ea-divider\"\n [ngClass]=\"hostClasses()\"\n [attr.role]=\"'separator'\"\n [attr.aria-orientation]=\"orientation()\">\n @if (label()) {\n <span class=\"ea-divider__label\">{{ label() }}</span>\n }\n</div>\n", styles: [".ea-divider{flex-shrink:0;border:0;font-family:var(--font-family-sans)}.ea-divider--horizontal{display:flex;align-items:center;width:100%;height:1px;background-color:var(--color-border-default)}.ea-divider--vertical{display:inline-block;width:1px;height:100%;min-height:1rem;background-color:var(--color-border-default)}.ea-divider--with-label{height:auto;background-color:transparent;gap:var(--space-3)}.ea-divider--with-label:before,.ea-divider--with-label:after{content:\"\";flex:1;height:1px;background-color:var(--color-border-default)}.ea-divider__label{flex-shrink:0;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary);white-space:nowrap}\n"] }]
1812
2059
  }], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
1813
2060
 
2061
+ class DrawerComponent {
2062
+ drawerEl = viewChild('drawerEl', ...(ngDevMode ? [{ debugName: "drawerEl" }] : /* istanbul ignore next */ []));
2063
+ // Inputs
2064
+ position = input('right', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
2065
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
2066
+ closeOnBackdrop = input(true, ...(ngDevMode ? [{ debugName: "closeOnBackdrop" }] : /* istanbul ignore next */ []));
2067
+ closeOnEscape = input(true, ...(ngDevMode ? [{ debugName: "closeOnEscape" }] : /* istanbul ignore next */ []));
2068
+ showClose = input(true, ...(ngDevMode ? [{ debugName: "showClose" }] : /* istanbul ignore next */ []));
2069
+ ariaLabel = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
2070
+ // Two-way open binding
2071
+ open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
2072
+ // Outputs
2073
+ opened = output();
2074
+ closed = output();
2075
+ // Computed
2076
+ panelClasses = computed(() => ({
2077
+ [`ea-drawer__panel--${this.position()}`]: true,
2078
+ [`ea-drawer__panel--${this.size()}`]: true,
2079
+ }), ...(ngDevMode ? [{ debugName: "panelClasses" }] : /* istanbul ignore next */ []));
2080
+ constructor() {
2081
+ effect(() => {
2082
+ const drawerRef = this.drawerEl()?.nativeElement;
2083
+ if (!drawerRef)
2084
+ return;
2085
+ if (this.open()) {
2086
+ if (!drawerRef.open) {
2087
+ drawerRef.showModal();
2088
+ this.opened.emit();
2089
+ }
2090
+ }
2091
+ else {
2092
+ if (drawerRef.open) {
2093
+ drawerRef.close();
2094
+ }
2095
+ }
2096
+ });
2097
+ }
2098
+ handleClose() {
2099
+ this.open.set(false);
2100
+ this.closed.emit();
2101
+ }
2102
+ handleBackdropClick(event) {
2103
+ if (!this.closeOnBackdrop())
2104
+ return;
2105
+ const drawerRef = this.drawerEl()?.nativeElement;
2106
+ if (event.target === drawerRef) {
2107
+ this.handleClose();
2108
+ }
2109
+ }
2110
+ handleCancel(event) {
2111
+ if (!this.closeOnEscape()) {
2112
+ event.preventDefault();
2113
+ return;
2114
+ }
2115
+ this.handleClose();
2116
+ }
2117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: DrawerComponent, isStandalone: true, selector: "ea-drawer", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, closeOnBackdrop: { classPropertyName: "closeOnBackdrop", publicName: "closeOnBackdrop", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null }, showClose: { classPropertyName: "showClose", publicName: "showClose", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", opened: "opened", closed: "closed" }, viewQueries: [{ propertyName: "drawerEl", first: true, predicate: ["drawerEl"], descendants: true, isSignal: true }], ngImport: i0, template: "<dialog\n #drawerEl\n class=\"ea-drawer\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleBackdropClick($event)\"\n (cancel)=\"handleCancel($event)\">\n <div\n class=\"ea-drawer__panel\"\n [ngClass]=\"panelClasses()\">\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"ea-drawer__close\"\n aria-label=\"Close drawer\"\n (click)=\"handleClose()\">\n <ea-icon-x />\n </button>\n }\n\n <div class=\"ea-drawer__header\">\n <ng-content select=\"[slot=header]\" />\n </div>\n\n <div class=\"ea-drawer__body\">\n <ng-content />\n </div>\n\n <div class=\"ea-drawer__footer\">\n <ng-content select=\"[slot=footer]\" />\n </div>\n </div>\n</dialog>\n", styles: [".ea-drawer{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:0;margin:0;border:none;background:transparent;overflow:hidden}.ea-drawer::backdrop{background-color:var(--color-bg-overlay)}.ea-drawer__panel{position:absolute;display:flex;flex-direction:column;background-color:var(--color-bg-base);box-shadow:var(--shadow-2xl);overflow:hidden}.ea-drawer__panel--right{top:0;right:0;bottom:0;height:100%}.ea-drawer__panel--right.ea-drawer__panel--sm{width:20rem}.ea-drawer__panel--right.ea-drawer__panel--md{width:28rem}.ea-drawer__panel--right.ea-drawer__panel--lg{width:36rem}.ea-drawer__panel--right.ea-drawer__panel--full{width:calc(100vw - 3rem)}.ea-drawer__panel--left{top:0;left:0;bottom:0;height:100%}.ea-drawer__panel--left.ea-drawer__panel--sm{width:20rem}.ea-drawer__panel--left.ea-drawer__panel--md{width:28rem}.ea-drawer__panel--left.ea-drawer__panel--lg{width:36rem}.ea-drawer__panel--left.ea-drawer__panel--full{width:calc(100vw - 3rem)}.ea-drawer__panel--top{top:0;left:0;right:0;width:100%}.ea-drawer__panel--top.ea-drawer__panel--sm{height:12rem}.ea-drawer__panel--top.ea-drawer__panel--md{height:20rem}.ea-drawer__panel--top.ea-drawer__panel--lg{height:28rem}.ea-drawer__panel--top.ea-drawer__panel--full{height:calc(100vh - 3rem)}.ea-drawer__panel--bottom{bottom:0;left:0;right:0;width:100%}.ea-drawer__panel--bottom.ea-drawer__panel--sm{height:12rem}.ea-drawer__panel--bottom.ea-drawer__panel--md{height:20rem}.ea-drawer__panel--bottom.ea-drawer__panel--lg{height:28rem}.ea-drawer__panel--bottom.ea-drawer__panel--full{height:calc(100vh - 3rem)}.ea-drawer__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-colors)}.ea-drawer__close:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.ea-drawer__close:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-drawer__close svg{width:1rem;height:1rem}.ea-drawer__header{padding:var(--space-5) var(--space-6) var(--space-3);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight);line-height:var(--text-h4-lh);color:var(--color-text-primary)}.ea-drawer__header:empty{display:none}.ea-drawer__body{flex:1;padding:var(--space-3) var(--space-6);overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ea-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-6) var(--space-5)}.ea-drawer__footer>*{display:flex;align-items:center;gap:var(--space-3)}.ea-drawer__footer:empty{display:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XIconComponent, selector: "ea-icon-x" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2119
+ }
2120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DrawerComponent, decorators: [{
2121
+ type: Component,
2122
+ args: [{ selector: 'ea-drawer', imports: [NgClass, XIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<dialog\n #drawerEl\n class=\"ea-drawer\"\n [attr.aria-label]=\"ariaLabel()\"\n (click)=\"handleBackdropClick($event)\"\n (cancel)=\"handleCancel($event)\">\n <div\n class=\"ea-drawer__panel\"\n [ngClass]=\"panelClasses()\">\n @if (showClose()) {\n <button\n type=\"button\"\n class=\"ea-drawer__close\"\n aria-label=\"Close drawer\"\n (click)=\"handleClose()\">\n <ea-icon-x />\n </button>\n }\n\n <div class=\"ea-drawer__header\">\n <ng-content select=\"[slot=header]\" />\n </div>\n\n <div class=\"ea-drawer__body\">\n <ng-content />\n </div>\n\n <div class=\"ea-drawer__footer\">\n <ng-content select=\"[slot=footer]\" />\n </div>\n </div>\n</dialog>\n", styles: [".ea-drawer{position:fixed;inset:0;width:100vw;max-width:none;height:100vh;max-height:none;padding:0;margin:0;border:none;background:transparent;overflow:hidden}.ea-drawer::backdrop{background-color:var(--color-bg-overlay)}.ea-drawer__panel{position:absolute;display:flex;flex-direction:column;background-color:var(--color-bg-base);box-shadow:var(--shadow-2xl);overflow:hidden}.ea-drawer__panel--right{top:0;right:0;bottom:0;height:100%}.ea-drawer__panel--right.ea-drawer__panel--sm{width:20rem}.ea-drawer__panel--right.ea-drawer__panel--md{width:28rem}.ea-drawer__panel--right.ea-drawer__panel--lg{width:36rem}.ea-drawer__panel--right.ea-drawer__panel--full{width:calc(100vw - 3rem)}.ea-drawer__panel--left{top:0;left:0;bottom:0;height:100%}.ea-drawer__panel--left.ea-drawer__panel--sm{width:20rem}.ea-drawer__panel--left.ea-drawer__panel--md{width:28rem}.ea-drawer__panel--left.ea-drawer__panel--lg{width:36rem}.ea-drawer__panel--left.ea-drawer__panel--full{width:calc(100vw - 3rem)}.ea-drawer__panel--top{top:0;left:0;right:0;width:100%}.ea-drawer__panel--top.ea-drawer__panel--sm{height:12rem}.ea-drawer__panel--top.ea-drawer__panel--md{height:20rem}.ea-drawer__panel--top.ea-drawer__panel--lg{height:28rem}.ea-drawer__panel--top.ea-drawer__panel--full{height:calc(100vh - 3rem)}.ea-drawer__panel--bottom{bottom:0;left:0;right:0;width:100%}.ea-drawer__panel--bottom.ea-drawer__panel--sm{height:12rem}.ea-drawer__panel--bottom.ea-drawer__panel--md{height:20rem}.ea-drawer__panel--bottom.ea-drawer__panel--lg{height:28rem}.ea-drawer__panel--bottom.ea-drawer__panel--full{height:calc(100vh - 3rem)}.ea-drawer__close{position:absolute;top:var(--space-3);right:var(--space-3);z-index:1;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-colors)}.ea-drawer__close:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.ea-drawer__close:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-drawer__close svg{width:1rem;height:1rem}.ea-drawer__header{padding:var(--space-5) var(--space-6) var(--space-3);font-size:var(--text-h4-size);font-weight:var(--text-h4-weight);line-height:var(--text-h4-lh);color:var(--color-text-primary)}.ea-drawer__header:empty{display:none}.ea-drawer__body{flex:1;padding:var(--space-3) var(--space-6);overflow-y:auto;font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.ea-drawer__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-6) var(--space-5)}.ea-drawer__footer>*{display:flex;align-items:center;gap:var(--space-3)}.ea-drawer__footer:empty{display:none}\n"] }]
2123
+ }], ctorParameters: () => [], propDecorators: { drawerEl: [{ type: i0.ViewChild, args: ['drawerEl', { isSignal: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], closeOnBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnBackdrop", required: false }] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }], showClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClose", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
2124
+
1814
2125
  class DropdownComponent {
1815
2126
  elRef = viewChild('triggerEl', ...(ngDevMode ? [{ debugName: "elRef" }] : /* istanbul ignore next */ []));
1816
2127
  // Inputs
@@ -1970,9 +2281,396 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
1970
2281
  args: ['document:click', ['$event']]
1971
2282
  }] } });
1972
2283
 
2284
+ class EagamiIconComponent {
2285
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EagamiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2286
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EagamiIconComponent, isStandalone: true, selector: "ea-icon-eagami", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2287
+ <svg
2288
+ xmlns="http://www.w3.org/2000/svg"
2289
+ viewBox="0 0 1962.34 1962.34"
2290
+ aria-hidden="true"
2291
+ width="100%"
2292
+ height="100%">
2293
+ <g>
2294
+ <polygon
2295
+ fill="#718e99"
2296
+ points="843.82 1872.78 800.19 1873.73 747.86 1550.57 798.02 1579.39 843.82 1872.78" />
2297
+ <polygon
2298
+ fill="#72808c"
2299
+ points="798.01 1579.39 747.85 1550.57 735.89 1503.54 790.69 1529.94 798.01 1579.39" />
2300
+ <path
2301
+ fill="#3c6c90"
2302
+ d="M1369.61,147.98l-105.89-6.22s-.05,0-.07-.01c-1.06-.1-1.75-.11-1.94-.11h-.06l-187.74-15.4,147.76-37.63,147.94,59.38Z" />
2303
+ <polygon
2304
+ fill="#46293f"
2305
+ points="1242.39 201.49 1023.2 236.73 1000.3 239.43 1005.76 200.7 1073.91 126.23 1242.39 201.49" />
2306
+ <polygon
2307
+ fill="#653f54"
2308
+ points="1144.89 343.97 1140.97 360.09 1034.47 456.62 978.85 341.04 1000.3 239.43 1023.2 236.73 1144.89 343.97" />
2309
+ <polygon
2310
+ fill="#46293f"
2311
+ points="1149.33 499.16 1034.47 456.62 1140.97 360.09 1149.33 499.16" />
2312
+ <polygon
2313
+ fill="#331b2a"
2314
+ points="1318.72 563.47 1130.07 532.19 1149.33 499.16 1318.72 563.47" />
2315
+ <polygon
2316
+ fill="#4b273c"
2317
+ points="1318.72 563.47 1076.63 609.03 1130.07 532.19 1318.72 563.47" />
2318
+ <polygon
2319
+ fill="#4b2f3f"
2320
+ points="1066 741.83 1066 693.01 1035.47 664.68 1003.57 571.56 1076.63 609.03 1083.18 790.66 1059.73 811.84 1066 741.83" />
2321
+ <polygon
2322
+ fill="#3c6c90"
2323
+ points="667.69 998.55 555.65 1178.36 470.69 1211.06 590.27 1015.47 667.69 998.55" />
2324
+ <polygon
2325
+ fill="#2a445f"
2326
+ points="832.91 957.82 705.13 1117.7 555.65 1178.36 667.69 998.55 832.91 957.82" />
2327
+ <polygon
2328
+ fill="#11253c"
2329
+ points="725.23 1109.29 780.56 1088.46 751.67 1105.48 709.41 1120.01 687.32 1156.44 680.06 1168.82 419.79 1252.33 319.47 1293.93 458.32 1053.08 202.43 1176.77 237.68 1130.08 567.1 877.57 346 1256.78 470.69 1211.06 555.65 1178.36 705.13 1117.7 832.91 957.82 841.09 956.88 725.23 1109.29" />
2330
+ <polygon
2331
+ fill="#72808c"
2332
+ points="917.67 1070.61 873.26 1105.96 667.34 1192.96 680.06 1168.82 687.32 1156.44 901.06 1071.66 917.67 1070.61" />
2333
+ <path
2334
+ fill="#bbcbd2"
2335
+ d="M1038.72,1696.39l-46.05,2.39-55.25-98.11-146.73-70.72-54.8-26.4-164.16-79.11-25.44-51.12s112.32-146.39,121.05-180.36l205.92-87-119.96,97.64-58.34,44.77-80.69,118.59,14.17,37.15,93.25,43.58,61.72,33.13,195.9,95.94,59.41,119.62Z" />
2336
+ <polygon
2337
+ fill="#254b71"
2338
+ points="458.32 1053.08 319.47 1293.93 290.75 1344.73 190.85 1368.4 136.63 1381.25 114.46 1290.44 202.43 1176.77 458.32 1053.08" />
2339
+ <polygon
2340
+ fill="#2a445f"
2341
+ points="940.14 614.9 567.1 877.57 237.68 1130.08 490.22 786.13 940.14 614.9" />
2342
+ <polygon
2343
+ fill="#3c6c90"
2344
+ points="1003.57 571.56 940.14 614.9 490.22 786.13 865.63 537.27 1003.57 571.56" />
2345
+ <polygon
2346
+ fill="#808d97"
2347
+ points="1379.25 231.73 1163.33 267.92 1212.39 225.78 1379.25 231.73" />
2348
+ <polygon
2349
+ fill="#3a0a23"
2350
+ points="1090.1 267.24 1023.2 236.73 1163.33 267.92 1156.18 297.37 1090.1 267.24 1090.1 267.24" />
2351
+ <polygon
2352
+ fill="#4d1832"
2353
+ points="1156.18 297.37 1150.7 320 1023.2 236.73 1156.18 297.37" />
2354
+ <polygon
2355
+ fill="#594b6e"
2356
+ points="1150.7 320 1144.89 343.97 1023.2 236.73 1150.7 320" />
2357
+ <polygon
2358
+ fill="#4f1730"
2359
+ points="1276.02 379.71 1236.58 373.98 1140.97 360.09 1248.38 360.09 1276.02 379.71" />
2360
+ <polygon
2361
+ fill="#d8dee3"
2362
+ points="1341.26 475.03 1295.08 447.72 1295.07 447.71 1292.55 435.34 1236.58 373.98 1276.02 379.71 1336.29 447.7 1336.3 447.71 1341.26 475.03" />
2363
+ <polygon
2364
+ fill="#6c2741"
2365
+ points="1336.29 447.7 1276.02 379.71 1328.9 417.25 1335.44 442.96 1336.29 447.7" />
2366
+ <polygon
2367
+ fill="#9fb1b7"
2368
+ points="1346.71 505.52 1320.36 490.59 1298.63 465.1 1295.08 447.72 1341.26 475.03 1346.71 505.52" />
2369
+ <polygon
2370
+ fill="#bbcbd2"
2371
+ points="1356.16 554.73 1311.09 698.25 1240.75 757.31 1318.72 563.47 1298.63 465.1 1320.36 490.59 1356.16 554.73" />
2372
+ <polygon
2373
+ fill="#72808c"
2374
+ points="1279.46 804.94 1174.42 902.74 1240.75 757.31 1279.46 804.94" />
2375
+ <polygon
2376
+ fill="#3c4d5e"
2377
+ points="1240.75 757.31 1174.42 902.74 1068.04 1002.02 1081.79 810.12 1240.75 757.31" />
2378
+ <polygon
2379
+ fill="#04111b"
2380
+ points="1083.18 790.66 1081.79 810.12 1068.04 1002.02 1062.82 1006.89 1062.82 941.16 1059.73 811.84 1083.18 790.66" />
2381
+ <polygon
2382
+ fill="#11253c"
2383
+ points="1062.82 941.16 928.32 1062.14 917.68 1070.61 917.67 1070.61 901.06 1071.66 880.35 1049.28 911.78 1034.51 999.93 921 1059.73 811.84 1062.82 941.16" />
2384
+ <polygon
2385
+ fill="#72808c"
2386
+ points="873.26 1105.96 817.64 1235.99 812.19 1254.56 741.3 1304.8 753.3 1203.59 873.26 1105.96" />
2387
+ <polygon
2388
+ fill="#8b9da8"
2389
+ points="778.38 1446.98 783.4 1480.82 721.68 1447.69 741.3 1304.8 812.19 1254.56 778.38 1446.98" />
2390
+ <polygon
2391
+ fill="#8b9da8"
2392
+ points="1311.09 698.25 1279.46 804.94 1240.75 757.31 1311.09 698.25" />
2393
+ <polygon
2394
+ fill="#9ea4bc"
2395
+ points="1847.88 236.73 1837.25 237.12 1670.95 211.49 1325.63 194.03 1363.79 169.1 1387.06 154.33 1717.11 201.01 1847.88 236.73" />
2396
+ <polygon
2397
+ fill="#0d2533"
2398
+ points="1837.25 237.12 1710.47 241.73 1696.44 241.3 1325.63 194.03 1670.95 211.49 1837.25 237.12" />
2399
+ <polygon
2400
+ fill="#04111b"
2401
+ points="901.06 1071.66 687.32 1156.44 709.41 1120.01 751.67 1105.48 780.56 1088.46 880.35 1049.28 901.06 1071.66" />
2402
+ <polygon
2403
+ fill="#3c6c90"
2404
+ points="956.32 929.73 880.35 1049.28 780.56 1088.46 725.23 1109.29 841.09 956.88 956.32 929.73" />
2405
+ <polygon
2406
+ fill="#2a445f"
2407
+ points="999.93 921 911.78 1034.51 880.35 1049.28 956.32 929.73 999.93 921" />
2408
+ <polygon
2409
+ fill="#2f567a"
2410
+ points="1066 741.83 1059.73 811.84 999.93 921 956.32 929.73 841.09 956.88 832.91 957.82 667.69 998.55 590.27 1015.47 470.69 1211.06 346 1256.78 567.1 877.57 1066 741.83" />
2411
+ <polygon
2412
+ fill="#3c6c90"
2413
+ points="1066 693.01 1066 741.83 567.1 877.57 961.31 626.09 1035.47 664.68 1066 693.01" />
2414
+ <polygon
2415
+ fill="#182f44"
2416
+ points="961.31 626.09 567.1 877.57 940.14 614.9 961.31 626.09" />
2417
+ <polygon
2418
+ fill="#40374f"
2419
+ points="1035.47 664.68 961.31 626.09 940.14 614.9 1003.57 571.56 1035.47 664.68" />
2420
+ <polygon
2421
+ fill="#444e77"
2422
+ points="1318.72 563.47 1240.75 757.31 1081.79 810.12 1083.18 790.66 1318.72 563.47" />
2423
+ <polygon
2424
+ fill="#11365c"
2425
+ points="419.79 1252.33 248.23 1407.29 190.85 1368.4 290.75 1344.73 319.47 1293.93 419.79 1252.33" />
2426
+ <polygon
2427
+ fill="#594b6e"
2428
+ points="1318.72 563.47 1149.33 499.16 1140.97 360.09 1292.55 435.34 1295.07 447.71 1295.08 447.72 1298.63 465.1 1318.72 563.47" />
2429
+ <polygon
2430
+ fill="#653f54"
2431
+ points="1318.72 563.47 1083.18 790.66 1076.63 609.03 1318.72 563.47" />
2432
+ <polygon
2433
+ fill="#6d1f44"
2434
+ points="1356.16 554.73 1320.36 490.59 1346.71 505.52 1356.16 554.73" />
2435
+ <polygon
2436
+ fill="#aeb9bc"
2437
+ points="1292.55 435.34 1140.97 360.09 1236.58 373.98 1292.55 435.34" />
2438
+ <polygon
2439
+ fill="#541730"
2440
+ points="1242.39 201.49 1212.39 225.78 1163.33 267.92 1023.2 236.73 1242.39 201.49" />
2441
+ <polygon
2442
+ fill="#d8dee3"
2443
+ points="1379.25 231.73 1212.4 225.78 1242.39 201.49 1325.63 194.03 1379.25 231.73" />
2444
+ <polygon
2445
+ fill="#7a929c"
2446
+ points="1696.44 241.3 1379.25 231.73 1325.63 194.03 1696.44 241.3" />
2447
+ <polygon
2448
+ fill="#d8dee3"
2449
+ points="1387.06 154.34 1325.63 194.03 1293.1 167.67 1280.37 157.13 1261.66 141.64 1358.76 172.62 1387.06 154.34" />
2450
+ <polygon
2451
+ fill="#628ead"
2452
+ points="1387.06 154.34 1358.76 172.62 1261.66 141.64 1369.61 147.98 1387.06 154.34" />
2453
+ <polygon
2454
+ fill="#285175"
2455
+ points="1325.63 194.03 1242.39 201.49 1255.66 186.41 1280.37 157.13 1293.1 167.67 1325.63 194.03" />
2456
+ <polygon
2457
+ fill="#2a445f"
2458
+ points="1280.37 157.13 1255.66 186.41 1242.39 201.49 1073.91 126.23 1261.66 141.64 1280.37 157.13" />
2459
+ </g>
2460
+ <polygon
2461
+ fill="#8b9da8"
2462
+ points="628.44 1404.11 546.3 1373.32 614.27 1366.96 628.44 1404.11" />
2463
+ <polygon
2464
+ fill="#8b9da8"
2465
+ points="937.42 1600.66 979.31 1576.77 1038.72 1696.39 992.67 1698.78 937.42 1600.66" />
2466
+ </svg>
2467
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2468
+ }
2469
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EagamiIconComponent, decorators: [{
2470
+ type: Component,
2471
+ args: [{
2472
+ selector: 'ea-icon-eagami',
2473
+ changeDetection: ChangeDetectionStrategy.OnPush,
2474
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2475
+ template: `
2476
+ <svg
2477
+ xmlns="http://www.w3.org/2000/svg"
2478
+ viewBox="0 0 1962.34 1962.34"
2479
+ aria-hidden="true"
2480
+ width="100%"
2481
+ height="100%">
2482
+ <g>
2483
+ <polygon
2484
+ fill="#718e99"
2485
+ points="843.82 1872.78 800.19 1873.73 747.86 1550.57 798.02 1579.39 843.82 1872.78" />
2486
+ <polygon
2487
+ fill="#72808c"
2488
+ points="798.01 1579.39 747.85 1550.57 735.89 1503.54 790.69 1529.94 798.01 1579.39" />
2489
+ <path
2490
+ fill="#3c6c90"
2491
+ d="M1369.61,147.98l-105.89-6.22s-.05,0-.07-.01c-1.06-.1-1.75-.11-1.94-.11h-.06l-187.74-15.4,147.76-37.63,147.94,59.38Z" />
2492
+ <polygon
2493
+ fill="#46293f"
2494
+ points="1242.39 201.49 1023.2 236.73 1000.3 239.43 1005.76 200.7 1073.91 126.23 1242.39 201.49" />
2495
+ <polygon
2496
+ fill="#653f54"
2497
+ points="1144.89 343.97 1140.97 360.09 1034.47 456.62 978.85 341.04 1000.3 239.43 1023.2 236.73 1144.89 343.97" />
2498
+ <polygon
2499
+ fill="#46293f"
2500
+ points="1149.33 499.16 1034.47 456.62 1140.97 360.09 1149.33 499.16" />
2501
+ <polygon
2502
+ fill="#331b2a"
2503
+ points="1318.72 563.47 1130.07 532.19 1149.33 499.16 1318.72 563.47" />
2504
+ <polygon
2505
+ fill="#4b273c"
2506
+ points="1318.72 563.47 1076.63 609.03 1130.07 532.19 1318.72 563.47" />
2507
+ <polygon
2508
+ fill="#4b2f3f"
2509
+ points="1066 741.83 1066 693.01 1035.47 664.68 1003.57 571.56 1076.63 609.03 1083.18 790.66 1059.73 811.84 1066 741.83" />
2510
+ <polygon
2511
+ fill="#3c6c90"
2512
+ points="667.69 998.55 555.65 1178.36 470.69 1211.06 590.27 1015.47 667.69 998.55" />
2513
+ <polygon
2514
+ fill="#2a445f"
2515
+ points="832.91 957.82 705.13 1117.7 555.65 1178.36 667.69 998.55 832.91 957.82" />
2516
+ <polygon
2517
+ fill="#11253c"
2518
+ points="725.23 1109.29 780.56 1088.46 751.67 1105.48 709.41 1120.01 687.32 1156.44 680.06 1168.82 419.79 1252.33 319.47 1293.93 458.32 1053.08 202.43 1176.77 237.68 1130.08 567.1 877.57 346 1256.78 470.69 1211.06 555.65 1178.36 705.13 1117.7 832.91 957.82 841.09 956.88 725.23 1109.29" />
2519
+ <polygon
2520
+ fill="#72808c"
2521
+ points="917.67 1070.61 873.26 1105.96 667.34 1192.96 680.06 1168.82 687.32 1156.44 901.06 1071.66 917.67 1070.61" />
2522
+ <path
2523
+ fill="#bbcbd2"
2524
+ d="M1038.72,1696.39l-46.05,2.39-55.25-98.11-146.73-70.72-54.8-26.4-164.16-79.11-25.44-51.12s112.32-146.39,121.05-180.36l205.92-87-119.96,97.64-58.34,44.77-80.69,118.59,14.17,37.15,93.25,43.58,61.72,33.13,195.9,95.94,59.41,119.62Z" />
2525
+ <polygon
2526
+ fill="#254b71"
2527
+ points="458.32 1053.08 319.47 1293.93 290.75 1344.73 190.85 1368.4 136.63 1381.25 114.46 1290.44 202.43 1176.77 458.32 1053.08" />
2528
+ <polygon
2529
+ fill="#2a445f"
2530
+ points="940.14 614.9 567.1 877.57 237.68 1130.08 490.22 786.13 940.14 614.9" />
2531
+ <polygon
2532
+ fill="#3c6c90"
2533
+ points="1003.57 571.56 940.14 614.9 490.22 786.13 865.63 537.27 1003.57 571.56" />
2534
+ <polygon
2535
+ fill="#808d97"
2536
+ points="1379.25 231.73 1163.33 267.92 1212.39 225.78 1379.25 231.73" />
2537
+ <polygon
2538
+ fill="#3a0a23"
2539
+ points="1090.1 267.24 1023.2 236.73 1163.33 267.92 1156.18 297.37 1090.1 267.24 1090.1 267.24" />
2540
+ <polygon
2541
+ fill="#4d1832"
2542
+ points="1156.18 297.37 1150.7 320 1023.2 236.73 1156.18 297.37" />
2543
+ <polygon
2544
+ fill="#594b6e"
2545
+ points="1150.7 320 1144.89 343.97 1023.2 236.73 1150.7 320" />
2546
+ <polygon
2547
+ fill="#4f1730"
2548
+ points="1276.02 379.71 1236.58 373.98 1140.97 360.09 1248.38 360.09 1276.02 379.71" />
2549
+ <polygon
2550
+ fill="#d8dee3"
2551
+ points="1341.26 475.03 1295.08 447.72 1295.07 447.71 1292.55 435.34 1236.58 373.98 1276.02 379.71 1336.29 447.7 1336.3 447.71 1341.26 475.03" />
2552
+ <polygon
2553
+ fill="#6c2741"
2554
+ points="1336.29 447.7 1276.02 379.71 1328.9 417.25 1335.44 442.96 1336.29 447.7" />
2555
+ <polygon
2556
+ fill="#9fb1b7"
2557
+ points="1346.71 505.52 1320.36 490.59 1298.63 465.1 1295.08 447.72 1341.26 475.03 1346.71 505.52" />
2558
+ <polygon
2559
+ fill="#bbcbd2"
2560
+ points="1356.16 554.73 1311.09 698.25 1240.75 757.31 1318.72 563.47 1298.63 465.1 1320.36 490.59 1356.16 554.73" />
2561
+ <polygon
2562
+ fill="#72808c"
2563
+ points="1279.46 804.94 1174.42 902.74 1240.75 757.31 1279.46 804.94" />
2564
+ <polygon
2565
+ fill="#3c4d5e"
2566
+ points="1240.75 757.31 1174.42 902.74 1068.04 1002.02 1081.79 810.12 1240.75 757.31" />
2567
+ <polygon
2568
+ fill="#04111b"
2569
+ points="1083.18 790.66 1081.79 810.12 1068.04 1002.02 1062.82 1006.89 1062.82 941.16 1059.73 811.84 1083.18 790.66" />
2570
+ <polygon
2571
+ fill="#11253c"
2572
+ points="1062.82 941.16 928.32 1062.14 917.68 1070.61 917.67 1070.61 901.06 1071.66 880.35 1049.28 911.78 1034.51 999.93 921 1059.73 811.84 1062.82 941.16" />
2573
+ <polygon
2574
+ fill="#72808c"
2575
+ points="873.26 1105.96 817.64 1235.99 812.19 1254.56 741.3 1304.8 753.3 1203.59 873.26 1105.96" />
2576
+ <polygon
2577
+ fill="#8b9da8"
2578
+ points="778.38 1446.98 783.4 1480.82 721.68 1447.69 741.3 1304.8 812.19 1254.56 778.38 1446.98" />
2579
+ <polygon
2580
+ fill="#8b9da8"
2581
+ points="1311.09 698.25 1279.46 804.94 1240.75 757.31 1311.09 698.25" />
2582
+ <polygon
2583
+ fill="#9ea4bc"
2584
+ points="1847.88 236.73 1837.25 237.12 1670.95 211.49 1325.63 194.03 1363.79 169.1 1387.06 154.33 1717.11 201.01 1847.88 236.73" />
2585
+ <polygon
2586
+ fill="#0d2533"
2587
+ points="1837.25 237.12 1710.47 241.73 1696.44 241.3 1325.63 194.03 1670.95 211.49 1837.25 237.12" />
2588
+ <polygon
2589
+ fill="#04111b"
2590
+ points="901.06 1071.66 687.32 1156.44 709.41 1120.01 751.67 1105.48 780.56 1088.46 880.35 1049.28 901.06 1071.66" />
2591
+ <polygon
2592
+ fill="#3c6c90"
2593
+ points="956.32 929.73 880.35 1049.28 780.56 1088.46 725.23 1109.29 841.09 956.88 956.32 929.73" />
2594
+ <polygon
2595
+ fill="#2a445f"
2596
+ points="999.93 921 911.78 1034.51 880.35 1049.28 956.32 929.73 999.93 921" />
2597
+ <polygon
2598
+ fill="#2f567a"
2599
+ points="1066 741.83 1059.73 811.84 999.93 921 956.32 929.73 841.09 956.88 832.91 957.82 667.69 998.55 590.27 1015.47 470.69 1211.06 346 1256.78 567.1 877.57 1066 741.83" />
2600
+ <polygon
2601
+ fill="#3c6c90"
2602
+ points="1066 693.01 1066 741.83 567.1 877.57 961.31 626.09 1035.47 664.68 1066 693.01" />
2603
+ <polygon
2604
+ fill="#182f44"
2605
+ points="961.31 626.09 567.1 877.57 940.14 614.9 961.31 626.09" />
2606
+ <polygon
2607
+ fill="#40374f"
2608
+ points="1035.47 664.68 961.31 626.09 940.14 614.9 1003.57 571.56 1035.47 664.68" />
2609
+ <polygon
2610
+ fill="#444e77"
2611
+ points="1318.72 563.47 1240.75 757.31 1081.79 810.12 1083.18 790.66 1318.72 563.47" />
2612
+ <polygon
2613
+ fill="#11365c"
2614
+ points="419.79 1252.33 248.23 1407.29 190.85 1368.4 290.75 1344.73 319.47 1293.93 419.79 1252.33" />
2615
+ <polygon
2616
+ fill="#594b6e"
2617
+ points="1318.72 563.47 1149.33 499.16 1140.97 360.09 1292.55 435.34 1295.07 447.71 1295.08 447.72 1298.63 465.1 1318.72 563.47" />
2618
+ <polygon
2619
+ fill="#653f54"
2620
+ points="1318.72 563.47 1083.18 790.66 1076.63 609.03 1318.72 563.47" />
2621
+ <polygon
2622
+ fill="#6d1f44"
2623
+ points="1356.16 554.73 1320.36 490.59 1346.71 505.52 1356.16 554.73" />
2624
+ <polygon
2625
+ fill="#aeb9bc"
2626
+ points="1292.55 435.34 1140.97 360.09 1236.58 373.98 1292.55 435.34" />
2627
+ <polygon
2628
+ fill="#541730"
2629
+ points="1242.39 201.49 1212.39 225.78 1163.33 267.92 1023.2 236.73 1242.39 201.49" />
2630
+ <polygon
2631
+ fill="#d8dee3"
2632
+ points="1379.25 231.73 1212.4 225.78 1242.39 201.49 1325.63 194.03 1379.25 231.73" />
2633
+ <polygon
2634
+ fill="#7a929c"
2635
+ points="1696.44 241.3 1379.25 231.73 1325.63 194.03 1696.44 241.3" />
2636
+ <polygon
2637
+ fill="#d8dee3"
2638
+ points="1387.06 154.34 1325.63 194.03 1293.1 167.67 1280.37 157.13 1261.66 141.64 1358.76 172.62 1387.06 154.34" />
2639
+ <polygon
2640
+ fill="#628ead"
2641
+ points="1387.06 154.34 1358.76 172.62 1261.66 141.64 1369.61 147.98 1387.06 154.34" />
2642
+ <polygon
2643
+ fill="#285175"
2644
+ points="1325.63 194.03 1242.39 201.49 1255.66 186.41 1280.37 157.13 1293.1 167.67 1325.63 194.03" />
2645
+ <polygon
2646
+ fill="#2a445f"
2647
+ points="1280.37 157.13 1255.66 186.41 1242.39 201.49 1073.91 126.23 1261.66 141.64 1280.37 157.13" />
2648
+ </g>
2649
+ <polygon
2650
+ fill="#8b9da8"
2651
+ points="628.44 1404.11 546.3 1373.32 614.27 1366.96 628.44 1404.11" />
2652
+ <polygon
2653
+ fill="#8b9da8"
2654
+ points="937.42 1600.66 979.31 1576.77 1038.72 1696.39 992.67 1698.78 937.42 1600.66" />
2655
+ </svg>
2656
+ `,
2657
+ }]
2658
+ }] });
2659
+
2660
+ class EagamiWordmarkComponent {
2661
+ variant = input('logo', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
2662
+ size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
2663
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EagamiWordmarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2664
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EagamiWordmarkComponent, isStandalone: true, selector: "ea-eagami-wordmark", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n class=\"ea-eagami-wordmark\"\n [class.ea-eagami-wordmark--sm]=\"size() === 'sm'\"\n [class.ea-eagami-wordmark--md]=\"size() === 'md'\"\n [class.ea-eagami-wordmark--lg]=\"size() === 'lg'\"\n href=\"https://eagami.com\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"eagami \u2014 elegant web design\">\n <ea-icon-eagami\n class=\"ea-eagami-wordmark__logo\"\n aria-hidden=\"true\" />\n\n @if (variant() === 'signature') {\n <span class=\"ea-eagami-wordmark__text\">\n <span class=\"ea-eagami-wordmark__overline\">handcrafted by</span>\n <span class=\"ea-eagami-wordmark__brand\">eagami</span>\n </span>\n } @else if (variant() === 'brand') {\n <span class=\"ea-eagami-wordmark__text\">\n <span class=\"ea-eagami-wordmark__brand\">eagami</span>\n <span class=\"ea-eagami-wordmark__tagline\">elegant web design</span>\n </span>\n }\n</a>\n", styles: [":host{display:inline-block;line-height:var(--line-height-none)}.ea-eagami-wordmark{display:inline-flex;align-items:center;border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;transition:var(--transition-opacity)}.ea-eagami-wordmark:hover{opacity:.75}.ea-eagami-wordmark:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-eagami-wordmark__logo{flex-shrink:0}.ea-eagami-wordmark__text{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:var(--line-height-tight)}.ea-eagami-wordmark__overline,.ea-eagami-wordmark__brand,.ea-eagami-wordmark__tagline{text-transform:lowercase}.ea-eagami-wordmark__overline,.ea-eagami-wordmark__tagline{font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-widest);font-family:var(--font-family-sans);color:var(--color-text-secondary)}.ea-eagami-wordmark__brand{font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);font-family:var(--font-family-brand)}.ea-eagami-wordmark--sm .ea-eagami-wordmark__logo{font-size:48px}.ea-eagami-wordmark--md .ea-eagami-wordmark__logo{font-size:64px}.ea-eagami-wordmark--lg .ea-eagami-wordmark__logo{font-size:96px}.ea-eagami-wordmark--sm .ea-eagami-wordmark__brand{font-size:var(--font-size-2xl)}.ea-eagami-wordmark--md .ea-eagami-wordmark__brand{font-size:var(--font-size-4xl)}.ea-eagami-wordmark--lg .ea-eagami-wordmark__brand{font-size:var(--font-size-5xl)}.ea-eagami-wordmark--sm .ea-eagami-wordmark__overline,.ea-eagami-wordmark--sm .ea-eagami-wordmark__tagline{font-size:var(--font-size-2xs)}.ea-eagami-wordmark--md .ea-eagami-wordmark__overline,.ea-eagami-wordmark--md .ea-eagami-wordmark__tagline{font-size:var(--font-size-sm)}.ea-eagami-wordmark--lg .ea-eagami-wordmark__overline,.ea-eagami-wordmark--lg .ea-eagami-wordmark__tagline{font-size:var(--font-size-xl)}\n"], dependencies: [{ kind: "component", type: EagamiIconComponent, selector: "ea-icon-eagami" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2665
+ }
2666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EagamiWordmarkComponent, decorators: [{
2667
+ type: Component,
2668
+ args: [{ selector: 'ea-eagami-wordmark', imports: [EagamiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"ea-eagami-wordmark\"\n [class.ea-eagami-wordmark--sm]=\"size() === 'sm'\"\n [class.ea-eagami-wordmark--md]=\"size() === 'md'\"\n [class.ea-eagami-wordmark--lg]=\"size() === 'lg'\"\n href=\"https://eagami.com\"\n target=\"_blank\"\n rel=\"noopener\"\n aria-label=\"eagami \u2014 elegant web design\">\n <ea-icon-eagami\n class=\"ea-eagami-wordmark__logo\"\n aria-hidden=\"true\" />\n\n @if (variant() === 'signature') {\n <span class=\"ea-eagami-wordmark__text\">\n <span class=\"ea-eagami-wordmark__overline\">handcrafted by</span>\n <span class=\"ea-eagami-wordmark__brand\">eagami</span>\n </span>\n } @else if (variant() === 'brand') {\n <span class=\"ea-eagami-wordmark__text\">\n <span class=\"ea-eagami-wordmark__brand\">eagami</span>\n <span class=\"ea-eagami-wordmark__tagline\">elegant web design</span>\n </span>\n }\n</a>\n", styles: [":host{display:inline-block;line-height:var(--line-height-none)}.ea-eagami-wordmark{display:inline-flex;align-items:center;border-radius:var(--radius-sm);color:var(--color-text-primary);text-decoration:none;transition:var(--transition-opacity)}.ea-eagami-wordmark:hover{opacity:.75}.ea-eagami-wordmark:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-eagami-wordmark__logo{flex-shrink:0}.ea-eagami-wordmark__text{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:var(--line-height-tight)}.ea-eagami-wordmark__overline,.ea-eagami-wordmark__brand,.ea-eagami-wordmark__tagline{text-transform:lowercase}.ea-eagami-wordmark__overline,.ea-eagami-wordmark__tagline{font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-widest);font-family:var(--font-family-sans);color:var(--color-text-secondary)}.ea-eagami-wordmark__brand{font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);font-family:var(--font-family-brand)}.ea-eagami-wordmark--sm .ea-eagami-wordmark__logo{font-size:48px}.ea-eagami-wordmark--md .ea-eagami-wordmark__logo{font-size:64px}.ea-eagami-wordmark--lg .ea-eagami-wordmark__logo{font-size:96px}.ea-eagami-wordmark--sm .ea-eagami-wordmark__brand{font-size:var(--font-size-2xl)}.ea-eagami-wordmark--md .ea-eagami-wordmark__brand{font-size:var(--font-size-4xl)}.ea-eagami-wordmark--lg .ea-eagami-wordmark__brand{font-size:var(--font-size-5xl)}.ea-eagami-wordmark--sm .ea-eagami-wordmark__overline,.ea-eagami-wordmark--sm .ea-eagami-wordmark__tagline{font-size:var(--font-size-2xs)}.ea-eagami-wordmark--md .ea-eagami-wordmark__overline,.ea-eagami-wordmark--md .ea-eagami-wordmark__tagline{font-size:var(--font-size-sm)}.ea-eagami-wordmark--lg .ea-eagami-wordmark__overline,.ea-eagami-wordmark--lg .ea-eagami-wordmark__tagline{font-size:var(--font-size-xl)}\n"] }]
2669
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
2670
+
1973
2671
  class AlertTriangleIconComponent {
1974
2672
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AlertTriangleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1975
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AlertTriangleIconComponent, isStandalone: true, selector: "ea-icon-alert-triangle", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2673
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AlertTriangleIconComponent, isStandalone: true, selector: "ea-icon-alert-triangle", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
1976
2674
  <svg
1977
2675
  viewBox="0 0 24 24"
1978
2676
  fill="none"
@@ -2003,7 +2701,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2003
2701
  args: [{
2004
2702
  selector: 'ea-icon-alert-triangle',
2005
2703
  changeDetection: ChangeDetectionStrategy.OnPush,
2006
- host: { style: 'display: inline-flex;' },
2704
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2007
2705
  template: `
2008
2706
  <svg
2009
2707
  viewBox="0 0 24 24"
@@ -2034,7 +2732,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2034
2732
 
2035
2733
  class AppleIconComponent {
2036
2734
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: AppleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2037
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AppleIconComponent, isStandalone: true, selector: "ea-icon-apple", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2735
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: AppleIconComponent, isStandalone: true, selector: "ea-icon-apple", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2038
2736
  <svg
2039
2737
  viewBox="0 0 24 24"
2040
2738
  fill="#000000"
@@ -2051,7 +2749,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2051
2749
  args: [{
2052
2750
  selector: 'ea-icon-apple',
2053
2751
  changeDetection: ChangeDetectionStrategy.OnPush,
2054
- host: { style: 'display: inline-flex;' },
2752
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2055
2753
  template: `
2056
2754
  <svg
2057
2755
  viewBox="0 0 24 24"
@@ -2068,7 +2766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2068
2766
 
2069
2767
  class ArrowLeftIconComponent {
2070
2768
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ArrowLeftIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2071
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowLeftIconComponent, isStandalone: true, selector: "ea-icon-arrow-left", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2769
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowLeftIconComponent, isStandalone: true, selector: "ea-icon-arrow-left", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2072
2770
  <svg
2073
2771
  viewBox="0 0 24 24"
2074
2772
  fill="none"
@@ -2093,7 +2791,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2093
2791
  args: [{
2094
2792
  selector: 'ea-icon-arrow-left',
2095
2793
  changeDetection: ChangeDetectionStrategy.OnPush,
2096
- host: { style: 'display: inline-flex;' },
2794
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2097
2795
  template: `
2098
2796
  <svg
2099
2797
  viewBox="0 0 24 24"
@@ -2118,7 +2816,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2118
2816
 
2119
2817
  class ArrowRightIconComponent {
2120
2818
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ArrowRightIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2121
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowRightIconComponent, isStandalone: true, selector: "ea-icon-arrow-right", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2819
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ArrowRightIconComponent, isStandalone: true, selector: "ea-icon-arrow-right", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2122
2820
  <svg
2123
2821
  viewBox="0 0 24 24"
2124
2822
  fill="none"
@@ -2143,7 +2841,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2143
2841
  args: [{
2144
2842
  selector: 'ea-icon-arrow-right',
2145
2843
  changeDetection: ChangeDetectionStrategy.OnPush,
2146
- host: { style: 'display: inline-flex;' },
2844
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2147
2845
  template: `
2148
2846
  <svg
2149
2847
  viewBox="0 0 24 24"
@@ -2168,7 +2866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2168
2866
 
2169
2867
  class BellIconComponent {
2170
2868
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: BellIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2171
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: BellIconComponent, isStandalone: true, selector: "ea-icon-bell", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2869
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: BellIconComponent, isStandalone: true, selector: "ea-icon-bell", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2172
2870
  <svg
2173
2871
  viewBox="0 0 24 24"
2174
2872
  fill="none"
@@ -2189,7 +2887,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2189
2887
  args: [{
2190
2888
  selector: 'ea-icon-bell',
2191
2889
  changeDetection: ChangeDetectionStrategy.OnPush,
2192
- host: { style: 'display: inline-flex;' },
2890
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2193
2891
  template: `
2194
2892
  <svg
2195
2893
  viewBox="0 0 24 24"
@@ -2210,7 +2908,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2210
2908
 
2211
2909
  class CalendarIconComponent {
2212
2910
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CalendarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2213
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CalendarIconComponent, isStandalone: true, selector: "ea-icon-calendar", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2911
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CalendarIconComponent, isStandalone: true, selector: "ea-icon-calendar", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2214
2912
  <svg
2215
2913
  viewBox="0 0 24 24"
2216
2914
  fill="none"
@@ -2251,7 +2949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2251
2949
  args: [{
2252
2950
  selector: 'ea-icon-calendar',
2253
2951
  changeDetection: ChangeDetectionStrategy.OnPush,
2254
- host: { style: 'display: inline-flex;' },
2952
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2255
2953
  template: `
2256
2954
  <svg
2257
2955
  viewBox="0 0 24 24"
@@ -2292,7 +2990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2292
2990
 
2293
2991
  class CheckCircleIconComponent {
2294
2992
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CheckCircleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2295
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CheckCircleIconComponent, isStandalone: true, selector: "ea-icon-check-circle", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2993
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CheckCircleIconComponent, isStandalone: true, selector: "ea-icon-check-circle", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2296
2994
  <svg
2297
2995
  viewBox="0 0 24 24"
2298
2996
  fill="none"
@@ -2313,7 +3011,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2313
3011
  args: [{
2314
3012
  selector: 'ea-icon-check-circle',
2315
3013
  changeDetection: ChangeDetectionStrategy.OnPush,
2316
- host: { style: 'display: inline-flex;' },
3014
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2317
3015
  template: `
2318
3016
  <svg
2319
3017
  viewBox="0 0 24 24"
@@ -2334,7 +3032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2334
3032
 
2335
3033
  class ChevronLeftIconComponent {
2336
3034
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronLeftIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2337
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronLeftIconComponent, isStandalone: true, selector: "ea-icon-chevron-left", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3035
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronLeftIconComponent, isStandalone: true, selector: "ea-icon-chevron-left", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2338
3036
  <svg
2339
3037
  viewBox="0 0 24 24"
2340
3038
  fill="none"
@@ -2354,7 +3052,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2354
3052
  args: [{
2355
3053
  selector: 'ea-icon-chevron-left',
2356
3054
  changeDetection: ChangeDetectionStrategy.OnPush,
2357
- host: { style: 'display: inline-flex;' },
3055
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2358
3056
  template: `
2359
3057
  <svg
2360
3058
  viewBox="0 0 24 24"
@@ -2372,49 +3070,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2372
3070
  }]
2373
3071
  }] });
2374
3072
 
2375
- class ChevronRightIconComponent {
2376
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronRightIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2377
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronRightIconComponent, isStandalone: true, selector: "ea-icon-chevron-right", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
2378
- <svg
2379
- viewBox="0 0 24 24"
2380
- fill="none"
2381
- stroke="currentColor"
2382
- stroke-width="2"
2383
- stroke-linecap="round"
2384
- stroke-linejoin="round"
2385
- aria-hidden="true"
2386
- width="100%"
2387
- height="100%">
2388
- <polyline points="9 18 15 12 9 6" />
2389
- </svg>
2390
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2391
- }
2392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronRightIconComponent, decorators: [{
2393
- type: Component,
2394
- args: [{
2395
- selector: 'ea-icon-chevron-right',
2396
- changeDetection: ChangeDetectionStrategy.OnPush,
2397
- host: { style: 'display: inline-flex;' },
2398
- template: `
2399
- <svg
2400
- viewBox="0 0 24 24"
2401
- fill="none"
2402
- stroke="currentColor"
2403
- stroke-width="2"
2404
- stroke-linecap="round"
2405
- stroke-linejoin="round"
2406
- aria-hidden="true"
2407
- width="100%"
2408
- height="100%">
2409
- <polyline points="9 18 15 12 9 6" />
2410
- </svg>
2411
- `,
2412
- }]
2413
- }] });
2414
-
2415
3073
  class ChevronUpIconComponent {
2416
3074
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ChevronUpIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2417
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronUpIconComponent, isStandalone: true, selector: "ea-icon-chevron-up", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3075
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ChevronUpIconComponent, isStandalone: true, selector: "ea-icon-chevron-up", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2418
3076
  <svg
2419
3077
  viewBox="0 0 24 24"
2420
3078
  fill="none"
@@ -2434,7 +3092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2434
3092
  args: [{
2435
3093
  selector: 'ea-icon-chevron-up',
2436
3094
  changeDetection: ChangeDetectionStrategy.OnPush,
2437
- host: { style: 'display: inline-flex;' },
3095
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2438
3096
  template: `
2439
3097
  <svg
2440
3098
  viewBox="0 0 24 24"
@@ -2454,7 +3112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2454
3112
 
2455
3113
  class ClockIconComponent {
2456
3114
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ClockIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2457
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ClockIconComponent, isStandalone: true, selector: "ea-icon-clock", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3115
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ClockIconComponent, isStandalone: true, selector: "ea-icon-clock", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2458
3116
  <svg
2459
3117
  viewBox="0 0 24 24"
2460
3118
  fill="none"
@@ -2478,7 +3136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2478
3136
  args: [{
2479
3137
  selector: 'ea-icon-clock',
2480
3138
  changeDetection: ChangeDetectionStrategy.OnPush,
2481
- host: { style: 'display: inline-flex;' },
3139
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2482
3140
  template: `
2483
3141
  <svg
2484
3142
  viewBox="0 0 24 24"
@@ -2502,7 +3160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2502
3160
 
2503
3161
  class CopyIconComponent {
2504
3162
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: CopyIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2505
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CopyIconComponent, isStandalone: true, selector: "ea-icon-copy", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3163
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: CopyIconComponent, isStandalone: true, selector: "ea-icon-copy", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2506
3164
  <svg
2507
3165
  viewBox="0 0 24 24"
2508
3166
  fill="none"
@@ -2529,7 +3187,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2529
3187
  args: [{
2530
3188
  selector: 'ea-icon-copy',
2531
3189
  changeDetection: ChangeDetectionStrategy.OnPush,
2532
- host: { style: 'display: inline-flex;' },
3190
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2533
3191
  template: `
2534
3192
  <svg
2535
3193
  viewBox="0 0 24 24"
@@ -2556,7 +3214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2556
3214
 
2557
3215
  class DownloadIconComponent {
2558
3216
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: DownloadIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2559
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: DownloadIconComponent, isStandalone: true, selector: "ea-icon-download", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3217
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: DownloadIconComponent, isStandalone: true, selector: "ea-icon-download", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2560
3218
  <svg
2561
3219
  viewBox="0 0 24 24"
2562
3220
  fill="none"
@@ -2582,7 +3240,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2582
3240
  args: [{
2583
3241
  selector: 'ea-icon-download',
2584
3242
  changeDetection: ChangeDetectionStrategy.OnPush,
2585
- host: { style: 'display: inline-flex;' },
3243
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2586
3244
  template: `
2587
3245
  <svg
2588
3246
  viewBox="0 0 24 24"
@@ -2608,7 +3266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2608
3266
 
2609
3267
  class ExternalLinkIconComponent {
2610
3268
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ExternalLinkIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2611
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ExternalLinkIconComponent, isStandalone: true, selector: "ea-icon-external-link", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3269
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ExternalLinkIconComponent, isStandalone: true, selector: "ea-icon-external-link", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2612
3270
  <svg
2613
3271
  viewBox="0 0 24 24"
2614
3272
  fill="none"
@@ -2634,7 +3292,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2634
3292
  args: [{
2635
3293
  selector: 'ea-icon-external-link',
2636
3294
  changeDetection: ChangeDetectionStrategy.OnPush,
2637
- host: { style: 'display: inline-flex;' },
3295
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2638
3296
  template: `
2639
3297
  <svg
2640
3298
  viewBox="0 0 24 24"
@@ -2660,7 +3318,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2660
3318
 
2661
3319
  class EyeOffIconComponent {
2662
3320
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EyeOffIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2663
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EyeOffIconComponent, isStandalone: true, selector: "ea-icon-eye-off", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3321
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EyeOffIconComponent, isStandalone: true, selector: "ea-icon-eye-off", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2664
3322
  <svg
2665
3323
  viewBox="0 0 24 24"
2666
3324
  fill="none"
@@ -2686,7 +3344,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2686
3344
  args: [{
2687
3345
  selector: 'ea-icon-eye-off',
2688
3346
  changeDetection: ChangeDetectionStrategy.OnPush,
2689
- host: { style: 'display: inline-flex;' },
3347
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2690
3348
  template: `
2691
3349
  <svg
2692
3350
  viewBox="0 0 24 24"
@@ -2712,7 +3370,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2712
3370
 
2713
3371
  class EyeIconComponent {
2714
3372
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EyeIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2715
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EyeIconComponent, isStandalone: true, selector: "ea-icon-eye", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3373
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EyeIconComponent, isStandalone: true, selector: "ea-icon-eye", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2716
3374
  <svg
2717
3375
  viewBox="0 0 24 24"
2718
3376
  fill="none"
@@ -2736,7 +3394,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2736
3394
  args: [{
2737
3395
  selector: 'ea-icon-eye',
2738
3396
  changeDetection: ChangeDetectionStrategy.OnPush,
2739
- host: { style: 'display: inline-flex;' },
3397
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2740
3398
  template: `
2741
3399
  <svg
2742
3400
  viewBox="0 0 24 24"
@@ -2760,7 +3418,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2760
3418
 
2761
3419
  class FacebookIconComponent {
2762
3420
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FacebookIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2763
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FacebookIconComponent, isStandalone: true, selector: "ea-icon-facebook", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3421
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FacebookIconComponent, isStandalone: true, selector: "ea-icon-facebook", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2764
3422
  <svg
2765
3423
  viewBox="0 0 24 24"
2766
3424
  fill="#1877F2"
@@ -2777,7 +3435,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2777
3435
  args: [{
2778
3436
  selector: 'ea-icon-facebook',
2779
3437
  changeDetection: ChangeDetectionStrategy.OnPush,
2780
- host: { style: 'display: inline-flex;' },
3438
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2781
3439
  template: `
2782
3440
  <svg
2783
3441
  viewBox="0 0 24 24"
@@ -2794,7 +3452,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2794
3452
 
2795
3453
  class FileIconComponent {
2796
3454
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FileIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2797
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FileIconComponent, isStandalone: true, selector: "ea-icon-file", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3455
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FileIconComponent, isStandalone: true, selector: "ea-icon-file", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2798
3456
  <svg
2799
3457
  viewBox="0 0 24 24"
2800
3458
  fill="none"
@@ -2815,7 +3473,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2815
3473
  args: [{
2816
3474
  selector: 'ea-icon-file',
2817
3475
  changeDetection: ChangeDetectionStrategy.OnPush,
2818
- host: { style: 'display: inline-flex;' },
3476
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2819
3477
  template: `
2820
3478
  <svg
2821
3479
  viewBox="0 0 24 24"
@@ -2836,7 +3494,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2836
3494
 
2837
3495
  class FilterIconComponent {
2838
3496
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: FilterIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FilterIconComponent, isStandalone: true, selector: "ea-icon-filter", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3497
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: FilterIconComponent, isStandalone: true, selector: "ea-icon-filter", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2840
3498
  <svg
2841
3499
  viewBox="0 0 24 24"
2842
3500
  fill="none"
@@ -2856,7 +3514,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2856
3514
  args: [{
2857
3515
  selector: 'ea-icon-filter',
2858
3516
  changeDetection: ChangeDetectionStrategy.OnPush,
2859
- host: { style: 'display: inline-flex;' },
3517
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2860
3518
  template: `
2861
3519
  <svg
2862
3520
  viewBox="0 0 24 24"
@@ -2876,7 +3534,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2876
3534
 
2877
3535
  class GithubIconComponent {
2878
3536
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: GithubIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2879
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: GithubIconComponent, isStandalone: true, selector: "ea-icon-github", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3537
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: GithubIconComponent, isStandalone: true, selector: "ea-icon-github", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2880
3538
  <svg
2881
3539
  viewBox="0 0 24 24"
2882
3540
  fill="#181717"
@@ -2893,7 +3551,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2893
3551
  args: [{
2894
3552
  selector: 'ea-icon-github',
2895
3553
  changeDetection: ChangeDetectionStrategy.OnPush,
2896
- host: { style: 'display: inline-flex;' },
3554
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2897
3555
  template: `
2898
3556
  <svg
2899
3557
  viewBox="0 0 24 24"
@@ -2910,7 +3568,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2910
3568
 
2911
3569
  class GoogleIconComponent {
2912
3570
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: GoogleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2913
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: GoogleIconComponent, isStandalone: true, selector: "ea-icon-google", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3571
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: GoogleIconComponent, isStandalone: true, selector: "ea-icon-google", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2914
3572
  <svg
2915
3573
  viewBox="0 0 24 24"
2916
3574
  aria-hidden="true"
@@ -2936,7 +3594,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2936
3594
  args: [{
2937
3595
  selector: 'ea-icon-google',
2938
3596
  changeDetection: ChangeDetectionStrategy.OnPush,
2939
- host: { style: 'display: inline-flex;' },
3597
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2940
3598
  template: `
2941
3599
  <svg
2942
3600
  viewBox="0 0 24 24"
@@ -2962,7 +3620,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2962
3620
 
2963
3621
  class HeartIconComponent {
2964
3622
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HeartIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2965
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: HeartIconComponent, isStandalone: true, selector: "ea-icon-heart", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3623
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: HeartIconComponent, isStandalone: true, selector: "ea-icon-heart", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
2966
3624
  <svg
2967
3625
  viewBox="0 0 24 24"
2968
3626
  fill="none"
@@ -2983,7 +3641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
2983
3641
  args: [{
2984
3642
  selector: 'ea-icon-heart',
2985
3643
  changeDetection: ChangeDetectionStrategy.OnPush,
2986
- host: { style: 'display: inline-flex;' },
3644
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
2987
3645
  template: `
2988
3646
  <svg
2989
3647
  viewBox="0 0 24 24"
@@ -3004,7 +3662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3004
3662
 
3005
3663
  class ImageIconComponent {
3006
3664
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ImageIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3007
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ImageIconComponent, isStandalone: true, selector: "ea-icon-image", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3665
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: ImageIconComponent, isStandalone: true, selector: "ea-icon-image", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3008
3666
  <svg
3009
3667
  viewBox="0 0 24 24"
3010
3668
  fill="none"
@@ -3035,7 +3693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3035
3693
  args: [{
3036
3694
  selector: 'ea-icon-image',
3037
3695
  changeDetection: ChangeDetectionStrategy.OnPush,
3038
- host: { style: 'display: inline-flex;' },
3696
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3039
3697
  template: `
3040
3698
  <svg
3041
3699
  viewBox="0 0 24 24"
@@ -3066,7 +3724,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3066
3724
 
3067
3725
  class LinkIconComponent {
3068
3726
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: LinkIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3069
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LinkIconComponent, isStandalone: true, selector: "ea-icon-link", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LinkIconComponent, isStandalone: true, selector: "ea-icon-link", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3070
3728
  <svg
3071
3729
  viewBox="0 0 24 24"
3072
3730
  fill="none"
@@ -3087,7 +3745,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3087
3745
  args: [{
3088
3746
  selector: 'ea-icon-link',
3089
3747
  changeDetection: ChangeDetectionStrategy.OnPush,
3090
- host: { style: 'display: inline-flex;' },
3748
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3091
3749
  template: `
3092
3750
  <svg
3093
3751
  viewBox="0 0 24 24"
@@ -3108,7 +3766,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3108
3766
 
3109
3767
  class LoaderIconComponent {
3110
3768
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: LoaderIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3111
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LoaderIconComponent, isStandalone: true, selector: "ea-icon-loader", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3769
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LoaderIconComponent, isStandalone: true, selector: "ea-icon-loader", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3112
3770
  <svg
3113
3771
  viewBox="0 0 24 24"
3114
3772
  fill="none"
@@ -3167,7 +3825,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3167
3825
  args: [{
3168
3826
  selector: 'ea-icon-loader',
3169
3827
  changeDetection: ChangeDetectionStrategy.OnPush,
3170
- host: { style: 'display: inline-flex;' },
3828
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3171
3829
  template: `
3172
3830
  <svg
3173
3831
  viewBox="0 0 24 24"
@@ -3226,7 +3884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3226
3884
 
3227
3885
  class LogOutIconComponent {
3228
3886
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: LogOutIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3229
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LogOutIconComponent, isStandalone: true, selector: "ea-icon-log-out", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3887
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: LogOutIconComponent, isStandalone: true, selector: "ea-icon-log-out", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3230
3888
  <svg
3231
3889
  viewBox="0 0 24 24"
3232
3890
  fill="none"
@@ -3252,7 +3910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3252
3910
  args: [{
3253
3911
  selector: 'ea-icon-log-out',
3254
3912
  changeDetection: ChangeDetectionStrategy.OnPush,
3255
- host: { style: 'display: inline-flex;' },
3913
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3256
3914
  template: `
3257
3915
  <svg
3258
3916
  viewBox="0 0 24 24"
@@ -3278,7 +3936,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3278
3936
 
3279
3937
  class MailIconComponent {
3280
3938
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MailIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3281
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MailIconComponent, isStandalone: true, selector: "ea-icon-mail", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3939
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MailIconComponent, isStandalone: true, selector: "ea-icon-mail", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3282
3940
  <svg
3283
3941
  viewBox="0 0 24 24"
3284
3942
  fill="none"
@@ -3300,7 +3958,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3300
3958
  args: [{
3301
3959
  selector: 'ea-icon-mail',
3302
3960
  changeDetection: ChangeDetectionStrategy.OnPush,
3303
- host: { style: 'display: inline-flex;' },
3961
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3304
3962
  template: `
3305
3963
  <svg
3306
3964
  viewBox="0 0 24 24"
@@ -3322,7 +3980,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3322
3980
 
3323
3981
  class MenuIconComponent {
3324
3982
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MenuIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3325
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MenuIconComponent, isStandalone: true, selector: "ea-icon-menu", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
3983
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MenuIconComponent, isStandalone: true, selector: "ea-icon-menu", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3326
3984
  <svg
3327
3985
  viewBox="0 0 24 24"
3328
3986
  fill="none"
@@ -3356,7 +4014,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3356
4014
  args: [{
3357
4015
  selector: 'ea-icon-menu',
3358
4016
  changeDetection: ChangeDetectionStrategy.OnPush,
3359
- host: { style: 'display: inline-flex;' },
4017
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3360
4018
  template: `
3361
4019
  <svg
3362
4020
  viewBox="0 0 24 24"
@@ -3390,7 +4048,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3390
4048
 
3391
4049
  class MicrosoftIconComponent {
3392
4050
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MicrosoftIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3393
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MicrosoftIconComponent, isStandalone: true, selector: "ea-icon-microsoft", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4051
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MicrosoftIconComponent, isStandalone: true, selector: "ea-icon-microsoft", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3394
4052
  <svg
3395
4053
  viewBox="0 0 24 24"
3396
4054
  aria-hidden="true"
@@ -3428,7 +4086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3428
4086
  args: [{
3429
4087
  selector: 'ea-icon-microsoft',
3430
4088
  changeDetection: ChangeDetectionStrategy.OnPush,
3431
- host: { style: 'display: inline-flex;' },
4089
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3432
4090
  template: `
3433
4091
  <svg
3434
4092
  viewBox="0 0 24 24"
@@ -3466,7 +4124,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3466
4124
 
3467
4125
  class MoreHorizontalIconComponent {
3468
4126
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MoreHorizontalIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3469
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MoreHorizontalIconComponent, isStandalone: true, selector: "ea-icon-more-horizontal", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: MoreHorizontalIconComponent, isStandalone: true, selector: "ea-icon-more-horizontal", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3470
4128
  <svg
3471
4129
  viewBox="0 0 24 24"
3472
4130
  fill="none"
@@ -3497,7 +4155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3497
4155
  args: [{
3498
4156
  selector: 'ea-icon-more-horizontal',
3499
4157
  changeDetection: ChangeDetectionStrategy.OnPush,
3500
- host: { style: 'display: inline-flex;' },
4158
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3501
4159
  template: `
3502
4160
  <svg
3503
4161
  viewBox="0 0 24 24"
@@ -3528,7 +4186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3528
4186
 
3529
4187
  class PencilIconComponent {
3530
4188
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PencilIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3531
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: PencilIconComponent, isStandalone: true, selector: "ea-icon-pencil", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4189
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: PencilIconComponent, isStandalone: true, selector: "ea-icon-pencil", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3532
4190
  <svg
3533
4191
  viewBox="0 0 24 24"
3534
4192
  fill="none"
@@ -3548,7 +4206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3548
4206
  args: [{
3549
4207
  selector: 'ea-icon-pencil',
3550
4208
  changeDetection: ChangeDetectionStrategy.OnPush,
3551
- host: { style: 'display: inline-flex;' },
4209
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3552
4210
  template: `
3553
4211
  <svg
3554
4212
  viewBox="0 0 24 24"
@@ -3568,7 +4226,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3568
4226
 
3569
4227
  class SearchIconComponent {
3570
4228
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SearchIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3571
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: SearchIconComponent, isStandalone: true, selector: "ea-icon-search", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4229
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: SearchIconComponent, isStandalone: true, selector: "ea-icon-search", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3572
4230
  <svg
3573
4231
  viewBox="0 0 24 24"
3574
4232
  fill="none"
@@ -3592,7 +4250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3592
4250
  args: [{
3593
4251
  selector: 'ea-icon-search',
3594
4252
  changeDetection: ChangeDetectionStrategy.OnPush,
3595
- host: { style: 'display: inline-flex;' },
4253
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3596
4254
  template: `
3597
4255
  <svg
3598
4256
  viewBox="0 0 24 24"
@@ -3616,7 +4274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3616
4274
 
3617
4275
  class SettingsIconComponent {
3618
4276
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SettingsIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3619
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: SettingsIconComponent, isStandalone: true, selector: "ea-icon-settings", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4277
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: SettingsIconComponent, isStandalone: true, selector: "ea-icon-settings", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3620
4278
  <svg
3621
4279
  viewBox="0 0 24 24"
3622
4280
  fill="none"
@@ -3641,7 +4299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3641
4299
  args: [{
3642
4300
  selector: 'ea-icon-settings',
3643
4301
  changeDetection: ChangeDetectionStrategy.OnPush,
3644
- host: { style: 'display: inline-flex;' },
4302
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3645
4303
  template: `
3646
4304
  <svg
3647
4305
  viewBox="0 0 24 24"
@@ -3666,7 +4324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3666
4324
 
3667
4325
  class StarIconComponent {
3668
4326
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: StarIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3669
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: StarIconComponent, isStandalone: true, selector: "ea-icon-star", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4327
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: StarIconComponent, isStandalone: true, selector: "ea-icon-star", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3670
4328
  <svg
3671
4329
  viewBox="0 0 24 24"
3672
4330
  fill="none"
@@ -3687,7 +4345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3687
4345
  args: [{
3688
4346
  selector: 'ea-icon-star',
3689
4347
  changeDetection: ChangeDetectionStrategy.OnPush,
3690
- host: { style: 'display: inline-flex;' },
4348
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3691
4349
  template: `
3692
4350
  <svg
3693
4351
  viewBox="0 0 24 24"
@@ -3708,7 +4366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3708
4366
 
3709
4367
  class XCircleIconComponent {
3710
4368
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: XCircleIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3711
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XCircleIconComponent, isStandalone: true, selector: "ea-icon-x-circle", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4369
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XCircleIconComponent, isStandalone: true, selector: "ea-icon-x-circle", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3712
4370
  <svg
3713
4371
  viewBox="0 0 24 24"
3714
4372
  fill="none"
@@ -3741,7 +4399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3741
4399
  args: [{
3742
4400
  selector: 'ea-icon-x-circle',
3743
4401
  changeDetection: ChangeDetectionStrategy.OnPush,
3744
- host: { style: 'display: inline-flex;' },
4402
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3745
4403
  template: `
3746
4404
  <svg
3747
4405
  viewBox="0 0 24 24"
@@ -3774,7 +4432,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3774
4432
 
3775
4433
  class XTwitterIconComponent {
3776
4434
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: XTwitterIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3777
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XTwitterIconComponent, isStandalone: true, selector: "ea-icon-x-twitter", host: { styleAttribute: "display: inline-flex;" }, ngImport: i0, template: `
4435
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: XTwitterIconComponent, isStandalone: true, selector: "ea-icon-x-twitter", host: { styleAttribute: "display: inline-flex; width: 1em; height: 1em;" }, ngImport: i0, template: `
3778
4436
  <svg
3779
4437
  viewBox="0 0 24 24"
3780
4438
  fill="#000000"
@@ -3791,7 +4449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3791
4449
  args: [{
3792
4450
  selector: 'ea-icon-x-twitter',
3793
4451
  changeDetection: ChangeDetectionStrategy.OnPush,
3794
- host: { style: 'display: inline-flex;' },
4452
+ host: { style: 'display: inline-flex; width: 1em; height: 1em;' },
3795
4453
  template: `
3796
4454
  <svg
3797
4455
  viewBox="0 0 24 24"
@@ -3906,6 +4564,101 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
3906
4564
  ], template: "<div class=\"ea-input-field\">\n @if (label()) {\n <label\n class=\"ea-input-field__label\"\n [for]=\"id()\"\n [class.ea-input-field__label--required]=\"required()\">\n {{ label() }}\n </label>\n }\n\n <div\n class=\"ea-input-wrapper\"\n [ngClass]=\"wrapperClasses()\">\n <!-- Prefix slot (icon or text) -->\n <span class=\"ea-input-wrapper__prefix\">\n <ng-content select=\"[slot=prefix]\" />\n </span>\n\n <input\n #inputEl\n class=\"ea-input\"\n [id]=\"id()\"\n [type]=\"effectiveType()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"isDisabled()\"\n [readOnly]=\"readonly()\"\n [required]=\"required()\"\n [value]=\"value()\"\n [attr.autocomplete]=\"autocomplete() ?? null\"\n [attr.aria-invalid]=\"resolvedStatus() === 'error' || null\"\n [attr.aria-describedby]=\"\n showError() ? id() + '-error' : showHint() ? id() + '-hint' : null\n \"\n (input)=\"handleInput($event)\"\n (focus)=\"handleFocus($event)\"\n (blur)=\"handleBlur($event)\" />\n\n <!-- Suffix slot (icon, clear button, etc.) -->\n <span class=\"ea-input-wrapper__suffix\">\n <ng-content select=\"[slot=suffix]\" />\n </span>\n\n <!-- Built-in password visibility toggle -->\n @if (type() === 'password' && showPasswordToggle()) {\n <button\n type=\"button\"\n class=\"ea-input-wrapper__password-toggle\"\n [attr.aria-label]=\"passwordVisible() ? 'Hide password' : 'Show password'\"\n [attr.aria-pressed]=\"passwordVisible()\"\n (click)=\"togglePasswordVisibility()\"\n tabindex=\"-1\">\n @if (passwordVisible()) {\n <ea-icon-eye-off />\n } @else {\n <ea-icon-eye />\n }\n </button>\n }\n </div>\n\n @if (showError()) {\n <p\n class=\"ea-input-field__message ea-input-field__message--error\"\n [id]=\"id() + '-error'\"\n role=\"alert\">\n <ea-icon-alert-circle class=\"ea-input-field__message-icon\" />\n {{ errorMsg() }}\n </p>\n }\n\n @if (showHint()) {\n <p\n class=\"ea-input-field__message ea-input-field__message--hint\"\n [id]=\"id() + '-hint'\">\n {{ hint() }}\n </p>\n }\n</div>\n", styles: [".ea-input-field{display:flex;flex-direction:column;gap:var(--space-1-5);color:var(--color-text-secondary)}.ea-input-field__label{font-size:var(--text-label-md-size);font-weight:var(--text-label-md-weight);line-height:var(--text-label-md-lh);color:var(--color-text-primary)}.ea-input-field__label--required:after{content:\" *\";color:var(--color-error-default)}.ea-input-field__message{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-helper-size);font-weight:var(--text-helper-weight);line-height:var(--text-helper-lh)}.ea-input-field__message--hint{color:inherit}.ea-input-field__message--error{color:var(--color-error-default)}.ea-input-field__message-icon{flex-shrink:0;width:.875em;height:.875em}.ea-input-wrapper{display:flex;align-items:center;gap:var(--space-2);background-color:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:var(--transition-colors),var(--transition-shadow);overflow:hidden}.ea-input-wrapper--sm{padding:0 var(--space-2);min-height:2rem}.ea-input-wrapper--sm .ea-input{font-size:var(--font-size-sm);padding:var(--space-1-5) 0}.ea-input-wrapper--md{padding:0 var(--space-3);min-height:2.5rem}.ea-input-wrapper--md .ea-input{font-size:var(--font-size-md);padding:var(--space-2) 0}.ea-input-wrapper--lg{padding:0 var(--space-4);min-height:3rem}.ea-input-wrapper--lg .ea-input{font-size:var(--font-size-lg);padding:var(--space-2-5) 0}.ea-input-wrapper--focused{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus-ring)}.ea-input-wrapper--error{border-color:var(--color-error-default)}.ea-input-wrapper--error.ea-input-wrapper--focused{box-shadow:var(--shadow-focus-ring-error)}.ea-input-wrapper--success{border-color:var(--color-success-default)}.ea-input-wrapper--success.ea-input-wrapper--focused{box-shadow:var(--shadow-focus-ring-success)}.ea-input-wrapper--disabled{background-color:var(--color-bg-muted);border-color:var(--color-border-default);cursor:not-allowed;opacity:.6}.ea-input-wrapper--disabled .ea-input{cursor:not-allowed}.ea-input-wrapper--readonly{background-color:var(--color-bg-subtle)}.ea-input-wrapper__prefix,.ea-input-wrapper__suffix{display:flex;align-items:center;flex-shrink:0;color:inherit}.ea-input-wrapper__prefix:empty,.ea-input-wrapper__suffix:empty{display:none}.ea-input-wrapper__password-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;width:1.25rem;height:1.25rem;background:none;border:none;cursor:pointer;color:var(--ea-input-toggle-color, inherit);border-radius:var(--radius-sm);transition:var(--transition-colors)}.ea-input-wrapper__password-toggle:hover{color:var(--color-text-primary)}.ea-input-wrapper__password-toggle ea-icon-eye,.ea-input-wrapper__password-toggle ea-icon-eye-off{width:1rem;height:1rem;pointer-events:none}.ea-input{flex:1;width:100%;min-width:0;background:transparent;border:none;outline:none;color:var(--color-text-primary);font-family:var(--font-family-sans);line-height:var(--line-height-normal)}.ea-input::placeholder{color:var(--color-text-tertiary)}.ea-input:-webkit-autofill,.ea-input:autofill{-webkit-text-fill-color:var(--color-text-primary);-webkit-box-shadow:0 0 0 1000px var(--color-bg-base) inset;transition:background-color 5000s ease-in-out 0s}.ea-input:disabled{cursor:not-allowed}.ea-input[type=number]::-webkit-inner-spin-button,.ea-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ea-input[type=number]{-moz-appearance:textfield;appearance:textfield}.ea-input[type=search]::-webkit-search-decoration,.ea-input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}\n"] }]
3907
4565
  }], propDecorators: { inputEl: [{ type: i0.ViewChild, args: ['inputEl', { isSignal: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], errorMsg: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], autofocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autofocus", required: false }] }], showPasswordToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPasswordToggle", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], inputFocused: [{ type: i0.Output, args: ["inputFocused"] }], inputBlurred: [{ type: i0.Output, args: ["inputBlurred"] }] } });
3908
4566
 
4567
+ class MenuComponent {
4568
+ elRef = inject((ElementRef));
4569
+ // Inputs
4570
+ placement = input('bottom-start', ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
4571
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4572
+ ariaLabel = input('Menu', { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
4573
+ // Two-way open binding
4574
+ open = model(false, ...(ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []));
4575
+ // Outputs
4576
+ opened = output();
4577
+ closed = output();
4578
+ // Computed
4579
+ menuId = signal(`ea-menu-${Math.random().toString(36).slice(2, 9)}`, ...(ngDevMode ? [{ debugName: "menuId" }] : /* istanbul ignore next */ []));
4580
+ menuClasses = computed(() => ({
4581
+ [`ea-menu__list--${this.placement()}`]: true,
4582
+ }), ...(ngDevMode ? [{ debugName: "menuClasses" }] : /* istanbul ignore next */ []));
4583
+ toggle() {
4584
+ if (this.disabled())
4585
+ return;
4586
+ const next = !this.open();
4587
+ this.open.set(next);
4588
+ if (next) {
4589
+ this.opened.emit();
4590
+ }
4591
+ else {
4592
+ this.closed.emit();
4593
+ }
4594
+ }
4595
+ close() {
4596
+ if (!this.open())
4597
+ return;
4598
+ this.open.set(false);
4599
+ this.closed.emit();
4600
+ }
4601
+ handleTriggerKeydown(event) {
4602
+ if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {
4603
+ event.preventDefault();
4604
+ if (!this.open())
4605
+ this.toggle();
4606
+ }
4607
+ else if (event.key === 'Escape' && this.open()) {
4608
+ event.preventDefault();
4609
+ this.close();
4610
+ }
4611
+ }
4612
+ onDocumentClick(event) {
4613
+ if (!this.open())
4614
+ return;
4615
+ const target = event.target;
4616
+ if (!this.elRef.nativeElement.contains(target)) {
4617
+ this.close();
4618
+ }
4619
+ }
4620
+ onEscape() {
4621
+ if (this.open())
4622
+ this.close();
4623
+ }
4624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4625
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: MenuComponent, isStandalone: true, selector: "ea-menu", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange", opened: "opened", closed: "closed" }, host: { listeners: { "document:click": "onDocumentClick($event)", "document:keydown.escape": "onEscape()" } }, ngImport: i0, template: "<div class=\"ea-menu\">\n <div\n class=\"ea-menu__trigger\"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"menuId()\"\n (click)=\"toggle()\"\n (keydown)=\"handleTriggerKeydown($event)\">\n <ng-content select=\"[slot=trigger]\" />\n </div>\n\n @if (open()) {\n <div\n class=\"ea-menu__list\"\n role=\"menu\"\n [id]=\"menuId()\"\n [ngClass]=\"menuClasses()\"\n [attr.aria-label]=\"ariaLabel()\">\n <ng-content />\n </div>\n }\n</div>\n", styles: [".ea-menu{position:relative;display:inline-block}.ea-menu__trigger{display:inline-flex}.ea-menu__list{position:absolute;z-index:var(--z-index-dropdown);min-width:10rem;max-height:20rem;padding:var(--space-1) 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--color-bg-base)}.ea-menu__list--bottom-start{top:calc(100% + var(--space-1));left:0}.ea-menu__list--bottom-end{top:calc(100% + var(--space-1));right:0}.ea-menu__list--top-start{bottom:calc(100% + var(--space-1));left:0}.ea-menu__list--top-end{bottom:calc(100% + var(--space-1));right:0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4626
+ }
4627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MenuComponent, decorators: [{
4628
+ type: Component,
4629
+ args: [{ selector: 'ea-menu', imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ea-menu\">\n <div\n class=\"ea-menu__trigger\"\n [attr.aria-haspopup]=\"'menu'\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"menuId()\"\n (click)=\"toggle()\"\n (keydown)=\"handleTriggerKeydown($event)\">\n <ng-content select=\"[slot=trigger]\" />\n </div>\n\n @if (open()) {\n <div\n class=\"ea-menu__list\"\n role=\"menu\"\n [id]=\"menuId()\"\n [ngClass]=\"menuClasses()\"\n [attr.aria-label]=\"ariaLabel()\">\n <ng-content />\n </div>\n }\n</div>\n", styles: [".ea-menu{position:relative;display:inline-block}.ea-menu__trigger{display:inline-flex}.ea-menu__list{position:absolute;z-index:var(--z-index-dropdown);min-width:10rem;max-height:20rem;padding:var(--space-1) 0;overflow-y:auto;border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background-color:var(--color-bg-base)}.ea-menu__list--bottom-start{top:calc(100% + var(--space-1));left:0}.ea-menu__list--bottom-end{top:calc(100% + var(--space-1));right:0}.ea-menu__list--top-start{bottom:calc(100% + var(--space-1));left:0}.ea-menu__list--top-end{bottom:calc(100% + var(--space-1));right:0}\n"] }]
4630
+ }], propDecorators: { placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }, { type: i0.Output, args: ["openChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], onDocumentClick: [{
4631
+ type: HostListener,
4632
+ args: ['document:click', ['$event']]
4633
+ }], onEscape: [{
4634
+ type: HostListener,
4635
+ args: ['document:keydown.escape']
4636
+ }] } });
4637
+
4638
+ class MenuItemComponent {
4639
+ menu = inject(MenuComponent, { optional: true });
4640
+ // Inputs
4641
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
4642
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
4643
+ // Outputs
4644
+ itemClicked = output();
4645
+ handleClick(event) {
4646
+ if (this.disabled()) {
4647
+ event.preventDefault();
4648
+ event.stopPropagation();
4649
+ return;
4650
+ }
4651
+ this.itemClicked.emit(event);
4652
+ this.menu?.close();
4653
+ }
4654
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4655
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.8", type: MenuItemComponent, isStandalone: true, selector: "ea-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClicked: "itemClicked" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"ea-menu-item\"\n role=\"menuitem\"\n [class.ea-menu-item--disabled]=\"disabled()\"\n [class.ea-menu-item--danger]=\"variant() === 'danger'\"\n [disabled]=\"disabled()\"\n (click)=\"handleClick($event)\">\n <span class=\"ea-menu-item__icon\">\n <ng-content select=\"[slot=icon]\" />\n </span>\n <span class=\"ea-menu-item__label\">\n <ng-content />\n </span>\n</button>\n", styles: [".ea-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);text-align:left;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.ea-menu-item:hover:not(.ea-menu-item--disabled),.ea-menu-item:focus-visible:not(.ea-menu-item--disabled){background-color:var(--color-bg-muted)}.ea-menu-item:focus-visible{outline:none}.ea-menu-item--danger{color:var(--color-error-default)}.ea-menu-item--danger:hover:not(.ea-menu-item--disabled),.ea-menu-item--danger:focus-visible:not(.ea-menu-item--disabled){background-color:var(--color-error-subtle, var(--color-bg-muted))}.ea-menu-item--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-menu-item__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:1rem;color:inherit}.ea-menu-item__icon>*{width:1rem;height:1rem}.ea-menu-item__icon:empty{display:none}.ea-menu-item__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4656
+ }
4657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: MenuItemComponent, decorators: [{
4658
+ type: Component,
4659
+ args: [{ selector: 'ea-menu-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n type=\"button\"\n class=\"ea-menu-item\"\n role=\"menuitem\"\n [class.ea-menu-item--disabled]=\"disabled()\"\n [class.ea-menu-item--danger]=\"variant() === 'danger'\"\n [disabled]=\"disabled()\"\n (click)=\"handleClick($event)\">\n <span class=\"ea-menu-item__icon\">\n <ng-content select=\"[slot=icon]\" />\n </span>\n <span class=\"ea-menu-item__label\">\n <ng-content />\n </span>\n</button>\n", styles: [".ea-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:var(--font-family-sans);text-align:left;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-colors)}.ea-menu-item:hover:not(.ea-menu-item--disabled),.ea-menu-item:focus-visible:not(.ea-menu-item--disabled){background-color:var(--color-bg-muted)}.ea-menu-item:focus-visible{outline:none}.ea-menu-item--danger{color:var(--color-error-default)}.ea-menu-item--danger:hover:not(.ea-menu-item--disabled),.ea-menu-item--danger:focus-visible:not(.ea-menu-item--disabled){background-color:var(--color-error-subtle, var(--color-bg-muted))}.ea-menu-item--disabled{color:var(--color-text-disabled);cursor:not-allowed}.ea-menu-item__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:1rem;height:1rem;color:inherit}.ea-menu-item__icon>*{width:1rem;height:1rem}.ea-menu-item__icon:empty{display:none}.ea-menu-item__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
4660
+ }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], itemClicked: [{ type: i0.Output, args: ["itemClicked"] }] } });
4661
+
3909
4662
  class PaginatorComponent {
3910
4663
  totalItems = input.required(...(ngDevMode ? [{ debugName: "totalItems" }] : /* istanbul ignore next */ []));
3911
4664
  pageSizeOptions = input([10, 25, 50, 100], ...(ngDevMode ? [{ debugName: "pageSizeOptions" }] : /* istanbul ignore next */ []));
@@ -3971,11 +4724,11 @@ class PaginatorComponent {
3971
4724
  this.changed.emit({ page: 1, pageSize: newSize });
3972
4725
  }
3973
4726
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3974
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: PaginatorComponent, isStandalone: true, selector: "ea-paginator", inputs: { totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: true, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, showPageSizeSelector: { classPropertyName: "showPageSizeSelector", publicName: "showPageSizeSelector", isSignal: true, isRequired: false, transformFunction: null }, showRangeLabel: { classPropertyName: "showRangeLabel", publicName: "showRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", pageSize: "pageSizeChange", changed: "changed" }, ngImport: i0, template: "<div\n class=\"ea-paginator\"\n [class.ea-paginator--left]=\"placement() === 'left'\"\n [class.ea-paginator--center]=\"placement() === 'center'\"\n [class.ea-paginator--disabled]=\"disabled()\"\n role=\"navigation\"\n aria-label=\"Pagination\">\n @if (showPageSizeSelector()) {\n <div class=\"ea-paginator__page-size\">\n <label\n class=\"ea-paginator__label\"\n for=\"ea-paginator-size\">\n Rows per page:\n </label>\n <select\n class=\"ea-paginator__select\"\n id=\"ea-paginator-size\"\n [disabled]=\"disabled()\"\n (change)=\"onPageSizeChange($event)\">\n @for (size of pageSizeOptions(); track size) {\n <option\n [value]=\"size\"\n [selected]=\"size === pageSize()\">\n {{ size }}\n </option>\n }\n </select>\n </div>\n }\n\n @if (showRangeLabel()) {\n <span class=\"ea-paginator__range\">\n {{ rangeStart() }}\u2013{{ rangeEnd() }} of {{ totalItems() }}\n </span>\n }\n\n <div class=\"ea-paginator__controls\">\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoPrev()\"\n aria-label=\"Previous page\"\n (clicked)=\"prevPage()\">\n <ea-icon-chevron-left />\n </ea-button>\n\n @for (p of visiblePages(); track $index) {\n @if (p === 'ellipsis') {\n <span class=\"ea-paginator__ellipsis\">\u2026</span>\n } @else {\n <ea-button\n class=\"ea-paginator__page-btn\"\n [class.ea-paginator__page-btn--active]=\"p === page()\"\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled()\"\n [aria-current]=\"p === page() ? 'page' : undefined\"\n (clicked)=\"goToPage(p)\">\n {{ p }}\n </ea-button>\n }\n }\n\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoNext()\"\n aria-label=\"Next page\"\n (clicked)=\"nextPage()\">\n <ea-icon-chevron-right />\n </ea-button>\n </div>\n</div>\n", styles: [".ea-paginator{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:var(--border-width-thin) solid var(--color-border-default)}.ea-paginator--left{justify-content:flex-start}.ea-paginator--center{justify-content:center}.ea-paginator__page-size{display:flex;align-items:center;gap:var(--space-2)}.ea-paginator__label{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__select{padding:var(--space-1) calc(var(--space-2) + 1rem) var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family-sans);border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 6px center;color:var(--color-text-primary);cursor:pointer;appearance:none;transition:var(--transition-colors),var(--transition-shadow)}.ea-paginator__select:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-paginator__select:disabled{opacity:.5;cursor:not-allowed}.ea-paginator__range{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__controls{display:flex;align-items:center;gap:var(--space-1)}.ea-paginator__controls ea-icon-chevron-left,.ea-paginator__controls ea-icon-chevron-right{width:1rem;height:1rem}.ea-paginator__page-btn--active .ea-button{font-weight:var(--font-weight-medium);border-color:var(--color-brand-default);background-color:var(--color-brand-subtle);color:var(--color-brand-default)}.ea-paginator__page-btn--active .ea-button:hover:not(.ea-button--disabled){background-color:var(--color-brand-muted)}.ea-paginator__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--color-text-tertiary);pointer-events:none;-webkit-user-select:none;user-select:none}.ea-paginator--disabled{pointer-events:none}.ea-paginator--disabled .ea-paginator__range,.ea-paginator--disabled .ea-paginator__label{opacity:.5}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ea-button", inputs: ["variant", "size", "type", "disabled", "loading", "fullWidth", "aria-label", "aria-current"], outputs: ["clicked"] }, { kind: "component", type: ChevronLeftIconComponent, selector: "ea-icon-chevron-left" }, { kind: "component", type: ChevronRightIconComponent, selector: "ea-icon-chevron-right" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4727
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: PaginatorComponent, isStandalone: true, selector: "ea-paginator", inputs: { totalItems: { classPropertyName: "totalItems", publicName: "totalItems", isSignal: true, isRequired: true, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, showPageSizeSelector: { classPropertyName: "showPageSizeSelector", publicName: "showPageSizeSelector", isSignal: true, isRequired: false, transformFunction: null }, showRangeLabel: { classPropertyName: "showRangeLabel", publicName: "showRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "pageChange", pageSize: "pageSizeChange", changed: "changed" }, ngImport: i0, template: "<div\n class=\"ea-paginator\"\n [class.ea-paginator--left]=\"placement() === 'left'\"\n [class.ea-paginator--center]=\"placement() === 'center'\"\n [class.ea-paginator--disabled]=\"disabled()\"\n role=\"navigation\"\n aria-label=\"Pagination\">\n @if (showPageSizeSelector()) {\n <div class=\"ea-paginator__page-size\">\n <label\n class=\"ea-paginator__label\"\n for=\"ea-paginator-size\">\n Rows per page:\n </label>\n <select\n class=\"ea-paginator__select\"\n id=\"ea-paginator-size\"\n [disabled]=\"disabled()\"\n (change)=\"onPageSizeChange($event)\">\n @for (size of pageSizeOptions(); track size) {\n <option\n [value]=\"size\"\n [selected]=\"size === pageSize()\">\n {{ size }}\n </option>\n }\n </select>\n </div>\n }\n\n @if (showRangeLabel()) {\n <span class=\"ea-paginator__range\">\n {{ rangeStart() }}\u2013{{ rangeEnd() }} of {{ totalItems() }}\n </span>\n }\n\n <div class=\"ea-paginator__controls\">\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoPrev()\"\n aria-label=\"Previous page\"\n (clicked)=\"prevPage()\">\n <ea-icon-chevron-left />\n </ea-button>\n\n @for (p of visiblePages(); track $index) {\n @if (p === 'ellipsis') {\n <span class=\"ea-paginator__ellipsis\">\u2026</span>\n } @else {\n <ea-button\n class=\"ea-paginator__page-btn\"\n [class.ea-paginator__page-btn--active]=\"p === page()\"\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled()\"\n [aria-current]=\"p === page() ? 'page' : undefined\"\n (clicked)=\"goToPage(p)\">\n {{ p }}\n </ea-button>\n }\n }\n\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoNext()\"\n aria-label=\"Next page\"\n (clicked)=\"nextPage()\">\n <ea-icon-chevron-right />\n </ea-button>\n </div>\n</div>\n", styles: [".ea-paginator{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:var(--border-width-thin) solid var(--color-border-default)}.ea-paginator--left{justify-content:flex-start}.ea-paginator--center{justify-content:center}.ea-paginator__page-size{display:flex;align-items:center;gap:var(--space-2)}.ea-paginator__label{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__select{padding:var(--space-1) calc(var(--space-2) + 1rem) var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family-sans);border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 6px center;color:var(--color-text-primary);cursor:pointer;appearance:none;transition:var(--transition-colors),var(--transition-shadow)}.ea-paginator__select:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-paginator__select:disabled{opacity:.5;cursor:not-allowed}.ea-paginator__range{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__controls{display:flex;align-items:center;gap:var(--space-1)}.ea-paginator__controls ea-icon-chevron-left,.ea-paginator__controls ea-icon-chevron-right{width:1rem;height:1rem}.ea-paginator__page-btn--active .ea-button{font-weight:var(--font-weight-medium);border-color:var(--color-brand-default);background-color:var(--color-brand-subtle);color:var(--color-brand-default)}.ea-paginator__page-btn--active .ea-button:hover:not(.ea-button--disabled){background-color:var(--color-brand-muted)}.ea-paginator__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--color-text-tertiary);pointer-events:none;-webkit-user-select:none;user-select:none}.ea-paginator--disabled{pointer-events:none}.ea-paginator--disabled .ea-paginator__range,.ea-paginator--disabled .ea-paginator__label{opacity:.5}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ea-button", inputs: ["variant", "size", "type", "disabled", "loading", "fullWidth", "aria-label", "aria-current"], outputs: ["clicked"] }, { kind: "component", type: ChevronLeftIconComponent, selector: "ea-icon-chevron-left" }, { kind: "component", type: ChevronRightIconComponent, selector: "ea-icon-chevron-right" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
3975
4728
  }
3976
4729
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PaginatorComponent, decorators: [{
3977
4730
  type: Component,
3978
- args: [{ selector: 'ea-paginator', imports: [ButtonComponent, ChevronLeftIconComponent, ChevronRightIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"ea-paginator\"\n [class.ea-paginator--left]=\"placement() === 'left'\"\n [class.ea-paginator--center]=\"placement() === 'center'\"\n [class.ea-paginator--disabled]=\"disabled()\"\n role=\"navigation\"\n aria-label=\"Pagination\">\n @if (showPageSizeSelector()) {\n <div class=\"ea-paginator__page-size\">\n <label\n class=\"ea-paginator__label\"\n for=\"ea-paginator-size\">\n Rows per page:\n </label>\n <select\n class=\"ea-paginator__select\"\n id=\"ea-paginator-size\"\n [disabled]=\"disabled()\"\n (change)=\"onPageSizeChange($event)\">\n @for (size of pageSizeOptions(); track size) {\n <option\n [value]=\"size\"\n [selected]=\"size === pageSize()\">\n {{ size }}\n </option>\n }\n </select>\n </div>\n }\n\n @if (showRangeLabel()) {\n <span class=\"ea-paginator__range\">\n {{ rangeStart() }}\u2013{{ rangeEnd() }} of {{ totalItems() }}\n </span>\n }\n\n <div class=\"ea-paginator__controls\">\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoPrev()\"\n aria-label=\"Previous page\"\n (clicked)=\"prevPage()\">\n <ea-icon-chevron-left />\n </ea-button>\n\n @for (p of visiblePages(); track $index) {\n @if (p === 'ellipsis') {\n <span class=\"ea-paginator__ellipsis\">\u2026</span>\n } @else {\n <ea-button\n class=\"ea-paginator__page-btn\"\n [class.ea-paginator__page-btn--active]=\"p === page()\"\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled()\"\n [aria-current]=\"p === page() ? 'page' : undefined\"\n (clicked)=\"goToPage(p)\">\n {{ p }}\n </ea-button>\n }\n }\n\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoNext()\"\n aria-label=\"Next page\"\n (clicked)=\"nextPage()\">\n <ea-icon-chevron-right />\n </ea-button>\n </div>\n</div>\n", styles: [".ea-paginator{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:var(--border-width-thin) solid var(--color-border-default)}.ea-paginator--left{justify-content:flex-start}.ea-paginator--center{justify-content:center}.ea-paginator__page-size{display:flex;align-items:center;gap:var(--space-2)}.ea-paginator__label{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__select{padding:var(--space-1) calc(var(--space-2) + 1rem) var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family-sans);border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 6px center;color:var(--color-text-primary);cursor:pointer;appearance:none;transition:var(--transition-colors),var(--transition-shadow)}.ea-paginator__select:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-paginator__select:disabled{opacity:.5;cursor:not-allowed}.ea-paginator__range{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__controls{display:flex;align-items:center;gap:var(--space-1)}.ea-paginator__controls ea-icon-chevron-left,.ea-paginator__controls ea-icon-chevron-right{width:1rem;height:1rem}.ea-paginator__page-btn--active .ea-button{font-weight:var(--font-weight-medium);border-color:var(--color-brand-default);background-color:var(--color-brand-subtle);color:var(--color-brand-default)}.ea-paginator__page-btn--active .ea-button:hover:not(.ea-button--disabled){background-color:var(--color-brand-muted)}.ea-paginator__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--color-text-tertiary);pointer-events:none;-webkit-user-select:none;user-select:none}.ea-paginator--disabled{pointer-events:none}.ea-paginator--disabled .ea-paginator__range,.ea-paginator--disabled .ea-paginator__label{opacity:.5}\n"] }]
4731
+ args: [{ selector: 'ea-paginator', imports: [ButtonComponent, ChevronLeftIconComponent, ChevronRightIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"ea-paginator\"\n [class.ea-paginator--left]=\"placement() === 'left'\"\n [class.ea-paginator--center]=\"placement() === 'center'\"\n [class.ea-paginator--disabled]=\"disabled()\"\n role=\"navigation\"\n aria-label=\"Pagination\">\n @if (showPageSizeSelector()) {\n <div class=\"ea-paginator__page-size\">\n <label\n class=\"ea-paginator__label\"\n for=\"ea-paginator-size\">\n Rows per page:\n </label>\n <select\n class=\"ea-paginator__select\"\n id=\"ea-paginator-size\"\n [disabled]=\"disabled()\"\n (change)=\"onPageSizeChange($event)\">\n @for (size of pageSizeOptions(); track size) {\n <option\n [value]=\"size\"\n [selected]=\"size === pageSize()\">\n {{ size }}\n </option>\n }\n </select>\n </div>\n }\n\n @if (showRangeLabel()) {\n <span class=\"ea-paginator__range\">\n {{ rangeStart() }}\u2013{{ rangeEnd() }} of {{ totalItems() }}\n </span>\n }\n\n <div class=\"ea-paginator__controls\">\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoPrev()\"\n aria-label=\"Previous page\"\n (clicked)=\"prevPage()\">\n <ea-icon-chevron-left />\n </ea-button>\n\n @for (p of visiblePages(); track $index) {\n @if (p === 'ellipsis') {\n <span class=\"ea-paginator__ellipsis\">\u2026</span>\n } @else {\n <ea-button\n class=\"ea-paginator__page-btn\"\n [class.ea-paginator__page-btn--active]=\"p === page()\"\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled()\"\n [aria-current]=\"p === page() ? 'page' : undefined\"\n (clicked)=\"goToPage(p)\">\n {{ p }}\n </ea-button>\n }\n }\n\n <ea-button\n variant=\"ghost\"\n size=\"sm\"\n [disabled]=\"disabled() || !canGoNext()\"\n aria-label=\"Next page\"\n (clicked)=\"nextPage()\">\n <ea-icon-chevron-right />\n </ea-button>\n </div>\n</div>\n", styles: [".ea-paginator{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:var(--border-width-thin) solid var(--color-border-default)}.ea-paginator--left{justify-content:flex-start}.ea-paginator--center{justify-content:center}.ea-paginator__page-size{display:flex;align-items:center;gap:var(--space-2)}.ea-paginator__label{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__select{padding:var(--space-1) calc(var(--space-2) + 1rem) var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family-sans);border:var(--border-width-thin) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-base);background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:right 6px center;color:var(--color-text-primary);cursor:pointer;appearance:none;transition:var(--transition-colors),var(--transition-shadow)}.ea-paginator__select:focus-visible{outline:none;box-shadow:var(--shadow-focus-ring)}.ea-paginator__select:disabled{opacity:.5;cursor:not-allowed}.ea-paginator__range{white-space:nowrap;color:var(--color-text-secondary)}.ea-paginator__controls{display:flex;align-items:center;gap:var(--space-1)}.ea-paginator__controls ea-icon-chevron-left,.ea-paginator__controls ea-icon-chevron-right{width:1rem;height:1rem}.ea-paginator__page-btn--active .ea-button{font-weight:var(--font-weight-medium);border-color:var(--color-brand-default);background-color:var(--color-brand-subtle);color:var(--color-brand-default)}.ea-paginator__page-btn--active .ea-button:hover:not(.ea-button--disabled){background-color:var(--color-brand-muted)}.ea-paginator__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;color:var(--color-text-tertiary);pointer-events:none;-webkit-user-select:none;user-select:none}.ea-paginator--disabled{pointer-events:none}.ea-paginator--disabled .ea-paginator__range,.ea-paginator--disabled .ea-paginator__label{opacity:.5}\n"] }]
3979
4732
  }], propDecorators: { totalItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalItems", required: true }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], showPageSizeSelector: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPageSizeSelector", required: false }] }], showRangeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRangeLabel", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], pageSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSize", required: false }] }, { type: i0.Output, args: ["pageSizeChange"] }], changed: [{ type: i0.Output, args: ["changed"] }] } });
3980
4733
 
3981
4734
  class ProgressBarComponent {
@@ -4425,5 +5178,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
4425
5178
  * Generated bundle index. Do not edit.
4426
5179
  */
4427
5180
 
4428
- export { AccordionComponent, AccordionItemComponent, AlertCircleIconComponent, AlertComponent, AlertTriangleIconComponent, AppleIconComponent, ArrowDownIconComponent, ArrowLeftIconComponent, ArrowRightIconComponent, ArrowUpIconComponent, AvatarComponent, AvatarEditorComponent, BadgeComponent, BellIconComponent, ButtonComponent, CalendarIconComponent, CameraIconComponent, CardComponent, CheckCircleIconComponent, CheckIconComponent, CheckboxComponent, ChevronDownIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, ChevronUpIconComponent, ChevronsUpDownIconComponent, ClockIconComponent, CodeInputComponent, CopyIconComponent, DataTableComponent, DialogComponent, DividerComponent, DownloadIconComponent, DropdownComponent, ExternalLinkIconComponent, EyeIconComponent, EyeOffIconComponent, FacebookIconComponent, FileIconComponent, FilterIconComponent, GithubIconComponent, GoogleIconComponent, HeartIconComponent, ImageIconComponent, InfoIconComponent, InputComponent, LinkIconComponent, LoaderIconComponent, LogOutIconComponent, MailIconComponent, MenuIconComponent, MicrosoftIconComponent, MinusIconComponent, MoreHorizontalIconComponent, PaginatorComponent, PencilIconComponent, PlusIconComponent, ProgressBarComponent, RadioComponent, RadioGroupComponent, RotateCcwIconComponent, SearchIconComponent, SettingsIconComponent, SkeletonComponent, SpinnerComponent, StarIconComponent, SwitchComponent, TabComponent, TabsComponent, TagComponent, TextareaComponent, ToastComponent, ToastService, TooltipDirective, TrashIconComponent, UploadIconComponent, UserIconComponent, XCircleIconComponent, XIconComponent, XTwitterIconComponent };
5181
+ export { AccordionComponent, AccordionItemComponent, AlertCircleIconComponent, AlertComponent, AlertTriangleIconComponent, AppleIconComponent, ArrowDownIconComponent, ArrowLeftIconComponent, ArrowRightIconComponent, ArrowUpIconComponent, AutocompleteComponent, AvatarComponent, AvatarEditorComponent, BadgeComponent, BellIconComponent, BreadcrumbsComponent, ButtonComponent, CalendarIconComponent, CameraIconComponent, CardComponent, CheckCircleIconComponent, CheckIconComponent, CheckboxComponent, ChevronDownIconComponent, ChevronLeftIconComponent, ChevronRightIconComponent, ChevronUpIconComponent, ChevronsUpDownIconComponent, ClockIconComponent, CodeInputComponent, CopyIconComponent, DataTableComponent, DialogComponent, DividerComponent, DownloadIconComponent, DrawerComponent, DropdownComponent, EagamiIconComponent, EagamiWordmarkComponent, ExternalLinkIconComponent, EyeIconComponent, EyeOffIconComponent, FacebookIconComponent, FileIconComponent, FilterIconComponent, GithubIconComponent, GoogleIconComponent, HeartIconComponent, ImageIconComponent, InfoIconComponent, InputComponent, LinkIconComponent, LoaderIconComponent, LogOutIconComponent, MailIconComponent, MenuComponent, MenuIconComponent, MenuItemComponent, MicrosoftIconComponent, MinusIconComponent, MoreHorizontalIconComponent, PaginatorComponent, PencilIconComponent, PlusIconComponent, ProgressBarComponent, RadioComponent, RadioGroupComponent, RotateCcwIconComponent, SearchIconComponent, SettingsIconComponent, SkeletonComponent, SpinnerComponent, StarIconComponent, SwitchComponent, TabComponent, TabsComponent, TagComponent, TextareaComponent, ToastComponent, ToastService, TooltipDirective, TrashIconComponent, UploadIconComponent, UserIconComponent, XCircleIconComponent, XIconComponent, XTwitterIconComponent };
4429
5182
  //# sourceMappingURL=eagami-ui.mjs.map