@vsn-ux/ngx-gaia 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, input, numberAttribute, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, makeEnvironmentProviders, booleanAttribute, output, computed, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, InjectionToken, effect, TemplateRef, NgZone, Input, contentChildren, viewChild } from '@angular/core';
2
+ import { inject, ElementRef, input, numberAttribute, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, makeEnvironmentProviders, booleanAttribute, output, computed, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, InjectionToken, effect, TemplateRef, NgZone, Input, afterRender, contentChildren, viewChild } from '@angular/core';
3
3
  import * as i1 from 'lucide-angular';
4
4
  import { LucideAngularModule, X, CircleCheck, TriangleAlert, OctagonAlert, Info, Minus, Check, ChevronUp, ChevronDown } from 'lucide-angular';
5
5
  import { NG_VALUE_ACCESSOR, NgControl, NG_VALIDATORS, CheckboxRequiredValidator, RequiredValidator } from '@angular/forms';
@@ -1448,11 +1448,13 @@ class GaOptionComponent {
1448
1448
  this.cdkOption.value !== null &&
1449
1449
  this.cdkOption.value !== '');
1450
1450
  active = this._isActive.asReadonly();
1451
- ngDoCheck() {
1452
- // NOTE: currently there is no other reliable way to track the selected state,
1453
- // refactor once cdk will be based on signals or more appropriate events introduced
1454
- this._isSelected.set(this.cdkOption.isSelected());
1455
- this._isActive.set(this.cdkOption.isActive());
1451
+ constructor() {
1452
+ afterRender(() => {
1453
+ // NOTE: currently there is no other reliable way to track the selected state,
1454
+ // refactor once cdk will be based on signals or more appropriate events introduced
1455
+ this._isSelected.set(this.cdkOption.isSelected());
1456
+ this._isActive.set(this.cdkOption.isActive());
1457
+ });
1456
1458
  }
1457
1459
  onClick() {
1458
1460
  if (!this.cdkOption.disabled) {
@@ -1480,7 +1482,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
1480
1482
  '[class.ga-dropdown__item--active]': 'active() && !cdkOption.disabled',
1481
1483
  '(click)': 'onClick()',
1482
1484
  }, 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<ng-content />\n" }]
1483
- }] });
1485
+ }], ctorParameters: () => [] });
1484
1486
 
