@vsn-ux/ngx-gaia 0.10.4 → 0.11.1

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.
@@ -40,10 +40,10 @@ class GaIconComponent {
40
40
  ariaHiddenAttr = inject(new HostAttributeToken('aria-hidden'), {
41
41
  optional: true,
42
42
  });
43
- icon = input.required();
44
- size = input(GA_ICON_DEFAULT_SIZE);
45
- color = input();
46
- strokeWidth = input(undefined, { transform: numberAttribute });
43
+ icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
44
+ size = input(GA_ICON_DEFAULT_SIZE, ...(ngDevMode ? [{ debugName: "size" }] : []));
45
+ color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
46
+ strokeWidth = input(undefined, { ...(ngDevMode ? { debugName: "strokeWidth" } : {}), transform: numberAttribute });
47
47
  sizeWithDimension = computed(() => {
48
48
  const size = this.size();
49
49
  if (typeof size === 'number' ||
@@ -52,20 +52,20 @@ class GaIconComponent {
52
52
  return `${sizeNumber / this.baseFontSize}rem`;
53
53
  }
54
54
  return size;
55
- });
55
+ }, ...(ngDevMode ? [{ debugName: "sizeWithDimension" }] : []));
56
56
  constructor() {
57
57
  if (!this.ariaHiddenAttr) {
58
58
  this.elementRef.nativeElement.setAttribute('aria-hidden', 'true');
59
59
  }
60
60
  }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", 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
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", 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
63
63
  [name]="icon()"
64
64
  [color]="color()"
65
65
  [strokeWidth]="strokeWidth()"
66
66
  />`, 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 });
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconComponent, decorators: [{
69
69
  type: Component,
70
70
  args: [{ selector: 'ga-icon', imports: [LucideAngularModule], template: `<lucide-icon
71
71
  [name]="icon()"
@@ -76,14 +76,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
76
76
  role: 'img',
77
77
  '[style]': "{ '--ga-icon-size': sizeWithDimension() }",
78
78
  }, 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"] }]
79
- }], ctorParameters: () => [] });
79
+ }], ctorParameters: () => [], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }] } });
80
80
 
81
81
  class GaIconModule {
82
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaIconModule, imports: [GaIconComponent], exports: [GaIconComponent] });
84
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconModule, imports: [GaIconComponent] });
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaIconModule, imports: [GaIconComponent], exports: [GaIconComponent] });
84
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconModule, imports: [GaIconComponent] });
85
85
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconModule, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconModule, decorators: [{
87
87
  type: NgModule,
88
88
  args: [{
89
89
  imports: [GaIconComponent],
@@ -92,10 +92,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
92
92
  }] });
93
93
 
94
94
  class GaAlertTitleComponent {
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaAlertTitleComponent, isStandalone: true, selector: "ga-alert-title", host: { classAttribute: "ga-notification__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaAlertTitleComponent, isStandalone: true, selector: "ga-alert-title", host: { classAttribute: "ga-notification__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertTitleComponent, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertTitleComponent, decorators: [{
99
99
  type: Component,
100
100
  args: [{
101
101
  selector: 'ga-alert-title',
@@ -110,10 +110,10 @@ function GA_BUTTON_I18N_FACTORY() {
110
110
  return new GaButtonI18nDefault();
111
111
  }
112
112
  class GaButtonI18n {
113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
114
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18n, providedIn: 'root', useFactory: GA_BUTTON_I18N_FACTORY });
113
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
114
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18n, providedIn: 'root', useFactory: GA_BUTTON_I18N_FACTORY });
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18n, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18n, decorators: [{
117
117
  type: Injectable,
118
118
  args: [{
119
119
  providedIn: 'root',
@@ -123,10 +123,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
123
123
  class GaButtonI18nDefault extends GaButtonI18n {
124
124
  /** A label for the default loading state */
125
125
  loadingLabel = 'Loading...';
126
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
127
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18nDefault });
126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
127
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18nDefault });
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonI18nDefault, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonI18nDefault, decorators: [{
130
130
  type: Injectable
131
131
  }] });
132
132
  function provideGaButtonI18n(value) {
@@ -138,14 +138,14 @@ function provideGaButtonI18n(value) {
138
138
  }
139
139
 
140
140
  class GaSpinnerComponent {
141
- size = input(32, { transform: numberAttribute });
142
- strokeWidth = computed(() => this.size() / 5);
143
- center = computed(() => this.size() / 2);
144
- radius = computed(() => (this.size() - this.strokeWidth()) / 2);
145
- circumference = computed(() => 2 * Math.PI * this.radius());
146
- arcCircumference = computed(() => this.circumference() * 0.25);
147
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaSpinnerComponent, isStandalone: true, selector: "ga-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.mode": "'indeterminate'" }, classAttribute: "ga-spinner" }, ngImport: i0, template: `
141
+ size = input(32, { ...(ngDevMode ? { debugName: "size" } : {}), transform: numberAttribute });
142
+ strokeWidth = computed(() => this.size() / 5, ...(ngDevMode ? [{ debugName: "strokeWidth" }] : []));
143
+ center = computed(() => this.size() / 2, ...(ngDevMode ? [{ debugName: "center" }] : []));
144
+ radius = computed(() => (this.size() - this.strokeWidth()) / 2, ...(ngDevMode ? [{ debugName: "radius" }] : []));
145
+ circumference = computed(() => 2 * Math.PI * this.radius(), ...(ngDevMode ? [{ debugName: "circumference" }] : []));
146
+ arcCircumference = computed(() => this.circumference() * 0.25, ...(ngDevMode ? [{ debugName: "arcCircumference" }] : []));
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
148
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaSpinnerComponent, isStandalone: true, selector: "ga-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.mode": "'indeterminate'" }, classAttribute: "ga-spinner" }, ngImport: i0, template: `
149
149
  <svg
150
150
  [attr.width]="size()"
151
151
  [attr.height]="size()"
@@ -174,7 +174,7 @@ class GaSpinnerComponent {
174
174
  </svg>
175
175
  `, isInline: true, styles: [".ga-spinner{display:inline-block}@keyframes ga-spinner__animation{0%{transform:rotate(0)}31.82%{transform:rotate(90deg)}63.64%{transform:rotate(180deg)}81.82%{transform:rotate(270deg)}to{transform:rotate(360deg)}}\n"], encapsulation: i0.ViewEncapsulation.None });
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'ga-spinner', template: `
180
180
  <svg
@@ -211,33 +211,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
211
211
  '[attr.mode]': "'indeterminate'",
212
212
  tabindex: '-1',
213
213
  }, styles: [".ga-spinner{display:inline-block}@keyframes ga-spinner__animation{0%{transform:rotate(0)}31.82%{transform:rotate(90deg)}63.64%{transform:rotate(180deg)}81.82%{transform:rotate(270deg)}to{transform:rotate(360deg)}}\n"] }]
214
- }] });
214
+ }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
215
215
 
216
216
  class GaButtonDirective {
217
217
  i18n = inject(GaButtonI18n);
218
218
  el = inject(ElementRef);
219
- variant = input.required({
220
- alias: 'gaButton',
221
- });
222
- isLoading = input(false, {
223
- alias: 'gaButtonLoading',
224
- transform: booleanAttribute,
225
- });
226
- loadingLabel = input(this.i18n.loadingLabel, {
227
- alias: 'gaButtonLoadingLabel',
228
- });
229
- disabledImplicit = input(false, {
230
- alias: 'disabled',
231
- transform: booleanAttribute,
232
- });
219
+ variant = input.required({ ...(ngDevMode ? { debugName: "variant" } : {}), alias: 'gaButton' });
220
+ isLoading = input(false, { ...(ngDevMode ? { debugName: "isLoading" } : {}), alias: 'gaButtonLoading',
221
+ transform: booleanAttribute });
222
+ loadingLabel = input(this.i18n.loadingLabel, { ...(ngDevMode ? { debugName: "loadingLabel" } : {}), alias: 'gaButtonLoadingLabel' });
223
+ disabledImplicit = input(false, { ...(ngDevMode ? { debugName: "disabledImplicit" } : {}), alias: 'disabled',
224
+ transform: booleanAttribute });
233
225
  disabled = computed(() => {
234
226
  if (this.el.nativeElement.tagName === 'A') {
235
227
  return null;
236
228
  }
237
229
  return this.isLoading() || this.disabledImplicit() ? '' : null;
238
- });
239
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
240
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaButtonDirective, isStandalone: true, selector: "button[gaButton], a[gaButton]", inputs: { variant: { classPropertyName: "variant", publicName: "gaButton", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "gaButtonLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "gaButtonLoadingLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledImplicit: { classPropertyName: "disabledImplicit", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-button--secondary": "!variant() || variant() === 'secondary'", "class.ga-button--primary": "variant() === 'primary'", "class.ga-button--ghost": "variant() === 'ghost'", "class.ga-button--transparent": "variant() === 'transparent'", "attr.disabled": "disabled()", "attr.aria-busy": "isLoading() ? \"true\" : null" }, classAttribute: "ga-button" }, ngImport: i0, template: `
230
+ }, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaButtonDirective, isStandalone: true, selector: "button[gaButton], a[gaButton]", inputs: { variant: { classPropertyName: "variant", publicName: "gaButton", isSignal: true, isRequired: true, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "gaButtonLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "gaButtonLoadingLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledImplicit: { classPropertyName: "disabledImplicit", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-button--secondary": "!variant() || variant() === 'secondary'", "class.ga-button--primary": "variant() === 'primary'", "class.ga-button--ghost": "variant() === 'ghost'", "class.ga-button--transparent": "variant() === 'transparent'", "attr.disabled": "disabled()", "attr.aria-busy": "isLoading() ? \"true\" : null" }, classAttribute: "ga-button" }, ngImport: i0, template: `
241
233
  @if (isLoading()) {
242
234
  <ga-spinner size="16" />
243
235
  <span class="ga-button__loading-label">{{ loadingLabel() }}</span>
@@ -246,7 +238,7 @@ class GaButtonDirective {
246
238
  }
247
239
  `, isInline: true, styles: [".ga-button__loading-label{color:var(--ga-color-text-body);font-weight:400;font-size:calc(var(--ga-text-sm-font-size) * var(--ga-base-scaling-factor, 1));line-height:calc(var(--ga-text-sm-line-height) * var(--ga-base-scaling-factor, 1));letter-spacing:0}\n"], dependencies: [{ kind: "component", type: GaSpinnerComponent, selector: "ga-spinner", inputs: ["size"] }], encapsulation: i0.ViewEncapsulation.None });
248
240
  }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonDirective, decorators: [{
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonDirective, decorators: [{
250
242
  type: Component,
251
243
  args: [{ selector: 'button[gaButton], a[gaButton]', imports: [GaSpinnerComponent], template: `
252
244
  @if (isLoading()) {
@@ -264,36 +256,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
264
256
  '[attr.disabled]': 'disabled()',
265
257
  '[attr.aria-busy]': 'isLoading() ? "true" : null',
266
258
  }, styles: [".ga-button__loading-label{color:var(--ga-color-text-body);font-weight:400;font-size:calc(var(--ga-text-sm-font-size) * var(--ga-base-scaling-factor, 1));line-height:calc(var(--ga-text-sm-line-height) * var(--ga-base-scaling-factor, 1));letter-spacing:0}\n"] }]
267
- }] });
259
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaButton", required: true }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaButtonLoading", required: false }] }], loadingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaButtonLoadingLabel", required: false }] }], disabledImplicit: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
268
260
 
269
261
  class GaIconButtonDirective {
270
262
  i18n = inject(GaButtonI18n);
271
263
  el = inject(ElementRef);
272
- icon = input.required({
273
- alias: 'gaIconButton',
274
- });
275
- variant = input('secondary', {
276
- alias: 'gaIconButtonVariant',
277
- });
278
- isLoading = input(false, {
279
- alias: 'gaIconButtonLoading',
280
- transform: booleanAttribute,
281
- });
282
- loadingLabel = input(this.i18n.loadingLabel, {
283
- alias: 'gaIconButtonLoadingLabel',
284
- });
285
- disabledImplicit = input(false, {
286
- alias: 'disabled',
287
- transform: booleanAttribute,
288
- });
264
+ icon = input.required({ ...(ngDevMode ? { debugName: "icon" } : {}), alias: 'gaIconButton' });
265
+ variant = input('secondary', { ...(ngDevMode ? { debugName: "variant" } : {}), alias: 'gaIconButtonVariant' });
266
+ isLoading = input(false, { ...(ngDevMode ? { debugName: "isLoading" } : {}), alias: 'gaIconButtonLoading',
267
+ transform: booleanAttribute });
268
+ loadingLabel = input(this.i18n.loadingLabel, { ...(ngDevMode ? { debugName: "loadingLabel" } : {}), alias: 'gaIconButtonLoadingLabel' });
269
+ disabledImplicit = input(false, { ...(ngDevMode ? { debugName: "disabledImplicit" } : {}), alias: 'disabled',
270
+ transform: booleanAttribute });
289
271
  disabled = computed(() => {
290
272
  if (this.el.nativeElement.tagName === 'A') {
291
273
  return null;
292
274
  }
293
275
  return this.isLoading() || this.disabledImplicit() ? '' : null;
294
- });
295
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
296
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaIconButtonDirective, isStandalone: true, selector: "button[gaIconButton], a[gaIconButton]", inputs: { icon: { classPropertyName: "icon", publicName: "gaIconButton", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "gaIconButtonVariant", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "gaIconButtonLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "gaIconButtonLoadingLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledImplicit: { classPropertyName: "disabledImplicit", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-button--primary": "variant() === 'primary'", "class.ga-button--secondary": "variant() === 'secondary'", "class.ga-button--ghost": "variant() === 'ghost'", "class.ga-button--transparent": "variant() === 'transparent'", "attr.disabled": "disabled()", "attr.aria-busy": "isLoading() ? \"true\" : null" }, classAttribute: "ga-button ga-button--icon-only" }, ngImport: i0, template: `
276
+ }, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
277
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
278
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaIconButtonDirective, isStandalone: true, selector: "button[gaIconButton], a[gaIconButton]", inputs: { icon: { classPropertyName: "icon", publicName: "gaIconButton", isSignal: true, isRequired: true, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "gaIconButtonVariant", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "gaIconButtonLoading", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "gaIconButtonLoadingLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledImplicit: { classPropertyName: "disabledImplicit", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-button--primary": "variant() === 'primary'", "class.ga-button--secondary": "variant() === 'secondary'", "class.ga-button--ghost": "variant() === 'ghost'", "class.ga-button--transparent": "variant() === 'transparent'", "attr.disabled": "disabled()", "attr.aria-busy": "isLoading() ? \"true\" : null" }, classAttribute: "ga-button ga-button--icon-only" }, ngImport: i0, template: `
297
279
  @if (isLoading()) {
298
280
  <ga-spinner size="16" />
299
281
  <span class="ga-button__icon-label">{{ loadingLabel() }}</span>
@@ -303,7 +285,7 @@ class GaIconButtonDirective {
303
285
  }
304
286
  `, isInline: true, styles: [".ga-button__icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border-width:0!important}\n"], dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "component", type: GaSpinnerComponent, selector: "ga-spinner", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
305
287
  }
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIconButtonDirective, decorators: [{
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIconButtonDirective, decorators: [{
307
289
  type: Component,
308
290
  args: [{ selector: 'button[gaIconButton], a[gaIconButton]', imports: [GaIconModule, GaSpinnerComponent], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: `
309
291
  @if (isLoading()) {
@@ -322,14 +304,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
322
304
  '[attr.disabled]': 'disabled()',
323
305
  '[attr.aria-busy]': 'isLoading() ? "true" : null',
324
306
  }, styles: [".ga-button__icon-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border-width:0!important}\n"] }]
325
- }] });
307
+ }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaIconButton", required: true }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaIconButtonVariant", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaIconButtonLoading", required: false }] }], loadingLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaIconButtonLoadingLabel", required: false }] }], disabledImplicit: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
326
308
 
327
309
  class GaButtonModule {
328
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
329
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaButtonModule, imports: [GaButtonDirective, GaIconButtonDirective], exports: [GaButtonDirective, GaIconButtonDirective] });
330
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonModule, imports: [GaIconButtonDirective] });
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
311
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaButtonModule, imports: [GaButtonDirective, GaIconButtonDirective], exports: [GaButtonDirective, GaIconButtonDirective] });
312
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonModule, imports: [GaIconButtonDirective] });
331
313
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaButtonModule, decorators: [{
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaButtonModule, decorators: [{
333
315
  type: NgModule,
334
316
  args: [{
335
317
  imports: [GaButtonDirective, GaIconButtonDirective],
@@ -341,10 +323,10 @@ function GA_ALERT_I18N_FACTORY() {
341
323
  return new GaAlertI18nDefault();
342
324
  }
343
325
  class GaAlertI18n {
344
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
345
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18n, providedIn: 'root', useFactory: GA_ALERT_I18N_FACTORY });
326
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
327
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18n, providedIn: 'root', useFactory: GA_ALERT_I18N_FACTORY });
346
328
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18n, decorators: [{
329
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18n, decorators: [{
348
330
  type: Injectable,
349
331
  args: [{
350
332
  providedIn: 'root',
@@ -354,10 +336,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
354
336
  class GaAlertI18nDefault extends GaAlertI18n {
355
337
  /** A label for the dismiss button */
356
338
  dismissLabel = 'Dismiss';
357
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
358
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18nDefault });
339
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
340
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18nDefault });
359
341
  }
360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertI18nDefault, decorators: [{
342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertI18nDefault, decorators: [{
361
343
  type: Injectable
362
344
  }] });
363
345
  function provideGaAlertI18n(value) {
@@ -372,12 +354,12 @@ let nextUniqueId$b = 0;
372
354
  class GaAlertComponent {
373
355
  i18n = inject(GaAlertI18n);
374
356
  dismissIcon = X;
375
- variant = input('brand');
376
- explicitIcon = input(undefined, { alias: 'icon' });
377
- dismissible = input(false, { transform: booleanAttribute });
378
- progress = input();
379
- progressLabel = input();
380
- progressLabelledBy = input();
357
+ variant = input('brand', ...(ngDevMode ? [{ debugName: "variant" }] : []));
358
+ explicitIcon = input(undefined, { ...(ngDevMode ? { debugName: "explicitIcon" } : {}), alias: 'icon' });
359
+ dismissible = input(false, { ...(ngDevMode ? { debugName: "dismissible" } : {}), transform: booleanAttribute });
360
+ progress = input(...(ngDevMode ? [undefined, { debugName: "progress" }] : []));
361
+ progressLabel = input(...(ngDevMode ? [undefined, { debugName: "progressLabel" }] : []));
362
+ progressLabelledBy = input(...(ngDevMode ? [undefined, { debugName: "progressLabelledBy" }] : []));
381
363
  dismiss = output();
382
364
  icon = computed(() => {
383
365
  if (this.explicitIcon() !== undefined) {
@@ -394,45 +376,45 @@ class GaAlertComponent {
394
376
  return CircleCheck;
395
377
  }
396
378
  return null;
397
- });
398
- title = contentChild(GaAlertTitleComponent);
379
+ }, ...(ngDevMode ? [{ debugName: "icon" }] : []));
380
+ title = contentChild(GaAlertTitleComponent, ...(ngDevMode ? [{ debugName: "title" }] : []));
399
381
  progressId = `ga-alert-progress-${++nextUniqueId$b}`;
400
382
  variantClass = computed(() => {
401
383
  return `ga-notification ga-notification--${this.variant()}`;
402
- });
384
+ }, ...(ngDevMode ? [{ debugName: "variantClass" }] : []));
403
385
  hasProgress = computed(() => {
404
386
  return this.progress() !== undefined;
405
- });
387
+ }, ...(ngDevMode ? [{ debugName: "hasProgress" }] : []));
406
388
  progressValue = computed(() => {
407
389
  const progressValue = this.progress();
408
390
  if (progressValue === undefined || progressValue === 'indeterminate') {
409
391
  return undefined;
410
392
  }
411
393
  return Math.max(0, Math.min(100, progressValue));
412
- });
394
+ }, ...(ngDevMode ? [{ debugName: "progressValue" }] : []));
413
395
  progressBarWidth = computed(() => {
414
396
  const progressValue = this.progressValue();
415
397
  if (progressValue === undefined) {
416
398
  return undefined;
417
399
  }
418
400
  return `${progressValue}%`;
419
- });
420
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
421
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaAlertComponent, isStandalone: true, selector: "ga-alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, explicitIcon: { classPropertyName: "explicitIcon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, progressLabel: { classPropertyName: "progressLabel", publicName: "progressLabel", isSignal: true, isRequired: false, transformFunction: null }, progressLabelledBy: { classPropertyName: "progressLabelledBy", publicName: "progressLabelledBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismiss: "dismiss" }, host: { attributes: { "role": "alert" }, properties: { "class": "variantClass()" } }, queries: [{ propertyName: "title", first: true, predicate: GaAlertTitleComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (hasProgress()) {\n <div\n role=\"progressbar\"\n class=\"ga-notification__progress\"\n [class.ga-notification__progress--indeterminate]=\"\n progress() === 'indeterminate'\n \"\n [id]=\"progressId\"\n [attr.aria-label]=\"progressLabel()\"\n [attr.aria-labelledby]=\"progressLabelledBy()\"\n [attr.aria-valuenow]=\"progressValue()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div\n class=\"ga-notification__progress-bar\"\n [style.width]=\"progressBarWidth()\"\n ></div>\n </div>\n}\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant", "gaIconButtonLoading", "gaIconButtonLoadingLabel", "disabled"] }] });
401
+ }, ...(ngDevMode ? [{ debugName: "progressBarWidth" }] : []));
402
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
403
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaAlertComponent, isStandalone: true, selector: "ga-alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, explicitIcon: { classPropertyName: "explicitIcon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, progressLabel: { classPropertyName: "progressLabel", publicName: "progressLabel", isSignal: true, isRequired: false, transformFunction: null }, progressLabelledBy: { classPropertyName: "progressLabelledBy", publicName: "progressLabelledBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismiss: "dismiss" }, host: { attributes: { "role": "alert" }, properties: { "class": "variantClass()" } }, queries: [{ propertyName: "title", first: true, predicate: GaAlertTitleComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (hasProgress()) {\n <div\n role=\"progressbar\"\n class=\"ga-notification__progress\"\n [class.ga-notification__progress--indeterminate]=\"\n progress() === 'indeterminate'\n \"\n [id]=\"progressId\"\n [attr.aria-label]=\"progressLabel()\"\n [attr.aria-labelledby]=\"progressLabelledBy()\"\n [attr.aria-valuenow]=\"progressValue()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div\n class=\"ga-notification__progress-bar\"\n [style.width]=\"progressBarWidth()\"\n ></div>\n </div>\n}\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant", "gaIconButtonLoading", "gaIconButtonLoadingLabel", "disabled"] }] });
422
404
  }
423
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertComponent, decorators: [{
405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertComponent, decorators: [{
424
406
  type: Component,
425
407
  args: [{ selector: 'ga-alert', imports: [GaIconModule, GaButtonModule], host: {
426
408
  role: 'alert',
427
409
  '[class]': `variantClass()`,
428
410
  }, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (hasProgress()) {\n <div\n role=\"progressbar\"\n class=\"ga-notification__progress\"\n [class.ga-notification__progress--indeterminate]=\"\n progress() === 'indeterminate'\n \"\n [id]=\"progressId\"\n [attr.aria-label]=\"progressLabel()\"\n [attr.aria-labelledby]=\"progressLabelledBy()\"\n [attr.aria-valuenow]=\"progressValue()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div\n class=\"ga-notification__progress-bar\"\n [style.width]=\"progressBarWidth()\"\n ></div>\n </div>\n}\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n" }]
429
- }] });
411
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], explicitIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], dismissible: [{ type: i0.Input, args: [{ isSignal: true, alias: "dismissible", required: false }] }], progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], progressLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressLabel", required: false }] }], progressLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressLabelledBy", required: false }] }], dismiss: [{ type: i0.Output, args: ["dismiss"] }], title: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaAlertTitleComponent), { isSignal: true }] }] } });
430
412
 
431
413
  class GaAlertTitleActionsComponent {
432
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertTitleActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
433
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaAlertTitleActionsComponent, isStandalone: true, selector: "ga-alert-title-actions", host: { classAttribute: "ga-notification__title-actions" }, ngImport: i0, template: `<ng-content />`, isInline: true });
414
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertTitleActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
415
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaAlertTitleActionsComponent, isStandalone: true, selector: "ga-alert-title-actions", host: { classAttribute: "ga-notification__title-actions" }, ngImport: i0, template: `<ng-content />`, isInline: true });
434
416
  }
435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertTitleActionsComponent, decorators: [{
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertTitleActionsComponent, decorators: [{
436
418
  type: Component,
437
419
  args: [{
438
420
  selector: 'ga-alert-title-actions',
@@ -444,15 +426,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
444
426
  }] });
445
427
 
446
428
  class GaAlertModule {
447
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
448
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaAlertModule, imports: [GaAlertComponent,
429
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
430
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaAlertModule, imports: [GaAlertComponent,
449
431
  GaAlertTitleComponent,
450
432
  GaAlertTitleActionsComponent], exports: [GaAlertComponent,
451
433
  GaAlertTitleComponent,
452
434
  GaAlertTitleActionsComponent] });
453
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertModule, imports: [GaAlertComponent] });
435
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertModule, imports: [GaAlertComponent] });
454
436
  }
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaAlertModule, decorators: [{
437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaAlertModule, decorators: [{
456
438
  type: NgModule,
457
439
  args: [{
458
440
  imports: [
@@ -469,15 +451,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
469
451
  }] });
470
452
 
471
453
  class GaBadgeComponent {
472
- variant = input('default');
473
- type = input('text');
454
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
455
+ type = input('text', ...(ngDevMode ? [{ debugName: "type" }] : []));
474
456
  variantClass = computed(() => {
475
457
  return `ga-badge ga-badge--${this.type()} ga-badge--${this.variant()}`;
476
- });
477
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
478
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaBadgeComponent, isStandalone: true, selector: "ga-badge", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "variantClass()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
458
+ }, ...(ngDevMode ? [{ debugName: "variantClass" }] : []));
459
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
460
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaBadgeComponent, isStandalone: true, selector: "ga-badge", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "variantClass()" } }, ngImport: i0, template: `<ng-content />`, isInline: true });
479
461
  }
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeComponent, decorators: [{
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeComponent, decorators: [{
481
463
  type: Component,
482
464
  args: [{
483
465
  selector: 'ga-badge',
@@ -486,14 +468,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
486
468
  '[class]': `variantClass()`,
487
469
  },
488
470
  }]
489
- }] });
471
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
490
472
 
491
473
  class GaBadgeModule {
492
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
493
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeModule, imports: [GaBadgeComponent], exports: [GaBadgeComponent] });
494
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeModule });
474
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
475
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeModule, imports: [GaBadgeComponent], exports: [GaBadgeComponent] });
476
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeModule });
495
477
  }
496
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaBadgeModule, decorators: [{
478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaBadgeModule, decorators: [{
497
479
  type: NgModule,
498
480
  args: [{
499
481
  imports: [GaBadgeComponent],
@@ -502,13 +484,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
502
484
  }] });
503
485
 
504
486
  class GaCardComponent {
505
- selectable = input(false, { transform: booleanAttribute });
506
- selected = input(false, { transform: booleanAttribute });
507
- disabled = input(false, { transform: booleanAttribute });
508
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
509
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaCardComponent, isStandalone: true, selector: "ga-card", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-card--selectable": "selectable()", "class.ga-card--selected": "selected()", "class.ga-card--disabled": "disabled()" }, classAttribute: "ga-card" }, ngImport: i0, template: `<ng-content />`, isInline: true });
487
+ selectable = input(false, { ...(ngDevMode ? { debugName: "selectable" } : {}), transform: booleanAttribute });
488
+ selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
489
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
490
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
491
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaCardComponent, isStandalone: true, selector: "ga-card", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-card--selectable": "selectable()", "class.ga-card--selected": "selected()", "class.ga-card--disabled": "disabled()" }, classAttribute: "ga-card" }, ngImport: i0, template: `<ng-content />`, isInline: true });
510
492
  }
511
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCardComponent, decorators: [{
493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCardComponent, decorators: [{
512
494
  type: Component,
513
495
  args: [{
514
496
  selector: 'ga-card',
@@ -520,14 +502,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
520
502
  '[class.ga-card--disabled]': 'disabled()',
521
503
  },
522
504
  }]
523
- }] });
505
+ }], propDecorators: { selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
524
506
 
525
507
  class GaCardModule {
526
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
527
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaCardModule, imports: [GaCardComponent], exports: [GaCardComponent] });
528
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCardModule });
508
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
509
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaCardModule, imports: [GaCardComponent], exports: [GaCardComponent] });
510
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCardModule });
529
511
  }
