@vsn-ux/ngx-gaia 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/vsn-ux-ngx-gaia.mjs +243 -239
- package/fesm2022/vsn-ux-ngx-gaia.mjs.map +1 -1
- package/lib/form-field/field-label.component.d.ts +4 -1
- package/lib/form-field/form-control.di.d.ts +3 -1
- package/lib/icon/icon.component.d.ts +2 -2
- package/lib/input/input.directive.d.ts +4 -1
- package/lib/menu/menu-item.component.d.ts +5 -1
- package/lib/select/select.component.d.ts +4 -1
- package/lib/tooltip/tooltip.component.d.ts +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/setup-project.js +2 -38
- package/schematics/ng-add/setup-project.js.map +1 -1
|
@@ -1,23 +1,23 @@
|
|
|
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,
|
|
2
|
+
import { inject, ElementRef, input, numberAttribute, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, makeEnvironmentProviders, booleanAttribute, output, computed, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, InjectionToken, TemplateRef, NgZone, Input, effect, afterRender, contentChildren, viewChild } from '@angular/core';
|
|
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';
|
|
6
|
-
import {
|
|
7
|
-
import * as i1$1 from '@angular/cdk/menu';
|
|
8
|
-
import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';
|
|
9
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
10
|
-
import { merge, map, Subject, takeUntil } from 'rxjs';
|
|
6
|
+
import { NgTemplateOutlet, DOCUMENT } from '@angular/common';
|
|
11
7
|
import * as i1$3 from '@angular/cdk/overlay';
|
|
12
8
|
import { Overlay, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
|
|
13
9
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
10
|
+
import { Subject, takeUntil, map, merge } from 'rxjs';
|
|
14
11
|
import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
12
|
+
import * as i1$1 from '@angular/cdk/menu';
|
|
13
|
+
import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';
|
|
14
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
15
15
|
import * as i1$2 from '@angular/cdk/listbox';
|
|
16
16
|
import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
|
|
17
17
|
|
|
18
18
|
class GaIconComponent {
|
|
19
19
|
elementRef = inject(ElementRef);
|
|
20
|
-
icon = input();
|
|
20
|
+
icon = input.required();
|
|
21
21
|
size = input();
|
|
22
22
|
color = input();
|
|
23
23
|
strokeWidth = input(undefined, { transform: numberAttribute });
|
|
@@ -27,7 +27,7 @@ class GaIconComponent {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaIconComponent, deps: [{ token: 'aria-hidden', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaIconComponent, isStandalone: true, selector: "ga-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired:
|
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaIconComponent, isStandalone: true, selector: "ga-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, classAttribute: "ga-icon" }, ngImport: i0, template: `<lucide-icon
|
|
31
31
|
[name]="icon()"
|
|
32
32
|
[size]="size()"
|
|
33
33
|
[color]="color()"
|
|
@@ -573,8 +573,11 @@ class GaFormControlDirective {
|
|
|
573
573
|
_formControlId = input(undefined, {
|
|
574
574
|
alias: 'gaFormControl',
|
|
575
575
|
});
|
|
576
|
+
_formControlDisabled = input(undefined, {
|
|
577
|
+
alias: 'gaFormControlDisabled',
|
|
578
|
+
});
|
|
576
579
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
577
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaFormControlDirective, isStandalone: true, selector: "[gaFormControl]", inputs: { _formControlId: { classPropertyName: "_formControlId", publicName: "gaFormControl", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
580
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaFormControlDirective, isStandalone: true, selector: "[gaFormControl]", inputs: { _formControlId: { classPropertyName: "_formControlId", publicName: "gaFormControl", isSignal: true, isRequired: false, transformFunction: null }, _formControlDisabled: { classPropertyName: "_formControlDisabled", publicName: "gaFormControlDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
578
581
|
{ provide: GA_FORM_CONTROL, useExisting: GaFormControlDirective },
|
|
579
582
|
], ngImport: i0 });
|
|
580
583
|
}
|
|
@@ -603,14 +606,20 @@ class GaInputDirective {
|
|
|
603
606
|
transform: booleanAttribute,
|
|
604
607
|
});
|
|
605
608
|
idInput = input(undefined, { alias: 'id' });
|
|
609
|
+
disabledInput = input(false, {
|
|
610
|
+
alias: 'disabled',
|
|
611
|
+
transform: booleanAttribute,
|
|
612
|
+
});
|
|
606
613
|
invalid = computed(() => {
|
|
607
614
|
return this.invalidInput() ?? this.implicitInvalid();
|
|
608
615
|
});
|
|
609
616
|
id = computed(() => {
|
|
610
617
|
return this.idInput() ?? this.uniqueId;
|
|
611
618
|
});
|
|
619
|
+
disabled = linkedSignal(() => this.disabledInput());
|
|
612
620
|
errors = this.implicitErrors.asReadonly();
|
|
613
621
|
_formControlId = this.id;
|
|
622
|
+
_formControlDisabled = computed(() => this.disabled());
|
|
614
623
|
ngDoCheck() {
|
|
615
624
|
if (this.hasWrapper)
|
|
616
625
|
return;
|
|
@@ -619,10 +628,11 @@ class GaInputDirective {
|
|
|
619
628
|
if (implicitNgControl) {
|
|
620
629
|
this.implicitInvalid.set(!!implicitNgControl.invalid && !!implicitNgControl.dirty);
|
|
621
630
|
this.implicitErrors.set(implicitNgControl.errors);
|
|
631
|
+
this.disabled.set(!!implicitNgControl.disabled);
|
|
622
632
|
}
|
|
623
633
|
}
|
|
624
634
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
625
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaInputDirective, isStandalone: true, selector: "[gaInput]", inputs: { invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.ga-input": "!hasWrapper", "class.ga-input--invalid": "!hasWrapper && invalid()" } }, providers: [{ provide: GA_FORM_CONTROL, useExisting: GaInputDirective }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
635
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaInputDirective, isStandalone: true, selector: "[gaInput]", inputs: { invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()", "class.ga-input": "!hasWrapper", "class.ga-input--invalid": "!hasWrapper && invalid()" } }, providers: [{ provide: GA_FORM_CONTROL, useExisting: GaInputDirective }], ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
626
636
|
}
|
|
627
637
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaInputDirective, decorators: [{
|
|
628
638
|
type: Component,
|
|
@@ -669,230 +679,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
669
679
|
}, template: "<ng-content />\n" }]
|
|
670
680
|
}] });
|
|
671
681
|
|
|
672
|
-
class GaFieldLabelComponent {
|
|
673
|
-
document = inject(DOCUMENT);
|
|
674
|
-
formField = inject(GaFormFieldComponent);
|
|
675
|
-
for = input();
|
|
676
|
-
controlId = computed(() => {
|
|
677
|
-
return this.for() ?? this.formField.controlId();
|
|
678
|
-
});
|
|
679
|
-
controlElement = computed(() => {
|
|
680
|
-
const control = this.document.querySelector(`#${this.controlId()}`);
|
|
681
|
-
if (control instanceof HTMLElement) {
|
|
682
|
-
return control;
|
|
683
|
-
}
|
|
684
|
-
return null;
|
|
685
|
-
});
|
|
686
|
-
focusControl() {
|
|
687
|
-
const control = this.controlElement();
|
|
688
|
-
// only focus custom elements as native elements already
|
|
689
|
-
// have support for connecting label and reacting to events
|
|
690
|
-
if (control?.tagName.includes('-')) {
|
|
691
|
-
control.focus();
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
695
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaFieldLabelComponent, isStandalone: true, selector: "ga-label", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<label
|
|
696
|
-
[attr.for]="controlId()"
|
|
697
|
-
class="ga-form-field__label"
|
|
698
|
-
(click)="focusControl()"
|
|
699
|
-
><ng-content
|
|
700
|
-
/></label>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
701
|
-
}
|
|
702
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldLabelComponent, decorators: [{
|
|
703
|
-
type: Component,
|
|
704
|
-
args: [{
|
|
705
|
-
selector: 'ga-label',
|
|
706
|
-
template: `<label
|
|
707
|
-
[attr.for]="controlId()"
|
|
708
|
-
class="ga-form-field__label"
|
|
709
|
-
(click)="focusControl()"
|
|
710
|
-
><ng-content
|
|
711
|
-
/></label>`,
|
|
712
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
713
|
-
}]
|
|
714
|
-
}] });
|
|
715
|
-
|
|
716
|
-
class GaFieldInfoComponent {
|
|
717
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
718
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaFieldInfoComponent, isStandalone: true, selector: "ga-info", host: { classAttribute: "ga-form-field__info" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
719
|
-
}
|
|
720
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldInfoComponent, decorators: [{
|
|
721
|
-
type: Component,
|
|
722
|
-
args: [{
|
|
723
|
-
selector: 'ga-info',
|
|
724
|
-
template: `<ng-content />`,
|
|
725
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
726
|
-
host: {
|
|
727
|
-
class: 'ga-form-field__info',
|
|
728
|
-
},
|
|
729
|
-
}]
|
|
730
|
-
}] });
|
|
731
|
-
|
|
732
|
-
class GaFormFieldModule {
|
|
733
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
734
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent,
|
|
735
|
-
GaFieldLabelComponent,
|
|
736
|
-
GaFieldInfoComponent,
|
|
737
|
-
GaFormControlDirective], exports: [GaFormFieldComponent,
|
|
738
|
-
GaFieldLabelComponent,
|
|
739
|
-
GaFieldInfoComponent,
|
|
740
|
-
GaFormControlDirective] });
|
|
741
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule });
|
|
742
|
-
}
|
|
743
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, decorators: [{
|
|
744
|
-
type: NgModule,
|
|
745
|
-
args: [{
|
|
746
|
-
imports: [
|
|
747
|
-
GaFormFieldComponent,
|
|
748
|
-
GaFieldLabelComponent,
|
|
749
|
-
GaFieldInfoComponent,
|
|
750
|
-
GaFormControlDirective,
|
|
751
|
-
],
|
|
752
|
-
exports: [
|
|
753
|
-
GaFormFieldComponent,
|
|
754
|
-
GaFieldLabelComponent,
|
|
755
|
-
GaFieldInfoComponent,
|
|
756
|
-
GaFormControlDirective,
|
|
757
|
-
],
|
|
758
|
-
}]
|
|
759
|
-
}] });
|
|
760
|
-
|
|
761
|
-
class GaMenuComponent {
|
|
762
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
763
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuComponent, isStandalone: true, selector: "ga-menu", host: { classAttribute: "ga-menu" }, hostDirectives: [{ directive: i1$1.CdkMenu }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{margin-top:var(--ga-size-8);margin-bottom:var(--ga-size-8)}\n"] });
|
|
764
|
-
}
|
|
765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuComponent, decorators: [{
|
|
766
|
-
type: Component,
|
|
767
|
-
args: [{ selector: 'ga-menu', template: `<ng-content />`, hostDirectives: [CdkMenu], host: {
|
|
768
|
-
class: 'ga-menu',
|
|
769
|
-
}, styles: [":host{margin-top:var(--ga-size-8);margin-bottom:var(--ga-size-8)}\n"] }]
|
|
770
|
-
}] });
|
|
771
|
-
|
|
772
|
-
class GaMenuItemComponent {
|
|
773
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
774
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuItemComponent, isStandalone: true, selector: "[gaMenuItem]", host: { classAttribute: "ga-menu__item" }, hostDirectives: [{ directive: i1$1.CdkMenuItem }], ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
775
|
-
}
|
|
776
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuItemComponent, decorators: [{
|
|
777
|
-
type: Component,
|
|
778
|
-
args: [{
|
|
779
|
-
selector: '[gaMenuItem]',
|
|
780
|
-
template: `<ng-content />`,
|
|
781
|
-
hostDirectives: [CdkMenuItem],
|
|
782
|
-
host: {
|
|
783
|
-
class: 'ga-menu__item',
|
|
784
|
-
},
|
|
785
|
-
}]
|
|
786
|
-
}] });
|
|
787
|
-
|
|
788
|
-
class GaMenuTitleComponent {
|
|
789
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
790
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuTitleComponent, isStandalone: true, selector: "ga-menu-title", host: { classAttribute: "ga-menu__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
791
|
-
}
|
|
792
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTitleComponent, decorators: [{
|
|
793
|
-
type: Component,
|
|
794
|
-
args: [{
|
|
795
|
-
selector: 'ga-menu-title',
|
|
796
|
-
template: `<ng-content />`,
|
|
797
|
-
host: {
|
|
798
|
-
class: 'ga-menu__title',
|
|
799
|
-
},
|
|
800
|
-
}]
|
|
801
|
-
}] });
|
|
802
|
-
|
|
803
|
-
class GaMenuTriggerDirective {
|
|
804
|
-
cdkMenuTrigger = inject(CdkMenuTrigger);
|
|
805
|
-
menuRef = input.required({
|
|
806
|
-
alias: 'gaMenuTrigger',
|
|
807
|
-
});
|
|
808
|
-
isOpen = toSignal(merge(this.cdkMenuTrigger.opened.pipe(map(() => true)), this.cdkMenuTrigger.closed.pipe(map(() => false))), { initialValue: this.cdkMenuTrigger.isOpen() });
|
|
809
|
-
constructor() {
|
|
810
|
-
effect(() => {
|
|
811
|
-
this.cdkMenuTrigger.menuTemplateRef = this.menuRef();
|
|
812
|
-
});
|
|
813
|
-
}
|
|
814
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
815
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["gaMenuTrigger"], hostDirectives: [{ directive: i1$1.CdkMenuTrigger }], ngImport: i0 });
|
|
816
|
-
}
|
|
817
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, decorators: [{
|
|
818
|
-
type: Directive,
|
|
819
|
-
args: [{
|
|
820
|
-
selector: '[gaMenuTrigger]',
|
|
821
|
-
exportAs: 'gaMenuTrigger',
|
|
822
|
-
standalone: true,
|
|
823
|
-
hostDirectives: [CdkMenuTrigger],
|
|
824
|
-
}]
|
|
825
|
-
}], ctorParameters: () => [] });
|
|
826
|
-
|
|
827
|
-
class GaMenuSeparatorComponent {
|
|
828
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
829
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuSeparatorComponent, isStandalone: true, selector: "ga-menu-separator", host: { classAttribute: "ga-menu__separator" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
830
|
-
}
|
|
831
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuSeparatorComponent, decorators: [{
|
|
832
|
-
type: Component,
|
|
833
|
-
args: [{
|
|
834
|
-
selector: 'ga-menu-separator',
|
|
835
|
-
template: `<ng-content />`,
|
|
836
|
-
host: {
|
|
837
|
-
class: 'ga-menu__separator',
|
|
838
|
-
},
|
|
839
|
-
}]
|
|
840
|
-
}] });
|
|
841
|
-
|
|
842
|
-
class GaMenuTriggerIconComponent {
|
|
843
|
-
menuTrigger = inject(GaMenuTriggerDirective);
|
|
844
|
-
icon = computed(() => {
|
|
845
|
-
return this.menuTrigger.isOpen() ? ChevronUp : ChevronDown;
|
|
846
|
-
});
|
|
847
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
848
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuTriggerIconComponent, isStandalone: true, selector: "ga-menu-trigger-icon", ngImport: i0, template: `<ga-icon [icon]="icon()" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
|
|
849
|
-
}
|
|
850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerIconComponent, decorators: [{
|
|
851
|
-
type: Component,
|
|
852
|
-
args: [{
|
|
853
|
-
selector: 'ga-menu-trigger-icon',
|
|
854
|
-
imports: [GaIconModule],
|
|
855
|
-
template: `<ga-icon [icon]="icon()" />`,
|
|
856
|
-
}]
|
|
857
|
-
}] });
|
|
858
|
-
|
|
859
|
-
class GaMenuModule {
|
|
860
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
861
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, imports: [GaMenuComponent,
|
|
862
|
-
GaMenuItemComponent,
|
|
863
|
-
GaMenuTriggerDirective,
|
|
864
|
-
GaMenuSeparatorComponent,
|
|
865
|
-
GaMenuTitleComponent,
|
|
866
|
-
GaMenuTriggerIconComponent], exports: [GaMenuComponent,
|
|
867
|
-
GaMenuItemComponent,
|
|
868
|
-
GaMenuTriggerDirective,
|
|
869
|
-
GaMenuSeparatorComponent,
|
|
870
|
-
GaMenuTitleComponent,
|
|
871
|
-
GaMenuTriggerIconComponent] });
|
|
872
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, imports: [GaMenuTriggerIconComponent] });
|
|
873
|
-
}
|
|
874
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, decorators: [{
|
|
875
|
-
type: NgModule,
|
|
876
|
-
args: [{
|
|
877
|
-
imports: [
|
|
878
|
-
GaMenuComponent,
|
|
879
|
-
GaMenuItemComponent,
|
|
880
|
-
GaMenuTriggerDirective,
|
|
881
|
-
GaMenuSeparatorComponent,
|
|
882
|
-
GaMenuTitleComponent,
|
|
883
|
-
GaMenuTriggerIconComponent,
|
|
884
|
-
],
|
|
885
|
-
exports: [
|
|
886
|
-
GaMenuComponent,
|
|
887
|
-
GaMenuItemComponent,
|
|
888
|
-
GaMenuTriggerDirective,
|
|
889
|
-
GaMenuSeparatorComponent,
|
|
890
|
-
GaMenuTitleComponent,
|
|
891
|
-
GaMenuTriggerIconComponent,
|
|
892
|
-
],
|
|
893
|
-
}]
|
|
894
|
-
}] });
|
|
895
|
-
|
|
896
682
|
class GaTooltipComponent {
|
|
897
683
|
mouseLeaveSubject = new Subject();
|
|
898
684
|
afterMouseLeave = () => this.mouseLeaveSubject.asObservable();
|
|
@@ -1274,6 +1060,219 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1274
1060
|
}]
|
|
1275
1061
|
}] });
|
|
1276
1062
|
|
|
1063
|
+
class GaFieldLabelComponent {
|
|
1064
|
+
document = inject(DOCUMENT);
|
|
1065
|
+
formField = inject(GaFormFieldComponent);
|
|
1066
|
+
for = input();
|
|
1067
|
+
definition = input(null);
|
|
1068
|
+
state = input();
|
|
1069
|
+
controlId = computed(() => {
|
|
1070
|
+
return this.for() ?? this.formField.controlId();
|
|
1071
|
+
});
|
|
1072
|
+
controlElement = computed(() => {
|
|
1073
|
+
const control = this.document.querySelector(`#${this.controlId()}`);
|
|
1074
|
+
if (control instanceof HTMLElement) {
|
|
1075
|
+
return control;
|
|
1076
|
+
}
|
|
1077
|
+
return null;
|
|
1078
|
+
});
|
|
1079
|
+
focusControl() {
|
|
1080
|
+
const control = this.controlElement();
|
|
1081
|
+
// only focus custom elements as native elements already
|
|
1082
|
+
// have support for connecting label and reacting to events
|
|
1083
|
+
if (control?.tagName.includes('-')) {
|
|
1084
|
+
control.focus();
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1088
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaFieldLabelComponent, isStandalone: true, selector: "ga-label", inputs: { for: { classPropertyName: "for", publicName: "for", isSignal: true, isRequired: false, transformFunction: null }, definition: { classPropertyName: "definition", publicName: "definition", isSignal: true, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<label\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"\n !!formField.formControl()?._formControlDisabled()\n \"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n", dependencies: [{ kind: "ngmodule", type: GaTooltipModule }, { kind: "directive", type: GaTooltipDirective, selector: "[gaTooltip]", inputs: ["gaTooltip", "gaTooltipDisabled", "gaTooltipControlMode", "gaTooltipShowControlMode", "gaTooltipHideControlMode", "gaTooltipOffsetSize", "gaTooltipPlacement"], exportAs: ["gaTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1089
|
+
}
|
|
1090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldLabelComponent, decorators: [{
|
|
1091
|
+
type: Component,
|
|
1092
|
+
args: [{ selector: 'ga-label', imports: [GaTooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<label\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"\n !!formField.formControl()?._formControlDisabled()\n \"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n" }]
|
|
1093
|
+
}] });
|
|
1094
|
+
|
|
1095
|
+
class GaFieldInfoComponent {
|
|
1096
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldInfoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1097
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaFieldInfoComponent, isStandalone: true, selector: "ga-info", host: { classAttribute: "ga-form-field__info" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1098
|
+
}
|
|
1099
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFieldInfoComponent, decorators: [{
|
|
1100
|
+
type: Component,
|
|
1101
|
+
args: [{
|
|
1102
|
+
selector: 'ga-info',
|
|
1103
|
+
template: `<ng-content />`,
|
|
1104
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1105
|
+
host: {
|
|
1106
|
+
class: 'ga-form-field__info',
|
|
1107
|
+
},
|
|
1108
|
+
}]
|
|
1109
|
+
}] });
|
|
1110
|
+
|
|
1111
|
+
class GaFormFieldModule {
|
|
1112
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1113
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, imports: [GaFormFieldComponent,
|
|
1114
|
+
GaFieldLabelComponent,
|
|
1115
|
+
GaFieldInfoComponent,
|
|
1116
|
+
GaFormControlDirective], exports: [GaFormFieldComponent,
|
|
1117
|
+
GaFieldLabelComponent,
|
|
1118
|
+
GaFieldInfoComponent,
|
|
1119
|
+
GaFormControlDirective] });
|
|
1120
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule });
|
|
1121
|
+
}
|
|
1122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaFormFieldModule, decorators: [{
|
|
1123
|
+
type: NgModule,
|
|
1124
|
+
args: [{
|
|
1125
|
+
imports: [
|
|
1126
|
+
GaFormFieldComponent,
|
|
1127
|
+
GaFieldLabelComponent,
|
|
1128
|
+
GaFieldInfoComponent,
|
|
1129
|
+
GaFormControlDirective,
|
|
1130
|
+
],
|
|
1131
|
+
exports: [
|
|
1132
|
+
GaFormFieldComponent,
|
|
1133
|
+
GaFieldLabelComponent,
|
|
1134
|
+
GaFieldInfoComponent,
|
|
1135
|
+
GaFormControlDirective,
|
|
1136
|
+
],
|
|
1137
|
+
}]
|
|
1138
|
+
}] });
|
|
1139
|
+
|
|
1140
|
+
class GaMenuComponent {
|
|
1141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuComponent, isStandalone: true, selector: "ga-menu", host: { classAttribute: "ga-menu" }, hostDirectives: [{ directive: i1$1.CdkMenu }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: [":host{margin-top:var(--ga-size-8);margin-bottom:var(--ga-size-8)}\n"] });
|
|
1143
|
+
}
|
|
1144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuComponent, decorators: [{
|
|
1145
|
+
type: Component,
|
|
1146
|
+
args: [{ selector: 'ga-menu', template: `<ng-content />`, hostDirectives: [CdkMenu], host: {
|
|
1147
|
+
class: 'ga-menu',
|
|
1148
|
+
}, styles: [":host{margin-top:var(--ga-size-8);margin-bottom:var(--ga-size-8)}\n"] }]
|
|
1149
|
+
}] });
|
|
1150
|
+
|
|
1151
|
+
class GaMenuItemComponent {
|
|
1152
|
+
icon = input(undefined, {
|
|
1153
|
+
alias: 'gaMenuItemIcon',
|
|
1154
|
+
});
|
|
1155
|
+
description = input('', { alias: 'gaMenuItemDescription' });
|
|
1156
|
+
shortcut = input('', { alias: 'gaMenuItemShortcut' });
|
|
1157
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1158
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaMenuItemComponent, isStandalone: true, selector: "[gaMenuItem]", inputs: { icon: { classPropertyName: "icon", publicName: "gaMenuItemIcon", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "gaMenuItemDescription", isSignal: true, isRequired: false, transformFunction: null }, shortcut: { classPropertyName: "shortcut", publicName: "gaMenuItemShortcut", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-menu__item" }, hostDirectives: [{ directive: i1$1.CdkMenuItem }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-menu__item-icon\" size=\"16\" />\n}\n<div class=\"ga-menu__item-content\">\n <div class=\"ga-menu__item-title\">\n <div class=\"ga-menu__item-label\"><ng-content /></div>\n @if (shortcut()) {\n <span class=\"ga-menu__item-shortcut\">{{ shortcut() }}</span>\n }\n </div>\n @if (description()) {\n <div class=\"ga-menu__item-description\">{{ description() }}</div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
|
|
1159
|
+
}
|
|
1160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuItemComponent, decorators: [{
|
|
1161
|
+
type: Component,
|
|
1162
|
+
args: [{ selector: '[gaMenuItem]', imports: [GaIconModule], hostDirectives: [CdkMenuItem], host: {
|
|
1163
|
+
class: 'ga-menu__item',
|
|
1164
|
+
}, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-menu__item-icon\" size=\"16\" />\n}\n<div class=\"ga-menu__item-content\">\n <div class=\"ga-menu__item-title\">\n <div class=\"ga-menu__item-label\"><ng-content /></div>\n @if (shortcut()) {\n <span class=\"ga-menu__item-shortcut\">{{ shortcut() }}</span>\n }\n </div>\n @if (description()) {\n <div class=\"ga-menu__item-description\">{{ description() }}</div>\n }\n</div>\n" }]
|
|
1165
|
+
}] });
|
|
1166
|
+
|
|
1167
|
+
class GaMenuTitleComponent {
|
|
1168
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1169
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuTitleComponent, isStandalone: true, selector: "ga-menu-title", host: { classAttribute: "ga-menu__title" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
1170
|
+
}
|
|
1171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTitleComponent, decorators: [{
|
|
1172
|
+
type: Component,
|
|
1173
|
+
args: [{
|
|
1174
|
+
selector: 'ga-menu-title',
|
|
1175
|
+
template: `<ng-content />`,
|
|
1176
|
+
host: {
|
|
1177
|
+
class: 'ga-menu__title',
|
|
1178
|
+
},
|
|
1179
|
+
}]
|
|
1180
|
+
}] });
|
|
1181
|
+
|
|
1182
|
+
class GaMenuTriggerDirective {
|
|
1183
|
+
cdkMenuTrigger = inject(CdkMenuTrigger);
|
|
1184
|
+
menuRef = input.required({
|
|
1185
|
+
alias: 'gaMenuTrigger',
|
|
1186
|
+
});
|
|
1187
|
+
isOpen = toSignal(merge(this.cdkMenuTrigger.opened.pipe(map(() => true)), this.cdkMenuTrigger.closed.pipe(map(() => false))), { initialValue: this.cdkMenuTrigger.isOpen() });
|
|
1188
|
+
constructor() {
|
|
1189
|
+
effect(() => {
|
|
1190
|
+
this.cdkMenuTrigger.menuTemplateRef = this.menuRef();
|
|
1191
|
+
});
|
|
1192
|
+
}
|
|
1193
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1194
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaMenuTriggerDirective, isStandalone: true, selector: "[gaMenuTrigger]", inputs: { menuRef: { classPropertyName: "menuRef", publicName: "gaMenuTrigger", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["gaMenuTrigger"], hostDirectives: [{ directive: i1$1.CdkMenuTrigger }], ngImport: i0 });
|
|
1195
|
+
}
|
|
1196
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerDirective, decorators: [{
|
|
1197
|
+
type: Directive,
|
|
1198
|
+
args: [{
|
|
1199
|
+
selector: '[gaMenuTrigger]',
|
|
1200
|
+
exportAs: 'gaMenuTrigger',
|
|
1201
|
+
standalone: true,
|
|
1202
|
+
hostDirectives: [CdkMenuTrigger],
|
|
1203
|
+
}]
|
|
1204
|
+
}], ctorParameters: () => [] });
|
|
1205
|
+
|
|
1206
|
+
class GaMenuSeparatorComponent {
|
|
1207
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuSeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1208
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuSeparatorComponent, isStandalone: true, selector: "ga-menu-separator", host: { classAttribute: "ga-menu__separator" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
1209
|
+
}
|
|
1210
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuSeparatorComponent, decorators: [{
|
|
1211
|
+
type: Component,
|
|
1212
|
+
args: [{
|
|
1213
|
+
selector: 'ga-menu-separator',
|
|
1214
|
+
template: `<ng-content />`,
|
|
1215
|
+
host: {
|
|
1216
|
+
class: 'ga-menu__separator',
|
|
1217
|
+
},
|
|
1218
|
+
}]
|
|
1219
|
+
}] });
|
|
1220
|
+
|
|
1221
|
+
class GaMenuTriggerIconComponent {
|
|
1222
|
+
menuTrigger = inject(GaMenuTriggerDirective);
|
|
1223
|
+
icon = computed(() => {
|
|
1224
|
+
return this.menuTrigger.isOpen() ? ChevronUp : ChevronDown;
|
|
1225
|
+
});
|
|
1226
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1227
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaMenuTriggerIconComponent, isStandalone: true, selector: "ga-menu-trigger-icon", ngImport: i0, template: `<ga-icon [icon]="icon()" />`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
|
|
1228
|
+
}
|
|
1229
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuTriggerIconComponent, decorators: [{
|
|
1230
|
+
type: Component,
|
|
1231
|
+
args: [{
|
|
1232
|
+
selector: 'ga-menu-trigger-icon',
|
|
1233
|
+
imports: [GaIconModule],
|
|
1234
|
+
template: `<ga-icon [icon]="icon()" />`,
|
|
1235
|
+
}]
|
|
1236
|
+
}] });
|
|
1237
|
+
|
|
1238
|
+
class GaMenuModule {
|
|
1239
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1240
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, imports: [GaMenuComponent,
|
|
1241
|
+
GaMenuItemComponent,
|
|
1242
|
+
GaMenuTriggerDirective,
|
|
1243
|
+
GaMenuSeparatorComponent,
|
|
1244
|
+
GaMenuTitleComponent,
|
|
1245
|
+
GaMenuTriggerIconComponent], exports: [GaMenuComponent,
|
|
1246
|
+
GaMenuItemComponent,
|
|
1247
|
+
GaMenuTriggerDirective,
|
|
1248
|
+
GaMenuSeparatorComponent,
|
|
1249
|
+
GaMenuTitleComponent,
|
|
1250
|
+
GaMenuTriggerIconComponent] });
|
|
1251
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, imports: [GaMenuItemComponent,
|
|
1252
|
+
GaMenuTriggerIconComponent] });
|
|
1253
|
+
}
|
|
1254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaMenuModule, decorators: [{
|
|
1255
|
+
type: NgModule,
|
|
1256
|
+
args: [{
|
|
1257
|
+
imports: [
|
|
1258
|
+
GaMenuComponent,
|
|
1259
|
+
GaMenuItemComponent,
|
|
1260
|
+
GaMenuTriggerDirective,
|
|
1261
|
+
GaMenuSeparatorComponent,
|
|
1262
|
+
GaMenuTitleComponent,
|
|
1263
|
+
GaMenuTriggerIconComponent,
|
|
1264
|
+
],
|
|
1265
|
+
exports: [
|
|
1266
|
+
GaMenuComponent,
|
|
1267
|
+
GaMenuItemComponent,
|
|
1268
|
+
GaMenuTriggerDirective,
|
|
1269
|
+
GaMenuSeparatorComponent,
|
|
1270
|
+
GaMenuTitleComponent,
|
|
1271
|
+
GaMenuTriggerIconComponent,
|
|
1272
|
+
],
|
|
1273
|
+
}]
|
|
1274
|
+
}] });
|
|
1275
|
+
|
|
1277
1276
|
/**
|
|
1278
1277
|
* Provider Expression that allows ga-radio-group to register as a ControlValueAccessor.
|
|
1279
1278
|
* This allows it to support [(ngModel)] and ngControl.
|
|
@@ -1462,7 +1461,7 @@ class GaOptionComponent {
|
|
|
1462
1461
|
}
|
|
1463
1462
|
}
|
|
1464
1463
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1465
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaOptionComponent, isStandalone: true, selector: "ga-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$2.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<ng-content
|
|
1464
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaOptionComponent, isStandalone: true, selector: "ga-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, withInput: { classPropertyName: "withInput", publicName: "withInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" }, properties: { "class.ga-dropdown__item--selected": "selected()", "class.ga-dropdown__item--disabled": "cdkOption.disabled", "class.ga-dropdown__item--active": "active() && !cdkOption.disabled" }, classAttribute: "ga-dropdown__item" }, hostDirectives: [{ directive: i1$2.CdkOption, inputs: ["cdkOption", "value", "cdkOptionDisabled", "disabled", "cdkOptionTypeaheadLabel", "typeaheadLabel"] }], ngImport: i0, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n", dependencies: [{ kind: "ngmodule", type: GaCheckboxModule }, { kind: "component", type: GaCheckboxComponent, selector: "ga-checkbox", inputs: ["value", "disabled", "checked", "name", "id", "indeterminate", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage", "required"], outputs: ["change", "indeterminateChange"] }, { kind: "ngmodule", type: GaRadioModule }, { kind: "component", type: GaRadioButtonComponent, selector: "ga-radio-button", inputs: ["value", "id", "name", "checked", "disabled", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid", "aria-errormessage"], outputs: ["change"] }] });
|
|
1466
1465
|
}
|
|
1467
1466
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, decorators: [{
|
|
1468
1467
|
type: Component,
|
|
@@ -1481,7 +1480,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1481
1480
|
'[class.ga-dropdown__item--disabled]': 'cdkOption.disabled',
|
|
1482
1481
|
'[class.ga-dropdown__item--active]': 'active() && !cdkOption.disabled',
|
|
1483
1482
|
'(click)': 'onClick()',
|
|
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
|
|
1483
|
+
}, template: "@if (withInput()) {\n @if (selectComponent.multiple()) {\n <ga-checkbox\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n } @else {\n <ga-radio-button\n [checked]=\"selected()\"\n [disabled]=\"disabled()\"\n aria-hidden=\"true\"\n style=\"pointer-events: none\"\n tabindex=\"-1\"\n />\n }\n}\n<div class=\"ga-dropdown__item-label\"><ng-content /></div>\n" }]
|
|
1485
1484
|
}], ctorParameters: () => [] });
|
|
1486
1485
|
|
|
1487
1486
|
class GaSelectValueComponent {
|
|
@@ -1574,6 +1573,8 @@ class GaSelectComponent {
|
|
|
1574
1573
|
textValue = model('');
|
|
1575
1574
|
leftIcon = input();
|
|
1576
1575
|
idInput = input(null, { alias: 'id' });
|
|
1576
|
+
opened = output();
|
|
1577
|
+
closed = output();
|
|
1577
1578
|
// TODO: if we rename this to options, it breaks, why?
|
|
1578
1579
|
gaOptions = contentChildren(GaOptionComponent, {
|
|
1579
1580
|
descendants: true,
|
|
@@ -1609,6 +1610,7 @@ class GaSelectComponent {
|
|
|
1609
1610
|
return this.invalidInput() ?? this.implicitInvalid();
|
|
1610
1611
|
});
|
|
1611
1612
|
_formControlId = computed(() => this.id());
|
|
1613
|
+
_formControlDisabled = computed(() => this.disabled());
|
|
1612
1614
|
constructor() {
|
|
1613
1615
|
effect(() => {
|
|
1614
1616
|
// if the select became disabled while open, close it
|
|
@@ -1739,12 +1741,14 @@ class GaSelectComponent {
|
|
|
1739
1741
|
else {
|
|
1740
1742
|
this.focusListbox();
|
|
1741
1743
|
}
|
|
1744
|
+
this.opened.emit();
|
|
1742
1745
|
}
|
|
1743
1746
|
onOverlayDetach() {
|
|
1744
1747
|
this._isOpen.set(false);
|
|
1745
1748
|
this.focusedTriggerElement?.focus();
|
|
1746
1749
|
this.textValue.set('');
|
|
1747
1750
|
this._onTouched?.();
|
|
1751
|
+
this.closed.emit();
|
|
1748
1752
|
}
|
|
1749
1753
|
setItemActive(direction) {
|
|
1750
1754
|
const options = this.gaOptions();
|
|
@@ -1766,7 +1770,7 @@ class GaSelectComponent {
|
|
|
1766
1770
|
}
|
|
1767
1771
|
}
|
|
1768
1772
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1769
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "cdkListbox().id", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "searchable() ? cdkListbox().id : null", "attr.aria-activedescendant": "!searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
|
|
1773
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange", opened: "opened", closed: "closed" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "cdkListbox().id", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "searchable() ? cdkListbox().id : null", "attr.aria-activedescendant": "!searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
|
|
1770
1774
|
{
|
|
1771
1775
|
provide: NG_VALUE_ACCESSOR,
|
|
1772
1776
|
useExisting: forwardRef(() => GaSelectComponent),
|
|
@@ -1776,7 +1780,7 @@ class GaSelectComponent {
|
|
|
1776
1780
|
provide: GA_FORM_CONTROL,
|
|
1777
1781
|
useExisting: forwardRef(() => GaSelectComponent),
|
|
1778
1782
|
},
|
|
1779
|
-
], queries: [{ propertyName: "gaOptions", predicate: GaOptionComponent, descendants: true, read: GaOptionComponent, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "customSelectValue", first: true, predicate: GaSelectValueComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["ngContent"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$3.CdkOverlayOrigin }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()
|
|
1783
|
+
], queries: [{ propertyName: "gaOptions", predicate: GaOptionComponent, descendants: true, read: GaOptionComponent, isSignal: true }, { propertyName: "cdkListbox", first: true, predicate: CdkListbox, descendants: true, isSignal: true }, { propertyName: "customSelectValue", first: true, predicate: GaSelectValueComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "content", first: true, predicate: ["ngContent"], descendants: true, read: ElementRef, isSignal: true }], hostDirectives: [{ directive: i1$3.CdkOverlayOrigin }], ngImport: i0, template: "@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", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaSelectDefaultValueComponent, selector: "ga-select-default-value" }] });
|
|
1780
1784
|
}
|
|
1781
1785
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectComponent, decorators: [{
|
|
1782
1786
|
type: Component,
|
|
@@ -1815,7 +1819,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1815
1819
|
'(keydown.arrowdown)': 'open(); $event.preventDefault()',
|
|
1816
1820
|
'(keydown.space)': 'open(); $event.preventDefault()',
|
|
1817
1821
|
'(keydown.enter)': 'open(); $event.preventDefault()',
|
|
1818
|
-
}, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()
|
|
1822
|
+
}, template: "@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" }]
|
|
1819
1823
|
}], ctorParameters: () => [] });
|
|
1820
1824
|
|
|
1821
1825
|
class GaOptgroupComponent {
|