1485
1487
  class GaSelectValueComponent {
1486
1488
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -1 +1 @@
1
- {"version":3,"file":"vsn-ux-ngx-gaia.mjs","sources":["../../../projects/ngx-gaia/src/lib/icon/icon.component.ts","../../../projects/ngx-gaia/src/lib/icon/icon.module.ts","../../../projects/ngx-gaia/src/lib/alert/alert-title.component.ts","../../../projects/ngx-gaia/src/lib/button/button.directive.ts","../../../projects/ngx-gaia/src/lib/button/icon-button.directive.ts","../../../projects/ngx-gaia/src/lib/button/button.module.ts","../../../projects/ngx-gaia/src/lib/alert/alert-i18n.service.ts","../../../projects/ngx-gaia/src/lib/alert/alert.component.ts","../../../projects/ngx-gaia/src/lib/alert/alert.component.html","../../../projects/ngx-gaia/src/lib/alert/alert-title-actions.component.ts","../../../projects/ngx-gaia/src/lib/alert/alert.module.ts","../../../projects/ngx-gaia/src/lib/badge/badge.component.ts","../../../projects/ngx-gaia/src/lib/badge/badge.module.ts","../../../projects/ngx-gaia/src/lib/card/card.component.ts","../../../projects/ngx-gaia/src/lib/card/card.module.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.component.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.component.html","../../../projects/ngx-gaia/src/lib/checkbox/checkbox-required.validator.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.module.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.component.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.component.html","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control-button.directive.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.module.ts","../../../projects/ngx-gaia/src/lib/input/input.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-control.di.ts","../../../projects/ngx-gaia/src/lib/input/input.directive.ts","../../../projects/ngx-gaia/src/lib/input/input.module.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.component.html","../../../projects/ngx-gaia/src/lib/form-field/field-label.component.ts","../../../projects/ngx-gaia/src/lib/form-field/field-info.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.module.ts","../../../projects/ngx-gaia/src/lib/menu/menu.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-item.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-title.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-trigger.directive.ts","../../../projects/ngx-gaia/src/lib/menu/menu-separator.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-trigger-icon.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu.module.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.component.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.component.html","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.module.ts","../../../projects/ngx-gaia/src/lib/radio/radio-group.component.ts","../../../projects/ngx-gaia/src/lib/radio/radio-group.component.html","../../../projects/ngx-gaia/src/lib/radio/radio-button.component.ts","../../../projects/ngx-gaia/src/lib/radio/radio-button.component.html","../../../projects/ngx-gaia/src/lib/radio/radio.module.ts","../../../projects/ngx-gaia/src/lib/select/option.component.ts","../../../projects/ngx-gaia/src/lib/select/option.component.html","../../../projects/ngx-gaia/src/lib/select/select-value.component.ts","../../../projects/ngx-gaia/src/lib/select/select-default-value.component.ts","../../../projects/ngx-gaia/src/lib/select/select.component.ts","../../../projects/ngx-gaia/src/lib/select/select.component.html","../../../projects/ngx-gaia/src/lib/select/opt-group.component.ts","../../../projects/ngx-gaia/src/lib/spinner/spinner.component.ts","../../../projects/ngx-gaia/src/lib/spinner/spinner.module.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown-loading.component.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown.component.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown.component.html","../../../projects/ngx-gaia/src/lib/select/select-required.validator.ts","../../../projects/ngx-gaia/src/lib/select/select.module.ts","../../../projects/ngx-gaia/src/public-api.ts","../../../projects/ngx-gaia/src/vsn-ux-ngx-gaia.ts"],"sourcesContent":["import {\n Attribute,\n Component,\n ElementRef,\n inject,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\nimport { LucideAngularModule } from 'lucide-angular';\n\ntype HtmlAttributes = { [key: string]: string | number };\ntype LucideIconNode = readonly [string, HtmlAttributes];\nexport type GaIconData = readonly LucideIconNode[];\n\n@Component({\n selector: 'ga-icon',\n imports: [LucideAngularModule],\n template: `<lucide-icon\n [name]=\"icon()\"\n [size]=\"size()\"\n [color]=\"color()\"\n [strokeWidth]=\"strokeWidth()\"\n />`,\n host: {\n class: 'ga-icon',\n role: 'img',\n },\n styles: `\n .ga-icon {\n display: inline-block;\n vertical-align: middle;\n user-select: none;\n width: fit-content;\n height: fit-content;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class GaIconComponent {\n private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n readonly icon = input<GaIconData | string>();\n readonly size = input<string | number>();\n readonly color = input<string>();\n readonly strokeWidth = input(undefined, { transform: numberAttribute });\n\n constructor(@Attribute('aria-hidden') ariaHiddenAttr: string) {\n if (!ariaHiddenAttr) {\n this.elementRef.nativeElement.setAttribute('aria-hidden', 'true');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GaIconComponent } from './icon.component';\n\n@NgModule({\n imports: [GaIconComponent],\n exports: [GaIconComponent],\n})\nexport class GaIconModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\n\n@Component({\n selector: 'ga-alert-title',\n template: `<ng-content />`,\n host: {\n class: 'ga-notification__title',\n },\n})\nexport class GaAlertTitleComponent {}\n","import { Component, input } from '@angular/core';\n\nexport type GaButtonType = 'primary' | 'secondary' | 'ghost' | 'transparent';\n\n@Component({\n selector: 'button[gaButton], a[gaButton]',\n host: {\n class: 'ga-button',\n '[class.ga-button--secondary]': `!variant() || variant() === 'secondary'`,\n '[class.ga-button--primary]': `variant() === 'primary'`,\n '[class.ga-button--ghost]': `variant() === 'ghost'`,\n '[class.ga-button--transparent]': `variant() === 'transparent'`,\n },\n template: `<ng-content />`,\n})\nexport class GaButtonDirective {\n readonly variant = input.required<GaButtonType | ''>({\n alias: 'gaButton',\n });\n}\n","import {\n Component,\n input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GaIconModule } from '../icon/icon.module';\nimport { GaIconData } from '../icon/icon.component';\n\nexport type GaIconButtonVariant = 'primary' | 'secondary' | 'ghost';\n\n@Component({\n selector: 'button[gaIconButton], a[gaIconButton]',\n imports: [GaIconModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './icon-button.directive.scss',\n encapsulation: ViewEncapsulation.None,\n template: `\n <ga-icon [icon]=\"icon()\" />\n <span class=\"ga-button__icon-label\"><ng-content /></span>\n `,\n host: {\n class: 'ga-button ga-button--icon-only',\n '[class.ga-button--primary]': `variant() === 'primary'`,\n '[class.ga-button--secondary]': `variant() === 'secondary'`,\n '[class.ga-button--ghost]': `variant() === 'ghost'`,\n },\n})\nexport class GaIconButtonDirective {\n readonly icon = input.required<GaIconData>({\n alias: 'gaIconButton',\n });\n\n readonly variant = input<GaIconButtonVariant>('secondary', {\n alias: 'gaIconButtonVariant',\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaButtonDirective } from './button.directive';\nimport { GaIconButtonDirective } from './icon-button.directive';\n\n@NgModule({\n imports: [GaButtonDirective, GaIconButtonDirective],\n exports: [GaButtonDirective, GaIconButtonDirective],\n})\nexport class GaButtonModule {}\n","import { Injectable, makeEnvironmentProviders } from '@angular/core';\n\nexport function GA_ALERT_I18N_FACTORY() {\n return new GaAlertI18nDefault();\n}\n\n@Injectable({\n providedIn: 'root',\n useFactory: GA_ALERT_I18N_FACTORY,\n})\nexport abstract class GaAlertI18n {\n abstract dismissLabel: string;\n}\n\n@Injectable()\nexport class GaAlertI18nDefault extends GaAlertI18n {\n /** A label for the dismiss button */\n dismissLabel = 'Dismiss';\n}\n\nexport function provideGaAlertI18n(value: GaAlertI18n | (() => GaAlertI18n)) {\n return makeEnvironmentProviders([\n typeof value === 'function'\n ? { provide: GaAlertI18n, useFactory: value }\n : { provide: GaAlertI18n, useValue: value },\n ]);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChild,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\nimport { GaAlertTitleComponent } from './alert-title.component';\nimport {\n CircleCheck,\n Info,\n OctagonAlert,\n TriangleAlert,\n X,\n} from 'lucide-angular';\nimport { GaButtonModule } from '../button/button.module';\nimport { GaAlertI18n } from './alert-i18n.service';\n\nexport type GaAlertVariant =\n | 'brand'\n | 'information'\n | 'error'\n | 'warning'\n | 'success';\n\n@Component({\n selector: 'ga-alert',\n templateUrl: './alert.component.html',\n imports: [GaIconModule, GaButtonModule],\n host: {\n role: 'alert',\n '[class]': `variantClass()`,\n },\n})\nexport class GaAlertComponent {\n protected readonly i18n = inject(GaAlertI18n);\n\n readonly dismissIcon: typeof X = X;\n\n readonly variant = input<GaAlertVariant>('brand');\n readonly explicitIcon = input<GaIconData>(undefined, { alias: 'icon' });\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n readonly dismiss = output();\n\n readonly icon = computed(() => {\n if (this.explicitIcon() !== undefined) {\n return this.explicitIcon();\n }\n switch (this.variant()) {\n case 'information':\n return Info;\n case 'error':\n return OctagonAlert;\n case 'warning':\n return TriangleAlert;\n case 'success':\n return CircleCheck;\n }\n return null;\n });\n\n readonly title = contentChild(GaAlertTitleComponent);\n\n readonly variantClass = computed(() => {\n return `ga-notification ga-notification--${this.variant()}`;\n });\n}\n","@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 (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n","import { Component, computed, input } from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\n\n@Component({\n selector: 'ga-alert-title-actions',\n template: `<ng-content />`,\n host: {\n class: 'ga-notification__title-actions',\n },\n})\nexport class GaAlertTitleActionsComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { GaAlertComponent } from './alert.component';\nimport { GaAlertTitleComponent } from './alert-title.component';\nimport { GaAlertTitleActionsComponent } from './alert-title-actions.component';\n\n@NgModule({\n imports: [\n GaAlertComponent,\n GaAlertTitleComponent,\n GaAlertTitleActionsComponent,\n ],\n exports: [\n GaAlertComponent,\n GaAlertTitleComponent,\n GaAlertTitleActionsComponent,\n ],\n})\nexport class GaAlertModule {}\n","import { Component, computed, input } from '@angular/core';\n\nexport type GaBadgeVariant =\n | 'default'\n | 'default-inverted'\n | 'information'\n | 'error'\n | 'warning'\n | 'success'\n | 'muted'\n | 'disabled';\n\nexport type GaBadgeType = 'text' | 'dot';\n\n@Component({\n selector: 'ga-badge',\n template: `<ng-content />`,\n host: {\n '[class]': `variantClass()`,\n },\n})\nexport class GaBadgeComponent {\n readonly variant = input<GaBadgeVariant>('default');\n readonly type = input<GaBadgeType>('text');\n\n readonly variantClass = computed(() => {\n return `ga-badge ga-badge--${this.type()} ga-badge--${this.variant()}`;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaBadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [GaBadgeComponent],\n exports: [GaBadgeComponent],\n})\nexport class GaBadgeModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'ga-card',\n template: `<ng-content />`,\n host: {\n class: 'ga-card',\n '[class.ga-card--selectable]': 'selectable()',\n '[class.ga-card--disabled]': 'disabled()',\n },\n})\nexport class GaCardComponent {\n readonly selectable = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaCardComponent } from './card.component';\n\n@NgModule({\n imports: [GaCardComponent],\n exports: [GaCardComponent],\n})\nexport class GaCardModule {}\n","import {\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DoCheck,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n output,\n Provider,\n signal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { Check, LucideAngularModule, Minus } from 'lucide-angular';\nimport { GaIconData } from '../icon/icon.component';\n\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaCheckboxComponent),\n multi: true,\n};\n\n// Increasing integer for generating unique ids for checkbox components.\n// Inspired by @angular/components\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-checkbox',\n templateUrl: './checkbox.component.html',\n imports: [LucideAngularModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR],\n host: {\n class: 'ga-checkbox',\n '[class.ga-checkbox--invalid]': 'invalid()',\n '[attr.id]': 'null',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.aria-invalid]': 'null',\n '[attr.aria-errormessage]': 'null',\n },\n})\nexport class GaCheckboxComponent implements ControlValueAccessor, DoCheck {\n /** @ignore */\n private readonly _uniqueId = `ga-checkbox-${++nextUniqueId}`;\n\n /** @ignore */\n private readonly injector = inject(Injector);\n\n readonly icons: { Minus: GaIconData; Check: GaIconData } = { Minus, Check };\n\n /** @ignore */\n private _onTouched?: () => any;\n /** @ignore */\n private _onModelChanged?: (value: any) => void;\n /** @ignore */\n private _invalidNgModel = signal(false);\n private _ngModelName = signal<string | number | null>(null);\n\n /** The value attribute of the native input element */\n readonly value = input<string | null>(null);\n readonly disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly checked = input(false, {\n transform: booleanAttribute,\n });\n readonly nameInput = input<string | null>(null, { alias: 'name' });\n readonly id = input<string | null>(null);\n readonly indeterminate = input(false, { transform: booleanAttribute });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n readonly ariaDescribedby = input<string | null>(null, {\n alias: 'aria-describedby',\n });\n readonly ariaInvalid = input<string | null>(null, { alias: 'aria-invalid' });\n readonly ariaErrormessage = input<string | null>(null, {\n alias: 'aria-errormessage',\n });\n readonly required = input(false, { transform: booleanAttribute });\n\n readonly disabledModel = linkedSignal(() => this.disabled());\n readonly checkedModel = linkedSignal(() => this.checked());\n\n readonly change = output<boolean>();\n readonly indeterminateChange = output<boolean>();\n\n /** @ignore */\n readonly inputId = computed(() => (this.id() ? this.id() : this._uniqueId));\n /** @ignore */\n readonly name = computed(() => {\n return this.nameInput() ?? this._ngModelName() ?? this._uniqueId;\n });\n /** @ignore */\n readonly invalid = computed(() => {\n return this.ariaInvalid()\n ? this.ariaInvalid() === 'true'\n : this._invalidNgModel();\n });\n\n constructor(\n /** @ignore */\n @Attribute('tabindex') protected readonly tabindex?: string,\n ) {}\n\n ngDoCheck(): void {\n const ngControl = this.injector.get(NgControl, null);\n if (ngControl) {\n this._invalidNgModel.set(!!ngControl.invalid);\n this._ngModelName.set(ngControl.name);\n }\n }\n\n /** @ignore */\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n if (this.disabled()) {\n return;\n }\n\n this.checkedModel.set(!this.checkedModel());\n this.updateModel();\n }\n\n /** @ignore */\n onBlur() {\n this._onTouched?.();\n }\n\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._onModelChanged = fn;\n }\n\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n /** @ignore */\n writeValue(value: any) {\n this.checkedModel.set(!!value);\n }\n\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabledModel.set(isDisabled);\n }\n\n /** @ignore */\n private updateModel() {\n this._onModelChanged?.(this.checkedModel());\n this.change.emit(this.checkedModel());\n }\n}\n","<input\n type=\"checkbox\"\n class=\"ga-checkbox__native\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checkedModel()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabledModel()\"\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","import { Directive, Provider, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';\n\nexport const GA_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GaCheckboxRequiredValidator),\n multi: true,\n};\n\n/**\n * Validator for Gaia checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `ga-checkbox`.\n */\n@Directive({\n selector: `ga-checkbox[required][formControlName], ga-checkbox[required][formControl], ga-checkbox[required][ngModel]`,\n providers: [GA_CHECKBOX_REQUIRED_VALIDATOR],\n})\nexport class GaCheckboxRequiredValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\n\nimport { GaCheckboxRequiredValidator } from './checkbox-required.validator';\nimport { GaCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [GaCheckboxComponent, GaCheckboxRequiredValidator],\n exports: [GaCheckboxComponent, GaCheckboxRequiredValidator],\n})\nexport class GaCheckboxModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n model,\n output,\n} from '@angular/core';\n\n@Component({\n selector: 'ga-segmented-control',\n templateUrl: './segmented-control.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'group',\n class: 'ga-segmented-control',\n },\n})\nexport class GaSegmentedControlComponent {\n readonly selected = model<string>();\n\n readonly change = output<string | undefined>();\n}\n","<ng-content select=\"button[gaSegmentedControlButton]\"></ng-content>\n","import {\n computed,\n Directive,\n HostListener,\n inject,\n input,\n} from '@angular/core';\n\nimport { GaSegmentedControlComponent } from './segmented-control.component';\n\n@Directive({\n selector: '[gaSegmentedControlButton]',\n host: {\n type: 'button',\n class: 'ga-segmented-control__button',\n '[class.ga-segmented-control__button--selected]': 'selected()',\n '[attr.aria-pressed]': 'selected()',\n },\n})\nexport class GaSegmentedControlButtonDirective {\n /** @ignore */\n private readonly group = inject(GaSegmentedControlComponent, { host: true });\n\n readonly value = input<string>();\n\n readonly selected = computed(() => {\n return (\n this.value() !== undefined &&\n this.group.selected() !== undefined &&\n this.group.selected() === this.value()\n );\n });\n\n @HostListener('click')\n onClick(): void {\n this.group.selected.set(this.value());\n this.group.change.emit(this.value());\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaSegmentedControlComponent } from './segmented-control.component';\nimport { GaSegmentedControlButtonDirective } from './segmented-control-button.directive';\n\n@NgModule({\n imports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],\n exports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],\n})\nexport class GaSegmentedControlModule {}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DoCheck,\n input,\n signal,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n selector: 'ga-input',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-input',\n '[class.ga-input--invalid]': 'invalid()',\n },\n})\nexport class GaInputComponent implements DoCheck {\n private readonly implicitNgControl = contentChild(NgControl);\n private readonly implicitInvalid = signal(false);\n\n readonly invalidInput = input(null, { transform: booleanAttribute });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n\n ngDoCheck() {\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n const implicitNgControl = this.implicitNgControl();\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n }\n }\n}\n","import { Directive, InjectionToken, input, Signal } from '@angular/core';\n\nexport type GaFormControl = {\n readonly _formControlId: Signal<string | null | undefined>;\n};\n\nexport const GA_FORM_CONTROL = new InjectionToken<GaFormControl>(\n 'ga-form-control',\n);\n\n@Directive({\n selector: '[gaFormControl]',\n providers: [\n { provide: GA_FORM_CONTROL, useExisting: GaFormControlDirective },\n ],\n})\nexport class GaFormControlDirective implements GaFormControl {\n readonly _formControlId = input<string>(undefined, {\n alias: 'gaFormControl',\n });\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DoCheck,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { NgControl, ValidationErrors } from '@angular/forms';\nimport { GaInputComponent } from './input.component';\nimport { GA_FORM_CONTROL, GaFormControl } from '../form-field/form-control.di';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: '[gaInput]',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'id()',\n '[class.ga-input]': '!hasWrapper',\n '[class.ga-input--invalid]': '!hasWrapper && invalid()',\n },\n providers: [{ provide: GA_FORM_CONTROL, useExisting: GaInputDirective }],\n})\nexport class GaInputDirective implements DoCheck, GaFormControl {\n readonly uniqueId = `ga-input-${++nextUniqueId}`;\n\n private readonly implicitNgControl = inject(NgControl, {\n optional: true,\n self: true,\n });\n protected readonly hasWrapper = inject(GaInputComponent, { optional: true });\n\n private readonly implicitInvalid = signal(false);\n private readonly implicitErrors = signal<ValidationErrors | null>(null);\n\n readonly invalidInput = input(null, {\n alias: 'invalid',\n transform: booleanAttribute,\n });\n readonly idInput = input<string>(undefined, { alias: 'id' });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n readonly id = computed(() => {\n return this.idInput() ?? this.uniqueId;\n });\n readonly errors = this.implicitErrors.asReadonly();\n\n readonly _formControlId = this.id;\n\n ngDoCheck() {\n if (this.hasWrapper) return;\n\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n const implicitNgControl = this.implicitNgControl;\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n this.implicitErrors.set(implicitNgControl.errors);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaInputComponent } from './input.component';\nimport { GaInputDirective } from './input.directive';\n\n@NgModule({\n imports: [GaInputComponent, GaInputDirective],\n exports: [GaInputComponent, GaInputDirective],\n})\nexport class GaInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n} from '@angular/core';\nimport { GA_FORM_CONTROL } from './form-control.di';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-form-field',\n exportAs: 'gaFormField',\n templateUrl: './form-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-form-field',\n },\n})\nexport class GaFormFieldComponent {\n readonly uniqueId = `ga-form-field-${++nextUniqueId}`;\n\n readonly formControl = contentChild(GA_FORM_CONTROL, { descendants: true });\n\n readonly controlId = computed(() => {\n return this.formControl()?._formControlId() ?? this.uniqueId;\n });\n}\n","<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { GaFormFieldComponent } from './form-field.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'ga-label',\n template: `<label\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n (click)=\"focusControl()\"\n ><ng-content\n /></label>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GaFieldLabelComponent {\n private readonly document = inject(DOCUMENT);\n readonly formField = inject(GaFormFieldComponent);\n\n readonly for = input<string>();\n\n readonly controlId = computed(() => {\n return this.for() ?? this.formField.controlId();\n });\n\n readonly controlElement = computed(() => {\n const control = this.document.querySelector(`#${this.controlId()}`);\n if (control instanceof HTMLElement) {\n return control;\n }\n return null;\n });\n\n focusControl() {\n const control = this.controlElement();\n // only focus custom elements as native elements already\n // have support for connecting label and reacting to events\n if (control?.tagName.includes('-')) {\n control.focus();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ga-info',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-form-field__info',\n },\n})\nexport class GaFieldInfoComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { GaFormFieldComponent } from './form-field.component';\nimport { GaFieldLabelComponent } from './field-label.component';\nimport { GaFieldInfoComponent } from './field-info.component';\nimport { GaFormControlDirective } from './form-control.di';\n\n@NgModule({\n imports: [\n GaFormFieldComponent,\n GaFieldLabelComponent,\n GaFieldInfoComponent,\n GaFormControlDirective,\n ],\n exports: [\n GaFormFieldComponent,\n GaFieldLabelComponent,\n GaFieldInfoComponent,\n GaFormControlDirective,\n ],\n})\nexport class GaFormFieldModule {}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu',\n template: `<ng-content />`,\n hostDirectives: [CdkMenu],\n host: {\n class: 'ga-menu',\n },\n styles: `\n :host {\n margin-top: var(--ga-size-8);\n margin-bottom: var(--ga-size-8);\n }\n `,\n})\nexport class GaMenuComponent {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: '[gaMenuItem]',\n template: `<ng-content />`,\n hostDirectives: [CdkMenuItem],\n host: {\n class: 'ga-menu__item',\n },\n})\nexport class GaMenuItemComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu-title',\n template: `<ng-content />`,\n host: {\n class: 'ga-menu__title',\n },\n})\nexport class GaMenuTitleComponent {}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input, TemplateRef } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, merge } from 'rxjs';\n\n@Directive({\n selector: '[gaMenuTrigger]',\n exportAs: 'gaMenuTrigger',\n standalone: true,\n hostDirectives: [CdkMenuTrigger],\n})\nexport class GaMenuTriggerDirective {\n private readonly cdkMenuTrigger = inject(CdkMenuTrigger);\n\n readonly menuRef = input.required<TemplateRef<any>>({\n alias: 'gaMenuTrigger',\n });\n\n readonly isOpen = toSignal(\n merge(\n this.cdkMenuTrigger.opened.pipe(map(() => true)),\n this.cdkMenuTrigger.closed.pipe(map(() => false)),\n ),\n { initialValue: this.cdkMenuTrigger.isOpen() },\n );\n\n constructor() {\n effect(() => {\n this.cdkMenuTrigger.menuTemplateRef = this.menuRef();\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu-separator',\n template: `<ng-content />`,\n host: {\n class: 'ga-menu__separator',\n },\n})\nexport class GaMenuSeparatorComponent {}\n","import { Component, computed, inject } from '@angular/core';\nimport { GaIconModule } from '../icon/icon.module';\nimport { ChevronDown, ChevronUp } from 'lucide-angular';\nimport { GaMenuTriggerDirective } from './menu-trigger.directive';\nimport { GaIconData } from '../icon/icon.component';\n\n@Component({\n selector: 'ga-menu-trigger-icon',\n imports: [GaIconModule],\n template: `<ga-icon [icon]=\"icon()\" />`,\n})\nexport class GaMenuTriggerIconComponent {\n protected readonly menuTrigger = inject(GaMenuTriggerDirective);\n\n protected readonly icon = computed<GaIconData>(() => {\n return this.menuTrigger.isOpen() ? ChevronUp : ChevronDown;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { GaMenuComponent } from './menu.component';\nimport { GaMenuItemComponent } from './menu-item.component';\nimport { GaMenuTriggerDirective } from './menu-trigger.directive';\nimport { GaMenuSeparatorComponent } from './menu-separator.component';\nimport { GaMenuTitleComponent } from './menu-title.component';\nimport { GaMenuTriggerIconComponent } from './menu-trigger-icon.component';\n\n@NgModule({\n imports: [\n GaMenuComponent,\n GaMenuItemComponent,\n GaMenuTriggerDirective,\n GaMenuSeparatorComponent,\n GaMenuTitleComponent,\n GaMenuTriggerIconComponent,\n ],\n exports: [\n GaMenuComponent,\n GaMenuItemComponent,\n GaMenuTriggerDirective,\n GaMenuSeparatorComponent,\n GaMenuTitleComponent,\n GaMenuTriggerIconComponent,\n ],\n})\nexport class GaMenuModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n input,\n output,\n signal,\n TemplateRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport type GaTooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type GaTooltipDirection = 'start' | 'end' | 'center';\nexport type GaTooltipPlacement = `${GaTooltipPosition}-${GaTooltipDirection}`;\nexport type GaTooltipControlMode = 'hover' | 'click' | 'none';\n\n@Component({\n selector: 'ga-tooltip',\n imports: [NgTemplateOutlet],\n templateUrl: './tooltip.component.html',\n styleUrl: './tooltip.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.style]': 'inlineStyle()',\n },\n})\nexport class GaTooltipComponent {\n private mouseLeaveSubject = new Subject<void>();\n readonly afterMouseLeave = () => this.mouseLeaveSubject.asObservable();\n\n readonly mouseOver = signal(false);\n\n readonly content = input.required<string | TemplateRef<any>>();\n\n readonly template = computed(() => {\n const content = this.content();\n return content instanceof TemplateRef ? content : null;\n });\n\n readonly text = computed(() => {\n const content = this.content();\n return typeof content === 'string' ? content : null;\n });\n\n readonly position = input<GaTooltipPlacement>();\n readonly offset = input<number>(0);\n\n readonly hideTriggered = output();\n readonly triggerHide = () => this.hideTriggered.emit();\n\n readonly inlineStyle = computed(() => {\n if (!this.position() || !this.offset()) {\n return '';\n }\n\n return `--ga-tooltip-offset: ${this.offset()}px;`;\n });\n\n readonly cssClass = computed(() => {\n return ['ga-tooltip', `ga-tooltip--${this.position()}`].join(' ');\n });\n\n @HostListener('mouseenter')\n handleMouseEnter(): void {\n this.mouseOver.set(true);\n }\n\n @HostListener('mouseleave')\n handleMouseLeave(): void {\n this.mouseOver.set(false);\n this.mouseLeaveSubject.next();\n }\n}\n","<div [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","import {\n Overlay,\n OverlayRef,\n FlexibleConnectedPositionStrategy,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OutputRefSubscription,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Observable, takeUntil, map } from 'rxjs';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n GaTooltipComponent,\n GaTooltipControlMode,\n GaTooltipDirection,\n GaTooltipPlacement,\n GaTooltipPosition,\n} from './tooltip.component';\n\nexport const GA_TOOLTIP_DEFAULT_OFFSET = 5;\n\n@Directive({\n selector: '[gaTooltip]',\n exportAs: 'gaTooltip',\n})\nexport class GaTooltipDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly ngZone = inject(NgZone);\n\n protected destroyed$ = new Subject<void>();\n private _content: string | TemplateRef<any> | null = null;\n private tooltipInstanceDestroyed$: Subject<void> | null = null;\n private outputSubscription: OutputRefSubscription | null = null;\n private overlayRef?: OverlayRef;\n private tooltipPortal?: ComponentPortal<GaTooltipComponent>;\n private tooltipRef?: ComponentRef<GaTooltipComponent>;\n private get tooltipInstance() {\n return this.tooltipRef ? this.tooltipRef.instance : null;\n }\n private currentPosition$?: Observable<GaTooltipPlacement>;\n private _placement: GaTooltipPlacement = 'right-center';\n private _offset: number = GA_TOOLTIP_DEFAULT_OFFSET;\n private mouseOver: boolean = false;\n private _showControlMode: GaTooltipControlMode | null = null;\n private _hideControlMode: GaTooltipControlMode | null = null;\n\n @Input('gaTooltip')\n set content(value: string | TemplateRef<any> | null) {\n if (value === this._content) {\n return;\n }\n\n this._content = value;\n\n // Hide tooltip with empty content\n if (!this._content && this.overlayRef?.hasAttached()) {\n this.hide();\n return;\n }\n\n // Update the content in case tooltip is already opened\n if (this.tooltipRef && this.overlayRef?.hasAttached()) {\n this.tooltipRef.setInput('content', this._content);\n }\n }\n get content() {\n return this._content;\n }\n\n @Input({ alias: 'gaTooltipDisabled', transform: booleanAttribute })\n disabled = false;\n\n @Input({ alias: 'gaTooltipControlMode' })\n controlMode: GaTooltipControlMode = 'hover';\n\n /**\n * @default `gaTooltipControlMode`\n */\n @Input({ alias: 'gaTooltipShowControlMode' })\n set showControlMode(value: GaTooltipControlMode) {\n this._showControlMode = value;\n }\n get showControlMode(): GaTooltipControlMode {\n return this._showControlMode ?? this.controlMode;\n }\n\n /**\n * @default `gaTooltipControlMode`\n */\n @Input({ alias: 'gaTooltipHideControlMode' })\n set hideControlMode(value: GaTooltipControlMode) {\n this._hideControlMode = value;\n }\n get hideControlMode(): GaTooltipControlMode {\n return this._hideControlMode ?? this.controlMode;\n }\n\n @Input({ alias: 'gaTooltipOffsetSize', transform: numberAttribute })\n set offset(value) {\n if (this._offset === value) {\n return;\n }\n\n this._offset = !isNaN(value) ? value : GA_TOOLTIP_DEFAULT_OFFSET;\n this.updateTooltipPlacement();\n }\n get offset() {\n return this._offset;\n }\n\n @Input({ alias: 'gaTooltipPlacement' })\n set placement(value: GaTooltipPlacement) {\n if (this._placement === value) {\n return;\n }\n\n this._placement = value;\n\n this.updateTooltipPlacement();\n }\n get placement() {\n return this._placement;\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n show(): void {\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n\n const overlayRef = this.createOverlay();\n this.tooltipPortal =\n this.tooltipPortal ?? new ComponentPortal(GaTooltipComponent);\n\n this.tooltipInstanceDestroyed$ = new Subject();\n\n this.tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.setInput('content', this.content);\n this.outputSubscription = this.tooltipInstance!.hideTriggered.subscribe(\n () => setTimeout(() => this.hide()),\n );\n\n if (this.hideControlMode === 'hover') {\n // Soft hide tooltip on mouse leave when control mode is set to 'hover'\n this.tooltipInstance!.afterMouseLeave()\n .pipe(takeUntil(this.tooltipInstanceDestroyed$))\n .subscribe(() => setTimeout(() => this.softHide()));\n } else if (this.hideControlMode === 'click') {\n // Hide tooltip on outside click when control mode is set to 'click'\n overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.tooltipInstanceDestroyed$))\n .subscribe((event) => {\n const element = this.elementRef.nativeElement;\n if (event.target !== element && !element.contains(event.target)) {\n this.hide();\n }\n });\n }\n\n // Tell the instance current position (left, right, top, bottom)\n this.currentPosition$!.pipe(\n takeUntil(this.tooltipInstanceDestroyed$),\n ).subscribe((position) => {\n this.ngZone.run(() => {\n if (!this.tooltipRef) {\n return;\n }\n this.tooltipRef.setInput('position', position);\n this.tooltipRef.setInput('offset', this.offset);\n });\n });\n }\n\n hide(): void {\n if (!this.overlayRef?.hasAttached()) {\n return;\n }\n this.overlayRef.detach();\n this.tooltipInstanceDestroyed$!.next();\n this.tooltipInstanceDestroyed$!.complete();\n this.outputSubscription?.unsubscribe();\n this.tooltipRef = undefined;\n }\n\n toggle(): void {\n if (!this.overlayRef?.hasAttached()) {\n this.show();\n return;\n }\n this.hide();\n }\n\n @HostListener('click')\n handleMouseClick(): void {\n if (this.showControlMode !== 'click' || this.disabled || !this._content) {\n return;\n }\n this.toggle();\n }\n\n @HostListener('mouseenter')\n handleMouseEnter(): void {\n if (this.showControlMode !== 'hover' || this.disabled || !this._content) {\n return;\n }\n this.mouseOver = true;\n this.show();\n }\n\n @HostListener('mouseleave')\n handleMouseLeave(): void {\n if (this.hideControlMode !== 'hover' || this.disabled) {\n return;\n }\n this.mouseOver = false;\n setTimeout(() => this.softHide());\n }\n\n /**\n * hides only if mouse is not over the host element nor the tooltip itself\n */\n private softHide() {\n if (!this.mouseOver && !this.tooltipInstance?.mouseOver()) {\n this.hide();\n }\n }\n\n private createOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef);\n this.currentPosition$ = positionStrategy.positionChanges.pipe(\n map((pos) => pos.connectionPair.panelClass as GaTooltipPlacement),\n );\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition();\n\n this.overlayRef = this.overlay.create({ positionStrategy, scrollStrategy });\n\n if (this.showControlMode !== 'none') {\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroyed$))\n .subscribe((event) => {\n if (\n this.overlayRef?.hasAttached() &&\n event.keyCode === ESCAPE &&\n !hasModifierKey(event)\n ) {\n this.hide();\n }\n });\n }\n\n this.updatePosition();\n\n return this.overlayRef;\n }\n\n private updateTooltipPlacement(): void {\n if (this.overlayRef) {\n this.updatePosition();\n this.overlayRef.updatePosition();\n }\n }\n\n private updatePosition(): void {\n const position = this.overlayRef!.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy;\n const positions = this.getPositions(this._placement);\n position.withPositions(positions);\n }\n\n private getPositions(\n preferredPlacement: GaTooltipPlacement,\n ): ConnectedPosition[] {\n const [position, direction] = preferredPlacement.split('-') as [\n GaTooltipPosition,\n GaTooltipDirection,\n ];\n\n let positionedOverlayY: ConnectedPosition['overlayY'];\n let positionedOffsetY: number;\n if (direction === 'start') {\n positionedOverlayY = 'top';\n positionedOffsetY = -24;\n } else if (direction === 'end') {\n positionedOverlayY = 'bottom';\n positionedOffsetY = 24;\n } else {\n positionedOverlayY = 'center';\n positionedOffsetY = 0;\n }\n\n let positionedOffsetX: number;\n if (direction === 'start') {\n positionedOffsetX = -24;\n } else if (direction === 'end') {\n positionedOffsetX = 24;\n } else {\n positionedOffsetX = 0;\n }\n\n const right: ConnectedPosition = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: positionedOverlayY,\n offsetY: positionedOffsetY,\n panelClass: `right-${direction}`,\n };\n\n const left: ConnectedPosition = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: positionedOverlayY,\n offsetY: positionedOffsetY,\n panelClass: `left-${direction}`,\n };\n\n const top: ConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: direction,\n overlayY: 'bottom',\n offsetX: positionedOffsetX,\n panelClass: `top-${direction}`,\n };\n\n const bottom: ConnectedPosition = {\n originX: 'center',\n originY: 'bottom',\n overlayX: direction,\n overlayY: 'top',\n offsetX: positionedOffsetX,\n panelClass: `bottom-${direction}`,\n };\n\n if (position === 'right') {\n return [right, left, bottom, top];\n } else if (position === 'left') {\n return [left, right, bottom, top];\n } else if (position === 'top') {\n return [top, bottom, right, left];\n } else {\n return [bottom, top, right, left];\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GaTooltipDirective } from './tooltip.directive';\n\n@NgModule({\n imports: [GaTooltipDirective],\n exports: [GaTooltipDirective],\n})\nexport class GaTooltipModule {}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n input,\n linkedSignal,\n output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Provider Expression that allows ga-radio-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and ngControl.\n */\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaRadioGroupComponent),\n multi: true,\n};\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-radio-group',\n templateUrl: './radio-group.component.html',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n class: 'ga-radio-group',\n },\n})\nexport class GaRadioGroupComponent implements ControlValueAccessor {\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n readonly name = input<string>(`ga-radio-group-${nextUniqueId++}`);\n /**\n * Value for the radio-group. Should equal the value of the selected radio button if there is\n * a corresponding radio button with a matching value. If there is not such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n readonly value = input<string | null>(null);\n /** Whether the radio group is disabled */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type=\"radio\">`).\n */\n readonly change = output<string | null>();\n\n readonly valueModel = linkedSignal(() => this.value());\n readonly disabledModel = linkedSignal(() => this.disabled());\n\n private _onTouched?: () => any;\n private _onModelChanged?: (value: any) => void;\n\n registerOnChange(fn: (value: any) => void) {\n this._onModelChanged = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n writeValue(value: any) {\n this.valueModel.set(value);\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabledModel.set(isDisabled);\n }\n\n onValueChange(value: string | null) {\n if (this.valueModel() === value) {\n return;\n }\n this.valueModel.set(value);\n this.change.emit(value);\n if (this._onModelChanged) {\n this._onModelChanged(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { GaRadioGroupComponent } from './radio-group.component';\n\n// Increasing integer for generating unique ids for radio button components.\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-radio-button',\n templateUrl: './radio-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-radio-button',\n '[class.ga-radio-button--invalid]': 'ariaInvalid()',\n '[attr.id]': 'null',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n },\n})\nexport class GaRadioButtonComponent {\n private readonly radioGroup = inject(GaRadioGroupComponent, {\n optional: true,\n });\n\n private _uniqueId = `ga-radio-button-${++nextUniqueId}`;\n\n /** The value attribute of the native input element */\n readonly value = input<string | null>(null);\n readonly inputId = input<string | null>(null, { alias: 'id' });\n readonly inputName = input<string | null>(null, { alias: 'name' });\n readonly inputChecked = input(false, {\n alias: 'checked',\n transform: booleanAttribute,\n });\n readonly inputDisabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n readonly ariaDescribedby = input<string | null>(null, {\n alias: 'aria-describedby',\n });\n readonly ariaInvalid = input<string | null>(null, { alias: 'aria-invalid' });\n readonly ariaErrormessage = input<string | null>(null, {\n alias: 'aria-errormessage',\n });\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type=\"radio\">`).\n */\n readonly change = output<string | null>();\n\n readonly id = computed(() => this.inputId() ?? this._uniqueId);\n readonly name = computed(\n () => this.radioGroup?.name() ?? this.inputName() ?? this._uniqueId,\n );\n readonly disabled = computed(\n () => this.radioGroup?.disabledModel() || this.inputDisabled(),\n );\n\n protected readonly checked = computed(\n () => this.radioGroup?.valueModel() === this.value() || this.inputChecked(),\n );\n\n constructor(@Attribute('tabindex') protected readonly tabindex?: string) {}\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n if (this.disabled()) {\n return;\n }\n\n this.change.emit(this.value());\n this.radioGroup?.onValueChange(this.value());\n }\n\n onBlur() {\n this.radioGroup?.onBlur();\n }\n}\n","<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","import { NgModule } from '@angular/core';\nimport { GaRadioButtonComponent } from './radio-button.component';\nimport { GaRadioGroupComponent } from './radio-group.component';\n\n@NgModule({\n imports: [GaRadioButtonComponent, GaRadioGroupComponent],\n exports: [GaRadioButtonComponent, GaRadioGroupComponent],\n})\nexport class GaRadioModule {}\n","import { CdkOption } from '@angular/cdk/listbox';\nimport {\n booleanAttribute,\n Component,\n computed,\n DoCheck,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { GaSelectComponent } from './select.component';\nimport { GaCheckboxModule } from '../checkbox';\nimport { GaRadioModule } from '../radio';\n\n@Component({\n selector: 'ga-option',\n imports: [GaCheckboxModule, GaRadioModule],\n templateUrl: './option.component.html',\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: [\n 'cdkOption: value',\n 'cdkOptionDisabled: disabled',\n 'cdkOptionTypeaheadLabel: typeaheadLabel',\n ],\n },\n ],\n host: {\n class: 'ga-dropdown__item',\n '[class.ga-dropdown__item--selected]': 'selected()',\n '[class.ga-dropdown__item--disabled]': 'cdkOption.disabled',\n '[class.ga-dropdown__item--active]': 'active() && !cdkOption.disabled',\n '(click)': 'onClick()',\n },\n})\nexport class GaOptionComponent<InputType = any> implements DoCheck {\n private readonly _isSelected = signal(false);\n private readonly _isActive = signal(false);\n protected readonly selectComponent = inject(GaSelectComponent);\n\n readonly cdkOption = inject(CdkOption, { self: true });\n\n readonly value = input<InputType | null>(null);\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly withInput = input(false, { transform: booleanAttribute });\n\n readonly selected = computed(\n () =>\n this._isSelected() &&\n this.cdkOption.value !== undefined &&\n this.cdkOption.value !== null &&\n this.cdkOption.value !== '',\n );\n readonly active = this._isActive.asReadonly();\n\n ngDoCheck() {\n // NOTE: currently there is no other reliable way to track the selected state,\n // refactor once cdk will be based on signals or more appropriate events introduced\n this._isSelected.set(this.cdkOption.isSelected());\n this._isActive.set(this.cdkOption.isActive());\n }\n\n onClick() {\n if (!this.cdkOption.disabled) {\n this.selectComponent.autoClose();\n }\n }\n}\n","@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<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-select-value',\n template: `<ng-content />`,\n})\nexport class GaSelectValueComponent {}\n","import { Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { GaSelectComponent } from './select.component';\n\n@Component({\n selector: 'ga-select-default-value',\n template: `{{ optionViewValue() }}`,\n})\nexport class GaSelectDefaultValueComponent {\n private readonly selectComponent = inject(GaSelectComponent);\n\n readonly optionViewValue = computed(() => {\n const options = this.selectComponent.selectedOptions();\n if (!options.length) {\n return null;\n }\n return options\n .map((option) => option.cdkOption.element.textContent?.trim() ?? '')\n .join(', ');\n });\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChild,\n contentChildren,\n DoCheck,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { GaIconModule } from '../icon/icon.module';\nimport { ChevronDown, ChevronUp } from 'lucide-angular';\nimport { GaButtonModule } from '../button/button.module';\nimport {\n CdkOverlayOrigin,\n ConnectedPosition,\n OverlayModule,\n} from '@angular/cdk/overlay';\nimport { GaIconData } from '../icon';\nimport { GaOptionComponent } from './option.component';\nimport { CdkListbox } from '@angular/cdk/listbox';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { GA_FORM_CONTROL, GaFormControl } from '../form-field/form-control.di';\nimport { GaSelectValueComponent } from './select-value.component';\nimport { GaSelectDefaultValueComponent } from './select-default-value.component';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-select',\n templateUrl: './select.component.html',\n imports: [\n GaIconModule,\n GaButtonModule,\n OverlayModule,\n GaSelectDefaultValueComponent,\n ],\n hostDirectives: [CdkOverlayOrigin],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaSelectComponent),\n multi: true,\n },\n {\n provide: GA_FORM_CONTROL,\n useExisting: forwardRef(() => GaSelectComponent),\n },\n ],\n host: {\n role: 'combobox',\n '[attr.id]': 'id()',\n class: 'ga-select',\n '[class.ga-select--expanded]': 'isOpen()',\n '[class.ga-select--disabled]': 'disabled()',\n '[class.ga-select--invalid]': 'invalid()',\n '[class.ga-select--empty]': '!hasValue()',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'cdkListbox().id',\n '[attr.aria-invalid]': 'invalid()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-owns]': 'searchable() ? cdkListbox().id : null',\n '[attr.aria-activedescendant]':\n '!searchable() ? activeDescendantId() : null',\n '[attr.tabindex]': 'disabled() ? -1 : 0',\n '(click)': 'toggle()',\n '(keydown.arrowdown)': 'open(); $event.preventDefault()',\n '(keydown.space)': 'open(); $event.preventDefault()',\n '(keydown.enter)': 'open(); $event.preventDefault()',\n },\n})\nexport class GaSelectComponent\n implements ControlValueAccessor, GaFormControl, DoCheck, AfterContentInit\n{\n private readonly _uniqueId = `ga-select-${++nextUniqueId}`;\n\n private focusedTriggerElement: any = null;\n private _onTouched?: () => any;\n private _onModelChanged?: (value: any) => void;\n protected readonly positions: ConnectedPosition[] = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -8,\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8,\n },\n ];\n\n private readonly injector = inject(Injector);\n protected readonly overlayOrigin = inject(CdkOverlayOrigin);\n\n private readonly implicitInvalid = signal(false);\n private readonly _isOpen = signal(false);\n\n readonly value = model<unknown | unknown[] | null>(null);\n readonly placeholder = input<string>('');\n readonly disabledInput = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly invalidInput = input(null, {\n alias: 'invalid',\n transform: booleanAttribute,\n });\n readonly multiple = input(false, { transform: booleanAttribute });\n readonly compareWith = input<(o1: any, o2: any) => boolean>();\n readonly searchable = input(false, { transform: booleanAttribute });\n readonly textValue = model<string>('');\n readonly leftIcon = input<GaIconData>();\n readonly idInput = input<string | null>(null, { alias: 'id' });\n\n // TODO: if we rename this to options, it breaks, why?\n readonly gaOptions = contentChildren(GaOptionComponent, {\n descendants: true,\n read: GaOptionComponent,\n });\n protected readonly cdkListbox = contentChild.required(CdkListbox);\n protected readonly customSelectValue = contentChild(GaSelectValueComponent);\n protected readonly inputSearch =\n viewChild<ElementRef<HTMLInputElement>>('inputSearch');\n protected readonly content = viewChild('ngContent', { read: ElementRef });\n\n readonly id = computed(() => {\n return this.idInput() ?? this._uniqueId;\n });\n readonly isOpen = this._isOpen.asReadonly();\n readonly disabled = linkedSignal(() => this.disabledInput());\n protected readonly menuStatusIcon = computed<GaIconData>(() => {\n return this._isOpen() ? ChevronUp : ChevronDown;\n });\n readonly selectedOptions = computed(() => {\n return this.gaOptions().filter((option) => option.selected());\n });\n readonly activeDescendantId = computed(() => {\n const activeOption = this.gaOptions().find((option) => option.active());\n return activeOption?.cdkOption.id;\n });\n readonly hasValue = computed(() => {\n const value = this.value();\n if (this.multiple()) {\n return Array.isArray(value) && value.length > 0;\n }\n return value !== null && value !== undefined && value !== '';\n });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n\n readonly _formControlId = computed(() => this.id());\n\n constructor() {\n effect(() => {\n // if the select became disabled while open, close it\n if (this.disabled() && this._isOpen()) {\n this.close();\n }\n });\n }\n\n ngAfterContentInit() {\n effect(\n () => {\n this.cdkListbox().multiple = this.multiple();\n this.cdkListbox().useActiveDescendant = this.searchable();\n this.cdkListbox().compareWith = this.compareWith();\n this.cdkListbox().value = this.multiple()\n ? (this.value() as any[])\n : [this.value()];\n },\n { injector: this.injector },\n );\n\n // track value changes (pull)\n this.cdkListbox().valueChange.subscribe(({ value }) => {\n if (!this.multiple()) {\n [value] = value;\n }\n this.value.set(value);\n this._onModelChanged?.(value);\n // this is needed because value could be also changed via keyboard\n this.autoClose();\n });\n }\n\n ngDoCheck() {\n const implicitNgControl = this.injector.get(NgControl, null);\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n }\n }\n\n writeValue(value: any) {\n this.value.set(value);\n }\n\n registerOnChange(fn: any) {\n this._onModelChanged = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled.set(disabled);\n }\n\n toggle() {\n if (this._isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open() {\n if (this.disabled() || this._isOpen()) {\n return;\n }\n this._isOpen.set(true);\n }\n\n close() {\n if (!this._isOpen()) {\n return;\n }\n this._isOpen.set(false);\n }\n\n autoClose() {\n // close that was initiated by clicking the option\n if (!this.multiple()) {\n this.close();\n }\n }\n\n focusListbox() {\n this.cdkListbox().focus();\n }\n\n setPreviousItemActive() {\n this.setItemActive(-1);\n }\n\n setNextItemActive() {\n this.setItemActive(1);\n }\n\n setActiveItemAsSelected() {\n const options = this.gaOptions();\n let activeOption = options.find((option) => option.cdkOption.isActive());\n if (!activeOption && options.length > 0) {\n activeOption = options[0];\n }\n if (activeOption) {\n const { cdkOption } = activeOption;\n this.cdkListbox().toggle(cdkOption);\n let { value } = this.cdkListbox();\n if (!this.multiple()) {\n [value] = value;\n }\n this.value.set(value);\n }\n }\n\n protected onInputKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.setNextItemActive();\n event.preventDefault();\n event.stopPropagation();\n break;\n case 'ArrowUp':\n this.setPreviousItemActive();\n event.preventDefault();\n event.stopPropagation();\n break;\n case 'Space':\n event.stopPropagation();\n break;\n case 'Enter':\n this.setActiveItemAsSelected();\n this.autoClose();\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n }\n\n protected onOverlayAttach() {\n this._isOpen.set(true);\n this.focusedTriggerElement = document.activeElement;\n if (this.searchable()) {\n this.inputSearch()!.nativeElement.focus();\n } else {\n this.focusListbox();\n }\n }\n\n protected onOverlayDetach() {\n this._isOpen.set(false);\n this.focusedTriggerElement?.focus();\n this.textValue.set('');\n this._onTouched?.();\n }\n\n private setItemActive(direction: 1 | -1) {\n const options = this.gaOptions();\n const currentIndex = options.findIndex(({ cdkOption }) =>\n cdkOption.isActive(),\n );\n\n const findNextEnabled = (startIndex: number) => {\n let index = startIndex;\n for (let i = 0; i < options.length; i++) {\n // calculate next index with wrapping (using modulo)\n index = (index + direction + options.length) % options.length;\n if (!options[index].cdkOption.disabled) {\n return index;\n }\n }\n return -1; // no enabled options found\n };\n\n const nextIndex = findNextEnabled(currentIndex);\n if (nextIndex !== -1) {\n this.cdkListbox()._setActiveOption(options[nextIndex].cdkOption);\n }\n }\n}\n","@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()\" />\n}\n@if (searchable() && isOpen()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"textValue.set(inputSearch.value)\"\n (click)=\"$event.stopPropagation()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"cdkListbox().id\"\n [attr.aria-activedescendant]=\"activeDescendantId()\"\n [placeholder]=\"placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n />\n} @else if (hasValue()) {\n <div class=\"ga-select__value\">\n @if (customSelectValue()) {\n <ng-content select=\"ga-select-value\" />\n } @else {\n <ga-select-default-value />\n }\n </div>\n} @else {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n}\n<ga-icon [icon]=\"menuStatusIcon()\" />\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ga-optgroup',\n template: `\n @if (label()) {\n <div class=\"ga-dropdown__caption\">{{ label() }}</div>\n }\n <ng-content />\n `,\n host: {\n role: 'group',\n },\n})\nexport class GaOptgroupComponent {\n readonly label = input<string>();\n}\n","import {\n Component,\n computed,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ga-spinner',\n template: `\n <svg\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.viewBox]=\"'0 0 ' + size() + ' ' + size()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [attr.cx]=\"center()\"\n [attr.cy]=\"center()\"\n [attr.r]=\"radius()\"\n stroke=\"var(--ga-color-secondary)\"\n [attr.stroke-width]=\"strokeWidth()\"\n fill=\"none\"\n ></circle>\n <circle\n [attr.cx]=\"center()\"\n [attr.cy]=\"center()\"\n [attr.r]=\"radius()\"\n stroke=\"var(--ga-color-primary-70)\"\n [attr.stroke-width]=\"strokeWidth()\"\n stroke-linecap=\"round\"\n fill=\"none\"\n [attr.stroke-dasharray]=\"arcCircumference() + ' ' + circumference()\"\n style=\"transform-origin: center; animation: ga-spinner__animation 1100ms linear infinite;\"\n ></circle>\n </svg>\n `,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ga-spinner',\n },\n styles: `\n .ga-spinner {\n display: inline-block;\n }\n\n @keyframes ga-spinner__animation {\n 0% {\n transform: rotate(0deg);\n }\n 31.82% {\n /* 350ms / 1100ms */\n transform: rotate(90deg);\n }\n 63.64% {\n /* (350ms + 350ms) / 1100ms */\n transform: rotate(180deg);\n }\n 81.82% {\n /* (350ms + 350ms + 200ms) / 1100ms */\n transform: rotate(270deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `,\n})\nexport class GaSpinnerComponent {\n readonly size = input(32, { transform: numberAttribute });\n\n readonly strokeWidth = computed(() => this.size() / 5);\n readonly center = computed(() => this.size() / 2);\n readonly radius = computed(() => (this.size() - this.strokeWidth()) / 2);\n readonly circumference = computed(() => 2 * Math.PI * this.radius());\n readonly arcCircumference = computed(() => this.circumference() * 0.25);\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaSpinnerComponent } from './spinner.component';\n\n@NgModule({\n imports: [GaSpinnerComponent],\n exports: [GaSpinnerComponent],\n})\nexport class GaSpinnerModule {}\n","import { Component } from '@angular/core';\nimport { GaSpinnerModule } from '../spinner';\n\n@Component({\n selector: 'ga-select-dropdown-loader',\n template: `<ga-spinner size=\"16\" />`,\n imports: [GaSpinnerModule],\n host: {\n class: 'ga-dropdown__content-spinner',\n },\n})\nexport class GaSelectDropdownLoadingComponent {}\n","import { CdkListbox } from '@angular/cdk/listbox';\nimport { booleanAttribute, Component, input } from '@angular/core';\nimport { GaSelectDropdownLoadingComponent } from './select-dropdown-loading.component';\n\n@Component({\n selector: 'ga-select-dropdown',\n templateUrl: './select-dropdown.component.html',\n imports: [GaSelectDropdownLoadingComponent],\n hostDirectives: [CdkListbox],\n host: {\n class: 'ga-dropdown ga-dropdown__content',\n },\n})\nexport class GaSelectDropdownComponent {\n readonly loading = input(false, { transform: booleanAttribute });\n}\n","@if (loading()) {\n <ga-select-dropdown-loader />\n} @else {\n <ng-content />\n}\n","import { Directive, Provider, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, RequiredValidator } from '@angular/forms';\n\nexport const GA_SELECT_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GaSelectRequiredValidator),\n multi: true,\n};\n\n@Directive({\n selector: `ga-select[required][formControlName], ga-select[required][formControl], ga-select[required][ngModel]`,\n providers: [GA_SELECT_REQUIRED_VALIDATOR],\n})\nexport class GaSelectRequiredValidator extends RequiredValidator {}\n","import { NgModule } from '@angular/core';\n\nimport { GaSelectComponent } from './select.component';\nimport { GaOptionComponent } from './option.component';\nimport { GaOptgroupComponent } from './opt-group.component';\nimport { GaSelectDropdownComponent } from './select-dropdown.component';\nimport { GaSelectDropdownLoadingComponent } from './select-dropdown-loading.component';\nimport { GaSelectRequiredValidator } from './select-required.validator';\nimport { GaSelectValueComponent } from './select-value.component';\n\n@NgModule({\n imports: [\n GaSelectComponent,\n GaOptionComponent,\n GaOptgroupComponent,\n GaSelectDropdownComponent,\n GaSelectDropdownLoadingComponent,\n GaSelectValueComponent,\n GaSelectRequiredValidator,\n ],\n exports: [\n GaSelectComponent,\n GaOptionComponent,\n GaOptgroupComponent,\n GaSelectDropdownComponent,\n GaSelectDropdownLoadingComponent,\n GaSelectValueComponent,\n GaSelectRequiredValidator,\n ],\n})\nexport class GaSelectModule {}\n","/*\n * Public API Surface of ngx-gaia\n */\n\nexport * from './lib/alert/index';\nexport * from './lib/badge/index';\nexport * from './lib/button/index';\nexport * from './lib/card/index';\nexport * from './lib/checkbox/index';\nexport * from './lib/segmented-control/index';\nexport * from './lib/icon/index';\nexport * from './lib/input/index';\nexport * from './lib/form-field/index';\nexport * from './lib/menu/index';\nexport * from './lib/tooltip/index';\nexport * from './lib/select/index';\nexport * from './lib/spinner/index';\nexport * from './lib/radio/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.GaIconComponent","i2.GaIconButtonDirective","nextUniqueId","i1","i3.GaRadioButtonComponent","i2.GaIconComponent","i1.GaSpinnerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"vsn-ux-ngx-gaia.mjs","sources":["../../../projects/ngx-gaia/src/lib/icon/icon.component.ts","../../../projects/ngx-gaia/src/lib/icon/icon.module.ts","../../../projects/ngx-gaia/src/lib/alert/alert-title.component.ts","../../../projects/ngx-gaia/src/lib/button/button.directive.ts","../../../projects/ngx-gaia/src/lib/button/icon-button.directive.ts","../../../projects/ngx-gaia/src/lib/button/button.module.ts","../../../projects/ngx-gaia/src/lib/alert/alert-i18n.service.ts","../../../projects/ngx-gaia/src/lib/alert/alert.component.ts","../../../projects/ngx-gaia/src/lib/alert/alert.component.html","../../../projects/ngx-gaia/src/lib/alert/alert-title-actions.component.ts","../../../projects/ngx-gaia/src/lib/alert/alert.module.ts","../../../projects/ngx-gaia/src/lib/badge/badge.component.ts","../../../projects/ngx-gaia/src/lib/badge/badge.module.ts","../../../projects/ngx-gaia/src/lib/card/card.component.ts","../../../projects/ngx-gaia/src/lib/card/card.module.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.component.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.component.html","../../../projects/ngx-gaia/src/lib/checkbox/checkbox-required.validator.ts","../../../projects/ngx-gaia/src/lib/checkbox/checkbox.module.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.component.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.component.html","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control-button.directive.ts","../../../projects/ngx-gaia/src/lib/segmented-control/segmented-control.module.ts","../../../projects/ngx-gaia/src/lib/input/input.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-control.di.ts","../../../projects/ngx-gaia/src/lib/input/input.directive.ts","../../../projects/ngx-gaia/src/lib/input/input.module.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.component.html","../../../projects/ngx-gaia/src/lib/form-field/field-label.component.ts","../../../projects/ngx-gaia/src/lib/form-field/field-info.component.ts","../../../projects/ngx-gaia/src/lib/form-field/form-field.module.ts","../../../projects/ngx-gaia/src/lib/menu/menu.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-item.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-title.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-trigger.directive.ts","../../../projects/ngx-gaia/src/lib/menu/menu-separator.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu-trigger-icon.component.ts","../../../projects/ngx-gaia/src/lib/menu/menu.module.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.component.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.component.html","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.directive.ts","../../../projects/ngx-gaia/src/lib/tooltip/tooltip.module.ts","../../../projects/ngx-gaia/src/lib/radio/radio-group.component.ts","../../../projects/ngx-gaia/src/lib/radio/radio-group.component.html","../../../projects/ngx-gaia/src/lib/radio/radio-button.component.ts","../../../projects/ngx-gaia/src/lib/radio/radio-button.component.html","../../../projects/ngx-gaia/src/lib/radio/radio.module.ts","../../../projects/ngx-gaia/src/lib/select/option.component.ts","../../../projects/ngx-gaia/src/lib/select/option.component.html","../../../projects/ngx-gaia/src/lib/select/select-value.component.ts","../../../projects/ngx-gaia/src/lib/select/select-default-value.component.ts","../../../projects/ngx-gaia/src/lib/select/select.component.ts","../../../projects/ngx-gaia/src/lib/select/select.component.html","../../../projects/ngx-gaia/src/lib/select/opt-group.component.ts","../../../projects/ngx-gaia/src/lib/spinner/spinner.component.ts","../../../projects/ngx-gaia/src/lib/spinner/spinner.module.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown-loading.component.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown.component.ts","../../../projects/ngx-gaia/src/lib/select/select-dropdown.component.html","../../../projects/ngx-gaia/src/lib/select/select-required.validator.ts","../../../projects/ngx-gaia/src/lib/select/select.module.ts","../../../projects/ngx-gaia/src/public-api.ts","../../../projects/ngx-gaia/src/vsn-ux-ngx-gaia.ts"],"sourcesContent":["import {\n Attribute,\n Component,\n ElementRef,\n inject,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\nimport { LucideAngularModule } from 'lucide-angular';\n\ntype HtmlAttributes = { [key: string]: string | number };\ntype LucideIconNode = readonly [string, HtmlAttributes];\nexport type GaIconData = readonly LucideIconNode[];\n\n@Component({\n selector: 'ga-icon',\n imports: [LucideAngularModule],\n template: `<lucide-icon\n [name]=\"icon()\"\n [size]=\"size()\"\n [color]=\"color()\"\n [strokeWidth]=\"strokeWidth()\"\n />`,\n host: {\n class: 'ga-icon',\n role: 'img',\n },\n styles: `\n .ga-icon {\n display: inline-block;\n vertical-align: middle;\n user-select: none;\n width: fit-content;\n height: fit-content;\n }\n `,\n encapsulation: ViewEncapsulation.None,\n})\nexport class GaIconComponent {\n private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n\n readonly icon = input<GaIconData | string>();\n readonly size = input<string | number>();\n readonly color = input<string>();\n readonly strokeWidth = input(undefined, { transform: numberAttribute });\n\n constructor(@Attribute('aria-hidden') ariaHiddenAttr: string) {\n if (!ariaHiddenAttr) {\n this.elementRef.nativeElement.setAttribute('aria-hidden', 'true');\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GaIconComponent } from './icon.component';\n\n@NgModule({\n imports: [GaIconComponent],\n exports: [GaIconComponent],\n})\nexport class GaIconModule {}\n","import { Component, computed, input } from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\n\n@Component({\n selector: 'ga-alert-title',\n template: `<ng-content />`,\n host: {\n class: 'ga-notification__title',\n },\n})\nexport class GaAlertTitleComponent {}\n","import { Component, input } from '@angular/core';\n\nexport type GaButtonType = 'primary' | 'secondary' | 'ghost' | 'transparent';\n\n@Component({\n selector: 'button[gaButton], a[gaButton]',\n host: {\n class: 'ga-button',\n '[class.ga-button--secondary]': `!variant() || variant() === 'secondary'`,\n '[class.ga-button--primary]': `variant() === 'primary'`,\n '[class.ga-button--ghost]': `variant() === 'ghost'`,\n '[class.ga-button--transparent]': `variant() === 'transparent'`,\n },\n template: `<ng-content />`,\n})\nexport class GaButtonDirective {\n readonly variant = input.required<GaButtonType | ''>({\n alias: 'gaButton',\n });\n}\n","import {\n Component,\n input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GaIconModule } from '../icon/icon.module';\nimport { GaIconData } from '../icon/icon.component';\n\nexport type GaIconButtonVariant = 'primary' | 'secondary' | 'ghost';\n\n@Component({\n selector: 'button[gaIconButton], a[gaIconButton]',\n imports: [GaIconModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './icon-button.directive.scss',\n encapsulation: ViewEncapsulation.None,\n template: `\n <ga-icon [icon]=\"icon()\" />\n <span class=\"ga-button__icon-label\"><ng-content /></span>\n `,\n host: {\n class: 'ga-button ga-button--icon-only',\n '[class.ga-button--primary]': `variant() === 'primary'`,\n '[class.ga-button--secondary]': `variant() === 'secondary'`,\n '[class.ga-button--ghost]': `variant() === 'ghost'`,\n },\n})\nexport class GaIconButtonDirective {\n readonly icon = input.required<GaIconData>({\n alias: 'gaIconButton',\n });\n\n readonly variant = input<GaIconButtonVariant>('secondary', {\n alias: 'gaIconButtonVariant',\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaButtonDirective } from './button.directive';\nimport { GaIconButtonDirective } from './icon-button.directive';\n\n@NgModule({\n imports: [GaButtonDirective, GaIconButtonDirective],\n exports: [GaButtonDirective, GaIconButtonDirective],\n})\nexport class GaButtonModule {}\n","import { Injectable, makeEnvironmentProviders } from '@angular/core';\n\nexport function GA_ALERT_I18N_FACTORY() {\n return new GaAlertI18nDefault();\n}\n\n@Injectable({\n providedIn: 'root',\n useFactory: GA_ALERT_I18N_FACTORY,\n})\nexport abstract class GaAlertI18n {\n abstract dismissLabel: string;\n}\n\n@Injectable()\nexport class GaAlertI18nDefault extends GaAlertI18n {\n /** A label for the dismiss button */\n dismissLabel = 'Dismiss';\n}\n\nexport function provideGaAlertI18n(value: GaAlertI18n | (() => GaAlertI18n)) {\n return makeEnvironmentProviders([\n typeof value === 'function'\n ? { provide: GaAlertI18n, useFactory: value }\n : { provide: GaAlertI18n, useValue: value },\n ]);\n}\n","import {\n booleanAttribute,\n Component,\n computed,\n contentChild,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\nimport { GaAlertTitleComponent } from './alert-title.component';\nimport {\n CircleCheck,\n Info,\n OctagonAlert,\n TriangleAlert,\n X,\n} from 'lucide-angular';\nimport { GaButtonModule } from '../button/button.module';\nimport { GaAlertI18n } from './alert-i18n.service';\n\nexport type GaAlertVariant =\n | 'brand'\n | 'information'\n | 'error'\n | 'warning'\n | 'success';\n\n@Component({\n selector: 'ga-alert',\n templateUrl: './alert.component.html',\n imports: [GaIconModule, GaButtonModule],\n host: {\n role: 'alert',\n '[class]': `variantClass()`,\n },\n})\nexport class GaAlertComponent {\n protected readonly i18n = inject(GaAlertI18n);\n\n readonly dismissIcon: typeof X = X;\n\n readonly variant = input<GaAlertVariant>('brand');\n readonly explicitIcon = input<GaIconData>(undefined, { alias: 'icon' });\n readonly dismissible = input(false, { transform: booleanAttribute });\n\n readonly dismiss = output();\n\n readonly icon = computed(() => {\n if (this.explicitIcon() !== undefined) {\n return this.explicitIcon();\n }\n switch (this.variant()) {\n case 'information':\n return Info;\n case 'error':\n return OctagonAlert;\n case 'warning':\n return TriangleAlert;\n case 'success':\n return CircleCheck;\n }\n return null;\n });\n\n readonly title = contentChild(GaAlertTitleComponent);\n\n readonly variantClass = computed(() => {\n return `ga-notification ga-notification--${this.variant()}`;\n });\n}\n","@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 (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n","import { Component, computed, input } from '@angular/core';\nimport { GaIconData, GaIconModule } from '../icon';\n\n@Component({\n selector: 'ga-alert-title-actions',\n template: `<ng-content />`,\n host: {\n class: 'ga-notification__title-actions',\n },\n})\nexport class GaAlertTitleActionsComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { GaAlertComponent } from './alert.component';\nimport { GaAlertTitleComponent } from './alert-title.component';\nimport { GaAlertTitleActionsComponent } from './alert-title-actions.component';\n\n@NgModule({\n imports: [\n GaAlertComponent,\n GaAlertTitleComponent,\n GaAlertTitleActionsComponent,\n ],\n exports: [\n GaAlertComponent,\n GaAlertTitleComponent,\n GaAlertTitleActionsComponent,\n ],\n})\nexport class GaAlertModule {}\n","import { Component, computed, input } from '@angular/core';\n\nexport type GaBadgeVariant =\n | 'default'\n | 'default-inverted'\n | 'information'\n | 'error'\n | 'warning'\n | 'success'\n | 'muted'\n | 'disabled';\n\nexport type GaBadgeType = 'text' | 'dot';\n\n@Component({\n selector: 'ga-badge',\n template: `<ng-content />`,\n host: {\n '[class]': `variantClass()`,\n },\n})\nexport class GaBadgeComponent {\n readonly variant = input<GaBadgeVariant>('default');\n readonly type = input<GaBadgeType>('text');\n\n readonly variantClass = computed(() => {\n return `ga-badge ga-badge--${this.type()} ga-badge--${this.variant()}`;\n });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaBadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [GaBadgeComponent],\n exports: [GaBadgeComponent],\n})\nexport class GaBadgeModule {}\n","import { booleanAttribute, Component, computed, input } from '@angular/core';\n\n@Component({\n selector: 'ga-card',\n template: `<ng-content />`,\n host: {\n class: 'ga-card',\n '[class.ga-card--selectable]': 'selectable()',\n '[class.ga-card--disabled]': 'disabled()',\n },\n})\nexport class GaCardComponent {\n readonly selectable = input(false, { transform: booleanAttribute });\n readonly disabled = input(false, { transform: booleanAttribute });\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaCardComponent } from './card.component';\n\n@NgModule({\n imports: [GaCardComponent],\n exports: [GaCardComponent],\n})\nexport class GaCardModule {}\n","import {\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DoCheck,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n output,\n Provider,\n signal,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\nimport { Check, LucideAngularModule, Minus } from 'lucide-angular';\nimport { GaIconData } from '../icon/icon.component';\n\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaCheckboxComponent),\n multi: true,\n};\n\n// Increasing integer for generating unique ids for checkbox components.\n// Inspired by @angular/components\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-checkbox',\n templateUrl: './checkbox.component.html',\n imports: [LucideAngularModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR],\n host: {\n class: 'ga-checkbox',\n '[class.ga-checkbox--invalid]': 'invalid()',\n '[attr.id]': 'null',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n '[attr.aria-invalid]': 'null',\n '[attr.aria-errormessage]': 'null',\n },\n})\nexport class GaCheckboxComponent implements ControlValueAccessor, DoCheck {\n /** @ignore */\n private readonly _uniqueId = `ga-checkbox-${++nextUniqueId}`;\n\n /** @ignore */\n private readonly injector = inject(Injector);\n\n readonly icons: { Minus: GaIconData; Check: GaIconData } = { Minus, Check };\n\n /** @ignore */\n private _onTouched?: () => any;\n /** @ignore */\n private _onModelChanged?: (value: any) => void;\n /** @ignore */\n private _invalidNgModel = signal(false);\n private _ngModelName = signal<string | number | null>(null);\n\n /** The value attribute of the native input element */\n readonly value = input<string | null>(null);\n readonly disabled = input(false, {\n transform: booleanAttribute,\n });\n readonly checked = input(false, {\n transform: booleanAttribute,\n });\n readonly nameInput = input<string | null>(null, { alias: 'name' });\n readonly id = input<string | null>(null);\n readonly indeterminate = input(false, { transform: booleanAttribute });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n readonly ariaDescribedby = input<string | null>(null, {\n alias: 'aria-describedby',\n });\n readonly ariaInvalid = input<string | null>(null, { alias: 'aria-invalid' });\n readonly ariaErrormessage = input<string | null>(null, {\n alias: 'aria-errormessage',\n });\n readonly required = input(false, { transform: booleanAttribute });\n\n readonly disabledModel = linkedSignal(() => this.disabled());\n readonly checkedModel = linkedSignal(() => this.checked());\n\n readonly change = output<boolean>();\n readonly indeterminateChange = output<boolean>();\n\n /** @ignore */\n readonly inputId = computed(() => (this.id() ? this.id() : this._uniqueId));\n /** @ignore */\n readonly name = computed(() => {\n return this.nameInput() ?? this._ngModelName() ?? this._uniqueId;\n });\n /** @ignore */\n readonly invalid = computed(() => {\n return this.ariaInvalid()\n ? this.ariaInvalid() === 'true'\n : this._invalidNgModel();\n });\n\n constructor(\n /** @ignore */\n @Attribute('tabindex') protected readonly tabindex?: string,\n ) {}\n\n ngDoCheck(): void {\n const ngControl = this.injector.get(NgControl, null);\n if (ngControl) {\n this._invalidNgModel.set(!!ngControl.invalid);\n this._ngModelName.set(ngControl.name);\n }\n }\n\n /** @ignore */\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n if (this.disabled()) {\n return;\n }\n\n this.checkedModel.set(!this.checkedModel());\n this.updateModel();\n }\n\n /** @ignore */\n onBlur() {\n this._onTouched?.();\n }\n\n /** @ignore */\n registerOnChange(fn: (value: any) => void) {\n this._onModelChanged = fn;\n }\n\n /** @ignore */\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n /** @ignore */\n writeValue(value: any) {\n this.checkedModel.set(!!value);\n }\n\n /** @ignore */\n setDisabledState(isDisabled: boolean) {\n this.disabledModel.set(isDisabled);\n }\n\n /** @ignore */\n private updateModel() {\n this._onModelChanged?.(this.checkedModel());\n this.change.emit(this.checkedModel());\n }\n}\n","<input\n type=\"checkbox\"\n class=\"ga-checkbox__native\"\n [attr.id]=\"inputId()\"\n [name]=\"name()\"\n [checked]=\"checkedModel()\"\n [indeterminate]=\"indeterminate()\"\n [disabled]=\"disabledModel()\"\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","import { Directive, Provider, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, CheckboxRequiredValidator } from '@angular/forms';\n\nexport const GA_CHECKBOX_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GaCheckboxRequiredValidator),\n multi: true,\n};\n\n/**\n * Validator for Gaia checkbox's required attribute in template-driven checkbox.\n * Current CheckboxRequiredValidator only work with `input type=checkbox` and does not\n * work with `ga-checkbox`.\n */\n@Directive({\n selector: `ga-checkbox[required][formControlName], ga-checkbox[required][formControl], ga-checkbox[required][ngModel]`,\n providers: [GA_CHECKBOX_REQUIRED_VALIDATOR],\n})\nexport class GaCheckboxRequiredValidator extends CheckboxRequiredValidator {}\n","import { NgModule } from '@angular/core';\n\nimport { GaCheckboxRequiredValidator } from './checkbox-required.validator';\nimport { GaCheckboxComponent } from './checkbox.component';\n\n@NgModule({\n imports: [GaCheckboxComponent, GaCheckboxRequiredValidator],\n exports: [GaCheckboxComponent, GaCheckboxRequiredValidator],\n})\nexport class GaCheckboxModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n model,\n output,\n} from '@angular/core';\n\n@Component({\n selector: 'ga-segmented-control',\n templateUrl: './segmented-control.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'group',\n class: 'ga-segmented-control',\n },\n})\nexport class GaSegmentedControlComponent {\n readonly selected = model<string>();\n\n readonly change = output<string | undefined>();\n}\n","<ng-content select=\"button[gaSegmentedControlButton]\"></ng-content>\n","import {\n computed,\n Directive,\n HostListener,\n inject,\n input,\n} from '@angular/core';\n\nimport { GaSegmentedControlComponent } from './segmented-control.component';\n\n@Directive({\n selector: '[gaSegmentedControlButton]',\n host: {\n type: 'button',\n class: 'ga-segmented-control__button',\n '[class.ga-segmented-control__button--selected]': 'selected()',\n '[attr.aria-pressed]': 'selected()',\n },\n})\nexport class GaSegmentedControlButtonDirective {\n /** @ignore */\n private readonly group = inject(GaSegmentedControlComponent, { host: true });\n\n readonly value = input<string>();\n\n readonly selected = computed(() => {\n return (\n this.value() !== undefined &&\n this.group.selected() !== undefined &&\n this.group.selected() === this.value()\n );\n });\n\n @HostListener('click')\n onClick(): void {\n this.group.selected.set(this.value());\n this.group.change.emit(this.value());\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaSegmentedControlComponent } from './segmented-control.component';\nimport { GaSegmentedControlButtonDirective } from './segmented-control-button.directive';\n\n@NgModule({\n imports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],\n exports: [GaSegmentedControlComponent, GaSegmentedControlButtonDirective],\n})\nexport class GaSegmentedControlModule {}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DoCheck,\n input,\n signal,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Component({\n selector: 'ga-input',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-input',\n '[class.ga-input--invalid]': 'invalid()',\n },\n})\nexport class GaInputComponent implements DoCheck {\n private readonly implicitNgControl = contentChild(NgControl);\n private readonly implicitInvalid = signal(false);\n\n readonly invalidInput = input(null, { transform: booleanAttribute });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n\n ngDoCheck() {\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n const implicitNgControl = this.implicitNgControl();\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n }\n }\n}\n","import { Directive, InjectionToken, input, Signal } from '@angular/core';\n\nexport type GaFormControl = {\n readonly _formControlId: Signal<string | null | undefined>;\n};\n\nexport const GA_FORM_CONTROL = new InjectionToken<GaFormControl>(\n 'ga-form-control',\n);\n\n@Directive({\n selector: '[gaFormControl]',\n providers: [\n { provide: GA_FORM_CONTROL, useExisting: GaFormControlDirective },\n ],\n})\nexport class GaFormControlDirective implements GaFormControl {\n readonly _formControlId = input<string>(undefined, {\n alias: 'gaFormControl',\n });\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DoCheck,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { NgControl, ValidationErrors } from '@angular/forms';\nimport { GaInputComponent } from './input.component';\nimport { GA_FORM_CONTROL, GaFormControl } from '../form-field/form-control.di';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: '[gaInput]',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.id]': 'id()',\n '[class.ga-input]': '!hasWrapper',\n '[class.ga-input--invalid]': '!hasWrapper && invalid()',\n },\n providers: [{ provide: GA_FORM_CONTROL, useExisting: GaInputDirective }],\n})\nexport class GaInputDirective implements DoCheck, GaFormControl {\n readonly uniqueId = `ga-input-${++nextUniqueId}`;\n\n private readonly implicitNgControl = inject(NgControl, {\n optional: true,\n self: true,\n });\n protected readonly hasWrapper = inject(GaInputComponent, { optional: true });\n\n private readonly implicitInvalid = signal(false);\n private readonly implicitErrors = signal<ValidationErrors | null>(null);\n\n readonly invalidInput = input(null, {\n alias: 'invalid',\n transform: booleanAttribute,\n });\n readonly idInput = input<string>(undefined, { alias: 'id' });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n readonly id = computed(() => {\n return this.idInput() ?? this.uniqueId;\n });\n readonly errors = this.implicitErrors.asReadonly();\n\n readonly _formControlId = this.id;\n\n ngDoCheck() {\n if (this.hasWrapper) return;\n\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n const implicitNgControl = this.implicitNgControl;\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n this.implicitErrors.set(implicitNgControl.errors);\n }\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaInputComponent } from './input.component';\nimport { GaInputDirective } from './input.directive';\n\n@NgModule({\n imports: [GaInputComponent, GaInputDirective],\n exports: [GaInputComponent, GaInputDirective],\n})\nexport class GaInputModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n} from '@angular/core';\nimport { GA_FORM_CONTROL } from './form-control.di';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-form-field',\n exportAs: 'gaFormField',\n templateUrl: './form-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-form-field',\n },\n})\nexport class GaFormFieldComponent {\n readonly uniqueId = `ga-form-field-${++nextUniqueId}`;\n\n readonly formControl = contentChild(GA_FORM_CONTROL, { descendants: true });\n\n readonly controlId = computed(() => {\n return this.formControl()?._formControlId() ?? this.uniqueId;\n });\n}\n","<ng-content />\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n} from '@angular/core';\nimport { GaFormFieldComponent } from './form-field.component';\nimport { DOCUMENT } from '@angular/common';\n\n@Component({\n selector: 'ga-label',\n template: `<label\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n (click)=\"focusControl()\"\n ><ng-content\n /></label>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GaFieldLabelComponent {\n private readonly document = inject(DOCUMENT);\n readonly formField = inject(GaFormFieldComponent);\n\n readonly for = input<string>();\n\n readonly controlId = computed(() => {\n return this.for() ?? this.formField.controlId();\n });\n\n readonly controlElement = computed(() => {\n const control = this.document.querySelector(`#${this.controlId()}`);\n if (control instanceof HTMLElement) {\n return control;\n }\n return null;\n });\n\n focusControl() {\n const control = this.controlElement();\n // only focus custom elements as native elements already\n // have support for connecting label and reacting to events\n if (control?.tagName.includes('-')) {\n control.focus();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'ga-info',\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-form-field__info',\n },\n})\nexport class GaFieldInfoComponent {}\n","import { NgModule } from '@angular/core';\n\nimport { GaFormFieldComponent } from './form-field.component';\nimport { GaFieldLabelComponent } from './field-label.component';\nimport { GaFieldInfoComponent } from './field-info.component';\nimport { GaFormControlDirective } from './form-control.di';\n\n@NgModule({\n imports: [\n GaFormFieldComponent,\n GaFieldLabelComponent,\n GaFieldInfoComponent,\n GaFormControlDirective,\n ],\n exports: [\n GaFormFieldComponent,\n GaFieldLabelComponent,\n GaFieldInfoComponent,\n GaFormControlDirective,\n ],\n})\nexport class GaFormFieldModule {}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu',\n template: `<ng-content />`,\n hostDirectives: [CdkMenu],\n host: {\n class: 'ga-menu',\n },\n styles: `\n :host {\n margin-top: var(--ga-size-8);\n margin-bottom: var(--ga-size-8);\n }\n `,\n})\nexport class GaMenuComponent {}\n","import { CdkMenuItem } from '@angular/cdk/menu';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: '[gaMenuItem]',\n template: `<ng-content />`,\n hostDirectives: [CdkMenuItem],\n host: {\n class: 'ga-menu__item',\n },\n})\nexport class GaMenuItemComponent {}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu-title',\n template: `<ng-content />`,\n host: {\n class: 'ga-menu__title',\n },\n})\nexport class GaMenuTitleComponent {}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { Directive, effect, inject, input, TemplateRef } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map, merge } from 'rxjs';\n\n@Directive({\n selector: '[gaMenuTrigger]',\n exportAs: 'gaMenuTrigger',\n standalone: true,\n hostDirectives: [CdkMenuTrigger],\n})\nexport class GaMenuTriggerDirective {\n private readonly cdkMenuTrigger = inject(CdkMenuTrigger);\n\n readonly menuRef = input.required<TemplateRef<any>>({\n alias: 'gaMenuTrigger',\n });\n\n readonly isOpen = toSignal(\n merge(\n this.cdkMenuTrigger.opened.pipe(map(() => true)),\n this.cdkMenuTrigger.closed.pipe(map(() => false)),\n ),\n { initialValue: this.cdkMenuTrigger.isOpen() },\n );\n\n constructor() {\n effect(() => {\n this.cdkMenuTrigger.menuTemplateRef = this.menuRef();\n });\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-menu-separator',\n template: `<ng-content />`,\n host: {\n class: 'ga-menu__separator',\n },\n})\nexport class GaMenuSeparatorComponent {}\n","import { Component, computed, inject } from '@angular/core';\nimport { GaIconModule } from '../icon/icon.module';\nimport { ChevronDown, ChevronUp } from 'lucide-angular';\nimport { GaMenuTriggerDirective } from './menu-trigger.directive';\nimport { GaIconData } from '../icon/icon.component';\n\n@Component({\n selector: 'ga-menu-trigger-icon',\n imports: [GaIconModule],\n template: `<ga-icon [icon]=\"icon()\" />`,\n})\nexport class GaMenuTriggerIconComponent {\n protected readonly menuTrigger = inject(GaMenuTriggerDirective);\n\n protected readonly icon = computed<GaIconData>(() => {\n return this.menuTrigger.isOpen() ? ChevronUp : ChevronDown;\n });\n}\n","import { NgModule } from '@angular/core';\nimport { GaMenuComponent } from './menu.component';\nimport { GaMenuItemComponent } from './menu-item.component';\nimport { GaMenuTriggerDirective } from './menu-trigger.directive';\nimport { GaMenuSeparatorComponent } from './menu-separator.component';\nimport { GaMenuTitleComponent } from './menu-title.component';\nimport { GaMenuTriggerIconComponent } from './menu-trigger-icon.component';\n\n@NgModule({\n imports: [\n GaMenuComponent,\n GaMenuItemComponent,\n GaMenuTriggerDirective,\n GaMenuSeparatorComponent,\n GaMenuTitleComponent,\n GaMenuTriggerIconComponent,\n ],\n exports: [\n GaMenuComponent,\n GaMenuItemComponent,\n GaMenuTriggerDirective,\n GaMenuSeparatorComponent,\n GaMenuTitleComponent,\n GaMenuTriggerIconComponent,\n ],\n})\nexport class GaMenuModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n HostListener,\n input,\n output,\n signal,\n TemplateRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { NgTemplateOutlet } from '@angular/common';\n\nexport type GaTooltipPosition = 'top' | 'bottom' | 'left' | 'right';\nexport type GaTooltipDirection = 'start' | 'end' | 'center';\nexport type GaTooltipPlacement = `${GaTooltipPosition}-${GaTooltipDirection}`;\nexport type GaTooltipControlMode = 'hover' | 'click' | 'none';\n\n@Component({\n selector: 'ga-tooltip',\n imports: [NgTemplateOutlet],\n templateUrl: './tooltip.component.html',\n styleUrl: './tooltip.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.style]': 'inlineStyle()',\n },\n})\nexport class GaTooltipComponent {\n private mouseLeaveSubject = new Subject<void>();\n readonly afterMouseLeave = () => this.mouseLeaveSubject.asObservable();\n\n readonly mouseOver = signal(false);\n\n readonly content = input.required<string | TemplateRef<any>>();\n\n readonly template = computed(() => {\n const content = this.content();\n return content instanceof TemplateRef ? content : null;\n });\n\n readonly text = computed(() => {\n const content = this.content();\n return typeof content === 'string' ? content : null;\n });\n\n readonly position = input<GaTooltipPlacement>();\n readonly offset = input<number>(0);\n\n readonly hideTriggered = output();\n readonly triggerHide = () => this.hideTriggered.emit();\n\n readonly inlineStyle = computed(() => {\n if (!this.position() || !this.offset()) {\n return '';\n }\n\n return `--ga-tooltip-offset: ${this.offset()}px;`;\n });\n\n readonly cssClass = computed(() => {\n return ['ga-tooltip', `ga-tooltip--${this.position()}`].join(' ');\n });\n\n @HostListener('mouseenter')\n handleMouseEnter(): void {\n this.mouseOver.set(true);\n }\n\n @HostListener('mouseleave')\n handleMouseLeave(): void {\n this.mouseOver.set(false);\n this.mouseLeaveSubject.next();\n }\n}\n","<div [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","import {\n Overlay,\n OverlayRef,\n FlexibleConnectedPositionStrategy,\n ConnectedPosition,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n booleanAttribute,\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Input,\n NgZone,\n numberAttribute,\n OutputRefSubscription,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Observable, takeUntil, map } from 'rxjs';\nimport { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';\nimport {\n GaTooltipComponent,\n GaTooltipControlMode,\n GaTooltipDirection,\n GaTooltipPlacement,\n GaTooltipPosition,\n} from './tooltip.component';\n\nexport const GA_TOOLTIP_DEFAULT_OFFSET = 5;\n\n@Directive({\n selector: '[gaTooltip]',\n exportAs: 'gaTooltip',\n})\nexport class GaTooltipDirective {\n private readonly elementRef = inject(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly ngZone = inject(NgZone);\n\n protected destroyed$ = new Subject<void>();\n private _content: string | TemplateRef<any> | null = null;\n private tooltipInstanceDestroyed$: Subject<void> | null = null;\n private outputSubscription: OutputRefSubscription | null = null;\n private overlayRef?: OverlayRef;\n private tooltipPortal?: ComponentPortal<GaTooltipComponent>;\n private tooltipRef?: ComponentRef<GaTooltipComponent>;\n private get tooltipInstance() {\n return this.tooltipRef ? this.tooltipRef.instance : null;\n }\n private currentPosition$?: Observable<GaTooltipPlacement>;\n private _placement: GaTooltipPlacement = 'right-center';\n private _offset: number = GA_TOOLTIP_DEFAULT_OFFSET;\n private mouseOver: boolean = false;\n private _showControlMode: GaTooltipControlMode | null = null;\n private _hideControlMode: GaTooltipControlMode | null = null;\n\n @Input('gaTooltip')\n set content(value: string | TemplateRef<any> | null) {\n if (value === this._content) {\n return;\n }\n\n this._content = value;\n\n // Hide tooltip with empty content\n if (!this._content && this.overlayRef?.hasAttached()) {\n this.hide();\n return;\n }\n\n // Update the content in case tooltip is already opened\n if (this.tooltipRef && this.overlayRef?.hasAttached()) {\n this.tooltipRef.setInput('content', this._content);\n }\n }\n get content() {\n return this._content;\n }\n\n @Input({ alias: 'gaTooltipDisabled', transform: booleanAttribute })\n disabled = false;\n\n @Input({ alias: 'gaTooltipControlMode' })\n controlMode: GaTooltipControlMode = 'hover';\n\n /**\n * @default `gaTooltipControlMode`\n */\n @Input({ alias: 'gaTooltipShowControlMode' })\n set showControlMode(value: GaTooltipControlMode) {\n this._showControlMode = value;\n }\n get showControlMode(): GaTooltipControlMode {\n return this._showControlMode ?? this.controlMode;\n }\n\n /**\n * @default `gaTooltipControlMode`\n */\n @Input({ alias: 'gaTooltipHideControlMode' })\n set hideControlMode(value: GaTooltipControlMode) {\n this._hideControlMode = value;\n }\n get hideControlMode(): GaTooltipControlMode {\n return this._hideControlMode ?? this.controlMode;\n }\n\n @Input({ alias: 'gaTooltipOffsetSize', transform: numberAttribute })\n set offset(value) {\n if (this._offset === value) {\n return;\n }\n\n this._offset = !isNaN(value) ? value : GA_TOOLTIP_DEFAULT_OFFSET;\n this.updateTooltipPlacement();\n }\n get offset() {\n return this._offset;\n }\n\n @Input({ alias: 'gaTooltipPlacement' })\n set placement(value: GaTooltipPlacement) {\n if (this._placement === value) {\n return;\n }\n\n this._placement = value;\n\n this.updateTooltipPlacement();\n }\n get placement() {\n return this._placement;\n }\n\n ngOnDestroy(): void {\n this.destroyed$.next();\n this.destroyed$.complete();\n this.overlayRef?.detach();\n this.overlayRef?.dispose();\n }\n\n show(): void {\n if (this.overlayRef?.hasAttached()) {\n return;\n }\n\n const overlayRef = this.createOverlay();\n this.tooltipPortal =\n this.tooltipPortal ?? new ComponentPortal(GaTooltipComponent);\n\n this.tooltipInstanceDestroyed$ = new Subject();\n\n this.tooltipRef = overlayRef.attach(this.tooltipPortal);\n this.tooltipRef.setInput('content', this.content);\n this.outputSubscription = this.tooltipInstance!.hideTriggered.subscribe(\n () => setTimeout(() => this.hide()),\n );\n\n if (this.hideControlMode === 'hover') {\n // Soft hide tooltip on mouse leave when control mode is set to 'hover'\n this.tooltipInstance!.afterMouseLeave()\n .pipe(takeUntil(this.tooltipInstanceDestroyed$))\n .subscribe(() => setTimeout(() => this.softHide()));\n } else if (this.hideControlMode === 'click') {\n // Hide tooltip on outside click when control mode is set to 'click'\n overlayRef\n .outsidePointerEvents()\n .pipe(takeUntil(this.tooltipInstanceDestroyed$))\n .subscribe((event) => {\n const element = this.elementRef.nativeElement;\n if (event.target !== element && !element.contains(event.target)) {\n this.hide();\n }\n });\n }\n\n // Tell the instance current position (left, right, top, bottom)\n this.currentPosition$!.pipe(\n takeUntil(this.tooltipInstanceDestroyed$),\n ).subscribe((position) => {\n this.ngZone.run(() => {\n if (!this.tooltipRef) {\n return;\n }\n this.tooltipRef.setInput('position', position);\n this.tooltipRef.setInput('offset', this.offset);\n });\n });\n }\n\n hide(): void {\n if (!this.overlayRef?.hasAttached()) {\n return;\n }\n this.overlayRef.detach();\n this.tooltipInstanceDestroyed$!.next();\n this.tooltipInstanceDestroyed$!.complete();\n this.outputSubscription?.unsubscribe();\n this.tooltipRef = undefined;\n }\n\n toggle(): void {\n if (!this.overlayRef?.hasAttached()) {\n this.show();\n return;\n }\n this.hide();\n }\n\n @HostListener('click')\n handleMouseClick(): void {\n if (this.showControlMode !== 'click' || this.disabled || !this._content) {\n return;\n }\n this.toggle();\n }\n\n @HostListener('mouseenter')\n handleMouseEnter(): void {\n if (this.showControlMode !== 'hover' || this.disabled || !this._content) {\n return;\n }\n this.mouseOver = true;\n this.show();\n }\n\n @HostListener('mouseleave')\n handleMouseLeave(): void {\n if (this.hideControlMode !== 'hover' || this.disabled) {\n return;\n }\n this.mouseOver = false;\n setTimeout(() => this.softHide());\n }\n\n /**\n * hides only if mouse is not over the host element nor the tooltip itself\n */\n private softHide() {\n if (!this.mouseOver && !this.tooltipInstance?.mouseOver()) {\n this.hide();\n }\n }\n\n private createOverlay(): OverlayRef {\n if (this.overlayRef) {\n return this.overlayRef;\n }\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef);\n this.currentPosition$ = positionStrategy.positionChanges.pipe(\n map((pos) => pos.connectionPair.panelClass as GaTooltipPlacement),\n );\n\n const scrollStrategy = this.overlay.scrollStrategies.reposition();\n\n this.overlayRef = this.overlay.create({ positionStrategy, scrollStrategy });\n\n if (this.showControlMode !== 'none') {\n this.overlayRef\n .keydownEvents()\n .pipe(takeUntil(this.destroyed$))\n .subscribe((event) => {\n if (\n this.overlayRef?.hasAttached() &&\n event.keyCode === ESCAPE &&\n !hasModifierKey(event)\n ) {\n this.hide();\n }\n });\n }\n\n this.updatePosition();\n\n return this.overlayRef;\n }\n\n private updateTooltipPlacement(): void {\n if (this.overlayRef) {\n this.updatePosition();\n this.overlayRef.updatePosition();\n }\n }\n\n private updatePosition(): void {\n const position = this.overlayRef!.getConfig()\n .positionStrategy as FlexibleConnectedPositionStrategy;\n const positions = this.getPositions(this._placement);\n position.withPositions(positions);\n }\n\n private getPositions(\n preferredPlacement: GaTooltipPlacement,\n ): ConnectedPosition[] {\n const [position, direction] = preferredPlacement.split('-') as [\n GaTooltipPosition,\n GaTooltipDirection,\n ];\n\n let positionedOverlayY: ConnectedPosition['overlayY'];\n let positionedOffsetY: number;\n if (direction === 'start') {\n positionedOverlayY = 'top';\n positionedOffsetY = -24;\n } else if (direction === 'end') {\n positionedOverlayY = 'bottom';\n positionedOffsetY = 24;\n } else {\n positionedOverlayY = 'center';\n positionedOffsetY = 0;\n }\n\n let positionedOffsetX: number;\n if (direction === 'start') {\n positionedOffsetX = -24;\n } else if (direction === 'end') {\n positionedOffsetX = 24;\n } else {\n positionedOffsetX = 0;\n }\n\n const right: ConnectedPosition = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: positionedOverlayY,\n offsetY: positionedOffsetY,\n panelClass: `right-${direction}`,\n };\n\n const left: ConnectedPosition = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: positionedOverlayY,\n offsetY: positionedOffsetY,\n panelClass: `left-${direction}`,\n };\n\n const top: ConnectedPosition = {\n originX: 'center',\n originY: 'top',\n overlayX: direction,\n overlayY: 'bottom',\n offsetX: positionedOffsetX,\n panelClass: `top-${direction}`,\n };\n\n const bottom: ConnectedPosition = {\n originX: 'center',\n originY: 'bottom',\n overlayX: direction,\n overlayY: 'top',\n offsetX: positionedOffsetX,\n panelClass: `bottom-${direction}`,\n };\n\n if (position === 'right') {\n return [right, left, bottom, top];\n } else if (position === 'left') {\n return [left, right, bottom, top];\n } else if (position === 'top') {\n return [top, bottom, right, left];\n } else {\n return [bottom, top, right, left];\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { GaTooltipDirective } from './tooltip.directive';\n\n@NgModule({\n imports: [GaTooltipDirective],\n exports: [GaTooltipDirective],\n})\nexport class GaTooltipModule {}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n input,\n linkedSignal,\n output,\n Provider,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n/**\n * Provider Expression that allows ga-radio-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and ngControl.\n */\nexport const RADIO_CONTROL_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaRadioGroupComponent),\n multi: true,\n};\n\n// Increasing integer for generating unique ids for radio components.\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-radio-group',\n templateUrl: './radio-group.component.html',\n providers: [RADIO_CONTROL_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n class: 'ga-radio-group',\n },\n})\nexport class GaRadioGroupComponent implements ControlValueAccessor {\n /** Name of the radio button group. All radio buttons inside this group will use this name. */\n readonly name = input<string>(`ga-radio-group-${nextUniqueId++}`);\n /**\n * Value for the radio-group. Should equal the value of the selected radio button if there is\n * a corresponding radio button with a matching value. If there is not such a corresponding\n * radio button, this value persists to be applied in case a new radio button is added with a\n * matching value.\n */\n readonly value = input<string | null>(null);\n /** Whether the radio group is disabled */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type=\"radio\">`).\n */\n readonly change = output<string | null>();\n\n readonly valueModel = linkedSignal(() => this.value());\n readonly disabledModel = linkedSignal(() => this.disabled());\n\n private _onTouched?: () => any;\n private _onModelChanged?: (value: any) => void;\n\n registerOnChange(fn: (value: any) => void) {\n this._onModelChanged = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n writeValue(value: any) {\n this.valueModel.set(value);\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabledModel.set(isDisabled);\n }\n\n onValueChange(value: string | null) {\n if (this.valueModel() === value) {\n return;\n }\n this.valueModel.set(value);\n this.change.emit(value);\n if (this._onModelChanged) {\n this._onModelChanged(value);\n }\n }\n\n onBlur() {\n if (this._onTouched) {\n this._onTouched();\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Attribute,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { GaRadioGroupComponent } from './radio-group.component';\n\n// Increasing integer for generating unique ids for radio button components.\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-radio-button',\n templateUrl: './radio-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'ga-radio-button',\n '[class.ga-radio-button--invalid]': 'ariaInvalid()',\n '[attr.id]': 'null',\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.aria-describedby]': 'null',\n },\n})\nexport class GaRadioButtonComponent {\n private readonly radioGroup = inject(GaRadioGroupComponent, {\n optional: true,\n });\n\n private _uniqueId = `ga-radio-button-${++nextUniqueId}`;\n\n /** The value attribute of the native input element */\n readonly value = input<string | null>(null);\n readonly inputId = input<string | null>(null, { alias: 'id' });\n readonly inputName = input<string | null>(null, { alias: 'name' });\n readonly inputChecked = input(false, {\n alias: 'checked',\n transform: booleanAttribute,\n });\n readonly inputDisabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n readonly ariaDescribedby = input<string | null>(null, {\n alias: 'aria-describedby',\n });\n readonly ariaInvalid = input<string | null>(null, { alias: 'aria-invalid' });\n readonly ariaErrormessage = input<string | null>(null, {\n alias: 'aria-errormessage',\n });\n\n /**\n * Event emitted when the group value changes.\n * Change events are only emitted when the value changes due to user interaction with\n * a radio button (the same behavior as `<input type=\"radio\">`).\n */\n readonly change = output<string | null>();\n\n readonly id = computed(() => this.inputId() ?? this._uniqueId);\n readonly name = computed(\n () => this.radioGroup?.name() ?? this.inputName() ?? this._uniqueId,\n );\n readonly disabled = computed(\n () => this.radioGroup?.disabledModel() || this.inputDisabled(),\n );\n\n protected readonly checked = computed(\n () => this.radioGroup?.valueModel() === this.value() || this.inputChecked(),\n );\n\n constructor(@Attribute('tabindex') protected readonly tabindex?: string) {}\n\n onInputChange(event: Event) {\n // We always have to stop propagation on the change event.\n // Otherwise the change event, from the input element, will bubble up and\n // emit its event object to the `change` output.\n event.stopPropagation();\n\n if (this.disabled()) {\n return;\n }\n\n this.change.emit(this.value());\n this.radioGroup?.onValueChange(this.value());\n }\n\n onBlur() {\n this.radioGroup?.onBlur();\n }\n}\n","<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","import { NgModule } from '@angular/core';\nimport { GaRadioButtonComponent } from './radio-button.component';\nimport { GaRadioGroupComponent } from './radio-group.component';\n\n@NgModule({\n imports: [GaRadioButtonComponent, GaRadioGroupComponent],\n exports: [GaRadioButtonComponent, GaRadioGroupComponent],\n})\nexport class GaRadioModule {}\n","import { CdkOption } from '@angular/cdk/listbox';\nimport {\n afterRender,\n booleanAttribute,\n Component,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { GaSelectComponent } from './select.component';\nimport { GaCheckboxModule } from '../checkbox';\nimport { GaRadioModule } from '../radio';\n\n@Component({\n selector: 'ga-option',\n imports: [GaCheckboxModule, GaRadioModule],\n templateUrl: './option.component.html',\n hostDirectives: [\n {\n directive: CdkOption,\n inputs: [\n 'cdkOption: value',\n 'cdkOptionDisabled: disabled',\n 'cdkOptionTypeaheadLabel: typeaheadLabel',\n ],\n },\n ],\n host: {\n class: 'ga-dropdown__item',\n '[class.ga-dropdown__item--selected]': 'selected()',\n '[class.ga-dropdown__item--disabled]': 'cdkOption.disabled',\n '[class.ga-dropdown__item--active]': 'active() && !cdkOption.disabled',\n '(click)': 'onClick()',\n },\n})\nexport class GaOptionComponent<InputType = any> {\n private readonly _isSelected = signal(false);\n private readonly _isActive = signal(false);\n protected readonly selectComponent = inject(GaSelectComponent);\n\n readonly cdkOption = inject(CdkOption, { self: true });\n\n readonly value = input<InputType | null>(null);\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly withInput = input(false, { transform: booleanAttribute });\n\n readonly selected = computed(\n () =>\n this._isSelected() &&\n this.cdkOption.value !== undefined &&\n this.cdkOption.value !== null &&\n this.cdkOption.value !== '',\n );\n readonly active = this._isActive.asReadonly();\n\n constructor() {\n afterRender(() => {\n // NOTE: currently there is no other reliable way to track the selected state,\n // refactor once cdk will be based on signals or more appropriate events introduced\n this._isSelected.set(this.cdkOption.isSelected());\n this._isActive.set(this.cdkOption.isActive());\n });\n }\n\n onClick() {\n if (!this.cdkOption.disabled) {\n this.selectComponent.autoClose();\n }\n }\n}\n","@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<ng-content />\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'ga-select-value',\n template: `<ng-content />`,\n})\nexport class GaSelectValueComponent {}\n","import { Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { GaSelectComponent } from './select.component';\n\n@Component({\n selector: 'ga-select-default-value',\n template: `{{ optionViewValue() }}`,\n})\nexport class GaSelectDefaultValueComponent {\n private readonly selectComponent = inject(GaSelectComponent);\n\n readonly optionViewValue = computed(() => {\n const options = this.selectComponent.selectedOptions();\n if (!options.length) {\n return null;\n }\n return options\n .map((option) => option.cdkOption.element.textContent?.trim() ?? '')\n .join(', ');\n });\n}\n","import {\n AfterContentInit,\n booleanAttribute,\n Component,\n computed,\n contentChild,\n contentChildren,\n DoCheck,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n linkedSignal,\n model,\n signal,\n viewChild,\n} from '@angular/core';\nimport { GaIconModule } from '../icon/icon.module';\nimport { ChevronDown, ChevronUp } from 'lucide-angular';\nimport { GaButtonModule } from '../button/button.module';\nimport {\n CdkOverlayOrigin,\n ConnectedPosition,\n OverlayModule,\n} from '@angular/cdk/overlay';\nimport { GaIconData } from '../icon';\nimport { GaOptionComponent } from './option.component';\nimport { CdkListbox } from '@angular/cdk/listbox';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n NgControl,\n} from '@angular/forms';\nimport { GA_FORM_CONTROL, GaFormControl } from '../form-field/form-control.di';\nimport { GaSelectValueComponent } from './select-value.component';\nimport { GaSelectDefaultValueComponent } from './select-default-value.component';\n\nlet nextUniqueId = 0;\n\n@Component({\n selector: 'ga-select',\n templateUrl: './select.component.html',\n imports: [\n GaIconModule,\n GaButtonModule,\n OverlayModule,\n GaSelectDefaultValueComponent,\n ],\n hostDirectives: [CdkOverlayOrigin],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => GaSelectComponent),\n multi: true,\n },\n {\n provide: GA_FORM_CONTROL,\n useExisting: forwardRef(() => GaSelectComponent),\n },\n ],\n host: {\n role: 'combobox',\n '[attr.id]': 'id()',\n class: 'ga-select',\n '[class.ga-select--expanded]': 'isOpen()',\n '[class.ga-select--disabled]': 'disabled()',\n '[class.ga-select--invalid]': 'invalid()',\n '[class.ga-select--empty]': '!hasValue()',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'cdkListbox().id',\n '[attr.aria-invalid]': 'invalid()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-owns]': 'searchable() ? cdkListbox().id : null',\n '[attr.aria-activedescendant]':\n '!searchable() ? activeDescendantId() : null',\n '[attr.tabindex]': 'disabled() ? -1 : 0',\n '(click)': 'toggle()',\n '(keydown.arrowdown)': 'open(); $event.preventDefault()',\n '(keydown.space)': 'open(); $event.preventDefault()',\n '(keydown.enter)': 'open(); $event.preventDefault()',\n },\n})\nexport class GaSelectComponent\n implements ControlValueAccessor, GaFormControl, DoCheck, AfterContentInit\n{\n private readonly _uniqueId = `ga-select-${++nextUniqueId}`;\n\n private focusedTriggerElement: any = null;\n private _onTouched?: () => any;\n private _onModelChanged?: (value: any) => void;\n protected readonly positions: ConnectedPosition[] = [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -8,\n },\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: 8,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -8,\n },\n ];\n\n private readonly injector = inject(Injector);\n protected readonly overlayOrigin = inject(CdkOverlayOrigin);\n\n private readonly implicitInvalid = signal(false);\n private readonly _isOpen = signal(false);\n\n readonly value = model<unknown | unknown[] | null>(null);\n readonly placeholder = input<string>('');\n readonly disabledInput = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n readonly invalidInput = input(null, {\n alias: 'invalid',\n transform: booleanAttribute,\n });\n readonly multiple = input(false, { transform: booleanAttribute });\n readonly compareWith = input<(o1: any, o2: any) => boolean>();\n readonly searchable = input(false, { transform: booleanAttribute });\n readonly textValue = model<string>('');\n readonly leftIcon = input<GaIconData>();\n readonly idInput = input<string | null>(null, { alias: 'id' });\n\n // TODO: if we rename this to options, it breaks, why?\n readonly gaOptions = contentChildren(GaOptionComponent, {\n descendants: true,\n read: GaOptionComponent,\n });\n protected readonly cdkListbox = contentChild.required(CdkListbox);\n protected readonly customSelectValue = contentChild(GaSelectValueComponent);\n protected readonly inputSearch =\n viewChild<ElementRef<HTMLInputElement>>('inputSearch');\n protected readonly content = viewChild('ngContent', { read: ElementRef });\n\n readonly id = computed(() => {\n return this.idInput() ?? this._uniqueId;\n });\n readonly isOpen = this._isOpen.asReadonly();\n readonly disabled = linkedSignal(() => this.disabledInput());\n protected readonly menuStatusIcon = computed<GaIconData>(() => {\n return this._isOpen() ? ChevronUp : ChevronDown;\n });\n readonly selectedOptions = computed(() => {\n return this.gaOptions().filter((option) => option.selected());\n });\n readonly activeDescendantId = computed(() => {\n const activeOption = this.gaOptions().find((option) => option.active());\n return activeOption?.cdkOption.id;\n });\n readonly hasValue = computed(() => {\n const value = this.value();\n if (this.multiple()) {\n return Array.isArray(value) && value.length > 0;\n }\n return value !== null && value !== undefined && value !== '';\n });\n\n readonly invalid = computed(() => {\n return this.invalidInput() ?? this.implicitInvalid();\n });\n\n readonly _formControlId = computed(() => this.id());\n\n constructor() {\n effect(() => {\n // if the select became disabled while open, close it\n if (this.disabled() && this._isOpen()) {\n this.close();\n }\n });\n }\n\n ngAfterContentInit() {\n effect(\n () => {\n this.cdkListbox().multiple = this.multiple();\n this.cdkListbox().useActiveDescendant = this.searchable();\n this.cdkListbox().compareWith = this.compareWith();\n this.cdkListbox().value = this.multiple()\n ? (this.value() as any[])\n : [this.value()];\n },\n { injector: this.injector },\n );\n\n // track value changes (pull)\n this.cdkListbox().valueChange.subscribe(({ value }) => {\n if (!this.multiple()) {\n [value] = value;\n }\n this.value.set(value);\n this._onModelChanged?.(value);\n // this is needed because value could be also changed via keyboard\n this.autoClose();\n });\n }\n\n ngDoCheck() {\n const implicitNgControl = this.injector.get(NgControl, null);\n // we can rely on computed because `ivalid` of NgControl is not a signal, yet\n if (implicitNgControl) {\n this.implicitInvalid.set(\n !!implicitNgControl.invalid && !!implicitNgControl.dirty,\n );\n }\n }\n\n writeValue(value: any) {\n this.value.set(value);\n }\n\n registerOnChange(fn: any) {\n this._onModelChanged = fn;\n }\n\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled.set(disabled);\n }\n\n toggle() {\n if (this._isOpen()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n open() {\n if (this.disabled() || this._isOpen()) {\n return;\n }\n this._isOpen.set(true);\n }\n\n close() {\n if (!this._isOpen()) {\n return;\n }\n this._isOpen.set(false);\n }\n\n autoClose() {\n // close that was initiated by clicking the option\n if (!this.multiple()) {\n this.close();\n }\n }\n\n focusListbox() {\n this.cdkListbox().focus();\n }\n\n setPreviousItemActive() {\n this.setItemActive(-1);\n }\n\n setNextItemActive() {\n this.setItemActive(1);\n }\n\n setActiveItemAsSelected() {\n const options = this.gaOptions();\n let activeOption = options.find((option) => option.cdkOption.isActive());\n if (!activeOption && options.length > 0) {\n activeOption = options[0];\n }\n if (activeOption) {\n const { cdkOption } = activeOption;\n this.cdkListbox().toggle(cdkOption);\n let { value } = this.cdkListbox();\n if (!this.multiple()) {\n [value] = value;\n }\n this.value.set(value);\n }\n }\n\n protected onInputKeyDown(event: KeyboardEvent) {\n switch (event.code) {\n case 'ArrowDown':\n this.setNextItemActive();\n event.preventDefault();\n event.stopPropagation();\n break;\n case 'ArrowUp':\n this.setPreviousItemActive();\n event.preventDefault();\n event.stopPropagation();\n break;\n case 'Space':\n event.stopPropagation();\n break;\n case 'Enter':\n this.setActiveItemAsSelected();\n this.autoClose();\n event.preventDefault();\n event.stopPropagation();\n break;\n }\n }\n\n protected onOverlayAttach() {\n this._isOpen.set(true);\n this.focusedTriggerElement = document.activeElement;\n if (this.searchable()) {\n this.inputSearch()!.nativeElement.focus();\n } else {\n this.focusListbox();\n }\n }\n\n protected onOverlayDetach() {\n this._isOpen.set(false);\n this.focusedTriggerElement?.focus();\n this.textValue.set('');\n this._onTouched?.();\n }\n\n private setItemActive(direction: 1 | -1) {\n const options = this.gaOptions();\n const currentIndex = options.findIndex(({ cdkOption }) =>\n cdkOption.isActive(),\n );\n\n const findNextEnabled = (startIndex: number) => {\n let index = startIndex;\n for (let i = 0; i < options.length; i++) {\n // calculate next index with wrapping (using modulo)\n index = (index + direction + options.length) % options.length;\n if (!options[index].cdkOption.disabled) {\n return index;\n }\n }\n return -1; // no enabled options found\n };\n\n const nextIndex = findNextEnabled(currentIndex);\n if (nextIndex !== -1) {\n this.cdkListbox()._setActiveOption(options[nextIndex].cdkOption);\n }\n }\n}\n","@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()\" />\n}\n@if (searchable() && isOpen()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"textValue.set(inputSearch.value)\"\n (click)=\"$event.stopPropagation()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"cdkListbox().id\"\n [attr.aria-activedescendant]=\"activeDescendantId()\"\n [placeholder]=\"placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n />\n} @else if (hasValue()) {\n <div class=\"ga-select__value\">\n @if (customSelectValue()) {\n <ng-content select=\"ga-select-value\" />\n } @else {\n <ga-select-default-value />\n }\n </div>\n} @else {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n}\n<ga-icon [icon]=\"menuStatusIcon()\" />\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayLockPosition\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n","import { Component, input } from '@angular/core';\n\n@Component({\n selector: 'ga-optgroup',\n template: `\n @if (label()) {\n <div class=\"ga-dropdown__caption\">{{ label() }}</div>\n }\n <ng-content />\n `,\n host: {\n role: 'group',\n },\n})\nexport class GaOptgroupComponent {\n readonly label = input<string>();\n}\n","import {\n Component,\n computed,\n input,\n numberAttribute,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'ga-spinner',\n template: `\n <svg\n [attr.width]=\"size()\"\n [attr.height]=\"size()\"\n [attr.viewBox]=\"'0 0 ' + size() + ' ' + size()\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n [attr.cx]=\"center()\"\n [attr.cy]=\"center()\"\n [attr.r]=\"radius()\"\n stroke=\"var(--ga-color-secondary)\"\n [attr.stroke-width]=\"strokeWidth()\"\n fill=\"none\"\n ></circle>\n <circle\n [attr.cx]=\"center()\"\n [attr.cy]=\"center()\"\n [attr.r]=\"radius()\"\n stroke=\"var(--ga-color-primary-70)\"\n [attr.stroke-width]=\"strokeWidth()\"\n stroke-linecap=\"round\"\n fill=\"none\"\n [attr.stroke-dasharray]=\"arcCircumference() + ' ' + circumference()\"\n style=\"transform-origin: center; animation: ga-spinner__animation 1100ms linear infinite;\"\n ></circle>\n </svg>\n `,\n encapsulation: ViewEncapsulation.None,\n host: {\n class: 'ga-spinner',\n },\n styles: `\n .ga-spinner {\n display: inline-block;\n }\n\n @keyframes ga-spinner__animation {\n 0% {\n transform: rotate(0deg);\n }\n 31.82% {\n /* 350ms / 1100ms */\n transform: rotate(90deg);\n }\n 63.64% {\n /* (350ms + 350ms) / 1100ms */\n transform: rotate(180deg);\n }\n 81.82% {\n /* (350ms + 350ms + 200ms) / 1100ms */\n transform: rotate(270deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n `,\n})\nexport class GaSpinnerComponent {\n readonly size = input(32, { transform: numberAttribute });\n\n readonly strokeWidth = computed(() => this.size() / 5);\n readonly center = computed(() => this.size() / 2);\n readonly radius = computed(() => (this.size() - this.strokeWidth()) / 2);\n readonly circumference = computed(() => 2 * Math.PI * this.radius());\n readonly arcCircumference = computed(() => this.circumference() * 0.25);\n}\n","import { NgModule } from '@angular/core';\n\nimport { GaSpinnerComponent } from './spinner.component';\n\n@NgModule({\n imports: [GaSpinnerComponent],\n exports: [GaSpinnerComponent],\n})\nexport class GaSpinnerModule {}\n","import { Component } from '@angular/core';\nimport { GaSpinnerModule } from '../spinner';\n\n@Component({\n selector: 'ga-select-dropdown-loader',\n template: `<ga-spinner size=\"16\" />`,\n imports: [GaSpinnerModule],\n host: {\n class: 'ga-dropdown__content-spinner',\n },\n})\nexport class GaSelectDropdownLoadingComponent {}\n","import { CdkListbox } from '@angular/cdk/listbox';\nimport { booleanAttribute, Component, input } from '@angular/core';\nimport { GaSelectDropdownLoadingComponent } from './select-dropdown-loading.component';\n\n@Component({\n selector: 'ga-select-dropdown',\n templateUrl: './select-dropdown.component.html',\n imports: [GaSelectDropdownLoadingComponent],\n hostDirectives: [CdkListbox],\n host: {\n class: 'ga-dropdown ga-dropdown__content',\n },\n})\nexport class GaSelectDropdownComponent {\n readonly loading = input(false, { transform: booleanAttribute });\n}\n","@if (loading()) {\n <ga-select-dropdown-loader />\n} @else {\n <ng-content />\n}\n","import { Directive, Provider, forwardRef } from '@angular/core';\nimport { NG_VALIDATORS, RequiredValidator } from '@angular/forms';\n\nexport const GA_SELECT_REQUIRED_VALIDATOR: Provider = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => GaSelectRequiredValidator),\n multi: true,\n};\n\n@Directive({\n selector: `ga-select[required][formControlName], ga-select[required][formControl], ga-select[required][ngModel]`,\n providers: [GA_SELECT_REQUIRED_VALIDATOR],\n})\nexport class GaSelectRequiredValidator extends RequiredValidator {}\n","import { NgModule } from '@angular/core';\n\nimport { GaSelectComponent } from './select.component';\nimport { GaOptionComponent } from './option.component';\nimport { GaOptgroupComponent } from './opt-group.component';\nimport { GaSelectDropdownComponent } from './select-dropdown.component';\nimport { GaSelectDropdownLoadingComponent } from './select-dropdown-loading.component';\nimport { GaSelectRequiredValidator } from './select-required.validator';\nimport { GaSelectValueComponent } from './select-value.component';\n\n@NgModule({\n imports: [\n GaSelectComponent,\n GaOptionComponent,\n GaOptgroupComponent,\n GaSelectDropdownComponent,\n GaSelectDropdownLoadingComponent,\n GaSelectValueComponent,\n GaSelectRequiredValidator,\n ],\n exports: [\n GaSelectComponent,\n GaOptionComponent,\n GaOptgroupComponent,\n GaSelectDropdownComponent,\n GaSelectDropdownLoadingComponent,\n GaSelectValueComponent,\n GaSelectRequiredValidator,\n ],\n})\nexport class GaSelectModule {}\n","/*\n * Public API Surface of ngx-gaia\n */\n\nexport * from './lib/alert/index';\nexport * from './lib/badge/index';\nexport * from './lib/button/index';\nexport * from './lib/card/index';\nexport * from './lib/checkbox/index';\nexport * from './lib/segmented-control/index';\nexport * from './lib/icon/index';\nexport * from './lib/input/index';\nexport * from './lib/form-field/index';\nexport * from './lib/menu/index';\nexport * from './lib/tooltip/index';\nexport * from './lib/select/index';\nexport * from './lib/spinner/index';\nexport * from './lib/radio/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.GaIconComponent","i2.GaIconButtonDirective","nextUniqueId","i1","i3.GaRadioButtonComponent","i2.GaIconComponent","i1.GaSpinnerComponent"],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { CdkOption } from '@angular/cdk/listbox';
2
- import { DoCheck } from '@angular/core';
3
2
  import { GaSelectComponent } from './select.component';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@angular/cdk/listbox";
6
- export declare class GaOptionComponent<InputType = any> implements DoCheck {
5
+ export declare class GaOptionComponent<InputType = any> {
7
6
  private readonly _isSelected;
8
7
  private readonly _isActive;
9
8
  protected readonly selectComponent: GaSelectComponent;
@@ -13,7 +12,7 @@ export declare class GaOptionComponent<InputType = any> implements DoCheck {
13
12
  readonly withInput: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
14
13
  readonly selected: import("@angular/core").Signal<boolean>;
15
14
  readonly active: import("@angular/core").Signal<boolean>;
16
- ngDoCheck(): void;
15
+ constructor();
17
16
  onClick(): void;
18
17
  static ɵfac: i0.ɵɵFactoryDeclaration<GaOptionComponent<any>, never>;
19
18
  static ɵcmp: i0.ɵɵComponentDeclaration<GaOptionComponent<any>, "ga-option", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "withInput": { "alias": "withInput"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkOption; inputs: { "cdkOption": "value"; "cdkOptionDisabled": "disabled"; "cdkOptionTypeaheadLabel": "typeaheadLabel"; }; outputs: {}; }]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vsn-ux/ngx-gaia",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^19.0.0",
6
6
  "@angular/common": "^19.0.0",