530
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCardModule, decorators: [{
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCardModule, decorators: [{
531
513
  type: NgModule,
532
514
  args: [{
533
515
  imports: [GaCardComponent],
@@ -536,9 +518,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
536
518
  }] });
537
519
 
538
520
  class GaFormControlErrorsDirective {
539
- customErrorsInput = input.required({
540
- alias: 'gaFormControlErrors',
541
- });
521
+ customErrorsInput = input.required({ ...(ngDevMode ? { debugName: "customErrorsInput" } : {}), alias: 'gaFormControlErrors' });
542
522
  customErrors = computed(() => {
543
523
  // for better API ergonomics, we ignore errors with null and undefined values
544
524
  // this lets to bind custom errors directly without nasty if checks
@@ -549,16 +529,16 @@ class GaFormControlErrorsDirective {
549
529
  }
550
530
  return acc;
551
531
  }, {});
552
- });
553
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlErrorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
554
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaFormControlErrorsDirective, isStandalone: true, selector: "[gaFormControlErrors]", inputs: { customErrorsInput: { classPropertyName: "customErrorsInput", publicName: "gaFormControlErrors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
532
+ }, ...(ngDevMode ? [{ debugName: "customErrors" }] : []));
533
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormControlErrorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
534
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaFormControlErrorsDirective, isStandalone: true, selector: "[gaFormControlErrors]", inputs: { customErrorsInput: { classPropertyName: "customErrorsInput", publicName: "gaFormControlErrors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
555
535
  }
556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlErrorsDirective, decorators: [{
536
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormControlErrorsDirective, decorators: [{
557
537
  type: Directive,
558
538
  args: [{
559
539
  selector: '[gaFormControlErrors]',
560
540
  }]
561
- }] });
541
+ }], propDecorators: { customErrorsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaFormControlErrors", required: true }] }] } });
562
542
 
563
543
  const GA_FORM_CONTROL_ADAPTER = new InjectionToken('ga-form-control-adapter');
564
544
  /**
@@ -632,8 +612,8 @@ function injectNgControlState({ implicitChildNgControl, explicitNgControl, expli
632
612
  const customErrorsDirective = inject(GaFormControlErrorsDirective, {
633
613
  optional: true,
634
614
  });
635
- const inError = signal(false);
636
- const errors = signal({});
615
+ const inError = signal(false, ...(ngDevMode ? [{ debugName: "inError" }] : []));
616
+ const errors = signal({}, ...(ngDevMode ? [{ debugName: "errors" }] : []));
637
617
  effect(() => {
638
618
  errors.set({
639
619
  ...ngControlErrors(),
@@ -673,46 +653,36 @@ class GaCheckboxComponent {
673
653
  /** @ignore */
674
654
  _onModelChanged;
675
655
  /** The value attribute of the native input element */
676
- value = input(null);
677
- disabledInput = input(false, {
678
- transform: booleanAttribute,
679
- alias: 'disabled',
680
- });
681
- checkedInput = input(false, {
682
- transform: booleanAttribute,
683
- alias: 'checked',
684
- });
685
- nameInput = input(null, { alias: 'name' });
686
- id = input(null);
687
- indeterminate = input(false, { transform: booleanAttribute });
688
- ariaLabel = input(null, { alias: 'aria-label' });
689
- ariaLabelledby = input(null, {
690
- alias: 'aria-labelledby',
691
- });
692
- ariaDescribedby = input(null, {
693
- alias: 'aria-describedby',
694
- });
695
- ariaInvalid = input(null, { alias: 'aria-invalid' });
696
- ariaErrormessage = input(null, {
697
- alias: 'aria-errormessage',
698
- });
699
- required = input(false, { transform: booleanAttribute });
700
- disabled = linkedSignal(() => this.disabledInput());
701
- checked = linkedSignal(() => this.checkedInput());
656
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
657
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), transform: booleanAttribute,
658
+ alias: 'disabled' });
659
+ checkedInput = input(false, { ...(ngDevMode ? { debugName: "checkedInput" } : {}), transform: booleanAttribute,
660
+ alias: 'checked' });
661
+ nameInput = input(null, { ...(ngDevMode ? { debugName: "nameInput" } : {}), alias: 'name' });
662
+ id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : []));
663
+ indeterminate = input(false, { ...(ngDevMode ? { debugName: "indeterminate" } : {}), transform: booleanAttribute });
664
+ ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : {}), alias: 'aria-label' });
665
+ ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : {}), alias: 'aria-labelledby' });
666
+ ariaDescribedby = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : {}), alias: 'aria-describedby' });
667
+ ariaInvalid = input(null, { ...(ngDevMode ? { debugName: "ariaInvalid" } : {}), alias: 'aria-invalid' });
668
+ ariaErrormessage = input(null, { ...(ngDevMode ? { debugName: "ariaErrormessage" } : {}), alias: 'aria-errormessage' });
669
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : {}), transform: booleanAttribute });
670
+ disabled = linkedSignal(() => this.disabledInput(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
671
+ checked = linkedSignal(() => this.checkedInput(), ...(ngDevMode ? [{ debugName: "checked" }] : []));
702
672
  change = output();
703
673
  indeterminateChange = output();
704
674
  /** @ignore */
705
- inputId = computed(() => (this.id() ? this.id() : this._uniqueId));
675
+ inputId = computed(() => (this.id() ? this.id() : this._uniqueId), ...(ngDevMode ? [{ debugName: "inputId" }] : []));
706
676
  /** @ignore */
707
677
  name = computed(() => {
708
678
  return (this.nameInput() ?? this.implicitNgControlState.name() ?? this._uniqueId);
709
- });
679
+ }, ...(ngDevMode ? [{ debugName: "name" }] : []));
710
680
  /** @ignore */
711
681
  invalid = computed(() => {
712
682
  return this.ariaInvalid()
713
683
  ? this.ariaInvalid() === 'true'
714
684
  : this.implicitNgControlState.inError();
715
- });
685
+ }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
716
686
  /** @ignore */
717
687
  onInputChange(event) {
718
688
  // We always have to stop propagation on the change event.
@@ -750,10 +720,10 @@ class GaCheckboxComponent {
750
720
  this._onModelChanged?.(this.checked());
751
721
  this.change.emit(this.checked());
752
722
  }
753
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
754
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaCheckboxComponent, isStandalone: true, selector: "ga-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checkedInput: { classPropertyName: "checkedInput", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, nameInput: { classPropertyName: "nameInput", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.ga-checkbox--invalid": "invalid()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.aria-invalid": "null", "attr.aria-errormessage": "null", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "ga-checkbox" }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<input\n type=\"checkbox\"\n class=\"ga-checkbox__native\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [attr.value]=\"value()\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-checkbox__marker\">\n <lucide-icon\n [img]=\"icons.Check\"\n class=\"ga-checkbox__marker__indicator-checked\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n <lucide-icon\n [img]=\"icons.Minus\"\n class=\"ga-checkbox__marker__indicator-indeterminate\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n</div>\n\n<label class=\"ga-checkbox__label\" [attr.for]=\"inputId()\"\n ><ng-content></ng-content\n></label>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
723
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
724
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaCheckboxComponent, isStandalone: true, selector: "ga-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checkedInput: { classPropertyName: "checkedInput", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, nameInput: { classPropertyName: "nameInput", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", indeterminateChange: "indeterminateChange" }, host: { properties: { "class.ga-checkbox--invalid": "invalid()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.aria-invalid": "null", "attr.aria-errormessage": "null", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "ga-checkbox" }, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<input\n type=\"checkbox\"\n class=\"ga-checkbox__native\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [attr.value]=\"value()\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-checkbox__marker\">\n <lucide-icon\n [img]=\"icons.Check\"\n class=\"ga-checkbox__marker__indicator-checked\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n <lucide-icon\n [img]=\"icons.Minus\"\n class=\"ga-checkbox__marker__indicator-indeterminate\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n</div>\n\n<label class=\"ga-checkbox__label\" [attr.for]=\"inputId()\"\n ><ng-content></ng-content\n></label>\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
755
725
  }
756
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxComponent, decorators: [{
726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxComponent, decorators: [{
757
727
  type: Component,
758
728
  args: [{ selector: 'ga-checkbox', imports: [LucideAngularModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR], host: {
759
729
  class: 'ga-checkbox',
@@ -767,7 +737,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
767
737
  '[attr.aria-errormessage]': 'null',
768
738
  '[attr.disabled]': 'disabled() ? "" : null',
769
739
  }, template: "<input\n type=\"checkbox\"\n class=\"ga-checkbox__native\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [attr.value]=\"value()\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-checkbox__marker\">\n <lucide-icon\n [img]=\"icons.Check\"\n class=\"ga-checkbox__marker__indicator-checked\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n <lucide-icon\n [img]=\"icons.Minus\"\n class=\"ga-checkbox__marker__indicator-indeterminate\"\n [size]=\"12\"\n [strokeWidth]=\"2\"\n [absoluteStrokeWidth]=\"true\"\n />\n</div>\n\n<label class=\"ga-checkbox__label\" [attr.for]=\"inputId()\"\n ><ng-content></ng-content\n></label>\n" }]
770
- }] });
740
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], checkedInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], nameInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], ariaErrormessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-errormessage", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], change: [{ type: i0.Output, args: ["change"] }], indeterminateChange: [{ type: i0.Output, args: ["indeterminateChange"] }] } });
771
741
 
772
742
  const GA_CHECKBOX_REQUIRED_VALIDATOR = {
773
743
  provide: NG_VALIDATORS,
@@ -780,10 +750,10 @@ const GA_CHECKBOX_REQUIRED_VALIDATOR = {
780
750
  * work with `ga-checkbox`.
781
751
  */
782
752
  class GaCheckboxRequiredValidator extends CheckboxRequiredValidator {
783
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
784
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaCheckboxRequiredValidator, isStandalone: true, selector: "ga-checkbox[required][formControlName], ga-checkbox[required][formControl], ga-checkbox[required][ngModel]", providers: [GA_CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
753
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
754
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaCheckboxRequiredValidator, isStandalone: true, selector: "ga-checkbox[required][formControlName], ga-checkbox[required][formControl], ga-checkbox[required][ngModel]", providers: [GA_CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
785
755
  }
786
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxRequiredValidator, decorators: [{
756
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxRequiredValidator, decorators: [{
787
757
  type: Directive,
788
758
  args: [{
789
759
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -793,11 +763,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
793
763
  }] });
794
764
 
795
765
  class GaCheckboxModule {
796
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
797
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxModule, imports: [GaCheckboxComponent, GaCheckboxRequiredValidator], exports: [GaCheckboxComponent, GaCheckboxRequiredValidator] });
798
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxModule, imports: [GaCheckboxComponent] });
766
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
767
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxModule, imports: [GaCheckboxComponent, GaCheckboxRequiredValidator], exports: [GaCheckboxComponent, GaCheckboxRequiredValidator] });
768
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxModule, imports: [GaCheckboxComponent] });
799
769
  }
800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaCheckboxModule, decorators: [{
770
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaCheckboxModule, decorators: [{
801
771
  type: NgModule,
802
772
  args: [{
803
773
  imports: [GaCheckboxComponent, GaCheckboxRequiredValidator],
@@ -815,10 +785,10 @@ function GA_DATEPICKER_I18N_FACTORY() {
815
785
  return new GaDatepickerI18nDefault();
816
786
  }
817
787
  class GaDatepickerI18n {
818
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
819
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18n, providedIn: 'root', useFactory: GA_DATEPICKER_I18N_FACTORY });
788
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
789
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18n, providedIn: 'root', useFactory: GA_DATEPICKER_I18N_FACTORY });
820
790
  }
821
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18n, decorators: [{
791
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18n, decorators: [{
822
792
  type: Injectable,
823
793
  args: [{
824
794
  providedIn: 'root',
@@ -865,10 +835,10 @@ class GaDatepickerI18nDefault extends GaDatepickerI18n {
865
835
  return weekdayFormatter.format(date);
866
836
  });
867
837
  }
868
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18nDefault, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
869
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18nDefault, providedIn: 'root' });
838
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18nDefault, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
839
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18nDefault, providedIn: 'root' });
870
840
  }
871
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerI18nDefault, decorators: [{
841
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerI18nDefault, decorators: [{
872
842
  type: Injectable,
873
843
  args: [{ providedIn: 'root' }]
874
844
  }], ctorParameters: () => [] });
@@ -899,10 +869,10 @@ function GA_DATEPICKER_VALUE_ADAPTER_FACTORY() {
899
869
  return new GaDatepickerStructValueAdapter();
900
870
  }
901
871
  class GaDatepickerValueAdapter {
902
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerValueAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
903
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerValueAdapter, providedIn: 'root', useFactory: GA_DATEPICKER_VALUE_ADAPTER_FACTORY });
872
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerValueAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
873
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerValueAdapter, providedIn: 'root', useFactory: GA_DATEPICKER_VALUE_ADAPTER_FACTORY });
904
874
  }
905
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerValueAdapter, decorators: [{
875
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerValueAdapter, decorators: [{
906
876
  type: Injectable,
907
877
  args: [{
908
878
  providedIn: 'root',
@@ -936,10 +906,10 @@ class GaDatepickerStructValueAdapter extends GaDatepickerValueAdapter {
936
906
  fromStruct(struct) {
937
907
  return struct;
938
908
  }
939
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
940
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter });
909
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
910
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter });
941
911
  }
942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter, decorators: [{
912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerStructValueAdapter, decorators: [{
943
913
  type: Injectable
944
914
  }] });
945
915
  function provideGaDatepickerValueAdapter(value) {
@@ -973,21 +943,21 @@ class GaDatepickerComponent {
973
943
  ChevronUp,
974
944
  ChevronDown,
975
945
  };
976
- value = model(null);
977
- min = input(null);
978
- max = input(null);
946
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
947
+ min = input(null, ...(ngDevMode ? [{ debugName: "min" }] : []));
948
+ max = input(null, ...(ngDevMode ? [{ debugName: "max" }] : []));
979
949
  // Internal struct representation
980
950
  internalValue = computed(() => {
981
951
  return this.valueAdapter.toStruct(this.value());
982
- });
952
+ }, ...(ngDevMode ? [{ debugName: "internalValue" }] : []));
983
953
  internalMinDate = computed(() => {
984
954
  return this.valueAdapter.toStruct(this.min());
985
- });
955
+ }, ...(ngDevMode ? [{ debugName: "internalMinDate" }] : []));
986
956
  internalMaxDate = computed(() => {
987
957
  return this.valueAdapter.toStruct(this.max());
988
- });
989
- viewMode = signal('day');
990
- viewDate = signal(this.getInitialViewDate());
958
+ }, ...(ngDevMode ? [{ debugName: "internalMaxDate" }] : []));
959
+ viewMode = signal('day', ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
960
+ viewDate = signal(this.getInitialViewDate(), ...(ngDevMode ? [{ debugName: "viewDate" }] : []));
991
961
  ngOnInit() {
992
962
  // Initialize view date based on the initial value or today's date
993
963
  this.viewDate.set(this.getInitialViewDate());
@@ -1032,7 +1002,7 @@ class GaDatepickerComponent {
1032
1002
  month: targetDate.month,
1033
1003
  };
1034
1004
  }
1035
- weekDays = computed(() => this.i18n.weekDays);
1005
+ weekDays = computed(() => this.i18n.weekDays, ...(ngDevMode ? [{ debugName: "weekDays" }] : []));
1036
1006
  calendarDays = computed(() => {
1037
1007
  const viewStruct = this.viewDate();
1038
1008
  const year = viewStruct.year;
@@ -1053,19 +1023,19 @@ class GaDatepickerComponent {
1053
1023
  current.setDate(current.getDate() + 1);
1054
1024
  }
1055
1025
  return days;
1056
- });
1026
+ }, ...(ngDevMode ? [{ debugName: "calendarDays" }] : []));
1057
1027
  months = computed(() => {
1058
1028
  return Array.from({ length: 12 }, (_, i) => ({
1059
1029
  index: i + 1, // Use 1-12 indexing
1060
1030
  name: this.i18n.monthNames[i],
1061
1031
  shortName: this.i18n.monthNamesShort[i],
1062
1032
  }));
1063
- });
1033
+ }, ...(ngDevMode ? [{ debugName: "months" }] : []));
1064
1034
  years = computed(() => {
1065
1035
  const currentYear = this.viewDate().year;
1066
1036
  const startYear = Math.floor(currentYear / 10) * 10;
1067
1037
  return Array.from({ length: 25 }, (_, i) => startYear + i - 1);
1068
- });
1038
+ }, ...(ngDevMode ? [{ debugName: "years" }] : []));
1069
1039
  selectDate(dateStruct) {
1070
1040
  if (this.isDateDisabled(dateStruct) || this.isSelected(dateStruct)) {
1071
1041
  return;
@@ -1237,28 +1207,28 @@ class GaDatepickerComponent {
1237
1207
  getMonthName(monthIndex) {
1238
1208
  return this.i18n.monthNames[monthIndex - 1]; // Convert from 1-12 to 0-11 for array access
1239
1209
  }
1240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDatepickerComponent, isStandalone: true, selector: "ga-datepicker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { classAttribute: "ga-calendar" }, ngImport: i0, template: "<div class=\"ga-calendar__header\">\n <div class=\"ga-calendar__month-year\">\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleMonthView()\"\n [attr.aria-label]=\"i18n.selectMonthLabel\"\n >\n {{ getMonthName(viewDate().month) }}\n <ga-icon\n [icon]=\"viewMode() === 'month' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleYearView()\"\n [attr.aria-label]=\"i18n.selectYearLabel\"\n >\n {{ viewDate().year }}\n <ga-icon\n [icon]=\"viewMode() === 'year' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n </div>\n @if (viewMode() !== 'month') {\n <div class=\"ga-calendar__navigation\">\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigatePrevious()\"\n [attr.aria-label]=\"i18n.previousLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronLeft\" size=\"24\" />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigateNext()\"\n [attr.aria-label]=\"i18n.nextLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronRight\" size=\"24\" />\n </button>\n </div>\n }\n</div>\n\n@switch (viewMode()) {\n @case ('day') {\n <div class=\"ga-calendar__weekdays\">\n @for (day of weekDays(); track day) {\n <div class=\"ga-calendar__weekday\">{{ day }}</div>\n }\n </div>\n <div class=\"ga-calendar__selection ga-calendar__selection--day\">\n @for (\n dateStruct of calendarDays();\n track dateStruct.year + '-' + dateStruct.month + '-' + dateStruct.day\n ) {\n <button\n type=\"button\"\n class=\"ga-calendar__day\"\n [class.ga-calendar__day--selected]=\"isSelected(dateStruct)\"\n [class.ga-calendar__day--current]=\"isToday(dateStruct)\"\n [class.ga-calendar__day--disabled]=\"isDateDisabled(dateStruct)\"\n [class.ga-calendar__day--weekend]=\"isWeekend(dateStruct)\"\n [disabled]=\"isDateDisabled(dateStruct)\"\n (click)=\"selectDate(dateStruct)\"\n >\n {{ dateStruct.day }}\n </button>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ga-calendar__selection ga-calendar__selection--month\">\n @for (month of months(); track month.index) {\n <button\n type=\"button\"\n class=\"ga-calendar__month\"\n [class.ga-calendar__month--selected]=\"isSelectedMonth(month.index)\"\n [class.ga-calendar__month--disabled]=\"isMonthDisabled(month.index)\"\n [disabled]=\"isMonthDisabled(month.index)\"\n (click)=\"selectMonth(month.index)\"\n >\n {{ month.shortName }}\n </button>\n }\n </div>\n }\n @case ('year') {\n <div class=\"ga-calendar__selection ga-calendar__selection--year\">\n @for (year of years(); track year) {\n <button\n type=\"button\"\n class=\"ga-calendar__year\"\n [class.ga-calendar__year--selected]=\"isSelectedYear(year)\"\n [class.ga-calendar__year--disabled]=\"isYearDisabled(year)\"\n [disabled]=\"isYearDisabled(year)\"\n (click)=\"selectYear(year)\"\n >\n {{ year }}\n </button>\n }\n </div>\n }\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
1210
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1211
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDatepickerComponent, isStandalone: true, selector: "ga-datepicker", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { classAttribute: "ga-calendar" }, ngImport: i0, template: "<div class=\"ga-calendar__header\">\n <div class=\"ga-calendar__month-year\">\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleMonthView()\"\n [attr.aria-label]=\"i18n.selectMonthLabel\"\n >\n {{ getMonthName(viewDate().month) }}\n <ga-icon\n [icon]=\"viewMode() === 'month' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleYearView()\"\n [attr.aria-label]=\"i18n.selectYearLabel\"\n >\n {{ viewDate().year }}\n <ga-icon\n [icon]=\"viewMode() === 'year' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n </div>\n @if (viewMode() !== 'month') {\n <div class=\"ga-calendar__navigation\">\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigatePrevious()\"\n [attr.aria-label]=\"i18n.previousLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronLeft\" size=\"24\" />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigateNext()\"\n [attr.aria-label]=\"i18n.nextLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronRight\" size=\"24\" />\n </button>\n </div>\n }\n</div>\n\n@switch (viewMode()) {\n @case ('day') {\n <div class=\"ga-calendar__weekdays\">\n @for (day of weekDays(); track day) {\n <div class=\"ga-calendar__weekday\">{{ day }}</div>\n }\n </div>\n <div class=\"ga-calendar__selection ga-calendar__selection--day\">\n @for (\n dateStruct of calendarDays();\n track dateStruct.year + '-' + dateStruct.month + '-' + dateStruct.day\n ) {\n <button\n type=\"button\"\n class=\"ga-calendar__day\"\n [class.ga-calendar__day--selected]=\"isSelected(dateStruct)\"\n [class.ga-calendar__day--current]=\"isToday(dateStruct)\"\n [class.ga-calendar__day--disabled]=\"isDateDisabled(dateStruct)\"\n [class.ga-calendar__day--weekend]=\"isWeekend(dateStruct)\"\n [disabled]=\"isDateDisabled(dateStruct)\"\n (click)=\"selectDate(dateStruct)\"\n >\n {{ dateStruct.day }}\n </button>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ga-calendar__selection ga-calendar__selection--month\">\n @for (month of months(); track month.index) {\n <button\n type=\"button\"\n class=\"ga-calendar__month\"\n [class.ga-calendar__month--selected]=\"isSelectedMonth(month.index)\"\n [class.ga-calendar__month--disabled]=\"isMonthDisabled(month.index)\"\n [disabled]=\"isMonthDisabled(month.index)\"\n (click)=\"selectMonth(month.index)\"\n >\n {{ month.shortName }}\n </button>\n }\n </div>\n }\n @case ('year') {\n <div class=\"ga-calendar__selection ga-calendar__selection--year\">\n @for (year of years(); track year) {\n <button\n type=\"button\"\n class=\"ga-calendar__year\"\n [class.ga-calendar__year--selected]=\"isSelectedYear(year)\"\n [class.ga-calendar__year--disabled]=\"isYearDisabled(year)\"\n [disabled]=\"isYearDisabled(year)\"\n (click)=\"selectYear(year)\"\n >\n {{ year }}\n </button>\n }\n </div>\n }\n}\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
1242
1212
  }
1243
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerComponent, decorators: [{
1213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerComponent, decorators: [{
1244
1214
  type: Component,
1245
1215
  args: [{ selector: 'ga-datepicker', imports: [GaIconModule], host: {
1246
1216
  class: 'ga-calendar',
1247
1217
  }, template: "<div class=\"ga-calendar__header\">\n <div class=\"ga-calendar__month-year\">\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleMonthView()\"\n [attr.aria-label]=\"i18n.selectMonthLabel\"\n >\n {{ getMonthName(viewDate().month) }}\n <ga-icon\n [icon]=\"viewMode() === 'month' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__month-year-button\"\n (click)=\"toggleYearView()\"\n [attr.aria-label]=\"i18n.selectYearLabel\"\n >\n {{ viewDate().year }}\n <ga-icon\n [icon]=\"viewMode() === 'year' ? icons.ChevronUp : icons.ChevronDown\"\n size=\"16\"\n />\n </button>\n </div>\n @if (viewMode() !== 'month') {\n <div class=\"ga-calendar__navigation\">\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigatePrevious()\"\n [attr.aria-label]=\"i18n.previousLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronLeft\" size=\"24\" />\n </button>\n <button\n type=\"button\"\n class=\"ga-calendar__navigation-button\"\n (click)=\"navigateNext()\"\n [attr.aria-label]=\"i18n.nextLabel\"\n >\n <ga-icon [icon]=\"icons.ChevronRight\" size=\"24\" />\n </button>\n </div>\n }\n</div>\n\n@switch (viewMode()) {\n @case ('day') {\n <div class=\"ga-calendar__weekdays\">\n @for (day of weekDays(); track day) {\n <div class=\"ga-calendar__weekday\">{{ day }}</div>\n }\n </div>\n <div class=\"ga-calendar__selection ga-calendar__selection--day\">\n @for (\n dateStruct of calendarDays();\n track dateStruct.year + '-' + dateStruct.month + '-' + dateStruct.day\n ) {\n <button\n type=\"button\"\n class=\"ga-calendar__day\"\n [class.ga-calendar__day--selected]=\"isSelected(dateStruct)\"\n [class.ga-calendar__day--current]=\"isToday(dateStruct)\"\n [class.ga-calendar__day--disabled]=\"isDateDisabled(dateStruct)\"\n [class.ga-calendar__day--weekend]=\"isWeekend(dateStruct)\"\n [disabled]=\"isDateDisabled(dateStruct)\"\n (click)=\"selectDate(dateStruct)\"\n >\n {{ dateStruct.day }}\n </button>\n }\n </div>\n }\n @case ('month') {\n <div class=\"ga-calendar__selection ga-calendar__selection--month\">\n @for (month of months(); track month.index) {\n <button\n type=\"button\"\n class=\"ga-calendar__month\"\n [class.ga-calendar__month--selected]=\"isSelectedMonth(month.index)\"\n [class.ga-calendar__month--disabled]=\"isMonthDisabled(month.index)\"\n [disabled]=\"isMonthDisabled(month.index)\"\n (click)=\"selectMonth(month.index)\"\n >\n {{ month.shortName }}\n </button>\n }\n </div>\n }\n @case ('year') {\n <div class=\"ga-calendar__selection ga-calendar__selection--year\">\n @for (year of years(); track year) {\n <button\n type=\"button\"\n class=\"ga-calendar__year\"\n [class.ga-calendar__year--selected]=\"isSelectedYear(year)\"\n [class.ga-calendar__year--disabled]=\"isYearDisabled(year)\"\n [disabled]=\"isYearDisabled(year)\"\n (click)=\"selectYear(year)\"\n >\n {{ year }}\n </button>\n }\n </div>\n }\n}\n", styles: [":host{display:block}\n"] }]
1248
- }] });
1218
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }] } });
1249
1219
 
1250
1220
  /**
1251
1221
  * @internal - Internal service for form field coordination
1252
1222
  */
1253
1223
  class GaFormFieldConnector {
1254
- controlDisabled = signal(false);
1255
- controlId = signal(null);
1256
- labelId = signal(null);
1257
- control = signal(null);
1258
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldConnector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1259
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldConnector });
1260
- }
1261
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldConnector, decorators: [{
1224
+ controlDisabled = signal(false, ...(ngDevMode ? [{ debugName: "controlDisabled" }] : []));
1225
+ controlId = signal(null, ...(ngDevMode ? [{ debugName: "controlId" }] : []));
1226
+ labelId = signal(null, ...(ngDevMode ? [{ debugName: "labelId" }] : []));
1227
+ control = signal(null, ...(ngDevMode ? [{ debugName: "control" }] : []));
1228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldConnector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1229
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldConnector });
1230
+ }
1231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldConnector, decorators: [{
1262
1232
  type: Injectable
1263
1233
  }] });
1264
1234
 
@@ -1272,24 +1242,20 @@ class GaInputDirective {
1272
1242
  renderer = inject(Renderer2);
1273
1243
  elementRef = inject(ElementRef);
1274
1244
  implicitNgControlState = injectNgControlState();
1275
- invalidInput = input(null, {
1276
- alias: 'invalid',
1277
- transform: booleanAttribute,
1278
- });
1279
- idInput = input(undefined, { alias: 'id' });
1280
- disabledInput = input(undefined, {
1281
- alias: 'disabled',
1282
- transform: booleanAttribute,
1283
- });
1245
+ invalidInput = input(null, { ...(ngDevMode ? { debugName: "invalidInput" } : {}), alias: 'invalid',
1246
+ transform: booleanAttribute });
1247
+ idInput = input(undefined, { ...(ngDevMode ? { debugName: "idInput" } : {}), alias: 'id' });
1248
+ disabledInput = input(undefined, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
1249
+ transform: booleanAttribute });
1284
1250
  invalid = computed(() => {
1285
1251
  return this.invalidInput() ?? this.implicitNgControlState.inError();
1286
- });
1252
+ }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
1287
1253
  id = computed(() => {
1288
1254
  return this.idInput() ?? this.uniqueId;
1289
- });
1255
+ }, ...(ngDevMode ? [{ debugName: "id" }] : []));
1290
1256
  disabled = computed(() => {
1291
1257
  return this.disabledInput() ?? this.implicitNgControlState.disabled();
1292
- });
1258
+ }, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1293
1259
  constructor(placeholder) {
1294
1260
  const formFieldConnector = this.formFieldConnector;
1295
1261
  if (formFieldConnector) {
@@ -1304,10 +1270,10 @@ class GaInputDirective {
1304
1270
  focus() {
1305
1271
  this.elementRef.nativeElement.focus();
1306
1272
  }
1307
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputDirective, deps: [{ token: 'placeholder', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
1308
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaInputDirective, isStandalone: true, selector: "[gaInput]", inputs: { invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.ga-input": "!hasWrapper", "class.ga-input--invalid": "!hasWrapper && invalid()", "attr.disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1273
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputDirective, deps: [{ token: 'placeholder', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
1274
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaInputDirective, isStandalone: true, selector: "[gaInput]", inputs: { invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.ga-input": "!hasWrapper", "class.ga-input--invalid": "!hasWrapper && invalid()", "attr.disabled": "disabled() ? \"\" : null" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1309
1275
  }
1310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputDirective, decorators: [{
1276
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputDirective, decorators: [{
1311
1277
  type: Component,
1312
1278
  args: [{
1313
1279
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -1324,14 +1290,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
1324
1290
  }], ctorParameters: () => [{ type: undefined, decorators: [{
1325
1291
  type: Attribute,
1326
1292
  args: ['placeholder']
1327
- }] }] });
1293
+ }] }], propDecorators: { invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
1328
1294
 
1329
1295
  class GaInputComponent {
1330
1296
  gaInput = contentChild.required(GaInputDirective);
1331
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: GaInputComponent, isStandalone: true, selector: "ga-input", host: { listeners: { "click": "gaInput().focus()" }, properties: { "class.ga-input--invalid": "gaInput().invalid()" }, classAttribute: "ga-input" }, queries: [{ propertyName: "gaInput", first: true, predicate: GaInputDirective, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1297
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1298
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.4", type: GaInputComponent, isStandalone: true, selector: "ga-input", host: { listeners: { "click": "gaInput().focus()" }, properties: { "class.ga-input--invalid": "gaInput().invalid()" }, classAttribute: "ga-input" }, queries: [{ propertyName: "gaInput", first: true, predicate: GaInputDirective, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }], ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1333
1299
  }
1334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputComponent, decorators: [{
1300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputComponent, decorators: [{
1335
1301
  type: Component,
1336
1302
  args: [{
1337
1303
  selector: 'ga-input',
@@ -1344,7 +1310,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
1344
1310
  '(click)': 'gaInput().focus()',
1345
1311
  },
1346
1312
  }]
1347
- }] });
1313
+ }], propDecorators: { gaInput: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaInputDirective), { isSignal: true }] }] } });
1348
1314
 
1349
1315
  class GaDatepickerToggleComponent {
1350
1316
  icons = { CalendarDays };
@@ -1384,9 +1350,9 @@ class GaDatepickerToggleComponent {
1384
1350
  offsetY: -8,
1385
1351
  },
1386
1352
  ];
1387
- _isOpen = signal(false);
1353
+ _isOpen = signal(false, ...(ngDevMode ? [{ debugName: "_isOpen" }] : []));
1388
1354
  isOpen = this._isOpen.asReadonly();
1389
- for = input.required();
1355
+ for = input.required(...(ngDevMode ? [{ debugName: "for" }] : []));
1390
1356
  toggle() {
1391
1357
  if (this._isOpen()) {
1392
1358
  this.close();
@@ -1427,15 +1393,15 @@ class GaDatepickerToggleComponent {
1427
1393
  });
1428
1394
  this.close();
1429
1395
  }
1430
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1431
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaDatepickerToggleComponent, isStandalone: true, selector: "ga-datepicker-toggle", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "keydown.escape": "close()" } }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"ga-datepicker-toggle\"\n [disabled]=\"for().disabled()\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-label]=\"i18n.openCalendarLabel\"\n tabindex=\"-1\"\n>\n <ga-icon [icon]=\"icons.CalendarDays\" size=\"24\" />\n</button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (overlayKeydown)=\"$event.code === 'Escape' && close()\"\n>\n <div class=\"ga-datepicker\">\n <ga-datepicker\n [value]=\"for().value()\"\n (valueChange)=\"onDatepickerValueChange($event)\"\n [min]=\"for().min()\"\n [max]=\"for().max()\"\n />\n <div class=\"ga-datepicker__footer\">\n <button type=\"button\" gaButton (click)=\"setToday()\">\n {{ i18n.todayButtonLabel }}\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".ga-datepicker__footer{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaButtonDirective, selector: "button[gaButton], a[gaButton]", inputs: ["gaButton", "gaButtonLoading", "gaButtonLoadingLabel", "disabled"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaDatepickerComponent, selector: "ga-datepicker", inputs: ["value", "min", "max"], outputs: ["valueChange"] }], encapsulation: i0.ViewEncapsulation.None });
1396
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1397
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaDatepickerToggleComponent, isStandalone: true, selector: "ga-datepicker-toggle", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: true, transformFunction: null } }, host: { listeners: { "keydown.escape": "close()" } }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"ga-datepicker-toggle\"\n [disabled]=\"for().disabled()\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-label]=\"i18n.openCalendarLabel\"\n tabindex=\"-1\"\n>\n <ga-icon [icon]=\"icons.CalendarDays\" size=\"24\" />\n</button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (overlayKeydown)=\"$event.code === 'Escape' && close()\"\n>\n <div class=\"ga-datepicker\">\n <ga-datepicker\n [value]=\"for().value()\"\n (valueChange)=\"onDatepickerValueChange($event)\"\n [min]=\"for().min()\"\n [max]=\"for().max()\"\n />\n <div class=\"ga-datepicker__footer\">\n <button type=\"button\" gaButton (click)=\"setToday()\">\n {{ i18n.todayButtonLabel }}\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".ga-datepicker__footer{text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaButtonDirective, selector: "button[gaButton], a[gaButton]", inputs: ["gaButton", "gaButtonLoading", "gaButtonLoadingLabel", "disabled"] }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaDatepickerComponent, selector: "ga-datepicker", inputs: ["value", "min", "max"], outputs: ["valueChange"] }], encapsulation: i0.ViewEncapsulation.None });
1432
1398
  }
