@vsn-ux/ngx-gaia 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -26,7 +26,7 @@ ng add @vsn-ux/ngx-gaia
26
26
  1. Install this package:
27
27
 
28
28
  ```sh
29
- npm i @vsn-ux/ngx-gaia
29
+ npm i @vsn-ux/ngx-gaia @vsn-ux/gaia-styles lucide-angular
30
30
  ```
31
31
 
32
32
  2. Import the required styles inside your global (e.g. `style.css`) file:
@@ -43,10 +43,6 @@ ng add @vsn-ux/ngx-gaia
43
43
  // @import '@vsn-ux/gaia-styles/all.css';
44
44
  ```
45
45
 
46
- ## Icons
47
-
48
- TBA
49
-
50
46
  ## Browser support
51
47
 
52
48
  Follows PDAB Compatibility Policy:
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, numberAttribute, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, makeEnvironmentProviders, booleanAttribute, output, computed, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, InjectionToken, TemplateRef, NgZone, Input, effect, afterRender, contentChildren, viewChild } from '@angular/core';
2
+ import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, input, numberAttribute, computed, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, booleanAttribute, output, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, TemplateRef, NgZone, Input, effect, afterRender, contentChildren, viewChild } from '@angular/core';
3
3
  import * as i1 from 'lucide-angular';
4
4
  import { LucideAngularModule, X, CircleCheck, TriangleAlert, OctagonAlert, Info, Minus, Check, ChevronUp, ChevronDown } from 'lucide-angular';
5
5
  import { NG_VALUE_ACCESSOR, NgControl, NG_VALIDATORS, CheckboxRequiredValidator, RequiredValidator } from '@angular/forms';
@@ -15,36 +15,59 @@ import { toSignal } from '@angular/core/rxjs-interop';
15
15
  import * as i1$2 from '@angular/cdk/listbox';
16
16
  import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
17
17
 
18
+ /**
19
+ * Injection token that provides the base root font size in pixels.
20
+ * This token is used for accurate rem calculations when the default
21
+ * browser font size (16px) has been overridden by application styles.
22
+ * Default value is 16px if not explicitly provided.
23
+ */
24
+ const GA_BASE_FONT_SIZE = new InjectionToken('ga-base-font-size', { providedIn: 'root', factory: () => 16 });
25
+ function provideGaBaseFontSize(fontSize) {
26
+ return makeEnvironmentProviders([
27
+ { provide: GA_BASE_FONT_SIZE, useValue: fontSize },
28
+ ]);
29
+ }
30
+
31
+ const GA_ICON_DEFAULT_SIZE = 24;
18
32
  class GaIconComponent {
19
33
  elementRef = inject(ElementRef);
34
+ baseFontSize = inject(GA_BASE_FONT_SIZE);
20
35
  icon = input.required();
21
- size = input();
36
+ size = input(GA_ICON_DEFAULT_SIZE);
22
37
  color = input();
23
38
  strokeWidth = input(undefined, { transform: numberAttribute });
39
+ sizeWithDimension = computed(() => {
40
+ const size = this.size();
41
+ if (typeof size === 'number' ||
42
+ (typeof size === 'string' && size.match(/^\d+$/))) {
43
+ const sizeNumber = Number(size);
44
+ return `${sizeNumber / this.baseFontSize}rem`;
45
+ }
46
+ return size;
47
+ });
24
48
  constructor(ariaHiddenAttr) {
25
49
  if (!ariaHiddenAttr) {
26
50
  this.elementRef.nativeElement.setAttribute('aria-hidden', 'true');
27
51
  }
28
52
  }
29
53
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaIconComponent, deps: [{ token: 'aria-hidden', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
30
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaIconComponent, isStandalone: true, selector: "ga-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, classAttribute: "ga-icon" }, ngImport: i0, template: `<lucide-icon
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaIconComponent, isStandalone: true, selector: "ga-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "style": "{ '--ga-icon-size': sizeWithDimension() }" }, classAttribute: "ga-icon" }, ngImport: i0, template: `<lucide-icon
31
55
  [name]="icon()"
32
- [size]="size()"
33
56
  [color]="color()"
34
57
  [strokeWidth]="strokeWidth()"
35
- />`, isInline: true, styles: [".ga-icon{display:inline-block;vertical-align:middle;-webkit-user-select:none;user-select:none;width:fit-content;height:fit-content}\n"], dependencies: [{ kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], encapsulation: i0.ViewEncapsulation.None });
58
+ />`, isInline: true, styles: [".ga-icon{display:inline-block;vertical-align:middle;-webkit-user-select:none;user-select:none;width:fit-content;height:fit-content}.ga-icon lucide-icon>svg{width:var(--ga-icon-size);height:var(--ga-icon-size)}\n"], dependencies: [{ kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }], encapsulation: i0.ViewEncapsulation.None });
36
59
  }