1433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerToggleComponent, decorators: [{
1399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerToggleComponent, decorators: [{
1434
1400
  type: Component,
1435
1401
  args: [{ selector: 'ga-datepicker-toggle', imports: [GaIconModule, GaButtonModule, OverlayModule, GaDatepickerComponent], encapsulation: ViewEncapsulation.None, host: {
1436
1402
  '(keydown.escape)': 'close()',
1437
1403
  }, template: "<button\n type=\"button\"\n class=\"ga-datepicker-toggle\"\n [disabled]=\"for().disabled()\"\n (click)=\"toggle()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"true\"\n [attr.aria-label]=\"i18n.openCalendarLabel\"\n tabindex=\"-1\"\n>\n <ga-icon [icon]=\"icons.CalendarDays\" size=\"24\" />\n</button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (overlayKeydown)=\"$event.code === 'Escape' && close()\"\n>\n <div class=\"ga-datepicker\">\n <ga-datepicker\n [value]=\"for().value()\"\n (valueChange)=\"onDatepickerValueChange($event)\"\n [min]=\"for().min()\"\n [max]=\"for().max()\"\n />\n <div class=\"ga-datepicker__footer\">\n <button type=\"button\" gaButton (click)=\"setToday()\">\n {{ i18n.todayButtonLabel }}\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".ga-datepicker__footer{text-align:center}\n"] }]
1438
- }] });
1404
+ }], propDecorators: { for: [{ type: i0.Input, args: [{ isSignal: true, alias: "for", required: true }] }] } });
1439
1405
 
1440
1406
  function GA_DATEPICKER_PARSER_FORMATTER_FACTORY() {
1441
1407
  return new GaDatepickerParserFormatterDefault();
@@ -1444,10 +1410,10 @@ function GA_DATEPICKER_PARSER_FORMATTER_FACTORY() {
1444
1410
  * Converts between the internal `GaDatepickerStruct` model presentation and a `string` that is displayed in the input element.
1445
1411
  */
1446
1412
  class GaDatepickerParserFormatter {
1447
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1448
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatter, providedIn: 'root', useFactory: GA_DATEPICKER_PARSER_FORMATTER_FACTORY });
1413
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1414
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatter, providedIn: 'root', useFactory: GA_DATEPICKER_PARSER_FORMATTER_FACTORY });
1449
1415
  }
1450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatter, decorators: [{
1416
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatter, decorators: [{
1451
1417
  type: Injectable,
1452
1418
  args: [{
1453
1419
  providedIn: 'root',
@@ -1652,10 +1618,10 @@ class GaDatepickerParserFormatterDefault extends GaDatepickerParserFormatter {
1652
1618
  printUnknownLocaleWarning() {
1653
1619
  console.warn(`Default datepicker parser-formatter does not have predefined formats for "${this.locale}" locale. Please provide custom 'GaDatepickerParserFormatter' class. Now defaults to "en-GB".`);
1654
1620
  }
1655
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1656
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault });
1621
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1622
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault });
1657
1623
  }
1658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault, decorators: [{
1624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerParserFormatterDefault, decorators: [{
1659
1625
  type: Injectable
1660
1626
  }] });
1661
1627
  function provideGaDatepickerParserFormatter(value) {
@@ -1672,20 +1638,18 @@ class GaDatepickerInputDirective {
1672
1638
  parserFormatter = inject(GaDatepickerParserFormatter);
1673
1639
  valueAdapter = inject(GaDatepickerValueAdapter);
1674
1640
  // Native value control (alternative to Angular forms)
1675
- valueInput = input(null, { alias: 'value' });
1676
- disabledInput = input(null, {
1677
- alias: 'disabled',
1678
- transform: booleanAttribute,
1679
- });
1680
- min = input(null);
1681
- max = input(null);
1641
+ valueInput = input(null, { ...(ngDevMode ? { debugName: "valueInput" } : {}), alias: 'value' });
1642
+ disabledInput = input(null, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
1643
+ transform: booleanAttribute });
1644
+ min = input(null, ...(ngDevMode ? [{ debugName: "min" }] : []));
1645
+ max = input(null, ...(ngDevMode ? [{ debugName: "max" }] : []));
1682
1646
  dateInput = output();
1683
1647
  dateChange = output();
1684
- value = linkedSignal(() => this.valueInput());
1685
- dateStruct = computed(() => this.valueAdapter.toStruct(this.value()));
1686
- disabled = linkedSignal(() => !!this.disabledInput());
1687
- lastValueValid = signal(false);
1688
- lastDateChangeEmittedValue = signal(null);
1648
+ value = linkedSignal(() => this.valueInput(), ...(ngDevMode ? [{ debugName: "value" }] : []));
1649
+ dateStruct = computed(() => this.valueAdapter.toStruct(this.value()), ...(ngDevMode ? [{ debugName: "dateStruct" }] : []));
1650
+ disabled = linkedSignal(() => !!this.disabledInput(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1651
+ lastValueValid = signal(false, ...(ngDevMode ? [{ debugName: "lastValueValid" }] : []));
1652
+ lastDateChangeEmittedValue = signal(null, ...(ngDevMode ? [{ debugName: "lastDateChangeEmittedValue" }] : []));
1689
1653
  onNgChangeFn;
1690
1654
  onNgTouchedFn;
1691
1655
  constructor() {
@@ -1777,8 +1741,8 @@ class GaDatepickerInputDirective {
1777
1741
  }
1778
1742
  return null;
1779
1743
  }
1780
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1781
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaDatepickerInputDirective, isStandalone: true, selector: "input[gaDatepickerInput]", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateInput: "dateInput", dateChange: "dateChange" }, host: { listeners: { "blur": "onBlur()", "input": "onInput($event)" }, properties: { "disabled": "disabled()" } }, providers: [
1744
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1745
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaDatepickerInputDirective, isStandalone: true, selector: "input[gaDatepickerInput]", inputs: { valueInput: { classPropertyName: "valueInput", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dateInput: "dateInput", dateChange: "dateChange" }, host: { listeners: { "blur": "onBlur()", "input": "onInput($event)" }, properties: { "disabled": "disabled()" } }, providers: [
1782
1746
  {
1783
1747
  provide: NG_VALUE_ACCESSOR,
1784
1748
  useExisting: forwardRef(() => GaDatepickerInputDirective),
@@ -1791,7 +1755,7 @@ class GaDatepickerInputDirective {
1791
1755
  },
1792
1756
  ], exportAs: ["gaDatepickerInput"], ngImport: i0 });
1793
1757
  }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerInputDirective, decorators: [{
1758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerInputDirective, decorators: [{
1795
1759
  type: Directive,
1796
1760
  args: [{
1797
1761
  selector: 'input[gaDatepickerInput]',
@@ -1814,19 +1778,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
1814
1778
  '(input)': 'onInput($event)',
1815
1779
  },
1816
1780
  }]
1817
- }], ctorParameters: () => [] });
1781
+ }], ctorParameters: () => [], propDecorators: { valueInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], dateInput: [{ type: i0.Output, args: ["dateInput"] }], dateChange: [{ type: i0.Output, args: ["dateChange"] }] } });
1818
1782
 
1819
1783
  class GaDatepickerModule {
1820
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1821
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerModule, imports: [GaDatepickerComponent,
1784
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1785
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerModule, imports: [GaDatepickerComponent,
1822
1786
  GaDatepickerToggleComponent,
1823
1787
  GaDatepickerInputDirective], exports: [GaDatepickerComponent,
1824
1788
  GaDatepickerToggleComponent,
1825
1789
  GaDatepickerInputDirective] });
1826
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerModule, imports: [GaDatepickerComponent,
1790
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerModule, imports: [GaDatepickerComponent,
1827
1791
  GaDatepickerToggleComponent] });
1828
1792
  }
1829
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerModule, decorators: [{
1793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerModule, decorators: [{
1830
1794
  type: NgModule,
1831
1795
  args: [{
1832
1796
  imports: [
@@ -1868,10 +1832,10 @@ class GaDatepickerNativeUtcValueAdapter extends GaDatepickerValueAdapter {
1868
1832
  // Create UTC date at midnight (convert month from 1-12 to 0-11)
1869
1833
  return new Date(Date.UTC(struct.year, struct.month - 1, struct.day, 0, 0, 0, 0));
1870
1834
  }
1871
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1872
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter });
1835
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1836
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter });
1873
1837
  }
1874
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter, decorators: [{
1838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcValueAdapter, decorators: [{
1875
1839
  type: Injectable
1876
1840
  }] });
1877
1841
 
@@ -1902,16 +1866,16 @@ class GaDatepickerNativeUtcIsoValueAdapter extends GaDatepickerValueAdapter {
1902
1866
  return null;
1903
1867
  return new Date(Date.UTC(struct.year, struct.month - 1, struct.day, 0, 0, 0, 0)).toISOString();
1904
1868
  }
1905
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1906
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter });
1869
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
1870
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter });
1907
1871
  }
1908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter, decorators: [{
1872
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDatepickerNativeUtcIsoValueAdapter, decorators: [{
1909
1873
  type: Injectable
1910
1874
  }] });
1911
1875
 
1912
1876
  class GaSegmentedControlComponent {
1913
- selected = model();
1914
- compareFn = input((a, b) => a === b);
1877
+ selected = model(...(ngDevMode ? [undefined, { debugName: "selected" }] : []));
1878
+ compareFn = input((a, b) => a === b, ...(ngDevMode ? [{ debugName: "compareFn" }] : []));
1915
1879
  change = output();
1916
1880
  safeCompareFn = computed(() => {
1917
1881
  const compareFn = this.compareFn();
@@ -1921,11 +1885,11 @@ class GaSegmentedControlComponent {
1921
1885
  }
1922
1886
  return compareFn(o1, o2);
1923
1887
  };
1924
- });
1925
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1926
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaSegmentedControlComponent, isStandalone: true, selector: "ga-segmented-control", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", 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 });
1888
+ }, ...(ngDevMode ? [{ debugName: "safeCompareFn" }] : []));
1889
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1890
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaSegmentedControlComponent, isStandalone: true, selector: "ga-segmented-control", inputs: { selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", 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 });
1927
1891
  }
1928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlComponent, decorators: [{
1892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlComponent, decorators: [{
1929
1893
  type: Component,
1930
1894
  args: [{
1931
1895
  selector: 'ga-segmented-control',
@@ -1936,14 +1900,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
1936
1900
  class: 'ga-segmented-control',
1937
1901
  },
1938
1902
  }]
1939
- }] });
1903
+ }], propDecorators: { selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], compareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareFn", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
1940
1904
 
1941
1905
  class GaSegmentedControlButtonDirective {
1942
1906
  /** @ignore */
1943
1907
  group = inject(GaSegmentedControlComponent, {
1944
1908
  skipSelf: true,
1945
1909
  });
1946
- value = input();
1910
+ value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
1947
1911
  selected = computed(() => {
1948
1912
  const value = this.value();
1949
1913
  const selectedValue = this.group.selected();
@@ -1951,15 +1915,15 @@ class GaSegmentedControlButtonDirective {
1951
1915
  return false;
1952
1916
  }
1953
1917
  return this.group.safeCompareFn()(selectedValue, value);
1954
- });
1918
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
1955
1919
  onClick() {
1956
1920
  this.group.selected.set(this.value());
1957
1921
  this.group.change.emit(this.value());
1958
1922
  }
1959
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1960
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaSegmentedControlButtonDirective, isStandalone: true, selector: "[gaSegmentedControlButton]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class.ga-segmented-control__button--selected": "selected()", "attr.aria-pressed": "selected()" }, classAttribute: "ga-segmented-control__button" }, ngImport: i0 });
1923
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1924
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaSegmentedControlButtonDirective, isStandalone: true, selector: "[gaSegmentedControlButton]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, listeners: { "click": "onClick()" }, properties: { "class.ga-segmented-control__button--selected": "selected()", "attr.aria-pressed": "selected()" }, classAttribute: "ga-segmented-control__button" }, ngImport: i0 });
1961
1925
  }
1962
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlButtonDirective, decorators: [{
1926
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlButtonDirective, decorators: [{
1963
1927
  type: Directive,
1964
1928
  args: [{
1965
1929
  selector: '[gaSegmentedControlButton]',
@@ -1970,16 +1934,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
1970
1934
  '[attr.aria-pressed]': 'selected()',
1971
1935
  },
1972
1936
  }]
1973
- }], propDecorators: { onClick: [{
1937
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], onClick: [{
1974
1938
  type: HostListener,
1975
1939
  args: ['click']
1976
1940
  }] } });
1977
1941
 
1978
1942
  class GaSegmentedControlIconButtonComponent {
1979
- value = input.required();
1980
- icon = input.required();
1981
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1982
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", 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
1943
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
1944
+ icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
1945
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlIconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1946
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", 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
1983
1947
  class="ga-segmented-control__button--icon-only"
1984
1948
  gaSegmentedControlButton
1985
1949
  [value]="value()"
@@ -1988,7 +1952,7 @@ class GaSegmentedControlIconButtonComponent {
1988
1952
  <span class="ga-segmented-control__button-sr-label"><ng-content /></span>
1989
1953
  </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 });
1990
1954
  }
1991
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlIconButtonComponent, decorators: [{
1955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlIconButtonComponent, decorators: [{
1992
1956
  type: Component,
1993
1957
  args: [{
1994
1958
  selector: 'ga-segmented-control-icon-button',
@@ -2003,16 +1967,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2003
1967
  </button>`,
2004
1968
  changeDetection: ChangeDetectionStrategy.OnPush,
2005
1969
  }]
2006
- }] });
1970
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }] } });
2007
1971
 
2008
1972
  class GaSegmentedControlTextButtonComponent {
2009
- value = input.required();
2010
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2011
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", 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()">
1973
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
1974
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlTextButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1975
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", 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()">
2012
1976
  <ng-content />
2013
1977
  </button>`, isInline: true, dependencies: [{ kind: "directive", type: GaSegmentedControlButtonDirective, selector: "[gaSegmentedControlButton]", inputs: ["value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2014
1978
  }
2015
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlTextButtonComponent, decorators: [{
1979
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlTextButtonComponent, decorators: [{
2016
1980
  type: Component,
2017
1981
  args: [{
2018
1982
  selector: 'ga-segmented-control-text-button',
@@ -2022,18 +1986,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2022
1986
  </button>`,
2023
1987
  changeDetection: ChangeDetectionStrategy.OnPush,
2024
1988
  }]
2025
- }] });
1989
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
2026
1990
 
2027
1991
  class GaSegmentedControlModule {
2028
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2029
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlComponent,
1992
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1993
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlComponent,
2030
1994
  GaSegmentedControlIconButtonComponent,
2031
1995
  GaSegmentedControlTextButtonComponent], exports: [GaSegmentedControlComponent,
2032
1996
  GaSegmentedControlIconButtonComponent,
2033
1997
  GaSegmentedControlTextButtonComponent] });
2034
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlIconButtonComponent] });
1998
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlModule, imports: [GaSegmentedControlIconButtonComponent] });
2035
1999
  }
2036
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSegmentedControlModule, decorators: [{
2000
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSegmentedControlModule, decorators: [{
2037
2001
  type: NgModule,
2038
2002
  args: [{
2039
2003
  imports: [
@@ -2050,11 +2014,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2050
2014
  }] });
2051
2015
 
2052
2016
  class GaInputModule {
2053
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2054
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaInputModule, imports: [GaInputComponent, GaInputDirective], exports: [GaInputComponent, GaInputDirective] });
2055
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputModule });
2017
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2018
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaInputModule, imports: [GaInputComponent, GaInputDirective], exports: [GaInputComponent, GaInputDirective] });
2019
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputModule });
2056
2020
  }
2057
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaInputModule, decorators: [{
2021
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaInputModule, decorators: [{
2058
2022
  type: NgModule,
2059
2023
  args: [{
2060
2024
  imports: [GaInputComponent, GaInputDirective],
@@ -2113,7 +2077,7 @@ class GaFieldCalloutComponent {
2113
2077
  return false;
2114
2078
  }
2115
2079
  return formControl.inError() && this.overlappingErrors().length > 0;
2116
- });
2080
+ }, ...(ngDevMode ? [{ debugName: "shouldShowError" }] : []));
2117
2081
  overlappingErrors = computed(() => {
2118
2082
  const formControl = this.formField.formControl();
2119
2083
  if (!formControl) {
@@ -2153,12 +2117,12 @@ class GaFieldCalloutComponent {
2153
2117
  }
2154
2118
  });
2155
2119
  return errors;
2156
- });
2157
- hasCallout = computed(() => !!this.formField.fieldInfo() || this.shouldShowError());
2158
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldCalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2159
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaFieldCalloutComponent, isStandalone: true, selector: "ga-field-callout", host: { properties: { "attr.id": "id", "style.display": "hasCallout() ? null : \"none\"" }, classAttribute: "ga-form-field__info" }, ngImport: i0, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span>\n @if (error.templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"error.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: error.error }\"\n />\n } @else {\n {{ error.message }}\n }\n @if (!last) {\n &nbsp;\n }\n </span>\n }\n </div>\n} @else if (formField.fieldInfo()) {\n <ng-container [ngTemplateOutlet]=\"formField.fieldInfo()!.templateRef()\" />\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2120
+ }, ...(ngDevMode ? [{ debugName: "overlappingErrors" }] : []));
2121
+ hasCallout = computed(() => !!this.formField.fieldInfo() || this.shouldShowError(), ...(ngDevMode ? [{ debugName: "hasCallout" }] : []));
2122
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldCalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2123
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaFieldCalloutComponent, isStandalone: true, selector: "ga-field-callout", host: { properties: { "attr.id": "id", "style.display": "hasCallout() ? null : \"none\"" }, classAttribute: "ga-form-field__info" }, ngImport: i0, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span>\n @if (error.templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"error.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: error.error }\"\n />\n } @else {\n {{ error.message }}\n }\n @if (!last) {\n &nbsp;\n }\n </span>\n }\n </div>\n} @else if (formField.fieldInfo()) {\n <ng-container [ngTemplateOutlet]=\"formField.fieldInfo()!.templateRef()\" />\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2160
2124
  }
2161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldCalloutComponent, decorators: [{
2125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldCalloutComponent, decorators: [{
2162
2126
  type: Component,
2163
2127
  args: [{ selector: 'ga-field-callout', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, GaIconModule], host: {
2164
2128
  class: 'ga-form-field__info',
@@ -2169,10 +2133,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2169
2133
 
2170
2134
  class GaFieldInfoComponent {
2171
2135
  templateRef = viewChild.required(TemplateRef);
2172
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2173
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: GaFieldInfoComponent, isStandalone: true, selector: "ga-info", host: { properties: { "style.display": "\"none\"" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `<ng-template><ng-content /></ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.4", type: GaFieldInfoComponent, isStandalone: true, selector: "ga-info", host: { properties: { "style.display": "\"none\"" } }, viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: `<ng-template><ng-content /></ng-template>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
2174
2138
  }
2175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldInfoComponent, decorators: [{
2139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldInfoComponent, decorators: [{
2176
2140
  type: Component,
2177
2141
  args: [{
2178
2142
  selector: 'ga-info',
@@ -2182,20 +2146,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2182
2146
  '[style.display]': '"none"',
2183
2147
  },
2184
2148
  }]
2185
- }] });
2149
+ }], propDecorators: { templateRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
2186
2150
 
2187
2151
  class GaFieldErrorDirective {
2188
2152
  templateRef = inject(TemplateRef, { self: true });
2189
- key = input.required({ alias: 'gaError' });
2190
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2191
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaFieldErrorDirective, isStandalone: true, selector: "[gaError]", inputs: { key: { classPropertyName: "key", publicName: "gaError", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
2153
+ key = input.required({ ...(ngDevMode ? { debugName: "key" } : {}), alias: 'gaError' });
2154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2155
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaFieldErrorDirective, isStandalone: true, selector: "[gaError]", inputs: { key: { classPropertyName: "key", publicName: "gaError", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
2192
2156
  }
2193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldErrorDirective, decorators: [{
2157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldErrorDirective, decorators: [{
2194
2158
  type: Directive,
2195
2159
  args: [{
2196
2160
  selector: '[gaError]',
2197
2161
  }]
2198
- }] });
2162
+ }], propDecorators: { key: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaError", required: true }] }] } });
2199
2163
 
2200
2164
  const GA_FORM_FIELD_ID = new InjectionToken('ga-form-field-id');
2201
2165
 
@@ -2203,18 +2167,16 @@ let nextUniqueId$8 = 0;
2203
2167
  class GaFormFieldComponent {
2204
2168
  uniqueId = inject(GA_FORM_FIELD_ID);
2205
2169
  formFieldConnector = inject(GaFormFieldConnector);
2206
- disabledInput = input(undefined, {
2207
- alias: 'disabled',
2208
- transform: booleanAttribute,
2209
- });
2170
+ disabledInput = input(undefined, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
2171
+ transform: booleanAttribute });
2210
2172
  disabled = computed(() => {
2211
2173
  return this.disabledInput() ?? this.formFieldConnector.controlDisabled();
2212
- });
2174
+ }, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
2213
2175
  formControl = this.formFieldConnector.control.asReadonly();
2214
- fieldInfo = contentChild(GaFieldInfoComponent);
2215
- fieldErrors = contentChildren(GaFieldErrorDirective);
2216
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2217
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: GaFormFieldComponent, isStandalone: true, selector: "ga-form-field", inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-form-field" }, providers: [
2176
+ fieldInfo = contentChild(GaFieldInfoComponent, ...(ngDevMode ? [{ debugName: "fieldInfo" }] : []));
2177
+ fieldErrors = contentChildren(GaFieldErrorDirective, ...(ngDevMode ? [{ debugName: "fieldErrors" }] : []));
2178
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2179
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.4", type: GaFormFieldComponent, isStandalone: true, selector: "ga-form-field", inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-form-field" }, providers: [
2218
2180
  {
2219
2181
  provide: GA_FORM_FIELD_ID,
2220
2182
  useFactory: () => `ga-form-field-${++nextUniqueId$8}`,
@@ -2222,7 +2184,7 @@ class GaFormFieldComponent {
2222
2184
  GaFormFieldConnector,
2223
2185
  ], queries: [{ propertyName: "fieldInfo", first: true, predicate: GaFieldInfoComponent, descendants: true, isSignal: true }, { propertyName: "fieldErrors", predicate: GaFieldErrorDirective, isSignal: true }], exportAs: ["gaFormField"], ngImport: i0, template: "<ng-content select=\"ga-label\" />\n<ng-content />\n<ga-field-callout />\n", dependencies: [{ kind: "component", type: GaFieldCalloutComponent, selector: "ga-field-callout" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2224
2186
  }
2225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldComponent, decorators: [{
2187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldComponent, decorators: [{
2226
2188
  type: Component,
2227
2189
  args: [{ selector: 'ga-form-field', exportAs: 'gaFormField', changeDetection: ChangeDetectionStrategy.OnPush, imports: [GaFieldCalloutComponent], host: {
2228
2190
  class: 'ga-form-field',
@@ -2233,7 +2195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2233
2195
  },
2234
2196
  GaFormFieldConnector,
2235
2197
  ], template: "<ng-content select=\"ga-label\" />\n<ng-content />\n<ga-field-callout />\n" }]
2236
- }] });
2198
+ }], propDecorators: { disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], fieldInfo: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaFieldInfoComponent), { isSignal: true }] }], fieldErrors: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => GaFieldErrorDirective), { isSignal: true }] }] } });
2237
2199
 
2238
2200
  let nextUniqueId$7 = 0;
2239
2201
  /**
@@ -2246,18 +2208,18 @@ class GaTooltipComponent {
2246
2208
  uniqueId = `ga-tooltip-${++nextUniqueId$7}`;
2247
2209
  mouseLeaveSubject = new Subject();
2248
2210
  afterMouseLeave = () => this.mouseLeaveSubject.asObservable();
2249
- mouseOver = signal(false);
2250
- content = input.required();
2211
+ mouseOver = signal(false, ...(ngDevMode ? [{ debugName: "mouseOver" }] : []));
2212
+ content = input.required(...(ngDevMode ? [{ debugName: "content" }] : []));
2251
2213
  template = computed(() => {
2252
2214
  const content = this.content();
2253
2215
  return content instanceof TemplateRef ? content : null;
2254
- });
2216
+ }, ...(ngDevMode ? [{ debugName: "template" }] : []));
2255
2217
  text = computed(() => {
2256
2218
  const content = this.content();
2257
2219
  return typeof content === 'string' ? content : null;
2258
- });
2259
- position = input();
2260
- offset = input(0);
2220
+ }, ...(ngDevMode ? [{ debugName: "text" }] : []));
2221
+ position = input(...(ngDevMode ? [undefined, { debugName: "position" }] : []));
2222
+ offset = input(0, ...(ngDevMode ? [{ debugName: "offset" }] : []));
2261
2223
  hideTriggered = output();
2262
2224
  triggerHide = () => this.hideTriggered.emit();
2263
2225
  inlineStyle = computed(() => {
@@ -2265,10 +2227,10 @@ class GaTooltipComponent {
2265
2227
  return '';
2266
2228
  }
2267
2229
  return `--ga-tooltip-offset: ${this.offset()}px;`;
2268
- });
2230
+ }, ...(ngDevMode ? [{ debugName: "inlineStyle" }] : []));
2269
2231
  cssClass = computed(() => {
2270
2232
  return ['ga-tooltip', `ga-tooltip--${this.position()}`].join(' ');
2271
- });
2233
+ }, ...(ngDevMode ? [{ debugName: "cssClass" }] : []));
2272
2234
  handleMouseEnter() {
2273
2235
  this.mouseOver.set(true);
2274
2236
  }
@@ -2276,15 +2238,15 @@ class GaTooltipComponent {
2276
2238
  this.mouseOver.set(false);
2277
2239
  this.mouseLeaveSubject.next();
2278
2240
  }
2279
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2280
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaTooltipComponent, isStandalone: true, selector: "ga-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hideTriggered: "hideTriggered" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.style": "inlineStyle()" } }, ngImport: i0, template: "<div role=\"tooltip\" [attr.id]=\"uniqueId\" [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2241
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2242
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaTooltipComponent, isStandalone: true, selector: "ga-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hideTriggered: "hideTriggered" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.style": "inlineStyle()" } }, ngImport: i0, template: "<div role=\"tooltip\" [attr.id]=\"uniqueId\" [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2281
2243
  }
2282
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipComponent, decorators: [{
2244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipComponent, decorators: [{
2283
2245
  type: Component,
2284
2246
  args: [{ selector: 'ga-tooltip', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
2285
2247
  '[attr.style]': 'inlineStyle()',
2286
2248
  }, template: "<div role=\"tooltip\" [attr.id]=\"uniqueId\" [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"] }]
2287
- }], propDecorators: { handleMouseEnter: [{
2249
+ }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], hideTriggered: [{ type: i0.Output, args: ["hideTriggered"] }], handleMouseEnter: [{
2288
2250
  type: HostListener,
2289
2251
  args: ['mouseenter']
2290
2252
  }], handleMouseLeave: [{
@@ -2313,6 +2275,7 @@ class GaTooltipDirective {
2313
2275
  mouseOver = false;
2314
2276
  _showControlMode = null;
2315
2277
  _hideControlMode = null;
2278
+ showTimeoutId = null;
2316
2279
  set content(value) {
2317
2280
  if (value === this._content) {
2318
2281
  return;
@@ -2361,6 +2324,8 @@ class GaTooltipDirective {
2361
2324
  get offset() {
2362
2325
  return this._offset;
2363
2326
  }
2327
+ showDelay = input(0, { ...(ngDevMode ? { debugName: "showDelay" } : {}), alias: 'gaTooltipShowDelay',
2328
+ transform: numberAttribute });
2364
2329
  set placement(value) {
2365
2330
  if (this._placement === value) {
2366
2331
  return;
@@ -2375,6 +2340,7 @@ class GaTooltipDirective {
2375
2340
  return this.tooltipInstance?.uniqueId ?? null;
2376
2341
  }
2377
2342
  ngOnDestroy() {
2343
+ this.clearShowTimeout();
2378
2344
  this.destroyed$.next();
2379
2345
  this.destroyed$.complete();
2380
2346
  this.overlayRef?.detach();
@@ -2448,9 +2414,16 @@ class GaTooltipDirective {
2448
2414
  return;
2449
2415
  }
2450
2416
  this.mouseOver = true;
2451
- this.show();
2417
+ this.clearShowTimeout();
2418
+ if (this.showDelay() > 0) {
2419
+ this.showTimeoutId = setTimeout(() => this.show(), this.showDelay());
2420
+ }
2421
+ else {
2422
+ this.show();
2423
+ }
2452
2424
  }
2453
2425
  handleMouseLeave() {
2426
+ this.clearShowTimeout();
2454
2427
  if (this.hideControlMode !== 'hover' || this.disabled) {
2455
2428
  return;
2456
2429
  }
@@ -2465,6 +2438,12 @@ class GaTooltipDirective {
2465
2438
  this.hide();
2466
2439
  }
2467
2440
  }
2441
+ clearShowTimeout() {
2442
+ if (this.showTimeoutId !== null) {
2443
+ clearTimeout(this.showTimeoutId);
2444
+ this.showTimeoutId = null;
2445
+ }
2446
+ }
2468
2447
  createOverlay() {
2469
2448
  if (this.overlayRef) {
2470
2449
  return this.overlayRef;
@@ -2573,10 +2552,10 @@ class GaTooltipDirective {
2573
2552
  return [bottom, top, right, left];
2574
2553
  }
2575
2554
  }
2576
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2577
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.0.4", type: GaTooltipDirective, isStandalone: true, selector: "[gaTooltip]", inputs: { content: ["gaTooltip", "content"], disabled: ["gaTooltipDisabled", "disabled", booleanAttribute], controlMode: ["gaTooltipControlMode", "controlMode"], showControlMode: ["gaTooltipShowControlMode", "showControlMode"], hideControlMode: ["gaTooltipHideControlMode", "hideControlMode"], offset: ["gaTooltipOffsetSize", "offset", numberAttribute], placement: ["gaTooltipPlacement", "placement"] }, host: { listeners: { "click": "handleMouseClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["gaTooltip"], ngImport: i0 });
2555
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2556
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaTooltipDirective, isStandalone: true, selector: "[gaTooltip]", inputs: { content: { classPropertyName: "content", publicName: "gaTooltip", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "gaTooltipDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, controlMode: { classPropertyName: "controlMode", publicName: "gaTooltipControlMode", isSignal: false, isRequired: false, transformFunction: null }, showControlMode: { classPropertyName: "showControlMode", publicName: "gaTooltipShowControlMode", isSignal: false, isRequired: false, transformFunction: null }, hideControlMode: { classPropertyName: "hideControlMode", publicName: "gaTooltipHideControlMode", isSignal: false, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "gaTooltipOffsetSize", isSignal: false, isRequired: false, transformFunction: numberAttribute }, showDelay: { classPropertyName: "showDelay", publicName: "gaTooltipShowDelay", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "gaTooltipPlacement", isSignal: false, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "handleMouseClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["gaTooltip"], ngImport: i0 });
2578
2557
  }
2579
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipDirective, decorators: [{
2558
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipDirective, decorators: [{
2580
2559
  type: Directive,
2581
2560
  args: [{
2582
2561
  selector: '[gaTooltip]',
@@ -2600,7 +2579,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2600
2579
  }], offset: [{
2601
2580
  type: Input,
2602
2581
  args: [{ alias: 'gaTooltipOffsetSize', transform: numberAttribute }]
2603
- }], placement: [{
2582
+ }], showDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaTooltipShowDelay", required: false }] }], placement: [{
2604
2583
  type: Input,
2605
2584
  args: [{ alias: 'gaTooltipPlacement' }]
2606
2585
  }], ariaDescribedBy: [{
@@ -2618,11 +2597,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2618
2597
  }] } });
2619
2598
 
2620
2599
  class GaTooltipModule {
2621
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2622
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipModule, imports: [GaTooltipDirective], exports: [GaTooltipDirective] });
2623
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipModule });
2600
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2601
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipModule, imports: [GaTooltipDirective], exports: [GaTooltipDirective] });
2602
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipModule });
2624
2603
  }
2625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTooltipModule, decorators: [{
2604
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTooltipModule, decorators: [{
2626
2605
  type: NgModule,
2627
2606
  args: [{
2628
2607
  imports: [GaTooltipDirective],
@@ -2637,16 +2616,16 @@ class GaFieldLabelComponent {
2637
2616
  optional: true,
2638
2617
  });
2639
2618
  uniqueId = this.formField.uniqueId + '-label';
2640
- for = input();
2641
- definition = input(null);
2642
- state = input();
2643
- idInput = input(undefined, { alias: 'id' });
2619
+ for = input(...(ngDevMode ? [undefined, { debugName: "for" }] : []));
2620
+ definition = input(null, ...(ngDevMode ? [{ debugName: "definition" }] : []));
2621
+ state = input(...(ngDevMode ? [undefined, { debugName: "state" }] : []));
2622
+ idInput = input(undefined, { ...(ngDevMode ? { debugName: "idInput" } : {}), alias: 'id' });
2644
2623
  id = computed(() => {
2645
2624
  return this.idInput() ?? this.uniqueId;
2646
- });
2625
+ }, ...(ngDevMode ? [{ debugName: "id" }] : []));
2647
2626
  controlId = computed(() => {
2648
2627
  return this.for() ?? this.formFieldConnector?.controlId();
2649
- });
2628
+ }, ...(ngDevMode ? [{ debugName: "controlId" }] : []));
2650
2629
  controlElement = computed(() => {
2651
2630
  const controlId = this.controlId();
2652
2631
  if (!controlId) {
@@ -2657,7 +2636,7 @@ class GaFieldLabelComponent {
2657
2636
  return control;
2658
2637
  }
2659
2638
  return null;
2660
- });
2639
+ }, ...(ngDevMode ? [{ debugName: "controlElement" }] : []));
2661
2640
  constructor() {
2662
2641
  const formFieldConnector = this.formFieldConnector;
2663
2642
  if (formFieldConnector) {
@@ -2672,31 +2651,29 @@ class GaFieldLabelComponent {
2672
2651
  control.focus();
2673
2652
  }
2674
2653
  }
2675
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2676
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaFieldLabelComponent, isStandalone: true, selector: "ga-label", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, definition: { classPropertyName: "definition", publicName: "definition", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "null" } }, ngImport: i0, template: "<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n<label\n [attr.id]=\"id()\"\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"formField.disabled()\"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n", dependencies: [{ kind: "ngmodule", type: GaTooltipModule }, { kind: "directive", type: GaTooltipDirective, selector: "[gaTooltip]", inputs: ["gaTooltip", "gaTooltipDisabled", "gaTooltipControlMode", "gaTooltipShowControlMode", "gaTooltipHideControlMode", "gaTooltipOffsetSize", "gaTooltipPlacement"], exportAs: ["gaTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2654
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2655
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaFieldLabelComponent, isStandalone: true, selector: "ga-label", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, definition: { classPropertyName: "definition", publicName: "definition", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "null" } }, ngImport: i0, template: "<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n<label\n [attr.id]=\"id()\"\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"formField.disabled()\"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n", dependencies: [{ kind: "ngmodule", type: GaTooltipModule }, { kind: "directive", type: GaTooltipDirective, selector: "[gaTooltip]", inputs: ["gaTooltip", "gaTooltipDisabled", "gaTooltipControlMode", "gaTooltipShowControlMode", "gaTooltipHideControlMode", "gaTooltipOffsetSize", "gaTooltipShowDelay", "gaTooltipPlacement"], exportAs: ["gaTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2677
2656
  }
2678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldLabelComponent, decorators: [{
2657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFieldLabelComponent, decorators: [{
2679
2658
  type: Component,
2680
2659
  args: [{ selector: 'ga-label', imports: [GaTooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
2681
2660
  '[attr.id]': 'null',
2682
2661
  }, template: "<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n<label\n [attr.id]=\"id()\"\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"formField.disabled()\"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n" }]
2683
- }], ctorParameters: () => [] });
2662
+ }], ctorParameters: () => [], propDecorators: { for: [{ type: i0.Input, args: [{ isSignal: true, alias: "for", required: false }] }], definition: [{ type: i0.Input, args: [{ isSignal: true, alias: "definition", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
2684
2663
 
2685
2664
  class GaFormControlDirective {
2686
2665
  formFieldId = inject(GA_FORM_FIELD_ID, { optional: true });
2687
2666
  formFieldConnector = inject(GaFormFieldConnector, {
2688
2667
  optional: true,
2689
2668
  });
2690
- ngControlInput = input(undefined, {
2691
- alias: 'gaFormControl',
2692
- });
2669
+ ngControlInput = input(undefined, { ...(ngDevMode ? { debugName: "ngControlInput" } : {}), alias: 'gaFormControl' });
2693
2670
  explicitNgControl = computed(() => {
2694
2671
  const ngControl = this.ngControlInput();
2695
2672
  if (ngControl instanceof NgControl) {
2696
2673
  return ngControl;
2697
2674
  }
2698
2675
  return null;
2699
- });
2676
+ }, ...(ngDevMode ? [{ debugName: "explicitNgControl" }] : []));
2700
2677
  ngControlState = injectNgControlState({
2701
2678
  explicitNgControl: this.explicitNgControl,
2702
2679
  });
@@ -2707,17 +2684,17 @@ class GaFormControlDirective {
2707
2684
  return null;
2708
2685
  }
2709
2686
  return `${this.formFieldId}-callout`;
2710
- });
2687
+ }, ...(ngDevMode ? [{ debugName: "ariaErrorMessageId" }] : []));
2711
2688
  ngOnInit() {
2712
2689
  this.formFieldConnector?.control.set(this);
2713
2690
  }
2714
2691
  ngOnDestroy() {
2715
2692
  this.formFieldConnector?.control.set(null);
2716
2693
  }
2717
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2718
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaFormControlDirective, isStandalone: true, selector: "[gaFormControl]", inputs: { ngControlInput: { classPropertyName: "ngControlInput", publicName: "gaFormControl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-invalid": "inError() ? \"true\" : null", "attr.aria-errormessage": "ariaErrorMessageId()" } }, exportAs: ["gaFormControl"], ngImport: i0 });
2694
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2695
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaFormControlDirective, isStandalone: true, selector: "[gaFormControl]", inputs: { ngControlInput: { classPropertyName: "ngControlInput", publicName: "gaFormControl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-invalid": "inError() ? \"true\" : null", "attr.aria-errormessage": "ariaErrorMessageId()" } }, exportAs: ["gaFormControl"], ngImport: i0 });
2719
2696
  }
2720
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlDirective, decorators: [{
2697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormControlDirective, decorators: [{
2721
2698
  type: Directive,
2722
2699
  args: [{
2723
2700
  exportAs: 'gaFormControl',
@@ -2727,22 +2704,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2727
2704
  '[attr.aria-errormessage]': 'ariaErrorMessageId()',
2728
2705
  },
2729
2706
  }]
2730
- }] });
2707
+ }], propDecorators: { ngControlInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaFormControl", required: false }] }] } });
2731
2708
 
2732
2709
  class GaLabelledByFormFieldDirective {
2733
2710
  formFieldConnector = inject(GaFormFieldConnector, {
2734
2711
  optional: true,
2735
2712
  });
2736
- ariaLabelledBy = input(null, {
2737
- alias: 'aria-labelledby',
2738
- });
2713
+ ariaLabelledBy = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledBy" } : {}), alias: 'aria-labelledby' });
2739
2714
  labelledBy = computed(() => {
2740
2715
  return this.ariaLabelledBy() ?? this.formFieldConnector?.labelId();
2741
- });
2742
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLabelledByFormFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2743
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaLabelledByFormFieldDirective, isStandalone: true, selector: "[gaLabelledByFormField]", inputs: { ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-labelledby": "labelledBy()" } }, ngImport: i0 });
2716
+ }, ...(ngDevMode ? [{ debugName: "labelledBy" }] : []));
2717
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLabelledByFormFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2718
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaLabelledByFormFieldDirective, isStandalone: true, selector: "[gaLabelledByFormField]", inputs: { ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-labelledby": "labelledBy()" } }, ngImport: i0 });
2744
2719
  }
2745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLabelledByFormFieldDirective, decorators: [{
2720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLabelledByFormFieldDirective, decorators: [{
2746
2721
  type: Directive,
2747
2722
  args: [{
2748
2723
  selector: '[gaLabelledByFormField]',
@@ -2750,11 +2725,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2750
2725
  '[attr.aria-labelledby]': 'labelledBy()',
2751
2726
  },
2752
2727
  }]
2753
- }] });
2728
+ }], propDecorators: { ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }] } });
2754
2729
 
2755
2730
  class GaFormFieldModule {
2756
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2757
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent,
2731
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2732
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent,
2758
2733
  GaFieldLabelComponent,
2759
2734
  GaFieldInfoComponent,
2760
2735
  GaFieldErrorDirective,
@@ -2765,9 +2740,9 @@ class GaFormFieldModule {
2765
2740
  GaFieldErrorDirective,
2766
2741
  GaFormControlErrorsDirective,
2767
2742
  GaFormControlDirective] });
2768
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent] });
2743
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent] });
2769
2744
  }
2770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldModule, decorators: [{
2745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaFormFieldModule, decorators: [{
2771
2746
  type: NgModule,
2772
2747
  args: [{
2773
2748
  imports: [
@@ -2790,10 +2765,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2790
2765
  }] });
2791
2766
 
2792
2767
  class GaMenuComponent {
2793
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2794
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaMenuComponent, isStandalone: true, selector: "ga-menu", host: { classAttribute: "ga-menu" }, hostDirectives: [{ directive: i1$2.CdkMenu }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{margin-top:calc(var(--ga-size-spacing-03) * var(--ga-base-scaling-factor, 1));margin-bottom:calc(var(--ga-size-spacing-03) * var(--ga-base-scaling-factor, 1))}\n"] });
2768
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2769
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaMenuComponent, isStandalone: true, selector: "ga-menu", host: { classAttribute: "ga-menu" }, hostDirectives: [{ directive: i1$2.CdkMenu }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{margin-top:calc(var(--ga-size-spacing-03) * var(--ga-base-scaling-factor, 1));margin-bottom:calc(var(--ga-size-spacing-03) * var(--ga-base-scaling-factor, 1))}\n"] });
2795
2770
  }
2796
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuComponent, decorators: [{
2771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuComponent, decorators: [{
2797
2772
  type: Component,
2798
2773
  args: [{ selector: 'ga-menu', template: `<ng-content />`, hostDirectives: [CdkMenu], host: {
2799
2774
  class: 'ga-menu',
@@ -2801,26 +2776,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2801
2776
  }] });
2802
2777
 
2803
2778
  class GaMenuItemComponent {
2804
- icon = input(undefined, {
2805
- alias: 'gaMenuItemIcon',
2806
- });
2807
- description = input('', { alias: 'gaMenuItemDescription' });
2808
- shortcut = input('', { alias: 'gaMenuItemShortcut' });
2809
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2810
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaMenuItemComponent, isStandalone: true, selector: "[gaMenuItem]", inputs: { icon: { classPropertyName: "icon", publicName: "gaMenuItemIcon", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "gaMenuItemDescription", isSignal: true, isRequired: false, transformFunction: null }, shortcut: { classPropertyName: "shortcut", publicName: "gaMenuItemShortcut", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-menu__item" }, hostDirectives: [{ directive: i1$2.CdkMenuItem }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-menu__item-icon\" size=\"16\" />\n}\n<div class=\"ga-menu__item-content\">\n <div class=\"ga-menu__item-title\">\n <div class=\"ga-menu__item-label\"><ng-content /></div>\n @if (shortcut()) {\n <span class=\"ga-menu__item-shortcut\">{{ shortcut() }}</span>\n }\n </div>\n @if (description()) {\n <div class=\"ga-menu__item-description\">{{ description() }}</div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
2779
+ icon = input(undefined, { ...(ngDevMode ? { debugName: "icon" } : {}), alias: 'gaMenuItemIcon' });
2780
+ description = input('', { ...(ngDevMode ? { debugName: "description" } : {}), alias: 'gaMenuItemDescription' });
2781
+ shortcut = input('', { ...(ngDevMode ? { debugName: "shortcut" } : {}), alias: 'gaMenuItemShortcut' });
2782
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2783
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaMenuItemComponent, isStandalone: true, selector: "[gaMenuItem]", inputs: { icon: { classPropertyName: "icon", publicName: "gaMenuItemIcon", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "gaMenuItemDescription", isSignal: true, isRequired: false, transformFunction: null }, shortcut: { classPropertyName: "shortcut", publicName: "gaMenuItemShortcut", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-menu__item" }, hostDirectives: [{ directive: i1$2.CdkMenuItem }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-menu__item-icon\" size=\"16\" />\n}\n<div class=\"ga-menu__item-content\">\n <div class=\"ga-menu__item-title\">\n <div class=\"ga-menu__item-label\"><ng-content /></div>\n @if (shortcut()) {\n <span class=\"ga-menu__item-shortcut\">{{ shortcut() }}</span>\n }\n </div>\n @if (description()) {\n <div class=\"ga-menu__item-description\">{{ description() }}</div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
2811
2784
  }
2812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuItemComponent, decorators: [{
2785
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuItemComponent, decorators: [{
2813
2786
  type: Component,
2814
2787
  args: [{ selector: '[gaMenuItem]', imports: [GaIconModule], hostDirectives: [CdkMenuItem], host: {
2815
2788
  class: 'ga-menu__item',
2816
2789
  }, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-menu__item-icon\" size=\"16\" />\n}\n<div class=\"ga-menu__item-content\">\n <div class=\"ga-menu__item-title\">\n <div class=\"ga-menu__item-label\"><ng-content /></div>\n @if (shortcut()) {\n <span class=\"ga-menu__item-shortcut\">{{ shortcut() }}</span>\n }\n </div>\n @if (description()) {\n <div class=\"ga-menu__item-description\">{{ description() }}</div>\n }\n</div>\n" }]
2817
- }] });
2790
+ }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaMenuItemIcon", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaMenuItemDescription", required: false }] }], shortcut: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaMenuItemShortcut", required: false }] }] } });
2818
2791
 
2819
2792
  class GaMenuTitleComponent {
2820
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2821
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaMenuTitleComponent, isStandalone: true, selector: "ga-menu-title", host: { classAttribute: "ga-menu__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
2793
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2794
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaMenuTitleComponent, isStandalone: true, selector: "ga-menu-title", host: { classAttribute: "ga-menu__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
2822
2795
  }
2823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTitleComponent, decorators: [{
2796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTitleComponent, decorators: [{
2824
2797
  type: Component,
2825
2798
  args: [{
2826
2799
  selector: 'ga-menu-title',
@@ -2833,17 +2806,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2833
2806
 
2834
2807
  class GaMenuTriggerDirective {
2835
2808
  cdkMenuTrigger = inject(CdkMenuTrigger);
2836
- menuRef = input.required({
2837
- alias: 'gaMenuTrigger',
2838
- });
2809
+ menuRef = input.required({ ...(ngDevMode ? { debugName: "menuRef" } : {}), alias: 'gaMenuTrigger' });
2839
2810
  isOpen = toSignal(merge(this.cdkMenuTrigger.opened.pipe(map(() => true)), this.cdkMenuTrigger.closed.pipe(map(() => false))), { initialValue: this.cdkMenuTrigger.isOpen() });
2840
2811
  constructor() {
2841
2812
  effect(() => {
2842
2813
  this.cdkMenuTrigger.menuTemplateRef = this.menuRef();
2843
2814
  });
2844
2815
  }
2845
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2846
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
2816
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2817
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, providers: [
2847
2818
  {
2848
2819
  provide: MENU_SCROLL_STRATEGY,
2849
2820
  useFactory: () => {
@@ -2853,7 +2824,7 @@ class GaMenuTriggerDirective {
2853
2824
  },
2854
2825
  ], exportAs: ["gaMenuTrigger"], hostDirectives: [{ directive: i1$2.CdkMenuTrigger, outputs: ["cdkMenuOpened", "gaMenuOpened", "cdkMenuClosed", "gaMenuClosed"] }], ngImport: i0 });
2855
2826
  }
2856
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTriggerDirective, decorators: [{
2827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTriggerDirective, decorators: [{
2857
2828
  type: Directive,
2858
2829
  args: [{
2859
2830
  selector: '[gaMenuTrigger]',
@@ -2875,13 +2846,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2875
2846
  },
2876
2847
  ],
2877
2848
  }]
2878
- }], ctorParameters: () => [] });
2849
+ }], ctorParameters: () => [], propDecorators: { menuRef: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaMenuTrigger", required: true }] }] } });
2879
2850
 
2880
2851
  class GaMenuSeparatorComponent {
2881
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2882
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaMenuSeparatorComponent, isStandalone: true, selector: "ga-menu-separator", host: { classAttribute: "ga-menu__separator" }, ngImport: i0, template: `<ng-content />`, isInline: true });
2852
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2853
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaMenuSeparatorComponent, isStandalone: true, selector: "ga-menu-separator", host: { classAttribute: "ga-menu__separator" }, ngImport: i0, template: `<ng-content />`, isInline: true });
2883
2854
  }
2884
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuSeparatorComponent, decorators: [{
2855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuSeparatorComponent, decorators: [{
2885
2856
  type: Component,
2886
2857
  args: [{
2887
2858
  selector: 'ga-menu-separator',
@@ -2896,11 +2867,11 @@ class GaMenuTriggerIconComponent {
2896
2867
  menuTrigger = inject(GaMenuTriggerDirective);
2897
2868
  icon = computed(() => {
2898
2869
  return this.menuTrigger.isOpen() ? ChevronUp : ChevronDown;
2899
- });
2900
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTriggerIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2901
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaMenuTriggerIconComponent, isStandalone: true, selector: "ga-menu-trigger-icon", ngImport: i0, template: `<ga-icon [icon]="icon()" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
2870
+ }, ...(ngDevMode ? [{ debugName: "icon" }] : []));
2871
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTriggerIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2872
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaMenuTriggerIconComponent, isStandalone: true, selector: "ga-menu-trigger-icon", ngImport: i0, template: `<ga-icon [icon]="icon()" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
2902
2873
  }
2903
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuTriggerIconComponent, decorators: [{
2874
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuTriggerIconComponent, decorators: [{
2904
2875
  type: Component,
2905
2876
  args: [{
2906
2877
  selector: 'ga-menu-trigger-icon',
@@ -2910,8 +2881,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
2910
2881
  }] });
2911
2882
 
2912
2883
  class GaMenuModule {
2913
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2914
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaMenuModule, imports: [GaMenuComponent,
2884
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2885
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaMenuModule, imports: [GaMenuComponent,
2915
2886
  GaMenuItemComponent,
2916
2887
  GaMenuTriggerDirective,
2917
2888
  GaMenuSeparatorComponent,
@@ -2922,10 +2893,10 @@ class GaMenuModule {
2922
2893
  GaMenuSeparatorComponent,
2923
2894
  GaMenuTitleComponent,
2924
2895
  GaMenuTriggerIconComponent] });
2925
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuModule, imports: [GaMenuItemComponent,
2896
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuModule, imports: [GaMenuItemComponent,
2926
2897
  GaMenuTriggerIconComponent] });
2927
2898
  }
2928
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaMenuModule, decorators: [{
2899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaMenuModule, decorators: [{
2929
2900
  type: NgModule,
2930
2901
  args: [{
2931
2902
  imports: [
@@ -3026,7 +2997,7 @@ class GaModalService {
3026
2997
  skipSelf: true,
3027
2998
  });
3028
2999
  /** @ignore */
3029
- openModalsAtThisLevel = signal([]);
3000
+ openModalsAtThisLevel = signal([], ...(ngDevMode ? [{ debugName: "openModalsAtThisLevel" }] : []));
3030
3001
  /** @ignore */
3031
3002
  positionStrategy;
3032
3003
  get activeModals() {
@@ -3092,6 +3063,10 @@ class GaModalService {
3092
3063
  positionStrategy: this.positionStrategy,
3093
3064
  scrollStrategy,
3094
3065
  hasBackdrop: true,
3066
+ // TODO: reevaluate this option later in the future, currently it's limited by:
3067
+ // - poor ecosystem support (i.e. Playwright cannot mask elements inside Top layer)
3068
+ // - poor compatibility with other overlay components that don't use Top layer yet
3069
+ usePopover: false,
3095
3070
  backdropClass: 'ga-modal__backdrop',
3096
3071
  // NOTE: handled manually inside the modal component
3097
3072
  disposeOnNavigation: false,
@@ -3110,72 +3085,72 @@ class GaModalService {
3110
3085
  ],
3111
3086
  });
3112
3087
  }
3113
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3114
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalService, providedIn: 'root' });
3088
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3089
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalService, providedIn: 'root' });
3115
3090
  }
3116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalService, decorators: [{
3091
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalService, decorators: [{
3117
3092
  type: Injectable,
3118
3093
  args: [{ providedIn: 'root' }]
3119
3094
  }] });
3120
3095
 
3121
3096
  class GaModalComponent {
3122
- closeSubject = new Subject();
3123
- overlayRef = inject(OverlayRef);
3124
- destroyRef = inject(DestroyRef);
3125
- router = inject(Router, { optional: true });
3126
- globalOptions = inject(GaModalOptions, { optional: true });
3097
+ #closeSubject = new Subject();
3098
+ #overlayRef = inject(OverlayRef);
3099
+ #destroyRef = inject(DestroyRef);
3100
+ #router = inject(Router, { optional: true });
3101
+ #globalOptions = inject(GaModalOptions, { optional: true });
3127
3102
  options = this.createOptions();
3128
- trapfocus = inject(CdkTrapFocus);
3103
+ #trapfocus = inject(CdkTrapFocus);
3129
3104
  data = inject(GA_MODAL_DATA);
3130
- labelledBy = signal(null);
3131
- describedBy = signal(null);
3105
+ labelledBy = signal(null, ...(ngDevMode ? [{ debugName: "labelledBy" }] : []));
3106
+ describedBy = signal(null, ...(ngDevMode ? [{ debugName: "describedBy" }] : []));
3132
3107
  constructor() {
3133
- this.trapfocus.enabled = true;
3134
- this.trapfocus.autoCapture = true;
3108
+ this.#trapfocus.enabled = true;
3109
+ this.#trapfocus.autoCapture = true;
3135
3110
  // Using next render to delay the initialization, so that there is more time
3136
3111
  // to set the modal options
3137
3112
  afterNextRender({
3138
3113
  read: () => {
3139
3114
  if (this.options.closeOnNavigation) {
3140
- this.router?.events
3115
+ this.#router?.events
3141
3116
  .pipe(
3142
3117
  /**
3143
3118
  * Listen for `ResolveStart` to be friendly with route-guards.
3144
3119
  * i.e. don't close the modal in case a guard prevents the route change,
3145
3120
  * beneficial for pending changes check.
3146
3121
  */
3147
- filter((event) => event instanceof ResolveStart), takeUntilDestroyed(this.destroyRef))
3122
+ filter((event) => event instanceof ResolveStart), takeUntilDestroyed(this.#destroyRef))
3148
3123
  .subscribe(() => this.close());
3149
3124
  }
3150
3125
  if (this.options.closeOnEscape) {
3151
- this.overlayRef
3126
+ this.#overlayRef
3152
3127
  .keydownEvents()
3153
- .pipe(filter((event) => event.key === 'Escape' && !hasModifierKey(event)), takeUntilDestroyed(this.destroyRef))
3128
+ .pipe(filter((event) => event.key === 'Escape' && !hasModifierKey(event)), takeUntilDestroyed(this.#destroyRef))
3154
3129
  .subscribe((event) => {
3155
3130
  event.preventDefault();
3156
- this.softClose();
3131
+ this.#softClose();
3157
3132
  });
3158
3133
  }
3159
3134
  if (this.options.closeOnOutsideClick) {
3160
- this.overlayRef
3135
+ this.#overlayRef
3161
3136
  .backdropClick()
3162
- .pipe(takeUntilDestroyed(this.destroyRef))
3163
- .subscribe(() => this.softClose());
3137
+ .pipe(takeUntilDestroyed(this.#destroyRef))
3138
+ .subscribe(() => this.#softClose());
3164
3139
  }
3165
3140
  },
3166
3141
  });
3167
3142
  }
3168
3143
  close(result) {
3169
- if (!this.overlayRef.hasAttached()) {
3144
+ if (!this.#overlayRef.hasAttached()) {
3170
3145
  return;
3171
3146
  }
3172
- this.overlayRef.dispose();
3173
- this.closeSubject.next(result);
3174
- this.closeSubject.complete();
3147
+ this.#overlayRef.dispose();
3148
+ this.#closeSubject.next(result);
3149
+ this.#closeSubject.complete();
3175
3150
  }
3176
3151
  afterClosed({ closeOnUnsubscribe } = { closeOnUnsubscribe: true }) {
3177
3152
  return new Observable((observer) => {
3178
- this.closeSubject.subscribe(observer);
3153
+ this.#closeSubject.subscribe(observer);
3179
3154
  return () => closeOnUnsubscribe && this.close();
3180
3155
  });
3181
3156
  }
@@ -3187,28 +3162,28 @@ class GaModalComponent {
3187
3162
  onSoftClose() {
3188
3163
  return true;
3189
3164
  }
3190
- softClose() {
3165
+ #softClose() {
3191
3166
  const shouldClose = this.onSoftClose();
3192
3167
  if (typeof shouldClose === 'boolean' && shouldClose) {
3193
3168
  this.close();
3194
3169
  }
3195
3170
  if (isObservable(shouldClose)) {
3196
3171
  shouldClose
3197
- .pipe(takeUntilDestroyed(this.destroyRef))
3172
+ .pipe(takeUntilDestroyed(this.#destroyRef))
3198
3173
  .subscribe((result) => result && this.close());
3199
3174
  }
3200
3175
  }
3201
3176
  createOptions(options) {
3202
3177
  return {
3203
3178
  ...DEFAULT_MODAL_OPTIONS,
3204
- ...this.globalOptions,
3179
+ ...this.#globalOptions,
3205
3180
  ...options,
3206
3181
  };
3207
3182
  }
3208
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3209
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaModalComponent, isStandalone: true, selector: "ng-component", host: { properties: { "attr.role": "options.role", "attr.aria-labelledby": "options.labelledBy ?? labelledBy()", "attr.aria-describedby": "options.describedBy ?? describedBy()", "class.ga-modal--small": "options.size === 'sm'", "class.ga-modal--medium": "options.size === 'md'", "class.ga-modal--large": "options.size === 'lg'", "class.ga-modal--information": "options.type === 'info'", "class.ga-modal--danger": "options.type === 'danger'", "class.ga-modal--warning": "options.type === 'warning'", "class.ga-modal--success": "options.type === 'success'" }, classAttribute: "ga-modal" }, hostDirectives: [{ directive: i1$3.CdkTrapFocus }], ngImport: i0, template: '', isInline: true });
3183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3184
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaModalComponent, isStandalone: true, selector: "ng-component", host: { properties: { "attr.role": "options.role", "attr.aria-labelledby": "options.labelledBy ?? labelledBy()", "attr.aria-describedby": "options.describedBy ?? describedBy()", "class.ga-modal--small": "options.size === 'sm'", "class.ga-modal--medium": "options.size === 'md'", "class.ga-modal--large": "options.size === 'lg'", "class.ga-modal--information": "options.type === 'info'", "class.ga-modal--danger": "options.type === 'danger'", "class.ga-modal--warning": "options.type === 'warning'", "class.ga-modal--success": "options.type === 'success'" }, classAttribute: "ga-modal" }, hostDirectives: [{ directive: i1$3.CdkTrapFocus }], ngImport: i0, template: '', isInline: true });
3210
3185
  }
3211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalComponent, decorators: [{
3186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalComponent, decorators: [{
3212
3187
  type: Component,
3213
3188
  args: [{
3214
3189
  template: '',
@@ -3231,19 +3206,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3231
3206
 
3232
3207
  class GaModalCloseDirective {
3233
3208
  modalRef = inject(GaModalRef);
3234
- modalResult = input({ alias: 'gaModalClose' });
3209
+ modalResult = input({ alias: 'gaModalClose' }, ...(ngDevMode ? [{ debugName: "modalResult" }] : []));
3235
3210
  onClick() {
3236
3211
  this.modalRef.instance.close(this.modalResult);
3237
3212
  }
3238
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3239
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaModalCloseDirective, isStandalone: true, selector: "[gaModalClose]", inputs: { modalResult: { classPropertyName: "modalResult", publicName: "modalResult", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
3213
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3214
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaModalCloseDirective, isStandalone: true, selector: "[gaModalClose]", inputs: { modalResult: { classPropertyName: "modalResult", publicName: "modalResult", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
3240
3215
  }
3241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalCloseDirective, decorators: [{
3216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalCloseDirective, decorators: [{
3242
3217
  type: Directive,
3243
3218
  args: [{
3244
3219
  selector: '[gaModalClose]',
3245
3220
  }]
3246
- }], propDecorators: { onClick: [{
3221
+ }], propDecorators: { modalResult: [{ type: i0.Input, args: [{ isSignal: true, alias: "modalResult", required: false }] }], onClick: [{
3247
3222
  type: HostListener,
3248
3223
  args: ['click']
3249
3224
  }] } });
@@ -3268,10 +3243,10 @@ class GaModalTitleDirective {
3268
3243
  ngAfterViewInit() {
3269
3244
  this.modalRef.instance.labelledBy.set(this.id);
3270
3245
  }
3271
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3272
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaModalTitleDirective, isStandalone: true, selector: "[gaModalTitle]", host: { classAttribute: "ga-modal__title" }, ngImport: i0 });
3246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3247
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaModalTitleDirective, isStandalone: true, selector: "[gaModalTitle]", host: { classAttribute: "ga-modal__title" }, ngImport: i0 });
3273
3248
  }
3274
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalTitleDirective, decorators: [{
3249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalTitleDirective, decorators: [{
3275
3250
  type: Directive,
3276
3251
  args: [{
3277
3252
  selector: '[gaModalTitle]',
@@ -3299,10 +3274,10 @@ class GaModalDescriptionDirective {
3299
3274
  ngAfterViewInit() {
3300
3275
  this.modalRef.instance.describedBy.set(this.id);
3301
3276
  }
3302
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3303
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaModalDescriptionDirective, isStandalone: true, selector: "[gaModalDescription]", host: { classAttribute: "ga-modal__description" }, ngImport: i0 });
3277
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalDescriptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3278
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaModalDescriptionDirective, isStandalone: true, selector: "[gaModalDescription]", host: { classAttribute: "ga-modal__description" }, ngImport: i0 });
3304
3279
  }
3305
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalDescriptionDirective, decorators: [{
3280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalDescriptionDirective, decorators: [{
3306
3281
  type: Directive,
3307
3282
  args: [{
3308
3283
  selector: '[gaModalDescription]',
@@ -3326,10 +3301,10 @@ class GaModalLabelDirective {
3326
3301
  this.renderer.setAttribute(this.elementRef.nativeElement, 'id', this.id);
3327
3302
  }
3328
3303
  }
3329
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3330
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaModalLabelDirective, isStandalone: true, selector: "[gaModalLabel]", host: { classAttribute: "ga-modal__label" }, ngImport: i0 });
3304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3305
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaModalLabelDirective, isStandalone: true, selector: "[gaModalLabel]", host: { classAttribute: "ga-modal__label" }, ngImport: i0 });
3331
3306
  }
3332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalLabelDirective, decorators: [{
3307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalLabelDirective, decorators: [{
3333
3308
  type: Directive,
3334
3309
  args: [{
3335
3310
  selector: '[gaModalLabel]',
@@ -3338,10 +3313,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3338
3313
  }], ctorParameters: () => [] });
3339
3314
 
3340
3315
  class GaModalDescriptionComponent {
3341
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3342
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaModalDescriptionComponent, isStandalone: true, selector: "ga-modal-description", host: { classAttribute: "ga-modal__description" }, hostDirectives: [{ directive: GaModalDescriptionDirective }], ngImport: i0, template: `<ng-content />`, isInline: true });
3316
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3317
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaModalDescriptionComponent, isStandalone: true, selector: "ga-modal-description", host: { classAttribute: "ga-modal__description" }, hostDirectives: [{ directive: GaModalDescriptionDirective }], ngImport: i0, template: `<ng-content />`, isInline: true });
3343
3318
  }
3344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalDescriptionComponent, decorators: [{
3319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalDescriptionComponent, decorators: [{
3345
3320
  type: Component,
3346
3321
  args: [{
3347
3322
  selector: 'ga-modal-description',
@@ -3354,10 +3329,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3354
3329
  }] });
3355
3330
 
3356
3331
  class GaModalContentComponent {
3357
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3358
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaModalContentComponent, isStandalone: true, selector: "ga-modal-content", host: { classAttribute: "ga-modal__content" }, hostDirectives: [{ directive: i1$4.CdkScrollable }], ngImport: i0, template: `<ng-content />`, isInline: true });
3332
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3333
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaModalContentComponent, isStandalone: true, selector: "ga-modal-content", host: { classAttribute: "ga-modal__content" }, hostDirectives: [{ directive: i1$4.CdkScrollable }], ngImport: i0, template: `<ng-content />`, isInline: true });
3359
3334
  }
3360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalContentComponent, decorators: [{
3335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalContentComponent, decorators: [{
3361
3336
  type: Component,
3362
3337
  args: [{
3363
3338
  selector: 'ga-modal-content',
@@ -3370,10 +3345,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3370
3345
  }] });
3371
3346
 
3372
3347
  class GaModalActionsComponent {
3373
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3374
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaModalActionsComponent, isStandalone: true, selector: "ga-modal-actions", host: { classAttribute: "ga-modal__actions" }, ngImport: i0, template: ` <ng-content />`, isInline: true });
3348
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3349
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaModalActionsComponent, isStandalone: true, selector: "ga-modal-actions", host: { classAttribute: "ga-modal__actions" }, ngImport: i0, template: ` <ng-content />`, isInline: true });
3375
3350
  }
3376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalActionsComponent, decorators: [{
3351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalActionsComponent, decorators: [{
3377
3352
  type: Component,
3378
3353
  args: [{
3379
3354
  selector: 'ga-modal-actions',
@@ -3388,10 +3363,10 @@ function GA_MODAL_I18N_FACTORY() {
3388
3363
  return new GaModalI18nDefault();
3389
3364
  }
3390
3365
  class GaModalI18n {
3391
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3392
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18n, providedIn: 'root', useFactory: GA_MODAL_I18N_FACTORY });
3366
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3367
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18n, providedIn: 'root', useFactory: GA_MODAL_I18N_FACTORY });
3393
3368
  }
3394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18n, decorators: [{
3369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18n, decorators: [{
3395
3370
  type: Injectable,
3396
3371
  args: [{
3397
3372
  providedIn: 'root',
@@ -3401,10 +3376,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3401
3376
  class GaModalI18nDefault extends GaModalI18n {
3402
3377
  /** A label for the dismiss button */
3403
3378
  dismissLabel = 'Dismiss';
3404
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
3405
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18nDefault });
3379
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
3380
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18nDefault });
3406
3381
  }
3407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalI18nDefault, decorators: [{
3382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalI18nDefault, decorators: [{
3408
3383
  type: Injectable
3409
3384
  }] });
3410
3385
  function provideGaModalI18n(value) {
@@ -3425,8 +3400,8 @@ class GaModalHeaderComponent {
3425
3400
  };
3426
3401
  modalRef = inject(GaModalRef);
3427
3402
  i18n = inject(GaModalI18n);
3428
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3429
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaModalHeaderComponent, isStandalone: true, selector: "ga-modal-header", host: { classAttribute: "ga-modal__top-section" }, ngImport: i0, template: `
3403
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3404
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaModalHeaderComponent, isStandalone: true, selector: "ga-modal-header", host: { classAttribute: "ga-modal__top-section" }, ngImport: i0, template: `
3430
3405
  @if (modalRef.instance.options.type !== 'none') {
3431
3406
  <div class="ga-modal__icon">
3432
3407
  @switch (modalRef.instance.options.type) {
@@ -3461,7 +3436,7 @@ class GaModalHeaderComponent {
3461
3436
  </button>
3462
3437
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant", "gaIconButtonLoading", "gaIconButtonLoadingLabel", "disabled"] }, { kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
3463
3438
  }
3464
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalHeaderComponent, decorators: [{
3439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalHeaderComponent, decorators: [{
3465
3440
  type: Component,
3466
3441
  args: [{
3467
3442
  selector: 'ga-modal-header',
@@ -3507,8 +3482,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3507
3482
  }] });
3508
3483
 
3509
3484
  class GaModalModule {
3510
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3511
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaModalModule, imports: [GaModalCloseDirective,
3485
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3486
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaModalModule, imports: [GaModalCloseDirective,
3512
3487
  GaModalTitleDirective,
3513
3488
  GaModalLabelDirective,
3514
3489
  GaModalDescriptionDirective,
@@ -3523,9 +3498,9 @@ class GaModalModule {
3523
3498
  GaModalContentComponent,
3524
3499
  GaModalActionsComponent,
3525
3500
  GaModalHeaderComponent] });
3526
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalModule, imports: [GaModalHeaderComponent] });
3501
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalModule, imports: [GaModalHeaderComponent] });
3527
3502
  }
3528
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaModalModule, decorators: [{
3503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaModalModule, decorators: [{
3529
3504
  type: NgModule,
3530
3505
  args: [{
3531
3506
  imports: [
@@ -3564,24 +3539,24 @@ const RADIO_CONTROL_VALUE_ACCESSOR = {
3564
3539
  let nextUniqueId$6 = 0;
3565
3540
  class GaRadioGroupComponent {
3566
3541
  /** Name of the radio button group. All radio buttons inside this group will use this name. */
3567
- name = input(`ga-radio-group-${nextUniqueId$6++}`);
3542
+ name = input(`ga-radio-group-${nextUniqueId$6++}`, ...(ngDevMode ? [{ debugName: "name" }] : []));
3568
3543
  /**
3569
3544
  * Value for the radio-group. Should equal the value of the selected radio button if there is
3570
3545
  * a corresponding radio button with a matching value. If there is not such a corresponding
3571
3546
  * radio button, this value persists to be applied in case a new radio button is added with a
3572
3547
  * matching value.
3573
3548
  */
3574
- value = input(null);
3549
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
3575
3550
  /** Whether the radio group is disabled */
3576
- disabled = input(false, { transform: booleanAttribute });
3551
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
3577
3552
  /**
3578
3553
  * Event emitted when the group value changes.
3579
3554
  * Change events are only emitted when the value changes due to user interaction with
3580
3555
  * a radio button (the same behavior as `<input type="radio">`).
3581
3556
  */
3582
3557
  change = output();
3583
- valueModel = linkedSignal(() => this.value());
3584
- disabledModel = linkedSignal(() => this.disabled());
3558
+ valueModel = linkedSignal(() => this.value(), ...(ngDevMode ? [{ debugName: "valueModel" }] : []));
3559
+ disabledModel = linkedSignal(() => this.disabled(), ...(ngDevMode ? [{ debugName: "disabledModel" }] : []));
3585
3560
  _onTouched;
3586
3561
  _onModelChanged;
3587
3562
  registerOnChange(fn) {
@@ -3611,16 +3586,16 @@ class GaRadioGroupComponent {
3611
3586
  this._onTouched();
3612
3587
  }
3613
3588
  }
3614
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3615
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaRadioGroupComponent, isStandalone: true, selector: "ga-radio-group", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, classAttribute: "ga-radio-group" }, providers: [RADIO_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
3589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3590
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaRadioGroupComponent, isStandalone: true, selector: "ga-radio-group", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, classAttribute: "ga-radio-group" }, providers: [RADIO_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
3616
3591
  }
3617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioGroupComponent, decorators: [{
3592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioGroupComponent, decorators: [{
3618
3593
  type: Component,
3619
3594
  args: [{ selector: 'ga-radio-group', providers: [RADIO_CONTROL_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, host: {
3620
3595
  role: 'radiogroup',
3621
3596
  class: 'ga-radio-group',
3622
3597
  }, template: "<ng-content></ng-content>\n" }]
3623
- }] });
3598
+ }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
3624
3599
 
3625
3600
  // Increasing integer for generating unique ids for radio button components.
3626
3601
  let nextUniqueId$5 = 0;
@@ -3634,44 +3609,34 @@ class GaRadioButtonComponent {
3634
3609
  implicitNgControlState = injectNgControlState();
3635
3610
  _uniqueId = `ga-radio-button-${++nextUniqueId$5}`;
3636
3611
  /** The value attribute of the native input element */
3637
- value = input(null);
3638
- inputId = input(null, { alias: 'id' });
3639
- inputName = input(null, { alias: 'name' });
3640
- inputChecked = input(false, {
3641
- alias: 'checked',
3642
- transform: booleanAttribute,
3643
- });
3644
- inputDisabled = input(false, {
3645
- alias: 'disabled',
3646
- transform: booleanAttribute,
3647
- });
3648
- ariaLabel = input(null, { alias: 'aria-label' });
3649
- ariaLabelledby = input(null, {
3650
- alias: 'aria-labelledby',
3651
- });
3652
- ariaDescribedby = input(null, {
3653
- alias: 'aria-describedby',
3654
- });
3655
- ariaInvalid = input(null, { alias: 'aria-invalid' });
3656
- ariaErrormessage = input(null, {
3657
- alias: 'aria-errormessage',
3658
- });
3612
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
3613
+ inputId = input(null, { ...(ngDevMode ? { debugName: "inputId" } : {}), alias: 'id' });
3614
+ inputName = input(null, { ...(ngDevMode ? { debugName: "inputName" } : {}), alias: 'name' });
3615
+ inputChecked = input(false, { ...(ngDevMode ? { debugName: "inputChecked" } : {}), alias: 'checked',
3616
+ transform: booleanAttribute });
3617
+ inputDisabled = input(false, { ...(ngDevMode ? { debugName: "inputDisabled" } : {}), alias: 'disabled',
3618
+ transform: booleanAttribute });
3619
+ ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : {}), alias: 'aria-label' });
3620
+ ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : {}), alias: 'aria-labelledby' });
3621
+ ariaDescribedby = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : {}), alias: 'aria-describedby' });
3622
+ ariaInvalid = input(null, { ...(ngDevMode ? { debugName: "ariaInvalid" } : {}), alias: 'aria-invalid' });
3623
+ ariaErrormessage = input(null, { ...(ngDevMode ? { debugName: "ariaErrormessage" } : {}), alias: 'aria-errormessage' });
3659
3624
  /**
3660
3625
  * Event emitted when the group value changes.
3661
3626
  * Change events are only emitted when the value changes due to user interaction with
3662
3627
  * a radio button (the same behavior as `<input type="radio">`).
3663
3628
  */
3664
3629
  change = output();
3665
- id = computed(() => this.inputId() ?? this._uniqueId);
3666
- name = computed(() => this.radioGroup?.name() ?? this.inputName() ?? this._uniqueId);
3667
- disabled = computed(() => this.radioGroup?.disabledModel() || this.inputDisabled());
3630
+ id = computed(() => this.inputId() ?? this._uniqueId, ...(ngDevMode ? [{ debugName: "id" }] : []));
3631
+ name = computed(() => this.radioGroup?.name() ?? this.inputName() ?? this._uniqueId, ...(ngDevMode ? [{ debugName: "name" }] : []));
3632
+ disabled = computed(() => this.radioGroup?.disabledModel() || this.inputDisabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
3668
3633
  /** @ignore */
3669
3634
  invalid = computed(() => {
3670
3635
  return this.ariaInvalid()
3671
3636
  ? this.ariaInvalid() === 'true'
3672
3637
  : this.implicitNgControlState.inError();
3673
- });
3674
- checked = computed(() => this.radioGroup?.valueModel() === this.value() || this.inputChecked());
3638
+ }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
3639
+ checked = computed(() => this.radioGroup?.valueModel() === this.value() || this.inputChecked(), ...(ngDevMode ? [{ debugName: "checked" }] : []));
3675
3640
  onInputChange(event) {
3676
3641
  // We always have to stop propagation on the change event.
3677
3642
  // Otherwise the change event, from the input element, will bubble up and
@@ -3686,10 +3651,10 @@ class GaRadioButtonComponent {
3686
3651
  onBlur() {
3687
3652
  this.radioGroup?.onBlur();
3688
3653
  }
3689
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3690
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaRadioButtonComponent, isStandalone: true, selector: "ga-radio-button", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, inputName: { classPropertyName: "inputName", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, inputChecked: { classPropertyName: "inputChecked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class.ga-radio-button--invalid": "invalid()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "ga-radio-button" }, ngImport: i0, template: "<input\n type=\"radio\"\n class=\"ga-radio-button__native\"\n [attr.id]=\"id()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [attr.tabindex]=\"tabindex\"\n [attr.value]=\"value()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n\n<div class=\"ga-radio-button__marker\"></div>\n<label class=\"ga-radio-button__label\" [attr.for]=\"id()\"\n ><ng-content></ng-content\n></label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
3654
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3655
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaRadioButtonComponent, isStandalone: true, selector: "ga-radio-button", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, inputName: { classPropertyName: "inputName", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, inputChecked: { classPropertyName: "inputChecked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change" }, host: { properties: { "class.ga-radio-button--invalid": "invalid()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.disabled": "disabled() ? \"\" : null" }, classAttribute: "ga-radio-button" }, ngImport: i0, template: "<input\n type=\"radio\"\n class=\"ga-radio-button__native\"\n [attr.id]=\"id()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [attr.tabindex]=\"tabindex\"\n [attr.value]=\"value()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n\n<div class=\"ga-radio-button__marker\"></div>\n<label class=\"ga-radio-button__label\" [attr.for]=\"id()\"\n ><ng-content></ng-content\n></label>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
3691
3656
  }
3692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioButtonComponent, decorators: [{
3657
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioButtonComponent, decorators: [{
3693
3658
  type: Component,
3694
3659
  args: [{ selector: 'ga-radio-button', changeDetection: ChangeDetectionStrategy.OnPush, host: {
3695
3660
  class: 'ga-radio-button',
@@ -3701,14 +3666,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3701
3666
  '[attr.aria-describedby]': 'null',
3702
3667
  '[attr.disabled]': 'disabled() ? "" : null',
3703
3668
  }, template: "<input\n type=\"radio\"\n class=\"ga-radio-button__native\"\n [attr.id]=\"id()\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [attr.tabindex]=\"tabindex\"\n [attr.value]=\"value()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n\n<div class=\"ga-radio-button__marker\"></div>\n<label class=\"ga-radio-button__label\" [attr.for]=\"id()\"\n ><ng-content></ng-content\n></label>\n" }]
3704
- }] });
3669
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], inputName: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], inputChecked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], inputDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], ariaErrormessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-errormessage", required: false }] }], change: [{ type: i0.Output, args: ["change"] }] } });
3705
3670
 
3706
3671
  class GaRadioModule {
3707
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3708
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaRadioModule, imports: [GaRadioButtonComponent, GaRadioGroupComponent], exports: [GaRadioButtonComponent, GaRadioGroupComponent] });
3709
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioModule });
3672
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3673
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaRadioModule, imports: [GaRadioButtonComponent, GaRadioGroupComponent], exports: [GaRadioButtonComponent, GaRadioGroupComponent] });
3674
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioModule });
3710
3675
  }
3711
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaRadioModule, decorators: [{
3676
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaRadioModule, decorators: [{
3712
3677
  type: NgModule,
3713
3678
  args: [{
3714
3679
  imports: [GaRadioButtonComponent, GaRadioGroupComponent],
@@ -3717,16 +3682,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3717
3682
  }] });
3718
3683
 
3719
3684
  class GaOptionComponent {
3720
- _isSelected = signal(false);
3721
- _isActive = signal(false);
3685
+ _isSelected = signal(false, ...(ngDevMode ? [{ debugName: "_isSelected" }] : []));
3686
+ _isActive = signal(false, ...(ngDevMode ? [{ debugName: "_isActive" }] : []));
3722
3687
  selectComponent = inject(GaSelectComponent);
3723
3688
  cdkOption = inject(CdkOption, { self: true });
3724
- value = input(null);
3725
- disabled = input(false, { transform: booleanAttribute });
3726
- hidden = input(false, { transform: booleanAttribute });
3727
- withInput = input(this.selectComponent.multiple(), {
3728
- transform: booleanAttribute,
3729
- });
3689
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
3690
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
3691
+ hidden = input(false, { ...(ngDevMode ? { debugName: "hidden" } : {}), transform: booleanAttribute });
3692
+ withInput = input(this.selectComponent.multiple(), { ...(ngDevMode ? { debugName: "withInput" } : {}), transform: booleanAttribute });
3730
3693
  selected = computed(() => {
3731
3694
  if (!this._isSelected()) {
3732
3695
  return false;
@@ -3737,7 +3700,7 @@ class GaOptionComponent {
3737
3700
  return true;
3738
3701
  }
3739
3702
  return this.selectComponent.canSelectNullable();
3740
- });
3703
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
3741
3704
  active = this._isActive.asReadonly();
3742
3705
  constructor() {
3743
3706
  afterEveryRender({
@@ -3761,10 +3724,10 @@ class GaOptionComponent {
3761
3724
  this.selectComponent.autoClose();
3762
3725
  }
3763
3726
  }
3764
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3765
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaOptionComponent, isStandalone: true, selector: "ga-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled", "attr.hidden": "hidden() ? '' : null" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n", dependencies: [{ kind: "ngmodule", type: GaCheckboxModule }, { kind: "component", type: GaCheckboxComponent, selector: "ga-checkbox", inputs: ["value", "disabled", "checked", "name", "id", "indeterminate", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage", "required"], outputs: ["change", "indeterminateChange"] }, { kind: "ngmodule", type: GaRadioModule }, { kind: "component", type: GaRadioButtonComponent, selector: "ga-radio-button", inputs: ["value", "id", "name", "checked", "disabled", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage"], outputs: ["change"] }] });
3727
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3728
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaOptionComponent, isStandalone: true, selector: "ga-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled", "attr.hidden": "hidden() ? '' : null" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n", dependencies: [{ kind: "ngmodule", type: GaCheckboxModule }, { kind: "component", type: GaCheckboxComponent, selector: "ga-checkbox", inputs: ["value", "disabled", "checked", "name", "id", "indeterminate", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage", "required"], outputs: ["change", "indeterminateChange"] }, { kind: "ngmodule", type: GaRadioModule }, { kind: "component", type: GaRadioButtonComponent, selector: "ga-radio-button", inputs: ["value", "id", "name", "checked", "disabled", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage"], outputs: ["change"] }] });
3766
3729
  }
3767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaOptionComponent, decorators: [{
3730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaOptionComponent, decorators: [{
3768
3731
  type: Component,
3769
3732
  args: [{ selector: 'ga-option', imports: [GaCheckboxModule, GaRadioModule], hostDirectives: [
3770
3733
  {
@@ -3783,13 +3746,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3783
3746
  '(click)': 'onClick()',
3784
3747
  '[attr.hidden]': `hidden() ? '' : null`,
3785
3748
  }, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n" }]
3786
- }], ctorParameters: () => [] });
3749
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "hidden", required: false }] }], withInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "withInput", required: false }] }] } });
3787
3750
 
3788
3751
  class GaSelectValueComponent {
3789
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3790
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaSelectValueComponent, isStandalone: true, selector: "ga-select-value", ngImport: i0, template: `<ng-content />`, isInline: true });
3752
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3753
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaSelectValueComponent, isStandalone: true, selector: "ga-select-value", ngImport: i0, template: `<ng-content />`, isInline: true });
3791
3754
  }
3792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectValueComponent, decorators: [{
3755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectValueComponent, decorators: [{
3793
3756
  type: Component,
3794
3757
  args: [{
3795
3758
  selector: 'ga-select-value',
@@ -3806,14 +3769,14 @@ class GaSelectDefaultValueComponent {
3806
3769
  return '';
3807
3770
  }
3808
3771
  return options[0].cdkOption.getLabel();
3809
- });
3772
+ }, ...(ngDevMode ? [{ debugName: "singleViewValue" }] : []));
3810
3773
  deselectOption(option) {
3811
3774
  this.selectComponent.deselectValue(option.cdkOption.value);
3812
3775
  }
3813
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDefaultValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3814
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaSelectDefaultValueComponent, isStandalone: true, selector: "ga-select-default-value", host: { classAttribute: "ga-select__value" }, ngImport: i0, template: "@if (selectComponent.multiple()) {\n @for (option of selectComponent.selectedOptions(); track option) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">{{ option.cdkOption.getLabel() }}</span>\n @if (!selectComponent.disabled()) {\n <div class=\"ga-tag__separator\"></div>\n <ga-icon\n [icon]=\"icons.X\"\n size=\"16\"\n class=\"ga-tag__icon\"\n (click)=\"deselectOption(option); $event.stopPropagation()\"\n />\n }\n </div>\n }\n} @else {\n {{ singleViewValue() }}\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
3776
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDefaultValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3777
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaSelectDefaultValueComponent, isStandalone: true, selector: "ga-select-default-value", host: { classAttribute: "ga-select__value" }, ngImport: i0, template: "@if (selectComponent.multiple()) {\n @for (option of selectComponent.selectedOptions(); track option) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">{{ option.cdkOption.getLabel() }}</span>\n @if (!selectComponent.disabled()) {\n <div class=\"ga-tag__separator\"></div>\n <ga-icon\n [icon]=\"icons.X\"\n size=\"16\"\n class=\"ga-tag__icon\"\n (click)=\"deselectOption(option); $event.stopPropagation()\"\n />\n }\n </div>\n }\n} @else {\n {{ singleViewValue() }}\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
3815
3778
  }
3816
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDefaultValueComponent, decorators: [{
3779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDefaultValueComponent, decorators: [{
3817
3780
  type: Component,
3818
3781
  args: [{ selector: 'ga-select-default-value', imports: [GaIconModule], host: {
3819
3782
  class: 'ga-select__value',
@@ -3824,10 +3787,10 @@ function GA_SELECT_I18N_FACTORY() {
3824
3787
  return new GaSelectI18nDefault();
3825
3788
  }
3826
3789
  class GaSelectI18n {
3827
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3828
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18n, providedIn: 'root', useFactory: GA_SELECT_I18N_FACTORY });
3790
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
3791
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18n, providedIn: 'root', useFactory: GA_SELECT_I18N_FACTORY });
3829
3792
  }
3830
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18n, decorators: [{
3793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18n, decorators: [{
3831
3794
  type: Injectable,
3832
3795
  args: [{
3833
3796
  providedIn: 'root',
@@ -3839,10 +3802,10 @@ class GaSelectI18nDefault extends GaSelectI18n {
3839
3802
  clearLabel = 'Clear';
3840
3803
  /** A default label for the search input */
3841
3804
  defaultSearchInputLabel = 'Search';
3842
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
3843
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18nDefault });
3805
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
3806
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18nDefault });
3844
3807
  }
3845
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectI18nDefault, decorators: [{
3808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectI18nDefault, decorators: [{
3846
3809
  type: Injectable
3847
3810
  }] });
3848
3811
  function provideGaSelectI18n(value) {
@@ -3854,11 +3817,11 @@ function provideGaSelectI18n(value) {
3854
3817
  }
3855
3818
 
3856
3819
  class GaSpinnerModule {
3857
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3858
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerModule, imports: [GaSpinnerComponent], exports: [GaSpinnerComponent] });
3859
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerModule });
3820
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3821
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerModule, imports: [GaSpinnerComponent], exports: [GaSpinnerComponent] });
3822
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerModule });
3860
3823
  }
3861
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSpinnerModule, decorators: [{
3824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSpinnerModule, decorators: [{
3862
3825
  type: NgModule,
3863
3826
  args: [{
3864
3827
  imports: [GaSpinnerComponent],
@@ -3867,10 +3830,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3867
3830
  }] });
3868
3831
 
3869
3832
  class GaSelectDropdownSpinnerComponent {
3870
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDropdownSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3871
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", 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"] }] });
3833
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDropdownSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3834
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", 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"] }] });
3872
3835
  }
3873
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDropdownSpinnerComponent, decorators: [{
3836
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDropdownSpinnerComponent, decorators: [{
3874
3837
  type: Component,
3875
3838
  args: [{
3876
3839
  selector: 'ga-select-dropdown-spinner',
@@ -3884,19 +3847,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
3884
3847
 
3885
3848
  class GaSelectDropdownComponent {
3886
3849
  elementRef = inject(ElementRef);
3887
- loading = input(false, { transform: booleanAttribute });
3850
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
3888
3851
  resetScroll() {
3889
3852
  this.elementRef.nativeElement.scrollTo(0, 0);
3890
3853
  }
3891
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3892
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", 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$5.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" }] });
3854
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3855
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", 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$5.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" }] });
3893
3856
  }
3894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectDropdownComponent, decorators: [{
3857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectDropdownComponent, decorators: [{
3895
3858
  type: Component,
3896
3859
  args: [{ selector: 'ga-select-dropdown', imports: [GaSelectDropdownSpinnerComponent], hostDirectives: [CdkListbox], host: {
3897
3860
  class: 'ga-dropdown ga-dropdown__content',
3898
3861
  }, template: "@if (loading()) {\n <ga-select-dropdown-spinner />\n} @else {\n <ng-content />\n}\n" }]
3899
- }] });
3862
+ }], propDecorators: { loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
3900
3863
 
3901
3864
  let nextUniqueId$4 = 0;
3902
3865
  class GaSelectComponent {
@@ -3943,61 +3906,53 @@ class GaSelectComponent {
3943
3906
  overlayOrigin = inject(CdkOverlayOrigin);
3944
3907
  repositionScrollStrategy = createRepositionScrollStrategy(this.injector);
3945
3908
  implicitNgControlState = injectNgControlState();
3946
- _isOpen = signal(false);
3909
+ _isOpen = signal(false, ...(ngDevMode ? [{ debugName: "_isOpen" }] : []));
3947
3910
  shouldRecoverFocus = false;
3948
- value = model(null);
3949
- placeholder = input('');
3950
- searchInputLabel = input(null);
3951
- disabledInput = input(false, {
3952
- alias: 'disabled',
3953
- transform: booleanAttribute,
3954
- });
3955
- invalidInput = input(null, {
3956
- alias: 'invalid',
3957
- transform: booleanAttribute,
3958
- });
3959
- multiple = input(false, { transform: booleanAttribute });
3960
- compareWith = input();
3961
- searchable = input(false, { transform: booleanAttribute });
3962
- clearable = input(false, { transform: booleanAttribute });
3963
- clearableLabel = input();
3964
- canSelectNullable = input(false, {
3965
- transform: booleanAttribute,
3966
- });
3967
- textValue = model('');
3968
- leftIcon = input();
3969
- idInput = input(null, { alias: 'id' });
3911
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
3912
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
3913
+ searchInputLabel = input(null, ...(ngDevMode ? [{ debugName: "searchInputLabel" }] : []));
3914
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
3915
+ transform: booleanAttribute });
3916
+ invalidInput = input(null, { ...(ngDevMode ? { debugName: "invalidInput" } : {}), alias: 'invalid',
3917
+ transform: booleanAttribute });
3918
+ multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : {}), transform: booleanAttribute });
3919
+ compareWith = input(...(ngDevMode ? [undefined, { debugName: "compareWith" }] : []));
3920
+ searchable = input(false, { ...(ngDevMode ? { debugName: "searchable" } : {}), transform: booleanAttribute });
3921
+ clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
3922
+ clearableLabel = input(...(ngDevMode ? [undefined, { debugName: "clearableLabel" }] : []));
3923
+ canSelectNullable = input(false, { ...(ngDevMode ? { debugName: "canSelectNullable" } : {}), transform: booleanAttribute });
3924
+ textValue = model('', ...(ngDevMode ? [{ debugName: "textValue" }] : []));
3925
+ leftIcon = input(...(ngDevMode ? [undefined, { debugName: "leftIcon" }] : []));
3926
+ idInput = input(null, { ...(ngDevMode ? { debugName: "idInput" } : {}), alias: 'id' });
3970
3927
  opened = output();
3971
3928
  closed = output();
3972
3929
  // TODO: if we rename this to options, it breaks, why?
3973
- gaOptions = contentChildren(GaOptionComponent, {
3974
- descendants: true,
3975
- read: GaOptionComponent,
3976
- });
3930
+ gaOptions = contentChildren(GaOptionComponent, { ...(ngDevMode ? { debugName: "gaOptions" } : {}), descendants: true,
3931
+ read: GaOptionComponent });
3977
3932
  cdkListbox = contentChild.required(CdkListbox);
3978
3933
  gaDropdown = contentChild.required(GaSelectDropdownComponent);
3979
- customSelectValue = contentChild(GaSelectValueComponent);
3980
- inputSearch = viewChild('inputSearch');
3981
- content = viewChild('ngContent', { read: ElementRef });
3982
- connectedOverlay = viewChild(CdkConnectedOverlay);
3934
+ customSelectValue = contentChild(GaSelectValueComponent, ...(ngDevMode ? [{ debugName: "customSelectValue" }] : []));
3935
+ inputSearch = viewChild('inputSearch', ...(ngDevMode ? [{ debugName: "inputSearch" }] : []));
3936
+ content = viewChild('ngContent', { ...(ngDevMode ? { debugName: "content" } : {}), read: ElementRef });
3937
+ connectedOverlay = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "connectedOverlay" }] : []));
3983
3938
  id = computed(() => {
3984
3939
  return this.idInput() ?? this._uniqueId;
3985
- });
3940
+ }, ...(ngDevMode ? [{ debugName: "id" }] : []));
3986
3941
  isOpen = this._isOpen.asReadonly();
3987
- disabled = linkedSignal(() => this.disabledInput());
3942
+ disabled = linkedSignal(() => this.disabledInput(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
3988
3943
  menuStatusIcon = computed(() => {
3989
3944
  return this._isOpen() ? ChevronUp : ChevronDown;
3990
- });
3945
+ }, ...(ngDevMode ? [{ debugName: "menuStatusIcon" }] : []));
3991
3946
  visibleOptions = computed(() => {
3992
3947
  return this.gaOptions().filter((option) => !option.hidden());
3993
- });
3948
+ }, ...(ngDevMode ? [{ debugName: "visibleOptions" }] : []));
3994
3949
  selectedOptions = computed(() => {
3995
3950
  return this.gaOptions().filter((option) => option.selected());
3996
- });
3951
+ }, ...(ngDevMode ? [{ debugName: "selectedOptions" }] : []));
3997
3952
  activeDescendantId = computed(() => {
3998
3953
  const activeOption = this.gaOptions().find((option) => option.active());
3999
3954
  return activeOption?.cdkOption.id;
4000
- });
3955
+ }, ...(ngDevMode ? [{ debugName: "activeDescendantId" }] : []));
4001
3956
  hasValue = computed(() => {
4002
3957
  if (!this.customSelectValue()) {
4003
3958
  // When no custom value component exists, we determine if there's a value
@@ -4007,10 +3962,10 @@ class GaSelectComponent {
4007
3962
  // With a custom value component, we can check the value directly
4008
3963
  // which is useful for asynchronous selects, e.g. to display selected value without options
4009
3964
  return this.value() !== null || this.canSelectNullable();
4010
- });
3965
+ }, ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
4011
3966
  invalid = computed(() => {
4012
3967
  return this.invalidInput() ?? this.implicitNgControlState.inError();
4013
- });
3968
+ }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
4014
3969
  constructor() {
4015
3970
  effect(() => {
4016
3971
  // if the select became disabled while open, close it
@@ -4273,16 +4228,16 @@ class GaSelectComponent {
4273
4228
  },
4274
4229
  }, { injector: this.injector });
4275
4230
  }
4276
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4277
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchInputLabel: { classPropertyName: "searchInputLabel", publicName: "searchInputLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange", opened: "opened", closed: "closed" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "isOpen() ? cdkListbox().id : null", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "isOpen() && searchable() ? cdkListbox().id : null", "attr.aria-activedescendant": "isOpen() && !searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
4231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, searchInputLabel: { classPropertyName: "searchInputLabel", publicName: "searchInputLabel", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange", opened: "opened", closed: "closed" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "isOpen() ? cdkListbox().id : null", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "isOpen() && searchable() ? cdkListbox().id : null", "attr.aria-activedescendant": "isOpen() && !searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
4278
4233
  {
4279
4234
  provide: NG_VALUE_ACCESSOR,
4280
4235
  useExisting: forwardRef(() => GaSelectComponent),
4281
4236
  multi: true,
4282
4237
  },
4283
- ], queries: [{ propertyName: "gaOptions", predicate: GaOptionComponent, descendants: true, read: GaOptionComponent, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "gaDropdown", first: true, predicate: GaSelectDropdownComponent, descendants: true, isSignal: true }, { propertyName: "customSelectValue", first: true, predicate: GaSelectValueComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["ngContent"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox().id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"searchInputLabel() ?? i18n.defaultSearchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaSelectDefaultValueComponent, selector: "ga-select-default-value" }] });
4238
+ ], queries: [{ propertyName: "gaOptions", predicate: GaOptionComponent, descendants: true, read: GaOptionComponent, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "gaDropdown", first: true, predicate: GaSelectDropdownComponent, descendants: true, isSignal: true }, { propertyName: "customSelectValue", first: true, predicate: GaSelectValueComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["ngContent"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox().id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"searchInputLabel() ?? i18n.defaultSearchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaSelectDefaultValueComponent, selector: "ga-select-default-value" }] });
4284
4239
  }
4285
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectComponent, decorators: [{
4240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectComponent, decorators: [{
4286
4241
  type: Component,
4287
4242
  args: [{ selector: 'ga-select', imports: [
4288
4243
  GaIconModule,
@@ -4324,19 +4279,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4324
4279
  '(keydown.enter)': 'open(); $event.preventDefault()',
4325
4280
  '(keydown.backspace)': 'clearValue(); $event.preventDefault()',
4326
4281
  }, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox().id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"searchInputLabel() ?? i18n.defaultSearchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n" }]
4327
- }], ctorParameters: () => [] });
4282
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], searchInputLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchInputLabel", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], compareWith: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareWith", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], clearableLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearableLabel", required: false }] }], canSelectNullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "canSelectNullable", required: false }] }], textValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "textValue", required: false }] }, { type: i0.Output, args: ["textValueChange"] }], leftIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "leftIcon", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], gaOptions: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => GaOptionComponent), { ...{
4283
+ descendants: true,
4284
+ read: GaOptionComponent,
4285
+ }, isSignal: true }] }], cdkListbox: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CdkListbox), { isSignal: true }] }], gaDropdown: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaSelectDropdownComponent), { isSignal: true }] }], customSelectValue: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaSelectValueComponent), { isSignal: true }] }], inputSearch: [{ type: i0.ViewChild, args: ['inputSearch', { isSignal: true }] }], content: [{ type: i0.ViewChild, args: ['ngContent', { ...{ read: ElementRef }, isSignal: true }] }], connectedOverlay: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkConnectedOverlay), { isSignal: true }] }] } });
4328
4286
 
4329
4287
  class GaOptgroupComponent {
4330
- label = input();
4331
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaOptgroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4332
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaOptgroupComponent, isStandalone: true, selector: "ga-optgroup", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" } }, ngImport: i0, template: `
4288
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
4289
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaOptgroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4290
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaOptgroupComponent, isStandalone: true, selector: "ga-optgroup", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" } }, ngImport: i0, template: `
4333
4291
  @if (label()) {
4334
4292
  <div class="ga-dropdown__caption">{{ label() }}</div>
4335
4293
  }
4336
4294
  <ng-content />
4337
4295
  `, isInline: true });
4338
4296
  }
4339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaOptgroupComponent, decorators: [{
4297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaOptgroupComponent, decorators: [{
4340
4298
  type: Component,
4341
4299
  args: [{
4342
4300
  selector: 'ga-optgroup',
@@ -4350,7 +4308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4350
4308
  role: 'group',
4351
4309
  },
4352
4310
  }]
4353
- }] });
4311
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
4354
4312
 
4355
4313
  /**
4356
4314
  * @internal - Internal validator provider for ga-select required validation
@@ -4364,10 +4322,10 @@ const GA_SELECT_REQUIRED_VALIDATOR = {
4364
4322
  * @internal - Internal directive for ga-select required validation
4365
4323
  */
4366
4324
  class GaSelectRequiredValidator extends RequiredValidator {
4367
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4368
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaSelectRequiredValidator, isStandalone: true, selector: "ga-select[required][formControlName], ga-select[required][formControl], ga-select[required][ngModel]", providers: [GA_SELECT_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
4325
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
4326
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaSelectRequiredValidator, isStandalone: true, selector: "ga-select[required][formControlName], ga-select[required][formControl], ga-select[required][ngModel]", providers: [GA_SELECT_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
4369
4327
  }
4370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectRequiredValidator, decorators: [{
4328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectRequiredValidator, decorators: [{
4371
4329
  type: Directive,
4372
4330
  args: [{
4373
4331
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -4377,8 +4335,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4377
4335
  }] });
4378
4336
 
4379
4337
  class GaSelectModule {
4380
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4381
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaSelectModule, imports: [GaSelectComponent,
4338
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4339
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaSelectModule, imports: [GaSelectComponent,
4382
4340
  GaOptionComponent,
4383
4341
  GaOptgroupComponent,
4384
4342
  GaSelectDropdownComponent,
@@ -4391,10 +4349,10 @@ class GaSelectModule {
4391
4349
  GaSelectDropdownSpinnerComponent,
4392
4350
  GaSelectValueComponent,
4393
4351
  GaSelectRequiredValidator] });
4394
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectModule, imports: [GaSelectComponent,
4352
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectModule, imports: [GaSelectComponent,
4395
4353
  GaOptionComponent] });
4396
4354
  }
4397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectModule, decorators: [{
4355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSelectModule, decorators: [{
4398
4356
  type: NgModule,
4399
4357
  args: [{
4400
4358
  imports: [
@@ -4419,15 +4377,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4419
4377
  }] });
4420
4378
 
4421
4379
  class GaDataOptionComponent {
4422
- _isSelected = signal(false);
4423
- _isActive = signal(false);
4380
+ _isSelected = signal(false, ...(ngDevMode ? [{ debugName: "_isSelected" }] : []));
4381
+ _isActive = signal(false, ...(ngDevMode ? [{ debugName: "_isActive" }] : []));
4424
4382
  selectComponent = inject(GaDataSelectComponent);
4425
4383
  cdkOption = inject(CdkOption, { self: true });
4426
- value = input(null);
4427
- disabled = input(false, { transform: booleanAttribute });
4428
- withInput = input(this.selectComponent.multiple(), {
4429
- transform: booleanAttribute,
4430
- });
4384
+ value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
4385
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
4386
+ withInput = input(this.selectComponent.multiple(), { ...(ngDevMode ? { debugName: "withInput" } : {}), transform: booleanAttribute });
4431
4387
  selected = computed(() => {
4432
4388
  if (!this._isSelected()) {
4433
4389
  return false;
@@ -4438,7 +4394,7 @@ class GaDataOptionComponent {
4438
4394
  return true;
4439
4395
  }
4440
4396
  return this.selectComponent.canSelectNullable();
4441
- });
4397
+ }, ...(ngDevMode ? [{ debugName: "selected" }] : []));
4442
4398
  active = this._isActive.asReadonly();
4443
4399
  constructor() {
4444
4400
  // NOTE: this is a workaround to set the default empty value (null) for cdkOption
@@ -4462,10 +4418,10 @@ class GaDataOptionComponent {
4462
4418
  event?.preventDefault();
4463
4419
  }
4464
4420
  }
4465
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4466
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDataOptionComponent, isStandalone: true, selector: "ga-data-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter": "autoClose($event);", "keydown.space": "autoClose($event);", "click": "autoClose();" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n", dependencies: [{ kind: "ngmodule", type: GaCheckboxModule }, { kind: "component", type: GaCheckboxComponent, selector: "ga-checkbox", inputs: ["value", "disabled", "checked", "name", "id", "indeterminate", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage", "required"], outputs: ["change", "indeterminateChange"] }, { kind: "ngmodule", type: GaRadioModule }, { kind: "component", type: GaRadioButtonComponent, selector: "ga-radio-button", inputs: ["value", "id", "name", "checked", "disabled", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage"], outputs: ["change"] }] });
4421
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4422
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDataOptionComponent, isStandalone: true, selector: "ga-data-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "keydown.enter": "autoClose($event);", "keydown.space": "autoClose($event);", "click": "autoClose();" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n", dependencies: [{ kind: "ngmodule", type: GaCheckboxModule }, { kind: "component", type: GaCheckboxComponent, selector: "ga-checkbox", inputs: ["value", "disabled", "checked", "name", "id", "indeterminate", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage", "required"], outputs: ["change", "indeterminateChange"] }, { kind: "ngmodule", type: GaRadioModule }, { kind: "component", type: GaRadioButtonComponent, selector: "ga-radio-button", inputs: ["value", "id", "name", "checked", "disabled", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage"], outputs: ["change"] }] });
4467
4423
  }
4468
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataOptionComponent, decorators: [{
4424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataOptionComponent, decorators: [{
4469
4425
  type: Component,
4470
4426
  args: [{ selector: 'ga-data-option', imports: [GaCheckboxModule, GaRadioModule], hostDirectives: [
4471
4427
  {
@@ -4485,16 +4441,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4485
4441
  '(keydown.space)': 'autoClose($event);',
4486
4442
  '(click)': 'autoClose();',
4487
4443
  }, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n" }]
4488
- }], ctorParameters: () => [] });
4444
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], withInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "withInput", required: false }] }] } });
4489
4445
 
4490
4446
  function GA_DATA_SELECT_I18N_FACTORY() {
4491
4447
  return new GaDataSelectI18nDefault();
4492
4448
  }
4493
4449
  class GaDataSelectI18n {
4494
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4495
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18n, providedIn: 'root', useFactory: GA_DATA_SELECT_I18N_FACTORY });
4450
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
4451
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18n, providedIn: 'root', useFactory: GA_DATA_SELECT_I18N_FACTORY });
4496
4452
  }
4497
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18n, decorators: [{
4453
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18n, decorators: [{
4498
4454
  type: Injectable,
4499
4455
  args: [{
4500
4456
  providedIn: 'root',
@@ -4510,10 +4466,10 @@ class GaDataSelectI18nDefault extends GaDataSelectI18n {
4510
4466
  noOptionsLabel = 'No options';
4511
4467
  /** A label shown when the display limit is reached in multi-select mode */
4512
4468
  displayLimitReachedLabel = (counter) => `+${counter} more`;
4513
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4514
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18nDefault });
4469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4470
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18nDefault });
4515
4471
  }
4516
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectI18nDefault, decorators: [{
4472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectI18nDefault, decorators: [{
4517
4473
  type: Injectable
4518
4474
  }] });
4519
4475
  function provideGaDataSelectI18n(value) {
@@ -4528,7 +4484,7 @@ class GaDataSelectValueComponent {
4528
4484
  selectComponent = inject(GaDataSelectComponent);
4529
4485
  i18n = inject(GaDataSelectI18n);
4530
4486
  icons = { X };
4531
- customValueTemplate = input();
4487
+ customValueTemplate = input(...(ngDevMode ? [undefined, { debugName: "customValueTemplate" }] : []));
4532
4488
  customValueTemplateContext = (item) => {
4533
4489
  if (!item) {
4534
4490
  return { $implicit: '', value: null, item: null };
@@ -4551,7 +4507,7 @@ class GaDataSelectValueComponent {
4551
4507
  .items()
4552
4508
  .find((item) => this.selectComponent.compareFn()(this.selectComponent.getItemValue(item), selectValue));
4553
4509
  return this.selectComponent.getItemLabel(item);
4554
- });
4510
+ }, ...(ngDevMode ? [{ debugName: "singleViewValue" }] : []));
4555
4511
  selectedItems = computed(() => {
4556
4512
  const value = this.selectComponent.value();
4557
4513
  if (!this.selectComponent.hasValue() || !Array.isArray(value)) {
@@ -4563,7 +4519,7 @@ class GaDataSelectValueComponent {
4563
4519
  return this.selectComponent
4564
4520
  .items()
4565
4521
  .filter((item) => value.some((v) => this.selectComponent.compareFn()(this.selectComponent.getItemValue(item), v)));
4566
- });
4522
+ }, ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
4567
4523
  visibleSelectedItems = computed(() => {
4568
4524
  const items = this.selectedItems();
4569
4525
  const limit = this.selectComponent.valueDisplayLimit();
@@ -4571,28 +4527,28 @@ class GaDataSelectValueComponent {
4571
4527
  return items;
4572
4528
  }
4573
4529
  return items.slice(0, limit);
4574
- });
4530
+ }, ...(ngDevMode ? [{ debugName: "visibleSelectedItems" }] : []));
4575
4531
  hiddenItemsCount = computed(() => {
4576
4532
  return this.selectedItems().length - this.visibleSelectedItems().length;
4577
- });
4533
+ }, ...(ngDevMode ? [{ debugName: "hiddenItemsCount" }] : []));
4578
4534
  deselectOption(value) {
4579
4535
  this.selectComponent.deselectValue(value);
4580
4536
  }
4581
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4582
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDataSelectValueComponent, isStandalone: true, selector: "ga-data-select-value", inputs: { customValueTemplate: { classPropertyName: "customValueTemplate", publicName: "customValueTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-select__value" }, ngImport: i0, template: "@if (selectComponent.multiple()) {\n @for (\n selectedItem of visibleSelectedItems();\n track selectComponent.getItemValue(selectedItem)\n ) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"customValueTemplateContext(selectedItem)\"\n />\n } @else {\n {{ selectComponent.getItemLabel(selectedItem) }}\n }\n </span>\n @if (!selectComponent.disabled()) {\n <div class=\"ga-tag__separator\"></div>\n <ga-icon\n [icon]=\"icons.X\"\n size=\"16\"\n class=\"ga-tag__icon\"\n (click)=\"\n deselectOption(selectComponent.getItemValue(selectedItem));\n $event.stopPropagation()\n \"\n />\n }\n </div>\n }\n @if (hiddenItemsCount() > 0) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">{{\n i18n.displayLimitReachedLabel(hiddenItemsCount())\n }}</span>\n </div>\n }\n} @else {\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"\n customValueTemplateContext(selectComponent.selectedItem())\n \"\n />\n } @else {\n {{ singleViewValue() }}\n }\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
4537
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4538
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDataSelectValueComponent, isStandalone: true, selector: "ga-data-select-value", inputs: { customValueTemplate: { classPropertyName: "customValueTemplate", publicName: "customValueTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-select__value" }, ngImport: i0, template: "@if (selectComponent.multiple()) {\n @for (\n selectedItem of visibleSelectedItems();\n track selectComponent.getItemValue(selectedItem)\n ) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"customValueTemplateContext(selectedItem)\"\n />\n } @else {\n {{ selectComponent.getItemLabel(selectedItem) }}\n }\n </span>\n @if (!selectComponent.disabled()) {\n <div class=\"ga-tag__separator\"></div>\n <ga-icon\n [icon]=\"icons.X\"\n size=\"16\"\n class=\"ga-tag__icon\"\n (click)=\"\n deselectOption(selectComponent.getItemValue(selectedItem));\n $event.stopPropagation()\n \"\n />\n }\n </div>\n }\n @if (hiddenItemsCount() > 0) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">{{\n i18n.displayLimitReachedLabel(hiddenItemsCount())\n }}</span>\n </div>\n }\n} @else {\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"\n customValueTemplateContext(selectComponent.selectedItem())\n \"\n />\n } @else {\n {{ singleViewValue() }}\n }\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
4583
4539
  }
4584
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectValueComponent, decorators: [{
4540
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectValueComponent, decorators: [{
4585
4541
  type: Component,
4586
4542
  args: [{ selector: 'ga-data-select-value', imports: [GaIconModule, NgTemplateOutlet], host: {
4587
4543
  class: 'ga-select__value',
4588
4544
  }, template: "@if (selectComponent.multiple()) {\n @for (\n selectedItem of visibleSelectedItems();\n track selectComponent.getItemValue(selectedItem)\n ) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"customValueTemplateContext(selectedItem)\"\n />\n } @else {\n {{ selectComponent.getItemLabel(selectedItem) }}\n }\n </span>\n @if (!selectComponent.disabled()) {\n <div class=\"ga-tag__separator\"></div>\n <ga-icon\n [icon]=\"icons.X\"\n size=\"16\"\n class=\"ga-tag__icon\"\n (click)=\"\n deselectOption(selectComponent.getItemValue(selectedItem));\n $event.stopPropagation()\n \"\n />\n }\n </div>\n }\n @if (hiddenItemsCount() > 0) {\n <div\n class=\"ga-tag\"\n [class.ga-tag--interactive-selected]=\"!selectComponent.disabled()\"\n [class.ga-tag--interactive-selected-disabled]=\"selectComponent.disabled()\"\n >\n <span class=\"ga-tag__label\">{{\n i18n.displayLimitReachedLabel(hiddenItemsCount())\n }}</span>\n </div>\n }\n} @else {\n @if (customValueTemplate(); as templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"templateRef\"\n [ngTemplateOutletContext]=\"\n customValueTemplateContext(selectComponent.selectedItem())\n \"\n />\n } @else {\n {{ singleViewValue() }}\n }\n}\n" }]
4589
- }] });
4545
+ }], propDecorators: { customValueTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "customValueTemplate", required: false }] }] } });
4590
4546
 
4591
4547
  class GaDataSelectDropdownSpinnerComponent {
4592
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectDropdownSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4593
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.4", type: GaDataSelectDropdownSpinnerComponent, isStandalone: true, selector: "ga-data-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"] }] });
4548
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectDropdownSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4549
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.4", type: GaDataSelectDropdownSpinnerComponent, isStandalone: true, selector: "ga-data-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"] }] });
4594
4550
  }
4595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectDropdownSpinnerComponent, decorators: [{
4551
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectDropdownSpinnerComponent, decorators: [{
4596
4552
  type: Component,
4597
4553
  args: [{
4598
4554
  selector: 'ga-data-select-dropdown-spinner',
@@ -4607,14 +4563,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4607
4563
  class GaDataSelectDropdownComponent {
4608
4564
  elementRef = inject(ElementRef);
4609
4565
  cdkListbox = inject(CdkListbox, { self: true });
4610
- loading = input(false, { transform: booleanAttribute });
4566
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
4611
4567
  resetScroll() {
4612
4568
  this.elementRef.nativeElement.scrollTo(0, 0);
4613
4569
  }
4614
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4615
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDataSelectDropdownComponent, isStandalone: true, selector: "ga-data-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$5.CdkListbox, inputs: ["cdkListboxMultiple", "multiple", "cdkListboxUseActiveDescendant", "useActiveDescendant", "cdkListboxNavigationWrapDisabled", "navigationWrapDisabled", "cdkListboxCompareWith", "compareWith"] }], ngImport: i0, template: "<ng-content />\n\n@if (loading()) {\n <ga-data-select-dropdown-spinner />\n}\n", dependencies: [{ kind: "component", type: GaDataSelectDropdownSpinnerComponent, selector: "ga-data-select-dropdown-spinner" }] });
4570
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4571
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDataSelectDropdownComponent, isStandalone: true, selector: "ga-data-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$5.CdkListbox, inputs: ["cdkListboxMultiple", "multiple", "cdkListboxUseActiveDescendant", "useActiveDescendant", "cdkListboxNavigationWrapDisabled", "navigationWrapDisabled", "cdkListboxCompareWith", "compareWith"] }], ngImport: i0, template: "<ng-content />\n\n@if (loading()) {\n <ga-data-select-dropdown-spinner />\n}\n", dependencies: [{ kind: "component", type: GaDataSelectDropdownSpinnerComponent, selector: "ga-data-select-dropdown-spinner" }] });
4616
4572
  }
4617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectDropdownComponent, decorators: [{
4573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectDropdownComponent, decorators: [{
4618
4574
  type: Component,
4619
4575
  args: [{ selector: 'ga-data-select-dropdown', imports: [GaDataSelectDropdownSpinnerComponent], hostDirectives: [
4620
4576
  {
@@ -4629,14 +4585,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4629
4585
  ], host: {
4630
4586
  class: 'ga-dropdown ga-dropdown__content',
4631
4587
  }, template: "<ng-content />\n\n@if (loading()) {\n <ga-data-select-dropdown-spinner />\n}\n" }]
4632
- }] });
4588
+ }], propDecorators: { loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }] } });
4633
4589
 
4634
4590
  class GaDataOptgroupComponent {
4635
- label = input();
4636
- customLabelTemplate = input();
4637
- customLabelContext = input();
4638
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataOptgroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4639
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDataOptgroupComponent, isStandalone: true, selector: "ga-data-optgroup", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, customLabelTemplate: { classPropertyName: "customLabelTemplate", publicName: "customLabelTemplate", isSignal: true, isRequired: false, transformFunction: null }, customLabelContext: { classPropertyName: "customLabelContext", publicName: "customLabelContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" } }, ngImport: i0, template: `
4591
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
4592
+ customLabelTemplate = input(...(ngDevMode ? [undefined, { debugName: "customLabelTemplate" }] : []));
4593
+ customLabelContext = input(...(ngDevMode ? [undefined, { debugName: "customLabelContext" }] : []));
4594
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataOptgroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4595
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDataOptgroupComponent, isStandalone: true, selector: "ga-data-optgroup", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, customLabelTemplate: { classPropertyName: "customLabelTemplate", publicName: "customLabelTemplate", isSignal: true, isRequired: false, transformFunction: null }, customLabelContext: { classPropertyName: "customLabelContext", publicName: "customLabelContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" } }, ngImport: i0, template: `
4640
4596
  @if (customLabelTemplate(); as templateRef) {
4641
4597
  <div class="ga-dropdown__caption">
4642
4598
  <ng-container
@@ -4650,7 +4606,7 @@ class GaDataOptgroupComponent {
4650
4606
  <ng-content />
4651
4607
  `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
4652
4608
  }
4653
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataOptgroupComponent, decorators: [{
4609
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataOptgroupComponent, decorators: [{
4654
4610
  type: Component,
4655
4611
  args: [{
4656
4612
  selector: 'ga-data-optgroup',
@@ -4672,14 +4628,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4672
4628
  role: 'group',
4673
4629
  },
4674
4630
  }]
4675
- }] });
4631
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], customLabelTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "customLabelTemplate", required: false }] }], customLabelContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "customLabelContext", required: false }] }] } });
4676
4632
 