37
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaIconComponent, decorators: [{
38
61
  type: Component,
39
62
  args: [{ selector: 'ga-icon', imports: [LucideAngularModule], template: `<lucide-icon
40
63
  [name]="icon()"
41
- [size]="size()"
42
64
  [color]="color()"
43
65
  [strokeWidth]="strokeWidth()"
44
66
  />`, host: {
45
67
  class: 'ga-icon',
46
68
  role: 'img',
47
- }, encapsulation: ViewEncapsulation.None, styles: [".ga-icon{display:inline-block;vertical-align:middle;-webkit-user-select:none;user-select:none;width:fit-content;height:fit-content}\n"] }]
69
+ '[style]': "{ '--ga-icon-size': sizeWithDimension() }",
70
+ }, encapsulation: ViewEncapsulation.None, styles: [".ga-icon{display:inline-block;vertical-align:middle;-webkit-user-select:none;user-select:none;width:fit-content;height:fit-content}.ga-icon lucide-icon>svg{width:var(--ga-icon-size);height:var(--ga-icon-size)}\n"] }]
48
71
  }], ctorParameters: () => [{ type: undefined, decorators: [{
49
72
  type: Attribute,
50
73
  args: ['aria-hidden']
@@ -483,19 +506,26 @@ class GaSegmentedControlComponent {
483
506
  selected = model();
484
507
  change = output();
485
508
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
486
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSegmentedControlComponent, isStandalone: true, selector: "ga-segmented-control", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange", change: "change" }, host: { attributes: { "role": "group" }, classAttribute: "ga-segmented-control" }, ngImport: i0, template: "<ng-content select=\"button[gaSegmentedControlButton]\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
509
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSegmentedControlComponent, isStandalone: true, selector: "ga-segmented-control", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange", change: "change" }, host: { attributes: { "role": "group" }, classAttribute: "ga-segmented-control" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
487
510
  }
488
511
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlComponent, decorators: [{
489
512
  type: Component,
490
- args: [{ selector: 'ga-segmented-control', changeDetection: ChangeDetectionStrategy.OnPush, host: {
513
+ args: [{
514
+ selector: 'ga-segmented-control',
515
+ template: `<ng-content />`,
516
+ changeDetection: ChangeDetectionStrategy.OnPush,
517
+ host: {
491
518
  role: 'group',
492
519
  class: 'ga-segmented-control',
493
- }, template: "<ng-content select=\"button[gaSegmentedControlButton]\"></ng-content>\n" }]
520
+ },
521
+ }]
494
522
  }] });
495
523
 
496
524
  class GaSegmentedControlButtonDirective {
497
525
  /** @ignore */
498
- group = inject(GaSegmentedControlComponent, { host: true });
526
+ group = inject(GaSegmentedControlComponent, {
527
+ skipSelf: true,
528
+ });
499
529
  value = input();
500
530
  selected = computed(() => {
501
531
  return (this.value() !== undefined &&
@@ -525,16 +555,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
525
555
  args: ['click']
526
556
  }] } });
527
557
 
558
+ class GaSegmentedControlIconButtonComponent {
559
+ value = input.required();
560
+ icon = input.required();
561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
562
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSegmentedControlIconButtonComponent, isStandalone: true, selector: "ga-segmented-control-icon-button", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<button
563
+ class="ga-segmented-control__button--icon-only"
564
+ gaSegmentedControlButton
565
+ [value]="value()"
566
+ >
567
+ <ga-icon [icon]="icon()" size="16" />
568
+ <span class="ga-segmented-control__button-sr-label"><ng-content /></span>
569
+ </button>`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "directive", type: GaSegmentedControlButtonDirective, selector: "[gaSegmentedControlButton]", inputs: ["value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
570
+ }
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlIconButtonComponent, decorators: [{
572
+ type: Component,
573
+ args: [{
574
+ selector: 'ga-segmented-control-icon-button',
575
+ imports: [GaIconModule, GaSegmentedControlButtonDirective],
576
+ template: `<button
577
+ class="ga-segmented-control__button--icon-only"
578
+ gaSegmentedControlButton
579
+ [value]="value()"
580
+ >
581
+ <ga-icon [icon]="icon()" size="16" />
582
+ <span class="ga-segmented-control__button-sr-label"><ng-content /></span>
583
+ </button>`,
584
+ changeDetection: ChangeDetectionStrategy.OnPush,
585
+ }]
586
+ }] });
587
+
588
+ class GaSegmentedControlTextButtonComponent {
589
+ value = input.required();
590
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
591
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSegmentedControlTextButtonComponent, isStandalone: true, selector: "ga-segmented-control-text-button", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `<button gaSegmentedControlButton [value]="value()">
592
+ <ng-content />
593
+ </button>`, isInline: true, dependencies: [{ kind: "directive", type: GaSegmentedControlButtonDirective, selector: "[gaSegmentedControlButton]", inputs: ["value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
594
+ }
595
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlTextButtonComponent, decorators: [{
596
+ type: Component,
597
+ args: [{
598
+ selector: 'ga-segmented-control-text-button',
599
+ imports: [GaSegmentedControlButtonDirective],
600
+ template: `<button gaSegmentedControlButton [value]="value()">
601
+ <ng-content />
602
+ </button>`,
603
+ changeDetection: ChangeDetectionStrategy.OnPush,
604
+ }]
605
+ }] });
606
+
528
607
  class GaSegmentedControlModule {
529
608
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
530
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective], exports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective] });
531
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule });
609
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlComponent,
610
+ GaSegmentedControlIconButtonComponent,
611
+ GaSegmentedControlTextButtonComponent], exports: [GaSegmentedControlComponent,
612
+ GaSegmentedControlIconButtonComponent,
613
+ GaSegmentedControlTextButtonComponent] });
614
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlIconButtonComponent] });
532
615
  }
533
616
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSegmentedControlModule, decorators: [{
534
617
  type: NgModule,
535
618
  args: [{
536
- imports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],
537
- exports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],
619
+ imports: [
620
+ GaSegmentedControlComponent,
621
+ GaSegmentedControlIconButtonComponent,
622
+ GaSegmentedControlTextButtonComponent,
623
+ ],
624
+ exports: [
625
+ GaSegmentedControlComponent,
626
+ GaSegmentedControlIconButtonComponent,
627
+ GaSegmentedControlTextButtonComponent,
628
+ ],
538
629
  }]
539
630
  }] });
540
631
 
@@ -1191,7 +1282,7 @@ class GaMenuTriggerDirective {
1191
1282
  });
1192
1283
  }
1193
1284
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1194
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["gaMenuTrigger"], hostDirectives: [{ directive: i1$1.CdkMenuTrigger }], ngImport: i0 });
1285
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["gaMenuTrigger"], hostDirectives: [{ directive: i1$1.CdkMenuTrigger, outputs: ["cdkMenuOpened", "gaMenuOpened", "cdkMenuClosed", "gaMenuClosed"] }], ngImport: i0 });
1195
1286
  }
1196
1287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, decorators: [{
1197
1288
  type: Directive,
@@ -1199,7 +1290,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1199
1290
  selector: '[gaMenuTrigger]',
1200
1291
  exportAs: 'gaMenuTrigger',
1201
1292
  standalone: true,
1202
- hostDirectives: [CdkMenuTrigger],
1293
+ hostDirectives: [
1294
+ {
1295
+ directive: CdkMenuTrigger,
1296
+ outputs: ['cdkMenuOpened: gaMenuOpened', 'cdkMenuClosed: gaMenuClosed'],
1297
+ },
1298
+ ],
1203
1299
  }]
1204
1300
  }], ctorParameters: () => [] });
1205
1301
 
@@ -1932,18 +2028,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1932
2028
  }]
1933
2029
  }] });
1934
2030
 
1935
- class GaSelectDropdownLoadingComponent {
1936
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownLoadingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1937
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaSelectDropdownLoadingComponent, isStandalone: true, selector: "ga-select-dropdown-loader", host: { classAttribute: "ga-dropdown__content-spinner" }, ngImport: i0, template: `<ga-spinner size="16" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaSpinnerModule }, { kind: "component", type: GaSpinnerComponent, selector: "ga-spinner", inputs: ["size"] }] });
2031
+ class GaSelectDropdownSpinnerComponent {
2032
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2033
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaSelectDropdownSpinnerComponent, isStandalone: true, selector: "ga-select-dropdown-spinner", host: { classAttribute: "ga-dropdown__spinner" }, ngImport: i0, template: `<ga-spinner size="16" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaSpinnerModule }, { kind: "component", type: GaSpinnerComponent, selector: "ga-spinner", inputs: ["size"] }] });
1938
2034
  }
1939
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownLoadingComponent, decorators: [{
2035
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownSpinnerComponent, decorators: [{
1940
2036
  type: Component,
1941
2037
  args: [{
1942
- selector: 'ga-select-dropdown-loader',
2038
+ selector: 'ga-select-dropdown-spinner',
1943
2039
  template: `<ga-spinner size="16" />`,
1944
2040
  imports: [GaSpinnerModule],
1945
2041
  host: {
1946
- class: 'ga-dropdown__content-spinner',
2042
+ class: 'ga-dropdown__spinner',
1947
2043
  },
1948
2044
  }]
1949
2045
  }] });
@@ -1951,13 +2047,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1951
2047
  class GaSelectDropdownComponent {
1952
2048
  loading = input(false, { transform: booleanAttribute });
1953
2049
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1954
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectDropdownComponent, isStandalone: true, selector: "ga-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$2.CdkListbox }], ngImport: i0, template: "@if (loading()) {\n <ga-select-dropdown-loader />\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "component", type: GaSelectDropdownLoadingComponent, selector: "ga-select-dropdown-loader" }] });
2050
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectDropdownComponent, isStandalone: true, selector: "ga-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$2.CdkListbox }], ngImport: i0, template: "@if (loading()) {\n <ga-select-dropdown-spinner />\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "component", type: GaSelectDropdownSpinnerComponent, selector: "ga-select-dropdown-spinner" }] });
1955
2051
  }
1956
2052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, decorators: [{
1957
2053
  type: Component,
1958
- args: [{ selector: 'ga-select-dropdown', imports: [GaSelectDropdownLoadingComponent], hostDirectives: [CdkListbox], host: {
2054
+ args: [{ selector: 'ga-select-dropdown', imports: [GaSelectDropdownSpinnerComponent], hostDirectives: [CdkListbox], host: {
1959
2055
  class: 'ga-dropdown ga-dropdown__content',
1960
- }, template: "@if (loading()) {\n <ga-select-dropdown-loader />\n} @else {\n <ng-content />\n}\n" }]
2056
+ }, template: "@if (loading()) {\n <ga-select-dropdown-spinner />\n} @else {\n <ng-content />\n}\n" }]
1961
2057
  }] });
1962
2058
 
1963
2059
  const GA_SELECT_REQUIRED_VALIDATOR = {
@@ -1983,13 +2079,13 @@ class GaSelectModule {
1983
2079
  GaOptionComponent,
1984
2080
  GaOptgroupComponent,
1985
2081
  GaSelectDropdownComponent,
1986
- GaSelectDropdownLoadingComponent,
2082
+ GaSelectDropdownSpinnerComponent,
1987
2083
  GaSelectValueComponent,
1988
2084
  GaSelectRequiredValidator], exports: [GaSelectComponent,
1989
2085
  GaOptionComponent,
1990
2086
  GaOptgroupComponent,
1991
2087
  GaSelectDropdownComponent,
1992
- GaSelectDropdownLoadingComponent,
2088
+ GaSelectDropdownSpinnerComponent,
1993
2089
  GaSelectValueComponent,
1994
2090
  GaSelectRequiredValidator] });
1995
2091
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectModule, imports: [GaSelectComponent,
@@ -2003,7 +2099,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2003
2099
  GaOptionComponent,
2004
2100
  GaOptgroupComponent,
2005
2101
  GaSelectDropdownComponent,
2006
- GaSelectDropdownLoadingComponent,
2102
+ GaSelectDropdownSpinnerComponent,
2007
2103
  GaSelectValueComponent,
2008
2104
  GaSelectRequiredValidator,
2009
2105
  ],
@@ -2012,7 +2108,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2012
2108
  GaOptionComponent,
2013
2109
  GaOptgroupComponent,
2014
2110
  GaSelectDropdownComponent,
2015
- GaSelectDropdownLoadingComponent,
2111
+ GaSelectDropdownSpinnerComponent,
2016
2112
  GaSelectValueComponent,
2017
2113
  GaSelectRequiredValidator,
2018
2114
  ],
@@ -2027,5 +2123,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
2027
2123
  * Generated bundle index. Do not edit.
2028
2124
  */
2029
2125
 
2030
- export { CHECKBOX_CONTROL_VALUE_ACCESSOR, GA_ALERT_I18N_FACTORY, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_FORM_CONTROL, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormFieldComponent, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlModule, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownLoadingComponent, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, provideGaAlertI18n };
2126
+ export { CHECKBOX_CONTROL_VALUE_ACCESSOR, GA_ALERT_I18N_FACTORY, GA_BASE_FONT_SIZE, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_FORM_CONTROL, GA_ICON_DEFAULT_SIZE, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormFieldComponent, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlIconButtonComponent, GaSegmentedControlModule, GaSegmentedControlTextButtonComponent, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownSpinnerComponent, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, provideGaAlertI18n, provideGaBaseFontSize };
2031
2127
  //# sourceMappingURL=vsn-ux-ngx-gaia.mjs.map