4677
4633
  class GaDataSelectValueDirective {
4678
4634
  templateRef = inject(TemplateRef, { self: true });
4679
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectValueDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4680
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaDataSelectValueDirective, isStandalone: true, selector: "[gaDataSelectValueTpl]", ngImport: i0 });
4635
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectValueDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4636
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaDataSelectValueDirective, isStandalone: true, selector: "[gaDataSelectValueTpl]", ngImport: i0 });
4681
4637
  }
4682
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectValueDirective, decorators: [{
4638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectValueDirective, decorators: [{
4683
4639
  type: Directive,
4684
4640
  args: [{
4685
4641
  selector: '[gaDataSelectValueTpl]',
@@ -4688,10 +4644,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4688
4644
 
4689
4645
  class GaDataSelectOptionLabelDirective {
4690
4646
  templateRef = inject(TemplateRef, { self: true });
4691
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectOptionLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4692
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaDataSelectOptionLabelDirective, isStandalone: true, selector: "[gaDataSelectOptionTpl]", ngImport: i0 });
4647
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectOptionLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4648
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaDataSelectOptionLabelDirective, isStandalone: true, selector: "[gaDataSelectOptionTpl]", ngImport: i0 });
4693
4649
  }
4694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectOptionLabelDirective, decorators: [{
4650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectOptionLabelDirective, decorators: [{
4695
4651
  type: Directive,
4696
4652
  args: [{
4697
4653
  selector: '[gaDataSelectOptionTpl]',
@@ -4700,10 +4656,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4700
4656
 
4701
4657
  class GaDataSelectOptgroupLabelDirective {
4702
4658
  templateRef = inject(TemplateRef, { self: true });
4703
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectOptgroupLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4704
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaDataSelectOptgroupLabelDirective, isStandalone: true, selector: "[gaDataSelectOptgroupLabelTpl]", ngImport: i0 });
4659
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectOptgroupLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4660
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaDataSelectOptgroupLabelDirective, isStandalone: true, selector: "[gaDataSelectOptgroupLabelTpl]", ngImport: i0 });
4705
4661
  }
4706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectOptgroupLabelDirective, decorators: [{
4662
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectOptgroupLabelDirective, decorators: [{
4707
4663
  type: Directive,
4708
4664
  args: [{
4709
4665
  selector: '[gaDataSelectOptgroupLabelTpl]',
@@ -4713,15 +4669,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
4713
4669
  class GaIntersectionTriggerComponent {
4714
4670
  observer;
4715
4671
  anchor = inject(ElementRef);
4716
- rootElement = input();
4717
- rootMargin = input('0px');
4718
- parentAsRoot = input(false, { transform: booleanAttribute });
4672
+ rootElement = input(...(ngDevMode ? [undefined, { debugName: "rootElement" }] : []));
4673
+ rootMargin = input('0px', ...(ngDevMode ? [{ debugName: "rootMargin" }] : []));
4674
+ parentAsRoot = input(false, { ...(ngDevMode ? { debugName: "parentAsRoot" } : {}), transform: booleanAttribute });
4719
4675
  trigger = output();
4720
4676
  root = computed(() => {
4721
4677
  return this.parentAsRoot()
4722
4678
  ? this.anchor.nativeElement.parentElement
4723
4679
  : this.rootElement()?.nativeElement;
4724
- });
4680
+ }, ...(ngDevMode ? [{ debugName: "root" }] : []));
4725
4681
  constructor() {
4726
4682
  afterNextRender(() => {
4727
4683
  this.observer = new IntersectionObserver(([entry]) => {
@@ -4739,13 +4695,13 @@ class GaIntersectionTriggerComponent {
4739
4695
  ngOnDestroy() {
4740
4696
  this.observer?.disconnect();
4741
4697
  }
4742
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIntersectionTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4743
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaIntersectionTriggerComponent, isStandalone: true, selector: "ga-intersection-trigger", inputs: { rootElement: { classPropertyName: "rootElement", publicName: "rootElement", isSignal: true, isRequired: false, transformFunction: null }, rootMargin: { classPropertyName: "rootMargin", publicName: "rootMargin", isSignal: true, isRequired: false, transformFunction: null }, parentAsRoot: { classPropertyName: "parentAsRoot", publicName: "parentAsRoot", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trigger: "trigger" }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:0px;display:block;flex-shrink:0}\n"] });
4698
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIntersectionTriggerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4699
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaIntersectionTriggerComponent, isStandalone: true, selector: "ga-intersection-trigger", inputs: { rootElement: { classPropertyName: "rootElement", publicName: "rootElement", isSignal: true, isRequired: false, transformFunction: null }, rootMargin: { classPropertyName: "rootMargin", publicName: "rootMargin", isSignal: true, isRequired: false, transformFunction: null }, parentAsRoot: { classPropertyName: "parentAsRoot", publicName: "parentAsRoot", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { trigger: "trigger" }, ngImport: i0, template: ``, isInline: true, styles: [":host{height:0px;display:block;flex-shrink:0}\n"] });
4744
4700
  }
4745
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaIntersectionTriggerComponent, decorators: [{
4701
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaIntersectionTriggerComponent, decorators: [{
4746
4702
  type: Component,
4747
4703
  args: [{ selector: 'ga-intersection-trigger', template: ``, styles: [":host{height:0px;display:block;flex-shrink:0}\n"] }]
4748
- }], ctorParameters: () => [] });
4704
+ }], ctorParameters: () => [], propDecorators: { rootElement: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootElement", required: false }] }], rootMargin: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootMargin", required: false }] }], parentAsRoot: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentAsRoot", required: false }] }], trigger: [{ type: i0.Output, args: ["trigger"] }] } });
4749
4705
 
4750
4706
  let nextUniqueId$3 = 0;
4751
4707
  class GaDataSelectComponent {
@@ -4792,67 +4748,59 @@ class GaDataSelectComponent {
4792
4748
  overlayOrigin = inject(CdkOverlayOrigin);
4793
4749
  repositionScrollStrategy = createRepositionScrollStrategy(this.injector);
4794
4750
  implicitNgControlState = injectNgControlState();
4795
- _isOpen = signal(false);
4751
+ _isOpen = signal(false, ...(ngDevMode ? [{ debugName: "_isOpen" }] : []));
4796
4752
  shouldRecoverFocus = false;
4797
- searchValue = signal(null);
4798
- multiple = input(false, { transform: booleanAttribute });
4799
- value = model(null);
4800
- placeholder = input('');
4801
- disabledInput = input(false, {
4802
- alias: 'disabled',
4803
- transform: booleanAttribute,
4804
- });
4805
- invalidInput = input(null, {
4806
- alias: 'invalid',
4807
- transform: booleanAttribute,
4808
- });
4809
- compareFn = input((a, b) => a === b);
4810
- searchable = input(false, { transform: booleanAttribute });
4811
- customFilter = input(false, { transform: booleanAttribute });
4812
- clearable = input(false, { transform: booleanAttribute });
4813
- clearableLabel = input();
4814
- noOptionsLabel = input();
4815
- canSelectNullable = input(false, {
4816
- transform: booleanAttribute,
4817
- });
4818
- leftIcon = input();
4819
- idInput = input(null, { alias: 'id' });
4820
- items = input([]);
4821
- bindValue = input();
4822
- bindLabel = input();
4823
- groupBy = input();
4824
- loading = input(false, { transform: booleanAttribute });
4825
- withOptionInput = input(null, { transform: booleanAttribute });
4826
- valueDisplayLimit = input(null, { transform: numberAttribute });
4753
+ searchValue = signal(null, ...(ngDevMode ? [{ debugName: "searchValue" }] : []));
4754
+ multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : {}), transform: booleanAttribute });
4755
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
4756
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
4757
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
4758
+ transform: booleanAttribute });
4759
+ invalidInput = input(null, { ...(ngDevMode ? { debugName: "invalidInput" } : {}), alias: 'invalid',
4760
+ transform: booleanAttribute });
4761
+ compareFn = input((a, b) => a === b, ...(ngDevMode ? [{ debugName: "compareFn" }] : []));
4762
+ searchable = input(false, { ...(ngDevMode ? { debugName: "searchable" } : {}), transform: booleanAttribute });
4763
+ customFilter = input(false, { ...(ngDevMode ? { debugName: "customFilter" } : {}), transform: booleanAttribute });
4764
+ clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
4765
+ clearableLabel = input(...(ngDevMode ? [undefined, { debugName: "clearableLabel" }] : []));
4766
+ noOptionsLabel = input(...(ngDevMode ? [undefined, { debugName: "noOptionsLabel" }] : []));
4767
+ canSelectNullable = input(false, { ...(ngDevMode ? { debugName: "canSelectNullable" } : {}), transform: booleanAttribute });
4768
+ leftIcon = input(...(ngDevMode ? [undefined, { debugName: "leftIcon" }] : []));
4769
+ idInput = input(null, { ...(ngDevMode ? { debugName: "idInput" } : {}), alias: 'id' });
4770
+ items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
4771
+ bindValue = input(...(ngDevMode ? [undefined, { debugName: "bindValue" }] : []));
4772
+ bindLabel = input(...(ngDevMode ? [undefined, { debugName: "bindLabel" }] : []));
4773
+ groupBy = input(...(ngDevMode ? [undefined, { debugName: "groupBy" }] : []));
4774
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : {}), transform: booleanAttribute });
4775
+ withOptionInput = input(null, { ...(ngDevMode ? { debugName: "withOptionInput" } : {}), transform: booleanAttribute });
4776
+ valueDisplayLimit = input(null, { ...(ngDevMode ? { debugName: "valueDisplayLimit" } : {}), transform: numberAttribute });
4827
4777
  searchValueChange = output();
4828
4778
  opened = output();
4829
4779
  closed = output();
4830
4780
  optionsEndReached = output();
4831
- dropdownElRef = viewChild('selectDropdown', {
4832
- read: ElementRef,
4833
- });
4834
- gaOptions = viewChildren(GaDataOptionComponent);
4835
- cdkListbox = viewChild(CdkListbox);
4836
- gaDropdown = viewChild(GaDataSelectDropdownComponent);
4837
- customValueTemplate = contentChild(GaDataSelectValueDirective);
4838
- customOptionLabelTemplate = contentChild(GaDataSelectOptionLabelDirective);
4839
- customOptgroupLabelTemplate = contentChild(GaDataSelectOptgroupLabelDirective);
4840
- inputSearch = viewChild('inputSearch');
4841
- connectedOverlay = viewChild(CdkConnectedOverlay);
4781
+ dropdownElRef = viewChild('selectDropdown', { ...(ngDevMode ? { debugName: "dropdownElRef" } : {}), read: ElementRef });
4782
+ gaOptions = viewChildren(GaDataOptionComponent, ...(ngDevMode ? [{ debugName: "gaOptions" }] : []));
4783
+ cdkListbox = viewChild(CdkListbox, ...(ngDevMode ? [{ debugName: "cdkListbox" }] : []));
4784
+ gaDropdown = viewChild(GaDataSelectDropdownComponent, ...(ngDevMode ? [{ debugName: "gaDropdown" }] : []));
4785
+ customValueTemplate = contentChild(GaDataSelectValueDirective, ...(ngDevMode ? [{ debugName: "customValueTemplate" }] : []));
4786
+ customOptionLabelTemplate = contentChild(GaDataSelectOptionLabelDirective, ...(ngDevMode ? [{ debugName: "customOptionLabelTemplate" }] : []));
4787
+ customOptgroupLabelTemplate = contentChild(GaDataSelectOptgroupLabelDirective, ...(ngDevMode ? [{ debugName: "customOptgroupLabelTemplate" }] : []));
4788
+ inputSearch = viewChild('inputSearch', ...(ngDevMode ? [{ debugName: "inputSearch" }] : []));
4789
+ connectedOverlay = viewChild(CdkConnectedOverlay, ...(ngDevMode ? [{ debugName: "connectedOverlay" }] : []));
4842
4790
  id = computed(() => {
4843
4791
  return this.idInput() ?? this._uniqueId;
4844
- });
4792
+ }, ...(ngDevMode ? [{ debugName: "id" }] : []));
4845
4793
  isOpen = this._isOpen.asReadonly();
4846
- disabled = linkedSignal(() => this.disabledInput());
4794
+ disabled = linkedSignal(() => this.disabledInput(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
4847
4795
  menuStatusIcon = computed(() => {
4848
4796
  return this._isOpen() ? ChevronUp : ChevronDown;
4849
- });
4797
+ }, ...(ngDevMode ? [{ debugName: "menuStatusIcon" }] : []));
4850
4798
  selectedItem = computed(() => {
4851
4799
  if (!this.bindValue()) {
4852
4800
  return this.value();
4853
4801
  }
4854
4802
  return this.items().find((item) => this.compareFn()(this.getItemValue(item), this.value()));
4855
- });
4803
+ }, ...(ngDevMode ? [{ debugName: "selectedItem" }] : []));
4856
4804
  // Selected items for multi-select
4857
4805
  selectedItems = computed(() => {
4858
4806
  const value = this.value();
@@ -4860,7 +4808,7 @@ class GaDataSelectComponent {
4860
4808
  return [];
4861
4809
  }
4862
4810
  return this.items().filter((item) => value.some((v) => this.compareFn()(this.getItemValue(item), v)));
4863
- });
4811
+ }, ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
4864
4812
  // Template context factory for option labels
4865
4813
  getOptionLabelTemplateContext(item) {
4866
4814
  return {
@@ -4886,7 +4834,7 @@ class GaDataSelectComponent {
4886
4834
  const label = this.getItemLabel(item);
4887
4835
  return label.toLowerCase().includes(searchText);
4888
4836
  });
4889
- });
4837
+ }, ...(ngDevMode ? [{ debugName: "filteredItems" }] : []));
4890
4838
  // Returns selected values not in filtered items, ensuring cdkListbox maintains state during filtering
4891
4839
  virtualItems = computed(() => {
4892
4840
  const value = this.value();
@@ -4896,7 +4844,7 @@ class GaDataSelectComponent {
4896
4844
  return value.filter((val) => {
4897
4845
  return !this.filteredItems().some((item) => this.compareFn()(this.getItemValue(item), val));
4898
4846
  });
4899
- });
4847
+ }, ...(ngDevMode ? [{ debugName: "virtualItems" }] : []));
4900
4848
  groupedItems = computed(() => {
4901
4849
  const items = this.filteredItems();
4902
4850
  const groupByKey = this.groupBy();
@@ -4917,14 +4865,14 @@ class GaDataSelectComponent {
4917
4865
  label,
4918
4866
  items,
4919
4867
  }));
4920
- });
4868
+ }, ...(ngDevMode ? [{ debugName: "groupedItems" }] : []));
4921
4869
  hasNoOptions = computed(() => {
4922
4870
  return this.filteredItems().length === 0;
4923
- });
4871
+ }, ...(ngDevMode ? [{ debugName: "hasNoOptions" }] : []));
4924
4872
  activeDescendantId = computed(() => {
4925
4873
  const activeOption = this.gaOptions().find((option) => option.active());
4926
4874
  return activeOption?.cdkOption.id;
4927
- });
4875
+ }, ...(ngDevMode ? [{ debugName: "activeDescendantId" }] : []));
4928
4876
  hasValue = computed(() => {
4929
4877
  const value = this.value();
4930
4878
  if (!this.multiple() && (value === null || value === undefined)) {
@@ -4934,10 +4882,10 @@ class GaDataSelectComponent {
4934
4882
  return value.length > 0;
4935
4883
  }
4936
4884
  return true;
4937
- });
4885
+ }, ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
4938
4886
  invalid = computed(() => {
4939
4887
  return this.invalidInput() ?? this.implicitNgControlState.inError();
4940
- });
4888
+ }, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
4941
4889
  listboxCompareWith = computed(() => {
4942
4890
  return (o1, o2) => {
4943
4891
  if (o1 === null || o1 === undefined || o2 === null || o2 === undefined) {
@@ -4947,7 +4895,7 @@ class GaDataSelectComponent {
4947
4895
  }
4948
4896
  return this.compareFn()(o1, o2);
4949
4897
  };
4950
- });
4898
+ }, ...(ngDevMode ? [{ debugName: "listboxCompareWith" }] : []));
4951
4899
  // Helper method to get the label for an item
4952
4900
  getItemLabel(item) {
4953
4901
  const bindLabel = this.bindLabel();
@@ -5245,16 +5193,16 @@ class GaDataSelectComponent {
5245
5193
  });
5246
5194
  }
5247
5195
  }
5248
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5249
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaDataSelectComponent, isStandalone: true, selector: "ga-data-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, customFilter: { classPropertyName: "customFilter", publicName: "customFilter", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, noOptionsLabel: { classPropertyName: "noOptionsLabel", publicName: "noOptionsLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, bindValue: { classPropertyName: "bindValue", publicName: "bindValue", isSignal: true, isRequired: false, transformFunction: null }, bindLabel: { classPropertyName: "bindLabel", publicName: "bindLabel", isSignal: true, isRequired: false, transformFunction: null }, groupBy: { classPropertyName: "groupBy", publicName: "groupBy", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, withOptionInput: { classPropertyName: "withOptionInput", publicName: "withOptionInput", isSignal: true, isRequired: false, transformFunction: null }, valueDisplayLimit: { classPropertyName: "valueDisplayLimit", publicName: "valueDisplayLimit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", searchValueChange: "searchValueChange", opened: "opened", closed: "closed", optionsEndReached: "optionsEndReached" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "isOpen() ? cdkListbox()?.id : null", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "isOpen() && searchable() ? cdkListbox()?.id : null", "attr.aria-activedescendant": "isOpen() && !searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
5196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5197
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaDataSelectComponent, isStandalone: true, selector: "ga-data-select", inputs: { multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, compareFn: { classPropertyName: "compareFn", publicName: "compareFn", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, customFilter: { classPropertyName: "customFilter", publicName: "customFilter", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, noOptionsLabel: { classPropertyName: "noOptionsLabel", publicName: "noOptionsLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, bindValue: { classPropertyName: "bindValue", publicName: "bindValue", isSignal: true, isRequired: false, transformFunction: null }, bindLabel: { classPropertyName: "bindLabel", publicName: "bindLabel", isSignal: true, isRequired: false, transformFunction: null }, groupBy: { classPropertyName: "groupBy", publicName: "groupBy", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, withOptionInput: { classPropertyName: "withOptionInput", publicName: "withOptionInput", isSignal: true, isRequired: false, transformFunction: null }, valueDisplayLimit: { classPropertyName: "valueDisplayLimit", publicName: "valueDisplayLimit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", searchValueChange: "searchValueChange", opened: "opened", closed: "closed", optionsEndReached: "optionsEndReached" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "isOpen() ? cdkListbox()?.id : null", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "isOpen() && searchable() ? cdkListbox()?.id : null", "attr.aria-activedescendant": "isOpen() && !searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
5250
5198
  {
5251
5199
  provide: NG_VALUE_ACCESSOR,
5252
5200
  useExisting: forwardRef(() => GaDataSelectComponent),
5253
5201
  multi: true,
5254
5202
  },
5255
- ], queries: [{ propertyName: "customValueTemplate", first: true, predicate: GaDataSelectValueDirective, descendants: true, isSignal: true }, { propertyName: "customOptionLabelTemplate", first: true, predicate: GaDataSelectOptionLabelDirective, descendants: true, isSignal: true }, { propertyName: "customOptgroupLabelTemplate", first: true, predicate: GaDataSelectOptgroupLabelDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "dropdownElRef", first: true, predicate: ["selectDropdown"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "gaOptions", predicate: GaDataOptionComponent, descendants: true, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "gaDropdown", first: true, predicate: GaDataSelectDropdownComponent, descendants: true, isSignal: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!searchValue() || multiple())) {\n <ga-data-select-value\n [customValueTemplate]=\"customValueTemplate()?.templateRef\"\n />\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"searchValue() ?? ''\"\n (input)=\"open(); searchValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox()?.id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"i18n.searchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ga-data-select-dropdown\n [multiple]=\"multiple()\"\n [useActiveDescendant]=\"searchable()\"\n [navigationWrapDisabled]=\"loading()\"\n [compareWith]=\"listboxCompareWith()\"\n [loading]=\"loading()\"\n #selectDropdown\n >\n @if (hasNoOptions() && !loading()) {\n <div class=\"ga-dropdown__caption\">\n {{ noOptionsLabel() ?? i18n.noOptionsLabel }}\n </div>\n }\n\n @for (group of groupedItems(); track group.label) {\n @if (group.label) {\n <ga-data-optgroup\n [label]=\"group.label\"\n [customLabelTemplate]=\"customOptgroupLabelTemplate()?.templateRef\"\n [customLabelContext]=\"getOptgroupLabelTemplateContext(group)\"\n >\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"\n getOptionLabelTemplateContext(item)\n \"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n </ga-data-optgroup>\n } @else {\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n }\n }\n\n <!--\n Virtual items: Render hidden disabled options for all selected values.\n This ensures cdkListbox maintains state when filtering occurs - even when\n selected values don't match the currently visible filtered options, they\n remain valid options in the listbox, preventing state loss.\n -->\n @for (item of virtualItems(); track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n disabled\n hidden\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n\n <ga-intersection-trigger\n parentAsRoot\n rootMargin=\"0% 0% 20px 0%\"\n (trigger)=\"endReached()\"\n />\n </ga-data-select-dropdown>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaDataSelectValueComponent, selector: "ga-data-select-value", inputs: ["customValueTemplate"] }, { kind: "component", type: GaDataSelectDropdownComponent, selector: "ga-data-select-dropdown", inputs: ["loading"] }, { kind: "component", type: GaDataOptionComponent, selector: "ga-data-option", inputs: ["value", "disabled", "withInput"] }, { kind: "component", type: GaDataOptgroupComponent, selector: "ga-data-optgroup", inputs: ["label", "customLabelTemplate", "customLabelContext"] }, { kind: "component", type: GaIntersectionTriggerComponent, selector: "ga-intersection-trigger", inputs: ["rootElement", "rootMargin", "parentAsRoot"], outputs: ["trigger"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
5203
+ ], queries: [{ propertyName: "customValueTemplate", first: true, predicate: GaDataSelectValueDirective, descendants: true, isSignal: true }, { propertyName: "customOptionLabelTemplate", first: true, predicate: GaDataSelectOptionLabelDirective, descendants: true, isSignal: true }, { propertyName: "customOptgroupLabelTemplate", first: true, predicate: GaDataSelectOptgroupLabelDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "dropdownElRef", first: true, predicate: ["selectDropdown"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "gaOptions", predicate: GaDataOptionComponent, descendants: true, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "gaDropdown", first: true, predicate: GaDataSelectDropdownComponent, descendants: true, isSignal: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!searchValue() || multiple())) {\n <ga-data-select-value\n [customValueTemplate]=\"customValueTemplate()?.templateRef\"\n />\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"searchValue() ?? ''\"\n (input)=\"open(); searchValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox()?.id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"i18n.searchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ga-data-select-dropdown\n [multiple]=\"multiple()\"\n [useActiveDescendant]=\"searchable()\"\n [navigationWrapDisabled]=\"loading()\"\n [compareWith]=\"listboxCompareWith()\"\n [loading]=\"loading()\"\n #selectDropdown\n >\n @if (hasNoOptions() && !loading()) {\n <div class=\"ga-dropdown__caption\">\n {{ noOptionsLabel() ?? i18n.noOptionsLabel }}\n </div>\n }\n\n @for (group of groupedItems(); track group.label) {\n @if (group.label) {\n <ga-data-optgroup\n [label]=\"group.label\"\n [customLabelTemplate]=\"customOptgroupLabelTemplate()?.templateRef\"\n [customLabelContext]=\"getOptgroupLabelTemplateContext(group)\"\n >\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"\n getOptionLabelTemplateContext(item)\n \"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n </ga-data-optgroup>\n } @else {\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n }\n }\n\n <!--\n Virtual items: Render hidden disabled options for all selected values.\n This ensures cdkListbox maintains state when filtering occurs - even when\n selected values don't match the currently visible filtered options, they\n remain valid options in the listbox, preventing state loss.\n -->\n @for (item of virtualItems(); track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n disabled\n hidden\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n\n <ga-intersection-trigger\n parentAsRoot\n rootMargin=\"0% 0% 20px 0%\"\n (trigger)=\"endReached()\"\n />\n </ga-data-select-dropdown>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaDataSelectValueComponent, selector: "ga-data-select-value", inputs: ["customValueTemplate"] }, { kind: "component", type: GaDataSelectDropdownComponent, selector: "ga-data-select-dropdown", inputs: ["loading"] }, { kind: "component", type: GaDataOptionComponent, selector: "ga-data-option", inputs: ["value", "disabled", "withInput"] }, { kind: "component", type: GaDataOptgroupComponent, selector: "ga-data-optgroup", inputs: ["label", "customLabelTemplate", "customLabelContext"] }, { kind: "component", type: GaIntersectionTriggerComponent, selector: "ga-intersection-trigger", inputs: ["rootElement", "rootMargin", "parentAsRoot"], outputs: ["trigger"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
5256
5204
  }
5257
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectComponent, decorators: [{
5205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectComponent, decorators: [{
5258
5206
  type: Component,
5259
5207
  args: [{ selector: 'ga-data-select', imports: [
5260
5208
  GaIconModule,
@@ -5301,7 +5249,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5301
5249
  '(keydown.enter)': 'open(); $event.preventDefault()',
5302
5250
  '(keydown.backspace)': 'clearValue(); $event.preventDefault()',
5303
5251
  }, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!searchValue() || multiple())) {\n <ga-data-select-value\n [customValueTemplate]=\"customValueTemplate()?.templateRef\"\n />\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"searchValue() ?? ''\"\n (input)=\"open(); searchValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox()?.id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [attr.aria-label]=\"i18n.searchInputLabel\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ga-data-select-dropdown\n [multiple]=\"multiple()\"\n [useActiveDescendant]=\"searchable()\"\n [navigationWrapDisabled]=\"loading()\"\n [compareWith]=\"listboxCompareWith()\"\n [loading]=\"loading()\"\n #selectDropdown\n >\n @if (hasNoOptions() && !loading()) {\n <div class=\"ga-dropdown__caption\">\n {{ noOptionsLabel() ?? i18n.noOptionsLabel }}\n </div>\n }\n\n @for (group of groupedItems(); track group.label) {\n @if (group.label) {\n <ga-data-optgroup\n [label]=\"group.label\"\n [customLabelTemplate]=\"customOptgroupLabelTemplate()?.templateRef\"\n [customLabelContext]=\"getOptgroupLabelTemplateContext(group)\"\n >\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"\n getOptionLabelTemplateContext(item)\n \"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n </ga-data-optgroup>\n } @else {\n @for (item of group.items; track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n [disabled]=\"getItemDisabled(item)\"\n [typeaheadLabel]=\"getItemTypeaheadLabel(item)\"\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n }\n }\n\n <!--\n Virtual items: Render hidden disabled options for all selected values.\n This ensures cdkListbox maintains state when filtering occurs - even when\n selected values don't match the currently visible filtered options, they\n remain valid options in the listbox, preventing state loss.\n -->\n @for (item of virtualItems(); track getItemValue(item)) {\n <ga-data-option\n [value]=\"getItemValue(item)\"\n [withInput]=\"withOptionInput() ?? multiple()\"\n disabled\n hidden\n >\n @if (customOptionLabelTemplate(); as labelTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate.templateRef\"\n [ngTemplateOutletContext]=\"getOptionLabelTemplateContext(item)\"\n />\n } @else {\n {{ getItemLabel(item) }}\n }\n </ga-data-option>\n }\n\n <ga-intersection-trigger\n parentAsRoot\n rootMargin=\"0% 0% 20px 0%\"\n (trigger)=\"endReached()\"\n />\n </ga-data-select-dropdown>\n</ng-template>\n" }]
5304
- }], ctorParameters: () => [] });
5252
+ }], ctorParameters: () => [], propDecorators: { multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], compareFn: [{ type: i0.Input, args: [{ isSignal: true, alias: "compareFn", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], customFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "customFilter", required: false }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], clearableLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearableLabel", required: false }] }], noOptionsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noOptionsLabel", required: false }] }], canSelectNullable: [{ type: i0.Input, args: [{ isSignal: true, alias: "canSelectNullable", required: false }] }], leftIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "leftIcon", required: false }] }], idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], bindValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "bindValue", required: false }] }], bindLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "bindLabel", required: false }] }], groupBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupBy", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], withOptionInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "withOptionInput", required: false }] }], valueDisplayLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueDisplayLimit", required: false }] }], searchValueChange: [{ type: i0.Output, args: ["searchValueChange"] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], optionsEndReached: [{ type: i0.Output, args: ["optionsEndReached"] }], dropdownElRef: [{ type: i0.ViewChild, args: ['selectDropdown', { ...{
5253
+ read: ElementRef,
5254
+ }, isSignal: true }] }], gaOptions: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => GaDataOptionComponent), { isSignal: true }] }], cdkListbox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkListbox), { isSignal: true }] }], gaDropdown: [{ type: i0.ViewChild, args: [i0.forwardRef(() => GaDataSelectDropdownComponent), { isSignal: true }] }], customValueTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaDataSelectValueDirective), { isSignal: true }] }], customOptionLabelTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaDataSelectOptionLabelDirective), { isSignal: true }] }], customOptgroupLabelTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaDataSelectOptgroupLabelDirective), { isSignal: true }] }], inputSearch: [{ type: i0.ViewChild, args: ['inputSearch', { isSignal: true }] }], connectedOverlay: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkConnectedOverlay), { isSignal: true }] }] } });
5305
5255
 
5306
5256
  /**
5307
5257
  * @internal - Internal validator provider for ga-data-select required validation
@@ -5315,10 +5265,10 @@ const GA_DATA_SELECT_REQUIRED_VALIDATOR = {
5315
5265
  * @internal - Internal directive for ga-data-select required validation
5316
5266
  */
5317
5267
  class GaDataSelectRequiredValidator extends RequiredValidator {
5318
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5319
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaDataSelectRequiredValidator, isStandalone: true, selector: "ga-data-select[required][formControlName], ga-data-select[required][formControl], ga-data-select[required][ngModel]", providers: [GA_DATA_SELECT_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
5268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5269
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaDataSelectRequiredValidator, isStandalone: true, selector: "ga-data-select[required][formControlName], ga-data-select[required][formControl], ga-data-select[required][ngModel]", providers: [GA_DATA_SELECT_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 });
5320
5270
  }
5321
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectRequiredValidator, decorators: [{
5271
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectRequiredValidator, decorators: [{
5322
5272
  type: Directive,
5323
5273
  args: [{
5324
5274
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -5328,8 +5278,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5328
5278
  }] });
5329
5279
 
5330
5280
  class GaDataSelectModule {
5331
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5332
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectModule, imports: [GaDataSelectComponent,
5281
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5282
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectModule, imports: [GaDataSelectComponent,
5333
5283
  GaDataSelectRequiredValidator,
5334
5284
  GaDataSelectValueDirective,
5335
5285
  GaDataSelectOptionLabelDirective,
@@ -5338,9 +5288,9 @@ class GaDataSelectModule {
5338
5288
  GaDataSelectValueDirective,
5339
5289
  GaDataSelectOptionLabelDirective,
5340
5290
  GaDataSelectOptgroupLabelDirective] });
5341
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectModule, imports: [GaDataSelectComponent] });
5291
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectModule, imports: [GaDataSelectComponent] });
5342
5292
  }
5343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaDataSelectModule, decorators: [{
5293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaDataSelectModule, decorators: [{
5344
5294
  type: NgModule,
5345
5295
  args: [{
5346
5296
  imports: [
@@ -5374,48 +5324,36 @@ class GaSwitchComponent {
5374
5324
  /** @ignore */
5375
5325
  _uniqueId = `ga-switch-${++nextUniqueId$2}`;
5376
5326
  /** @ignore */
5377
- tabindex = input(0, {
5378
- alias: 'tabindex',
5379
- });
5327
+ tabindex = input(0, { ...(ngDevMode ? { debugName: "tabindex" } : {}), alias: 'tabindex' });
5380
5328
  /** @ignore */
5381
5329
  _onTouched;
5382
5330
  /** @ignore */
5383
5331
  _onModelChanged;
5384
- checked = input(false, {
5385
- transform: booleanAttribute,
5386
- });
5387
- disabled = input(false, {
5388
- transform: booleanAttribute,
5389
- });
5390
- ariaInvalid = input(null, { alias: 'aria-invalid' });
5391
- label = input('');
5392
- ariaLabel = input(null, { alias: 'aria-label' });
5393
- ariaLabelledby = input(null, {
5394
- alias: 'aria-labelledby',
5395
- });
5396
- ariaDescribedby = input(null, {
5397
- alias: 'aria-describedby',
5398
- });
5399
- ariaErrormessage = input(null, {
5400
- alias: 'aria-errormessage',
5401
- });
5402
- nameInput = input(null, { alias: 'name' });
5403
- id = input(null);
5404
- disabledModel = linkedSignal(() => this.disabled());
5405
- checkedModel = linkedSignal(() => this.checked());
5332
+ checked = input(false, { ...(ngDevMode ? { debugName: "checked" } : {}), transform: booleanAttribute });
5333
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
5334
+ ariaInvalid = input(null, { ...(ngDevMode ? { debugName: "ariaInvalid" } : {}), alias: 'aria-invalid' });
5335
+ label = input('', ...(ngDevMode ? [{ debugName: "label" }] : []));
5336
+ ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : {}), alias: 'aria-label' });
5337
+ ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : {}), alias: 'aria-labelledby' });
5338
+ ariaDescribedby = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : {}), alias: 'aria-describedby' });
5339
+ ariaErrormessage = input(null, { ...(ngDevMode ? { debugName: "ariaErrormessage" } : {}), alias: 'aria-errormessage' });
5340
+ nameInput = input(null, { ...(ngDevMode ? { debugName: "nameInput" } : {}), alias: 'name' });
5341
+ id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : []));
5342
+ disabledModel = linkedSignal(() => this.disabled(), ...(ngDevMode ? [{ debugName: "disabledModel" }] : []));
5343
+ checkedModel = linkedSignal(() => this.checked(), ...(ngDevMode ? [{ debugName: "checkedModel" }] : []));
5406
5344
  checkedChange = output();
5407
5345
  /** @ignore */
5408
- inputId = computed(() => this.id() ?? this._uniqueId);
5346
+ inputId = computed(() => this.id() ?? this._uniqueId, ...(ngDevMode ? [{ debugName: "inputId" }] : []));
5409
5347
  /** @ignore */
5410
5348
  name = computed(() => {
5411
5349
  return (this.nameInput() ?? this.implicitNgControlState.name() ?? this._uniqueId);
5412
- });
5350
+ }, ...(ngDevMode ? [{ debugName: "name" }] : []));
5413
5351
  /** @ignore */
5414
5352
  invalidComputed = computed(() => {
5415
5353
  return this.ariaInvalid()
5416
5354
  ? this.ariaInvalid() === 'true'
5417
5355
  : this.implicitNgControlState.inError();
5418
- });
5356
+ }, ...(ngDevMode ? [{ debugName: "invalidComputed" }] : []));
5419
5357
  /** @ignore */
5420
5358
  onInputChange(event) {
5421
5359
  const target = event.target;
@@ -5442,10 +5380,10 @@ class GaSwitchComponent {
5442
5380
  setDisabledState(disabled) {
5443
5381
  this.disabledModel.set(disabled);
5444
5382
  }
5445
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5446
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaSwitchComponent, isStandalone: true, selector: "ga-switch", inputs: { tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null }, nameInput: { classPropertyName: "nameInput", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class.ga-switch--checked": "checkedModel()", "class.ga-switch--disabled": "disabledModel()", "class.ga-switch--invalid": "invalidComputed()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.aria-errormessage": "null", "attr.aria-invalid": "null" }, classAttribute: "ga-switch" }, providers: [SWITCH_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n class=\"ga-switch__input\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checkedModel()\"\n [disabled]=\"disabledModel()\"\n [attr.tabindex]=\"tabindex()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n [attr.aria-invalid]=\"invalidComputed() ? 'true' : null\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-switch__marker\">\n <ga-icon\n [icon]=\"icons.Check\"\n class=\"ga-switch__check-icon\"\n [size]=\"16\"\n aria-hidden=\"true\"\n />\n <span class=\"ga-switch__slider\"></span>\n</div>\n@if (label()) {\n <label [attr.for]=\"inputId()\" class=\"ga-switch__label\">{{ label() }}</label>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5383
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5384
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaSwitchComponent, isStandalone: true, selector: "ga-switch", inputs: { tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaErrormessage: { classPropertyName: "ariaErrormessage", publicName: "aria-errormessage", isSignal: true, isRequired: false, transformFunction: null }, nameInput: { classPropertyName: "nameInput", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class.ga-switch--checked": "checkedModel()", "class.ga-switch--disabled": "disabledModel()", "class.ga-switch--invalid": "invalidComputed()", "attr.id": "null", "attr.tabindex": "null", "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null", "attr.aria-errormessage": "null", "attr.aria-invalid": "null" }, classAttribute: "ga-switch" }, providers: [SWITCH_CONTROL_VALUE_ACCESSOR], ngImport: i0, template: "<input\n #input\n type=\"checkbox\"\n class=\"ga-switch__input\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checkedModel()\"\n [disabled]=\"disabledModel()\"\n [attr.tabindex]=\"tabindex()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n [attr.aria-invalid]=\"invalidComputed() ? 'true' : null\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-switch__marker\">\n <ga-icon\n [icon]=\"icons.Check\"\n class=\"ga-switch__check-icon\"\n [size]=\"16\"\n aria-hidden=\"true\"\n />\n <span class=\"ga-switch__slider\"></span>\n</div>\n@if (label()) {\n <label [attr.for]=\"inputId()\" class=\"ga-switch__label\">{{ label() }}</label>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
5447
5385
  }
5448
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchComponent, decorators: [{
5386
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchComponent, decorators: [{
5449
5387
  type: Component,
5450
5388
  args: [{ selector: 'ga-switch', imports: [GaIconModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [SWITCH_CONTROL_VALUE_ACCESSOR], host: {
5451
5389
  class: 'ga-switch',
@@ -5460,14 +5398,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5460
5398
  '[attr.aria-errormessage]': 'null',
5461
5399
  '[attr.aria-invalid]': 'null',
5462
5400
  }, template: "<input\n #input\n type=\"checkbox\"\n class=\"ga-switch__input\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checkedModel()\"\n [disabled]=\"disabledModel()\"\n [attr.tabindex]=\"tabindex()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-errormessage]=\"ariaErrormessage()\"\n [attr.aria-invalid]=\"invalidComputed() ? 'true' : null\"\n (change)=\"onInputChange($event)\"\n (blur)=\"onBlur()\"\n/>\n<div class=\"ga-switch__marker\">\n <ga-icon\n [icon]=\"icons.Check\"\n class=\"ga-switch__check-icon\"\n [size]=\"16\"\n aria-hidden=\"true\"\n />\n <span class=\"ga-switch__slider\"></span>\n</div>\n@if (label()) {\n <label [attr.for]=\"inputId()\" class=\"ga-switch__label\">{{ label() }}</label>\n}\n" }]
5463
- }] });
5401
+ }], propDecorators: { tabindex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabindex", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], ariaInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaErrormessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-errormessage", required: false }] }], nameInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }] } });
5464
5402
 
5465
5403
  class GaSwitchModule {
5466
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5467
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchModule, imports: [GaSwitchComponent], exports: [GaSwitchComponent] });
5468
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchModule, imports: [GaSwitchComponent] });
5404
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5405
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchModule, imports: [GaSwitchComponent], exports: [GaSwitchComponent] });
5406
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchModule, imports: [GaSwitchComponent] });
5469
5407
  }
5470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSwitchModule, decorators: [{
5408
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaSwitchModule, decorators: [{
5471
5409
  type: NgModule,
5472
5410
  args: [{
5473
5411
  imports: [GaSwitchComponent],
@@ -5476,27 +5414,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5476
5414
  }] });
5477
5415
 
5478
5416
  class GaLinkDirective {
5479
- variant = input('', { alias: 'gaLink' });
5480
- size = input('medium', { alias: 'gaLinkSize' });
5481
- disabled = input(false, {
5482
- alias: 'gaLinkDisabled',
5483
- transform: booleanAttribute,
5484
- });
5485
- leadingIcon = input('', {
5486
- alias: 'gaLinkLeadingIcon',
5487
- });
5488
- trailingIcon = input('', {
5489
- alias: 'gaLinkTrailingIcon',
5490
- });
5417
+ variant = input('', { ...(ngDevMode ? { debugName: "variant" } : {}), alias: 'gaLink' });
5418
+ size = input('medium', { ...(ngDevMode ? { debugName: "size" } : {}), alias: 'gaLinkSize' });
5419
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), alias: 'gaLinkDisabled',
5420
+ transform: booleanAttribute });
5421
+ leadingIcon = input('', { ...(ngDevMode ? { debugName: "leadingIcon" } : {}), alias: 'gaLinkLeadingIcon' });
5422
+ trailingIcon = input('', { ...(ngDevMode ? { debugName: "trailingIcon" } : {}), alias: 'gaLinkTrailingIcon' });
5491
5423
  elementRef = inject(ElementRef);
5492
- iconSize = computed(() => this.size() === 'large' ? 24 : 16);
5424
+ iconSize = computed(() => this.size() === 'large' ? 24 : 16, ...(ngDevMode ? [{ debugName: "iconSize" }] : []));
5493
5425
  onClick(event) {
5494
5426
  if (this.disabled()) {
5495
5427
  event.preventDefault();
5496
5428
  }
5497
5429
  }
5498
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
5499
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaLinkDirective, isStandalone: true, selector: "a[gaLink], button[gaLink]", inputs: { variant: { classPropertyName: "variant", publicName: "gaLink", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "gaLinkSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "gaLinkDisabled", isSignal: true, isRequired: false, transformFunction: null }, leadingIcon: { classPropertyName: "leadingIcon", publicName: "gaLinkLeadingIcon", isSignal: true, isRequired: false, transformFunction: null }, trailingIcon: { classPropertyName: "trailingIcon", publicName: "gaLinkTrailingIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.ga-link--inline": "variant() === 'inline'", "class.ga-link--small": "size() === 'small'", "class.ga-link--large": "size() === 'large'", "class.ga-link--disabled": "disabled()", "attr.aria-disabled": "disabled()", "attr.tabindex": "disabled() ? -1 : 0", "attr.role": "elementRef.nativeElement.tagName.toLowerCase() === 'button' ? 'link' : null" }, classAttribute: "ga-link" }, ngImport: i0, template: `
5430
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLinkDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
5431
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaLinkDirective, isStandalone: true, selector: "a[gaLink], button[gaLink]", inputs: { variant: { classPropertyName: "variant", publicName: "gaLink", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "gaLinkSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "gaLinkDisabled", isSignal: true, isRequired: false, transformFunction: null }, leadingIcon: { classPropertyName: "leadingIcon", publicName: "gaLinkLeadingIcon", isSignal: true, isRequired: false, transformFunction: null }, trailingIcon: { classPropertyName: "trailingIcon", publicName: "gaLinkTrailingIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.ga-link--inline": "variant() === 'inline'", "class.ga-link--small": "size() === 'small'", "class.ga-link--large": "size() === 'large'", "class.ga-link--disabled": "disabled()", "attr.aria-disabled": "disabled()", "attr.tabindex": "disabled() ? -1 : 0", "attr.role": "elementRef.nativeElement.tagName.toLowerCase() === 'button' ? 'link' : null" }, classAttribute: "ga-link" }, ngImport: i0, template: `
5500
5432
  @if (leadingIcon()) {
5501
5433
  <ga-icon
5502
5434
  class="ga-link__icon"
@@ -5514,7 +5446,7 @@ class GaLinkDirective {
5514
5446
  }
5515
5447
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
5516
5448
  }
5517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLinkDirective, decorators: [{
5449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLinkDirective, decorators: [{
5518
5450
  type: Component,
5519
5451
  args: [{
5520
5452
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -5549,14 +5481,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5549
5481
  },
5550
5482
  imports: [GaIconModule],
5551
5483
  }]
5552
- }] });
5484
+ }], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaLink", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaLinkSize", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaLinkDisabled", required: false }] }], leadingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaLinkLeadingIcon", required: false }] }], trailingIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "gaLinkTrailingIcon", required: false }] }] } });
5553
5485
 
5554
5486
  class GaLinkModule {
5555
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5556
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaLinkModule, imports: [GaLinkDirective], exports: [GaLinkDirective] });
5557
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLinkModule, imports: [GaLinkDirective] });
5487
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5488
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaLinkModule, imports: [GaLinkDirective], exports: [GaLinkDirective] });
5489
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLinkModule, imports: [GaLinkDirective] });
5558
5490
  }
5559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaLinkModule, decorators: [{
5491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaLinkModule, decorators: [{
5560
5492
  type: NgModule,
5561
5493
  args: [{
5562
5494
  imports: [GaLinkDirective],
@@ -5565,37 +5497,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5565
5497
  }] });
5566
5498
 
5567
5499
  class GaTabContentDirective {
5568
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5569
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.4", type: GaTabContentDirective, isStandalone: true, selector: "ng-template[gaTabContent]", ngImport: i0 });
5500
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5501
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.4", type: GaTabContentDirective, isStandalone: true, selector: "ng-template[gaTabContent]", ngImport: i0 });
5570
5502
  }
5571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabContentDirective, decorators: [{
5503
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabContentDirective, decorators: [{
5572
5504
  type: Directive,
5573
5505
  args: [{
5574
5506
  selector: 'ng-template[gaTabContent]',
5575
5507
  }]
5576
5508
  }] });
5577
5509
  class GaTabComponent {
5578
- title = input('');
5579
- disabled = input(false, { transform: booleanAttribute });
5580
- rightIcon = input();
5581
- rightIconColor = input();
5510
+ title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
5511
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
5512
+ rightIcon = input(...(ngDevMode ? [undefined, { debugName: "rightIcon" }] : []));
5513
+ rightIconColor = input(...(ngDevMode ? [undefined, { debugName: "rightIconColor" }] : []));
5582
5514
  /** @ignore */
5583
- explicitContent = contentChild(GaTabContentDirective, {
5584
- read: TemplateRef,
5585
- });
5515
+ explicitContent = contentChild(GaTabContentDirective, { ...(ngDevMode ? { debugName: "explicitContent" } : {}), read: TemplateRef });
5586
5516
  /** @ignore */
5587
5517
  implicitContent = viewChild.required(TemplateRef);
5588
5518
  /** @ignore */
5589
5519
  contentTpl = computed(() => {
5590
5520
  return this.explicitContent() ?? this.implicitContent();
5591
- });
5592
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5593
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.4", type: GaTabComponent, isStandalone: true, selector: "ga-tab", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, rightIcon: { classPropertyName: "rightIcon", publicName: "rightIcon", isSignal: true, isRequired: false, transformFunction: null }, rightIconColor: { classPropertyName: "rightIconColor", publicName: "rightIconColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "explicitContent", first: true, predicate: GaTabContentDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n" });
5521
+ }, ...(ngDevMode ? [{ debugName: "contentTpl" }] : []));
5522
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5523
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.0.4", type: GaTabComponent, isStandalone: true, selector: "ga-tab", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, rightIcon: { classPropertyName: "rightIcon", publicName: "rightIcon", isSignal: true, isRequired: false, transformFunction: null }, rightIconColor: { classPropertyName: "rightIconColor", publicName: "rightIconColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "explicitContent", first: true, predicate: GaTabContentDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "implicitContent", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n" });
5594
5524
  }
5595
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabComponent, decorators: [{
5525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabComponent, decorators: [{
5596
5526
  type: Component,
5597
5527
  args: [{ selector: 'ga-tab', template: "<ng-template><ng-content></ng-content></ng-template>\n" }]
5598
- }] });
5528
+ }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], rightIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightIcon", required: false }] }], rightIconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightIconColor", required: false }] }], explicitContent: [{ type: i0.ContentChild, args: [i0.forwardRef(() => GaTabContentDirective), { ...{
5529
+ read: TemplateRef,
5530
+ }, isSignal: true }] }], implicitContent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TemplateRef), { isSignal: true }] }] } });
5599
5531
 
5600
5532
  // Increasing integer for generating unique id for tabpanels.
5601
5533
  let nextUniqueId$1 = 0;
@@ -5603,20 +5535,16 @@ class GaTabsComponent {
5603
5535
  /** @ignore */
5604
5536
  uniqueId = `ga-tabs-${nextUniqueId$1++}`;
5605
5537
  /** @ignore */
5606
- selectedTab = signal(null);
5538
+ selectedTab = signal(null, ...(ngDevMode ? [{ debugName: "selectedTab" }] : []));
5607
5539
  /** @ignore */
5608
- tabs = contentChildren(GaTabComponent);
5609
- withKeyline = input(false, { transform: booleanAttribute });
5610
- orientation = input('horizontal');
5611
- ariaLabel = input(undefined, { alias: 'aria-label' });
5612
- ariaLabelledby = input(undefined, {
5613
- alias: 'aria-labelledby',
5614
- });
5615
- selectedIndexInput = input(0, {
5616
- transform: numberAttribute,
5617
- alias: 'selectedIndex',
5618
- });
5619
- selectedIndex = linkedSignal(() => this.selectedIndexInput());
5540
+ tabs = contentChildren(GaTabComponent, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
5541
+ withKeyline = input(false, { ...(ngDevMode ? { debugName: "withKeyline" } : {}), transform: booleanAttribute });
5542
+ orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
5543
+ ariaLabel = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabel" } : {}), alias: 'aria-label' });
5544
+ ariaLabelledby = input(undefined, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : {}), alias: 'aria-labelledby' });
5545
+ selectedIndexInput = input(0, { ...(ngDevMode ? { debugName: "selectedIndexInput" } : {}), transform: numberAttribute,
5546
+ alias: 'selectedIndex' });
5547
+ selectedIndex = linkedSignal(() => this.selectedIndexInput(), ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
5620
5548
  beforeTabChange = output();
5621
5549
  selectedIndexChange = output();
5622
5550
  selectedTabChange = output();
@@ -5673,10 +5601,10 @@ class GaTabsComponent {
5673
5601
  }
5674
5602
  }
5675
5603
  }
5676
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5677
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaTabsComponent, isStandalone: true, selector: "ga-tabs", inputs: { withKeyline: { classPropertyName: "withKeyline", publicName: "withKeyline", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, selectedIndexInput: { classPropertyName: "selectedIndexInput", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { beforeTabChange: "beforeTabChange", selectedIndexChange: "selectedIndexChange", selectedTabChange: "selectedTabChange" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "class.ga-tabs-container--horizontal": "orientation() === 'horizontal'", "class.ga-tabs-container--vertical": "orientation() === 'vertical'" } }, queries: [{ propertyName: "tabs", predicate: GaTabComponent, isSignal: true }], ngImport: i0, template: "<ul\n role=\"tablist\"\n [attr.id]=\"uniqueId\"\n class=\"ga-tabs\"\n [class.ga-tabs--horizontal]=\"orientation() === 'horizontal'\"\n [class.ga-tabs--vertical]=\"orientation() === 'vertical'\"\n [class.ga-tabs--keyline]=\"withKeyline()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-orientation]=\"orientation()\"\n>\n @for (tab of tabs(); track tab; let i = $index) {\n <li\n [attr.id]=\"uniqueId + '-tablabel-' + i\"\n class=\"ga-tabs__tab\"\n [class.ga-tabs__tab--selected]=\"i === selectedIndex()\"\n [class.ga-tabs__tab--disabled]=\"tab.disabled()\"\n role=\"tab\"\n [tabindex]=\"tab.disabled() ? -1 : undefined\"\n (click)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.enter)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.space)=\"onTabClick(i); $event.preventDefault()\"\n [attr.aria-selected]=\"i === selectedIndex()\"\n [attr.aria-disabled]=\"tab.disabled()\"\n [attr.aria-controls]=\"uniqueId + '-tabpanel-' + i\"\n >\n {{ tab.title() }}\n @let tabTitleIcon = tab.rightIcon();\n @if (tabTitleIcon) {\n <ga-icon\n [icon]=\"tabTitleIcon\"\n size=\"16\"\n class=\"ga-tabs__tab-icon\"\n [color]=\"tab.rightIconColor()\"\n />\n }\n </li>\n }\n</ul>\n\n@for (tab of tabs(); track tab; let i = $index) {\n @if (tab === selectedTab()) {\n <div\n role=\"tabpanel\"\n [attr.id]=\"uniqueId + '-tabpanel-' + i\"\n [attr.aria-labelledby]=\"uniqueId + '-tablabel-' + i\"\n >\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl()\"></ng-template>\n </div>\n }\n}\n", styles: [":host{display:flex}:host.ga-tabs-container--horizontal{flex-direction:column}:host.ga-tabs-container--vertical{flex-direction:row}:host .ga-tabs{overflow:auto;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
5604
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5605
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.4", type: GaTabsComponent, isStandalone: true, selector: "ga-tabs", inputs: { withKeyline: { classPropertyName: "withKeyline", publicName: "withKeyline", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, selectedIndexInput: { classPropertyName: "selectedIndexInput", publicName: "selectedIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { beforeTabChange: "beforeTabChange", selectedIndexChange: "selectedIndexChange", selectedTabChange: "selectedTabChange" }, host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "class.ga-tabs-container--horizontal": "orientation() === 'horizontal'", "class.ga-tabs-container--vertical": "orientation() === 'vertical'" } }, queries: [{ propertyName: "tabs", predicate: GaTabComponent, isSignal: true }], ngImport: i0, template: "<ul\n role=\"tablist\"\n [attr.id]=\"uniqueId\"\n class=\"ga-tabs\"\n [class.ga-tabs--horizontal]=\"orientation() === 'horizontal'\"\n [class.ga-tabs--vertical]=\"orientation() === 'vertical'\"\n [class.ga-tabs--keyline]=\"withKeyline()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-orientation]=\"orientation()\"\n>\n @for (tab of tabs(); track tab; let i = $index) {\n <li\n [attr.id]=\"uniqueId + '-tablabel-' + i\"\n class=\"ga-tabs__tab\"\n [class.ga-tabs__tab--selected]=\"i === selectedIndex()\"\n [class.ga-tabs__tab--disabled]=\"tab.disabled()\"\n role=\"tab\"\n [tabindex]=\"tab.disabled() ? -1 : undefined\"\n (click)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.enter)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.space)=\"onTabClick(i); $event.preventDefault()\"\n [attr.aria-selected]=\"i === selectedIndex()\"\n [attr.aria-disabled]=\"tab.disabled()\"\n [attr.aria-controls]=\"uniqueId + '-tabpanel-' + i\"\n >\n {{ tab.title() }}\n @let tabTitleIcon = tab.rightIcon();\n @if (tabTitleIcon) {\n <ga-icon\n [icon]=\"tabTitleIcon\"\n size=\"16\"\n class=\"ga-tabs__tab-icon\"\n [color]=\"tab.rightIconColor()\"\n />\n }\n </li>\n }\n</ul>\n\n@for (tab of tabs(); track tab; let i = $index) {\n @if (tab === selectedTab()) {\n <div\n role=\"tabpanel\"\n [attr.id]=\"uniqueId + '-tabpanel-' + i\"\n [attr.aria-labelledby]=\"uniqueId + '-tablabel-' + i\"\n >\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl()\"></ng-template>\n </div>\n }\n}\n", styles: [":host{display:flex}:host.ga-tabs-container--horizontal{flex-direction:column}:host.ga-tabs-container--vertical{flex-direction:row}:host .ga-tabs{overflow:auto;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
5678
5606
  }
5679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabsComponent, decorators: [{
5607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabsComponent, decorators: [{
5680
5608
  type: Component,
5681
5609
  args: [{ selector: 'ga-tabs', imports: [NgTemplateOutlet, GaIconComponent], host: {
5682
5610
  '[attr.aria-label]': 'null',
@@ -5684,14 +5612,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5684
5612
  '[class.ga-tabs-container--horizontal]': "orientation() === 'horizontal'",
5685
5613
  '[class.ga-tabs-container--vertical]': "orientation() === 'vertical'",
5686
5614
  }, template: "<ul\n role=\"tablist\"\n [attr.id]=\"uniqueId\"\n class=\"ga-tabs\"\n [class.ga-tabs--horizontal]=\"orientation() === 'horizontal'\"\n [class.ga-tabs--vertical]=\"orientation() === 'vertical'\"\n [class.ga-tabs--keyline]=\"withKeyline()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-orientation]=\"orientation()\"\n>\n @for (tab of tabs(); track tab; let i = $index) {\n <li\n [attr.id]=\"uniqueId + '-tablabel-' + i\"\n class=\"ga-tabs__tab\"\n [class.ga-tabs__tab--selected]=\"i === selectedIndex()\"\n [class.ga-tabs__tab--disabled]=\"tab.disabled()\"\n role=\"tab\"\n [tabindex]=\"tab.disabled() ? -1 : undefined\"\n (click)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.enter)=\"onTabClick(i); $event.preventDefault()\"\n (keydown.space)=\"onTabClick(i); $event.preventDefault()\"\n [attr.aria-selected]=\"i === selectedIndex()\"\n [attr.aria-disabled]=\"tab.disabled()\"\n [attr.aria-controls]=\"uniqueId + '-tabpanel-' + i\"\n >\n {{ tab.title() }}\n @let tabTitleIcon = tab.rightIcon();\n @if (tabTitleIcon) {\n <ga-icon\n [icon]=\"tabTitleIcon\"\n size=\"16\"\n class=\"ga-tabs__tab-icon\"\n [color]=\"tab.rightIconColor()\"\n />\n }\n </li>\n }\n</ul>\n\n@for (tab of tabs(); track tab; let i = $index) {\n @if (tab === selectedTab()) {\n <div\n role=\"tabpanel\"\n [attr.id]=\"uniqueId + '-tabpanel-' + i\"\n [attr.aria-labelledby]=\"uniqueId + '-tablabel-' + i\"\n >\n <ng-template [ngTemplateOutlet]=\"tab.contentTpl()\"></ng-template>\n </div>\n }\n}\n", styles: [":host{display:flex}:host.ga-tabs-container--horizontal{flex-direction:column}:host.ga-tabs-container--vertical{flex-direction:row}:host .ga-tabs{overflow:auto;white-space:nowrap}\n"] }]
5687
- }], ctorParameters: () => [] });
5615
+ }], ctorParameters: () => [], propDecorators: { tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => GaTabComponent), { isSignal: true }] }], withKeyline: [{ type: i0.Input, args: [{ isSignal: true, alias: "withKeyline", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], selectedIndexInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedIndex", required: false }] }], beforeTabChange: [{ type: i0.Output, args: ["beforeTabChange"] }], selectedIndexChange: [{ type: i0.Output, args: ["selectedIndexChange"] }], selectedTabChange: [{ type: i0.Output, args: ["selectedTabChange"] }] } });
5688
5616
 
5689
5617
  class GaTabsModule {
5690
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5691
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaTabsModule, imports: [GaTabsComponent, GaTabComponent, GaTabContentDirective], exports: [GaTabsComponent, GaTabComponent, GaTabContentDirective] });
5692
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabsModule, imports: [GaTabsComponent] });
5618
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5619
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaTabsModule, imports: [GaTabsComponent, GaTabComponent, GaTabContentDirective], exports: [GaTabsComponent, GaTabComponent, GaTabContentDirective] });
5620
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabsModule, imports: [GaTabsComponent] });
5693
5621
  }
5694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTabsModule, decorators: [{
5622
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTabsModule, decorators: [{
5695
5623
  type: NgModule,
5696
5624
  args: [{
5697
5625
  imports: [GaTabsComponent, GaTabComponent, GaTabContentDirective],
@@ -5708,18 +5636,14 @@ class GaTextAreaDirective {
5708
5636
  renderer = inject(Renderer2);
5709
5637
  elementRef = inject(ElementRef);
5710
5638
  uniqueId = `ga-text-area-${++nextUniqueId}`;
5711
- idInput = input(undefined, { alias: 'id' });
5712
- disabledInput = input(false, {
5713
- alias: 'disabled',
5714
- transform: booleanAttribute,
5715
- });
5716
- invalidInput = input(undefined, {
5717
- alias: 'invalid',
5718
- transform: booleanAttribute,
5719
- });
5720
- disabled = computed(() => this.disabledInput() ?? this.implicitNgControlState.disabled());
5721
- invalid = computed(() => this.invalidInput() ?? this.implicitNgControlState.inError());
5722
- id = computed(() => this.idInput() ?? this.uniqueId);
5639
+ idInput = input(undefined, { ...(ngDevMode ? { debugName: "idInput" } : {}), alias: 'id' });
5640
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled',
5641
+ transform: booleanAttribute });
5642
+ invalidInput = input(undefined, { ...(ngDevMode ? { debugName: "invalidInput" } : {}), alias: 'invalid',
5643
+ transform: booleanAttribute });
5644
+ disabled = computed(() => this.disabledInput() ?? this.implicitNgControlState.disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
5645
+ invalid = computed(() => this.invalidInput() ?? this.implicitNgControlState.inError(), ...(ngDevMode ? [{ debugName: "invalid" }] : []));
5646
+ id = computed(() => this.idInput() ?? this.uniqueId, ...(ngDevMode ? [{ debugName: "id" }] : []));
5723
5647
  constructor(placeholder) {
5724
5648
  const formFieldConnector = this.formFieldConnector;
5725
5649
  if (formFieldConnector) {
@@ -5731,10 +5655,10 @@ class GaTextAreaDirective {
5731
5655
  this.renderer.setAttribute(this.elementRef.nativeElement, 'placeholder', '');
5732
5656
  }
5733
5657
  }
5734
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaDirective, deps: [{ token: 'placeholder', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
5735
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaTextAreaDirective, isStandalone: true, selector: "[gaTextArea]", inputs: { idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-text-area--invalid": "invalid()", "attr.id": "id()", "attr.disabled": "disabled() ? true : null" }, classAttribute: "ga-text-area" }, ngImport: i0 });
5658
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaDirective, deps: [{ token: 'placeholder', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
5659
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.4", type: GaTextAreaDirective, isStandalone: true, selector: "[gaTextArea]", inputs: { idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-text-area--invalid": "invalid()", "attr.id": "id()", "attr.disabled": "disabled() ? true : null" }, classAttribute: "ga-text-area" }, ngImport: i0 });
5736
5660
  }
5737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaDirective, decorators: [{
5661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaDirective, decorators: [{
5738
5662
  type: Directive,
5739
5663
  args: [{
5740
5664
  selector: '[gaTextArea]',
@@ -5748,14 +5672,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5748
5672
  }], ctorParameters: () => [{ type: undefined, decorators: [{
5749
5673
  type: Attribute,
5750
5674
  args: ['placeholder']
5751
- }] }] });
5675
+ }] }], propDecorators: { idInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalidInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }] } });
5752
5676
 
5753
5677
  class GaTextAreaModule {
5754
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5755
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaModule, imports: [GaTextAreaDirective], exports: [GaTextAreaDirective] });
5756
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaModule });
5678
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5679
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaModule, imports: [GaTextAreaDirective], exports: [GaTextAreaDirective] });
5680
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaModule });
5757
5681
  }
5758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaTextAreaModule, decorators: [{
5682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaTextAreaModule, decorators: [{
5759
5683
  type: NgModule,
5760
5684
  args: [{
5761
5685
  imports: [GaTextAreaDirective],
@@ -5765,10 +5689,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5765
5689
 
5766
5690
  class GaChipListboxComponent {
5767
5691
  cdkListbox = inject((CdkListbox), { self: true });
5768
- orientation = input('horizontal');
5769
- variant = input('default');
5692
+ orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
5693
+ variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : []));
5770
5694
  valueChange = output();
5771
- disabled = computed(() => this.cdkListbox.disabled);
5695
+ disabled = computed(() => this.cdkListbox.disabled, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
5772
5696
  constructor() {
5773
5697
  effect(() => {
5774
5698
  this.cdkListbox.orientation = this.orientation();
@@ -5782,10 +5706,10 @@ class GaChipListboxComponent {
5782
5706
  focus() {
5783
5707
  this.cdkListbox.focus();
5784
5708
  }
5785
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipListboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5786
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaChipListboxComponent, isStandalone: true, selector: "ga-chip-listbox", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "ga-chip-listbox" }, hostDirectives: [{ directive: i1$5.CdkListbox, inputs: ["cdkListboxMultiple", "multiple", "cdkListboxValue", "value", "cdkListboxDisabled", "disabled", "cdkListboxCompareWith", "compareWith"] }], ngImport: i0, template: "<ng-content />\n" });
5709
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipListboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5710
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaChipListboxComponent, isStandalone: true, selector: "ga-chip-listbox", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "ga-chip-listbox" }, hostDirectives: [{ directive: i1$5.CdkListbox, inputs: ["cdkListboxMultiple", "multiple", "cdkListboxValue", "value", "cdkListboxDisabled", "disabled", "cdkListboxCompareWith", "compareWith"] }], ngImport: i0, template: "<ng-content />\n" });
5787
5711
  }
5788
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipListboxComponent, decorators: [{
5712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipListboxComponent, decorators: [{
5789
5713
  type: Component,
5790
5714
  args: [{ selector: 'ga-chip-listbox', hostDirectives: [
5791
5715
  {
@@ -5800,14 +5724,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5800
5724
  ], host: {
5801
5725
  class: 'ga-chip-listbox',
5802
5726
  }, template: "<ng-content />\n" }]
5803
- }], ctorParameters: () => [] });
5727
+ }], ctorParameters: () => [], propDecorators: { orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
5804
5728
 
5805
5729
  class GaChipComponent {
5806
5730
  cdkOption = inject(CdkOption, { self: true });
5807
5731
  listbox = inject(GaChipListboxComponent);
5808
- _isSelected = signal(null);
5732
+ _isSelected = signal(null, ...(ngDevMode ? [{ debugName: "_isSelected" }] : []));
5809
5733
  selected = this._isSelected.asReadonly();
5810
- disabled = input(false, { transform: booleanAttribute });
5734
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
5811
5735
  constructor() {
5812
5736
  afterEveryRender({
5813
5737
  read: () => {
@@ -5817,10 +5741,10 @@ class GaChipComponent {
5817
5741
  },
5818
5742
  });
5819
5743
  }
5820
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5821
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.4", type: GaChipComponent, isStandalone: true, selector: "ga-chip", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-quick-filter-button--transparent": "listbox.variant() === 'transparent'", "class.ga-quick-filter-button--disabled": "disabled() || listbox.disabled()", "class.ga-quick-filter-button--selected": "selected()" }, classAttribute: "ga-quick-filter-button" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled"] }], ngImport: i0, template: "<ng-content />\n", dependencies: [{ kind: "ngmodule", type: CdkListboxModule }] });
5744
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5745
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.4", type: GaChipComponent, isStandalone: true, selector: "ga-chip", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-quick-filter-button--transparent": "listbox.variant() === 'transparent'", "class.ga-quick-filter-button--disabled": "disabled() || listbox.disabled()", "class.ga-quick-filter-button--selected": "selected()" }, classAttribute: "ga-quick-filter-button" }, hostDirectives: [{ directive: i1$5.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled"] }], ngImport: i0, template: "<ng-content />\n", dependencies: [{ kind: "ngmodule", type: CdkListboxModule }] });
5822
5746
  }
5823
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipComponent, decorators: [{
5747
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipComponent, decorators: [{
5824
5748
  type: Component,
5825
5749
  args: [{ selector: 'ga-chip', imports: [CdkListboxModule], hostDirectives: [
5826
5750
  {
@@ -5833,14 +5757,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
5833
5757
  '[class.ga-quick-filter-button--disabled]': 'disabled() || listbox.disabled()',
5834
5758
  '[class.ga-quick-filter-button--selected]': 'selected()',
5835
5759
  }, template: "<ng-content />\n" }]
5836
- }], ctorParameters: () => [] });
5760
+ }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
5837
5761
 
5838
5762
  class GaChipModule {
5839
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5840
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.4", ngImport: i0, type: GaChipModule, imports: [GaChipComponent, GaChipListboxComponent], exports: [GaChipComponent, GaChipListboxComponent] });
5841
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipModule, imports: [GaChipComponent] });
5763
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5764
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.4", ngImport: i0, type: GaChipModule, imports: [GaChipComponent, GaChipListboxComponent], exports: [GaChipComponent, GaChipListboxComponent] });
5765
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipModule, imports: [GaChipComponent] });
5842
5766
  }
5843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaChipModule, decorators: [{
5767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.4", ngImport: i0, type: GaChipModule, decorators: [{
5844
5768
  type: NgModule,
5845
5769
  args: [{
5846
5770
  imports: [GaChipComponent, GaChipListboxComponent],