@vsn-ux/ngx-gaia 0.6.0 → 0.6.2
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 +589 -20
- package/fesm2022/vsn-ux-ngx-gaia.mjs.map +1 -1
- package/lib/modal/index.d.ts +12 -0
- package/lib/modal/modal-actions.component.d.ts +5 -0
- package/lib/modal/modal-content.component.d.ts +5 -0
- package/lib/modal/modal-data.token.d.ts +2 -0
- package/lib/modal/modal-description.component.d.ts +6 -0
- package/lib/modal/modal-header.component.d.ts +16 -0
- package/lib/modal/modal-i18n.service.d.ts +14 -0
- package/lib/modal/modal-ref.d.ts +4 -0
- package/lib/modal/modal.component.d.ts +48 -0
- package/lib/modal/modal.directives.d.ts +29 -0
- package/lib/modal/modal.module.d.ts +11 -0
- package/lib/modal/modal.options.d.ts +47 -0
- package/lib/modal/modal.service.d.ts +26 -0
- package/lib/modal/modal.utils.d.ts +3 -0
- package/lib/tooltip/tooltip.component.d.ts +1 -0
- package/lib/tooltip/tooltip.directive.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, input, numberAttribute, computed, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, booleanAttribute, output, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, TemplateRef, NgZone, Input, effect, afterRender, contentChildren, viewChild } from '@angular/core';
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, input, numberAttribute, computed, Component, ViewEncapsulation, Attribute, NgModule, ChangeDetectionStrategy, Injectable, booleanAttribute, output, contentChild, forwardRef, Injector, signal, linkedSignal, Directive, model, HostListener, TemplateRef, NgZone, Input, HostBinding, effect, DestroyRef, afterNextRender, Renderer2, 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
6
|
import { NgTemplateOutlet, DOCUMENT } from '@angular/common';
|
|
7
|
-
import * as i1$
|
|
8
|
-
import { Overlay, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
|
|
7
|
+
import * as i1$4 from '@angular/cdk/overlay';
|
|
8
|
+
import { Overlay, OverlayRef, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
|
|
9
9
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
10
|
-
import { Subject, takeUntil, map, merge } from 'rxjs';
|
|
10
|
+
import { Subject, takeUntil, map, merge, filter, Observable, isObservable } from 'rxjs';
|
|
11
11
|
import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
12
12
|
import * as i1$1 from '@angular/cdk/menu';
|
|
13
13
|
import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';
|
|
14
|
-
import { toSignal } from '@angular/core/rxjs-interop';
|
|
15
|
-
import
|
|
14
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
15
|
+
import { Router, ResolveStart } from '@angular/router';
|
|
16
|
+
import * as i1$2 from '@angular/cdk/a11y';
|
|
17
|
+
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
18
|
+
import * as i1$3 from '@angular/cdk/listbox';
|
|
16
19
|
import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
|
|
17
20
|
|
|
18
21
|
/**
|
|
@@ -344,11 +347,11 @@ const CHECKBOX_CONTROL_VALUE_ACCESSOR = {
|
|
|
344
347
|
};
|
|
345
348
|
// Increasing integer for generating unique ids for checkbox components.
|
|
346
349
|
// Inspired by @angular/components
|
|
347
|
-
let nextUniqueId$
|
|
350
|
+
let nextUniqueId$7 = 0;
|
|
348
351
|
class GaCheckboxComponent {
|
|
349
352
|
tabindex;
|
|
350
353
|
/** @ignore */
|
|
351
|
-
_uniqueId = `ga-checkbox-${++nextUniqueId$
|
|
354
|
+
_uniqueId = `ga-checkbox-${++nextUniqueId$7}`;
|
|
352
355
|
/** @ignore */
|
|
353
356
|
injector = inject(Injector);
|
|
354
357
|
icons = { Minus, Check };
|
|
@@ -683,9 +686,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
683
686
|
}]
|
|
684
687
|
}] });
|
|
685
688
|
|
|
686
|
-
let nextUniqueId$
|
|
689
|
+
let nextUniqueId$6 = 0;
|
|
687
690
|
class GaInputDirective {
|
|
688
|
-
uniqueId = `ga-input-${++nextUniqueId$
|
|
691
|
+
uniqueId = `ga-input-${++nextUniqueId$6}`;
|
|
689
692
|
implicitNgControl = inject(NgControl, {
|
|
690
693
|
optional: true,
|
|
691
694
|
self: true,
|
|
@@ -754,9 +757,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
754
757
|
}]
|
|
755
758
|
}] });
|
|
756
759
|
|
|
757
|
-
let nextUniqueId$
|
|
760
|
+
let nextUniqueId$5 = 0;
|
|
758
761
|
class GaFormFieldComponent {
|
|
759
|
-
uniqueId = `ga-form-field-${++nextUniqueId$
|
|
762
|
+
uniqueId = `ga-form-field-${++nextUniqueId$5}`;
|
|
760
763
|
formControl = contentChild(GA_FORM_CONTROL, { descendants: true });
|
|
761
764
|
controlId = computed(() => {
|
|
762
765
|
return this.formControl()?._formControlId() ?? this.uniqueId;
|
|
@@ -771,7 +774,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
771
774
|
}, template: "<ng-content />\n" }]
|
|
772
775
|
}] });
|
|
773
776
|
|
|
777
|
+
let nextUniqueId$4 = 0;
|
|
774
778
|
class GaTooltipComponent {
|
|
779
|
+
uniqueId = `ga-tooltip-${++nextUniqueId$4}`;
|
|
775
780
|
mouseLeaveSubject = new Subject();
|
|
776
781
|
afterMouseLeave = () => this.mouseLeaveSubject.asObservable();
|
|
777
782
|
mouseOver = signal(false);
|
|
@@ -805,13 +810,13 @@ class GaTooltipComponent {
|
|
|
805
810
|
this.mouseLeaveSubject.next();
|
|
806
811
|
}
|
|
807
812
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
808
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaTooltipComponent, isStandalone: true, selector: "ga-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hideTriggered: "hideTriggered" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.style": "inlineStyle()" } }, ngImport: i0, template: "<div [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
813
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaTooltipComponent, isStandalone: true, selector: "ga-tooltip", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hideTriggered: "hideTriggered" }, host: { listeners: { "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.style": "inlineStyle()" } }, ngImport: i0, template: "<div role=\"tooltip\" [attr.id]=\"uniqueId\" [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
809
814
|
}
|
|
810
815
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaTooltipComponent, decorators: [{
|
|
811
816
|
type: Component,
|
|
812
817
|
args: [{ selector: 'ga-tooltip', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
813
818
|
'[attr.style]': 'inlineStyle()',
|
|
814
|
-
}, template: "<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", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"] }]
|
|
819
|
+
}, template: "<div role=\"tooltip\" [attr.id]=\"uniqueId\" [class]=\"cssClass()\">\n @if (text()) {\n {{ text() }}\n } @else if (template()) {\n <ng-container\n [ngTemplateOutlet]=\"template()\"\n [ngTemplateOutletContext]=\"{ hide: triggerHide }\"\n />\n }\n</div>\n", styles: [".top-start :host,.top-center :host,.top-end :host{padding-bottom:var(--ga-tooltip-offset)}.bottom-start :host,.bottom-center :host,.bottom-end :host{padding-top:var(--ga-tooltip-offset)}.left-start :host,.left-center :host,.left-end :host{padding-right:var(--ga-tooltip-offset)}.right-start :host,.right-center :host,.right-end :host{padding-left:var(--ga-tooltip-offset)}\n"] }]
|
|
815
820
|
}], propDecorators: { handleMouseEnter: [{
|
|
816
821
|
type: HostListener,
|
|
817
822
|
args: ['mouseenter']
|
|
@@ -899,6 +904,9 @@ class GaTooltipDirective {
|
|
|
899
904
|
get placement() {
|
|
900
905
|
return this._placement;
|
|
901
906
|
}
|
|
907
|
+
get ariaDescribedBy() {
|
|
908
|
+
return this.tooltipInstance?.uniqueId ?? null;
|
|
909
|
+
}
|
|
902
910
|
ngOnDestroy() {
|
|
903
911
|
this.destroyed$.next();
|
|
904
912
|
this.destroyed$.complete();
|
|
@@ -1099,7 +1107,7 @@ class GaTooltipDirective {
|
|
|
1099
1107
|
}
|
|
1100
1108
|
}
|
|
1101
1109
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1102
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.5", type: GaTooltipDirective, isStandalone: true, selector: "[gaTooltip]", inputs: { content: ["gaTooltip", "content"], disabled: ["gaTooltipDisabled", "disabled", booleanAttribute], controlMode: ["gaTooltipControlMode", "controlMode"], showControlMode: ["gaTooltipShowControlMode", "showControlMode"], hideControlMode: ["gaTooltipHideControlMode", "hideControlMode"], offset: ["gaTooltipOffsetSize", "offset", numberAttribute], placement: ["gaTooltipPlacement", "placement"] }, host: { listeners: { "click": "handleMouseClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" } }, exportAs: ["gaTooltip"], ngImport: i0 });
|
|
1110
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.5", type: GaTooltipDirective, isStandalone: true, selector: "[gaTooltip]", inputs: { content: ["gaTooltip", "content"], disabled: ["gaTooltipDisabled", "disabled", booleanAttribute], controlMode: ["gaTooltipControlMode", "controlMode"], showControlMode: ["gaTooltipShowControlMode", "showControlMode"], hideControlMode: ["gaTooltipHideControlMode", "hideControlMode"], offset: ["gaTooltipOffsetSize", "offset", numberAttribute], placement: ["gaTooltipPlacement", "placement"] }, host: { listeners: { "click": "handleMouseClick()", "mouseenter": "handleMouseEnter()", "mouseleave": "handleMouseLeave()" }, properties: { "attr.aria-describedby": "this.ariaDescribedBy" } }, exportAs: ["gaTooltip"], ngImport: i0 });
|
|
1103
1111
|
}
|
|
1104
1112
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaTooltipDirective, decorators: [{
|
|
1105
1113
|
type: Directive,
|
|
@@ -1128,6 +1136,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1128
1136
|
}], placement: [{
|
|
1129
1137
|
type: Input,
|
|
1130
1138
|
args: [{ alias: 'gaTooltipPlacement' }]
|
|
1139
|
+
}], ariaDescribedBy: [{
|
|
1140
|
+
type: HostBinding,
|
|
1141
|
+
args: ['attr.aria-describedby']
|
|
1131
1142
|
}], handleMouseClick: [{
|
|
1132
1143
|
type: HostListener,
|
|
1133
1144
|
args: ['click']
|
|
@@ -1370,6 +1381,559 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1370
1381
|
}]
|
|
1371
1382
|
}] });
|
|
1372
1383
|
|
|
1384
|
+
class GaModalRef {
|
|
1385
|
+
instance;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
const GA_MODAL_DATA = new InjectionToken('GaModalData');
|
|
1389
|
+
|
|
1390
|
+
class GaModalService {
|
|
1391
|
+
/** @ignore */
|
|
1392
|
+
overlay = inject(Overlay);
|
|
1393
|
+
/** @ignore */
|
|
1394
|
+
injector = inject(Injector);
|
|
1395
|
+
/** @ignore */
|
|
1396
|
+
parentModalService = inject(GaModalService, {
|
|
1397
|
+
optional: true,
|
|
1398
|
+
skipSelf: true,
|
|
1399
|
+
});
|
|
1400
|
+
/** @ignore */
|
|
1401
|
+
openModalsAtThisLevel = signal([]);
|
|
1402
|
+
get activeModals() {
|
|
1403
|
+
if (this.parentModalService) {
|
|
1404
|
+
return this.parentModalService.activeModals;
|
|
1405
|
+
}
|
|
1406
|
+
return this.openModalsAtThisLevel;
|
|
1407
|
+
}
|
|
1408
|
+
open(component, ...args) {
|
|
1409
|
+
let [data] = args;
|
|
1410
|
+
const overlayRef = this.createOverlay();
|
|
1411
|
+
return this.attachContent(component, data, overlayRef);
|
|
1412
|
+
}
|
|
1413
|
+
closeAll() {
|
|
1414
|
+
this.activeModals.update((modals) => {
|
|
1415
|
+
while (modals.length > 0) {
|
|
1416
|
+
modals.pop()?.close();
|
|
1417
|
+
}
|
|
1418
|
+
return modals;
|
|
1419
|
+
});
|
|
1420
|
+
}
|
|
1421
|
+
/** @ignore */
|
|
1422
|
+
attachContent(component, data, overlayRef) {
|
|
1423
|
+
const modalRef = new GaModalRef();
|
|
1424
|
+
const injector = this.createInjector(this.injector, overlayRef, modalRef, data);
|
|
1425
|
+
const modalPortal = new ComponentPortal(component, null, injector);
|
|
1426
|
+
const result = overlayRef.attach(modalPortal);
|
|
1427
|
+
modalRef.instance = result.instance;
|
|
1428
|
+
this.activeModals.update((modals) => {
|
|
1429
|
+
modals.push(modalRef.instance);
|
|
1430
|
+
return modals;
|
|
1431
|
+
});
|
|
1432
|
+
modalRef.instance
|
|
1433
|
+
.afterClosed({ closeOnUnsubscribe: false })
|
|
1434
|
+
.subscribe(() => {
|
|
1435
|
+
const index = this.activeModals().indexOf(modalRef.instance);
|
|
1436
|
+
if (index > -1) {
|
|
1437
|
+
this.activeModals.update((modals) => {
|
|
1438
|
+
modals.splice(index, 1);
|
|
1439
|
+
return modals;
|
|
1440
|
+
});
|
|
1441
|
+
}
|
|
1442
|
+
});
|
|
1443
|
+
return result.instance;
|
|
1444
|
+
}
|
|
1445
|
+
/** @ignore */
|
|
1446
|
+
createOverlay() {
|
|
1447
|
+
const positionStrategy = this.overlay
|
|
1448
|
+
.position()
|
|
1449
|
+
.global()
|
|
1450
|
+
.centerHorizontally()
|
|
1451
|
+
.top('calc(4rem*var(--ga-base-scaling-factor,1))');
|
|
1452
|
+
const scrollStrategy = this.overlay.scrollStrategies.block();
|
|
1453
|
+
return this.overlay.create({
|
|
1454
|
+
positionStrategy,
|
|
1455
|
+
scrollStrategy,
|
|
1456
|
+
hasBackdrop: true,
|
|
1457
|
+
backdropClass: 'ga-modal__backdrop',
|
|
1458
|
+
// NOTE: handled manually inside the modal component
|
|
1459
|
+
disposeOnNavigation: false,
|
|
1460
|
+
height: 'auto',
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1463
|
+
/** @ignore */
|
|
1464
|
+
createInjector(parentInjector, overlayRef, modalRef, data) {
|
|
1465
|
+
return Injector.create({
|
|
1466
|
+
parent: parentInjector,
|
|
1467
|
+
providers: [
|
|
1468
|
+
{ provide: OverlayRef, useValue: overlayRef },
|
|
1469
|
+
{ provide: GaModalRef, useValue: modalRef },
|
|
1470
|
+
{ provide: GA_MODAL_DATA, useValue: data ?? null },
|
|
1471
|
+
],
|
|
1472
|
+
});
|
|
1473
|
+
}
|
|
1474
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1475
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalService, providedIn: 'root' });
|
|
1476
|
+
}
|
|
1477
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalService, decorators: [{
|
|
1478
|
+
type: Injectable,
|
|
1479
|
+
args: [{ providedIn: 'root' }]
|
|
1480
|
+
}] });
|
|
1481
|
+
|
|
1482
|
+
class GaModalOptions {
|
|
1483
|
+
/**
|
|
1484
|
+
* Defines the predefined size of the modal.
|
|
1485
|
+
*
|
|
1486
|
+
* @default `md`
|
|
1487
|
+
*/
|
|
1488
|
+
size;
|
|
1489
|
+
/**
|
|
1490
|
+
* Defines the type of the modal:
|
|
1491
|
+
* - `none` for no icon.
|
|
1492
|
+
* - `information` for info dialog.
|
|
1493
|
+
* - `danger` for danger dialog.
|
|
1494
|
+
* - `warning` for warning dialog.
|
|
1495
|
+
* - `success` for success dialog.
|
|
1496
|
+
*/
|
|
1497
|
+
type;
|
|
1498
|
+
/**
|
|
1499
|
+
* The ARIA role of the dialog element.
|
|
1500
|
+
*
|
|
1501
|
+
* @default `dialog`
|
|
1502
|
+
*/
|
|
1503
|
+
role;
|
|
1504
|
+
/**
|
|
1505
|
+
* Defines if the modal should be closed when the escape key is pressed.
|
|
1506
|
+
*
|
|
1507
|
+
* @default `true`
|
|
1508
|
+
*/
|
|
1509
|
+
closeOnEscape;
|
|
1510
|
+
/**
|
|
1511
|
+
* Defines if the modal should be closed when the backdrop is clicked.
|
|
1512
|
+
*
|
|
1513
|
+
* @default `true`
|
|
1514
|
+
*/
|
|
1515
|
+
closeOnOutsideClick;
|
|
1516
|
+
/**
|
|
1517
|
+
* Defines if the modal should be closed when the route changes.
|
|
1518
|
+
*
|
|
1519
|
+
* @default `true`
|
|
1520
|
+
*/
|
|
1521
|
+
closeOnNavigation;
|
|
1522
|
+
}
|
|
1523
|
+
const DEFAULT_MODAL_OPTIONS = {
|
|
1524
|
+
role: 'dialog',
|
|
1525
|
+
type: 'none',
|
|
1526
|
+
size: 'md',
|
|
1527
|
+
closeOnEscape: true,
|
|
1528
|
+
closeOnOutsideClick: true,
|
|
1529
|
+
closeOnNavigation: true,
|
|
1530
|
+
};
|
|
1531
|
+
function provideGaModalOptions(options) {
|
|
1532
|
+
return { provide: GaModalOptions, useValue: options };
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
class GaModalComponent {
|
|
1536
|
+
closeSubject = new Subject();
|
|
1537
|
+
overlayRef = inject(OverlayRef);
|
|
1538
|
+
destroyRef = inject(DestroyRef);
|
|
1539
|
+
_modalService = inject(GaModalService);
|
|
1540
|
+
router = inject(Router, { optional: true });
|
|
1541
|
+
globalOptions = inject(GaModalOptions, { optional: true });
|
|
1542
|
+
options = this.createOptions();
|
|
1543
|
+
trapfocus = inject(CdkTrapFocus);
|
|
1544
|
+
data = inject(GA_MODAL_DATA);
|
|
1545
|
+
labelledBy = signal(null);
|
|
1546
|
+
describedBy = signal(null);
|
|
1547
|
+
modalStackIndex = computed(() => this._modalService.activeModals().length - 1);
|
|
1548
|
+
constructor() {
|
|
1549
|
+
this.trapfocus.enabled = true;
|
|
1550
|
+
this.trapfocus.autoCapture = true;
|
|
1551
|
+
// Using next render to delay the initialization, so that there is more time
|
|
1552
|
+
// to set the modal options
|
|
1553
|
+
afterNextRender({
|
|
1554
|
+
read: () => {
|
|
1555
|
+
if (this.options.closeOnNavigation) {
|
|
1556
|
+
this.router?.events
|
|
1557
|
+
.pipe(
|
|
1558
|
+
/**
|
|
1559
|
+
* Listen for `ResolveStart` to be friendly with route-guards.
|
|
1560
|
+
* i.e. don't close the modal in case a guard prevents the route change,
|
|
1561
|
+
* beneficial for pending changes check.
|
|
1562
|
+
*/
|
|
1563
|
+
filter((event) => event instanceof ResolveStart), takeUntilDestroyed(this.destroyRef))
|
|
1564
|
+
.subscribe(() => this.close());
|
|
1565
|
+
}
|
|
1566
|
+
if (this.options.closeOnEscape) {
|
|
1567
|
+
this.overlayRef
|
|
1568
|
+
.keydownEvents()
|
|
1569
|
+
.pipe(filter((event) => event.key === 'Escape' && !hasModifierKey(event)), takeUntilDestroyed(this.destroyRef))
|
|
1570
|
+
.subscribe((event) => {
|
|
1571
|
+
event.preventDefault();
|
|
1572
|
+
this.softClose();
|
|
1573
|
+
});
|
|
1574
|
+
}
|
|
1575
|
+
if (this.options.closeOnOutsideClick) {
|
|
1576
|
+
this.overlayRef
|
|
1577
|
+
.backdropClick()
|
|
1578
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
1579
|
+
.subscribe(() => this.softClose());
|
|
1580
|
+
}
|
|
1581
|
+
},
|
|
1582
|
+
});
|
|
1583
|
+
}
|
|
1584
|
+
close(result) {
|
|
1585
|
+
if (!this.overlayRef.hasAttached()) {
|
|
1586
|
+
return;
|
|
1587
|
+
}
|
|
1588
|
+
this.overlayRef.dispose();
|
|
1589
|
+
this.closeSubject.next(result);
|
|
1590
|
+
this.closeSubject.complete();
|
|
1591
|
+
}
|
|
1592
|
+
afterClosed({ closeOnUnsubscribe } = { closeOnUnsubscribe: true }) {
|
|
1593
|
+
return new Observable((observer) => {
|
|
1594
|
+
this.closeSubject.subscribe(observer);
|
|
1595
|
+
return () => closeOnUnsubscribe && this.close();
|
|
1596
|
+
});
|
|
1597
|
+
}
|
|
1598
|
+
/**
|
|
1599
|
+
* "Soft close" hook which is called whenever the modal is being closed
|
|
1600
|
+
* by "Escape" key or Backdrop click.
|
|
1601
|
+
* Return true to permit closing. False - to refuse.
|
|
1602
|
+
*/
|
|
1603
|
+
onSoftClose() {
|
|
1604
|
+
return true;
|
|
1605
|
+
}
|
|
1606
|
+
softClose() {
|
|
1607
|
+
const shouldClose = this.onSoftClose();
|
|
1608
|
+
if (typeof shouldClose === 'boolean' && shouldClose) {
|
|
1609
|
+
this.close();
|
|
1610
|
+
}
|
|
1611
|
+
if (isObservable(shouldClose)) {
|
|
1612
|
+
shouldClose
|
|
1613
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
1614
|
+
.subscribe((result) => result && this.close());
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
createOptions(options) {
|
|
1618
|
+
return {
|
|
1619
|
+
...DEFAULT_MODAL_OPTIONS,
|
|
1620
|
+
...this.globalOptions,
|
|
1621
|
+
...options,
|
|
1622
|
+
};
|
|
1623
|
+
}
|
|
1624
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1625
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaModalComponent, isStandalone: true, selector: "ng-component", host: { properties: { "attr.role": "options.role", "attr.aria-labelledby": "options.labelledBy ?? labelledBy()", "attr.aria-describedby": "options.describedBy ?? describedBy()", "class.ga-modal--small": "options.size === 'sm'", "class.ga-modal--medium": "options.size === 'md'", "class.ga-modal--large": "options.size === 'lg'", "class.ga-modal--information": "options.type === 'info'", "class.ga-modal--danger": "options.type === 'danger'", "class.ga-modal--warning": "options.type === 'warning'", "class.ga-modal--success": "options.type === 'success'", "style.margin-top": "'calc(var(--ga-base-scaling-factor, 1)*4rem*'+modalStackIndex()+')'" }, classAttribute: "ga-modal" }, hostDirectives: [{ directive: i1$2.CdkTrapFocus }], ngImport: i0, template: '', isInline: true });
|
|
1626
|
+
}
|
|
1627
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalComponent, decorators: [{
|
|
1628
|
+
type: Component,
|
|
1629
|
+
args: [{
|
|
1630
|
+
template: '',
|
|
1631
|
+
host: {
|
|
1632
|
+
class: 'ga-modal',
|
|
1633
|
+
'[attr.role]': 'options.role',
|
|
1634
|
+
'[attr.aria-labelledby]': 'options.labelledBy ?? labelledBy()',
|
|
1635
|
+
'[attr.aria-describedby]': 'options.describedBy ?? describedBy()',
|
|
1636
|
+
'[class.ga-modal--small]': "options.size === 'sm'",
|
|
1637
|
+
'[class.ga-modal--medium]': "options.size === 'md'",
|
|
1638
|
+
'[class.ga-modal--large]': "options.size === 'lg'",
|
|
1639
|
+
'[class.ga-modal--information]': "options.type === 'info'",
|
|
1640
|
+
'[class.ga-modal--danger]': "options.type === 'danger'",
|
|
1641
|
+
'[class.ga-modal--warning]': "options.type === 'warning'",
|
|
1642
|
+
'[class.ga-modal--success]': "options.type === 'success'",
|
|
1643
|
+
'[style.margin-top]': `'calc(var(--ga-base-scaling-factor, 1)*4rem*'+modalStackIndex()+')'`,
|
|
1644
|
+
},
|
|
1645
|
+
hostDirectives: [CdkTrapFocus],
|
|
1646
|
+
}]
|
|
1647
|
+
}], ctorParameters: () => [] });
|
|
1648
|
+
|
|
1649
|
+
class GaModalCloseDirective {
|
|
1650
|
+
modalRef = inject(GaModalRef);
|
|
1651
|
+
modalResult = input({ alias: 'gaModalClose' });
|
|
1652
|
+
onClick() {
|
|
1653
|
+
this.modalRef.instance.close(this.modalResult);
|
|
1654
|
+
}
|
|
1655
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1656
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.1.5", type: GaModalCloseDirective, isStandalone: true, selector: "[gaModalClose]", inputs: { modalResult: { classPropertyName: "modalResult", publicName: "modalResult", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 });
|
|
1657
|
+
}
|
|
1658
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalCloseDirective, decorators: [{
|
|
1659
|
+
type: Directive,
|
|
1660
|
+
args: [{
|
|
1661
|
+
selector: '[gaModalClose]',
|
|
1662
|
+
}]
|
|
1663
|
+
}], propDecorators: { onClick: [{
|
|
1664
|
+
type: HostListener,
|
|
1665
|
+
args: ['click']
|
|
1666
|
+
}] } });
|
|
1667
|
+
let nextUniqueModalTitleId = 0;
|
|
1668
|
+
class GaModalTitleDirective {
|
|
1669
|
+
renderer = inject(Renderer2);
|
|
1670
|
+
elementRef = inject(ElementRef);
|
|
1671
|
+
modalRef = inject(GaModalRef);
|
|
1672
|
+
id;
|
|
1673
|
+
constructor(id) {
|
|
1674
|
+
if (id) {
|
|
1675
|
+
this.id = id;
|
|
1676
|
+
}
|
|
1677
|
+
else {
|
|
1678
|
+
this.id = `gaModalTitle${nextUniqueModalTitleId++}`;
|
|
1679
|
+
this.renderer.setAttribute(this.elementRef.nativeElement, 'id', this.id);
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1682
|
+
ngAfterViewInit() {
|
|
1683
|
+
this.modalRef.instance.labelledBy.set(this.id);
|
|
1684
|
+
}
|
|
1685
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalTitleDirective, deps: [{ token: 'id', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1686
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: GaModalTitleDirective, isStandalone: true, selector: "[gaModalTitle]", host: { classAttribute: "ga-modal__title" }, ngImport: i0 });
|
|
1687
|
+
}
|
|
1688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalTitleDirective, decorators: [{
|
|
1689
|
+
type: Directive,
|
|
1690
|
+
args: [{
|
|
1691
|
+
selector: '[gaModalTitle]',
|
|
1692
|
+
host: { class: 'ga-modal__title' },
|
|
1693
|
+
}]
|
|
1694
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1695
|
+
type: Attribute,
|
|
1696
|
+
args: ['id']
|
|
1697
|
+
}] }] });
|
|
1698
|
+
let nextUniqueModalDescriptionId = 0;
|
|
1699
|
+
class GaModalDescriptionDirective {
|
|
1700
|
+
renderer = inject(Renderer2);
|
|
1701
|
+
elementRef = inject(ElementRef);
|
|
1702
|
+
modalRef = inject(GaModalRef);
|
|
1703
|
+
id;
|
|
1704
|
+
constructor(id) {
|
|
1705
|
+
if (id) {
|
|
1706
|
+
this.id = id;
|
|
1707
|
+
}
|
|
1708
|
+
else {
|
|
1709
|
+
this.id = `gaModalDescription${nextUniqueModalDescriptionId++}`;
|
|
1710
|
+
this.renderer.setAttribute(this.elementRef.nativeElement, 'id', this.id);
|
|
1711
|
+
}
|
|
1712
|
+
}
|
|
1713
|
+
ngAfterViewInit() {
|
|
1714
|
+
this.modalRef.instance.describedBy.set(this.id);
|
|
1715
|
+
}
|
|
1716
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalDescriptionDirective, deps: [{ token: 'id', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1717
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.5", type: GaModalDescriptionDirective, isStandalone: true, selector: "[gaModalDescription]", host: { classAttribute: "ga-modal__description" }, ngImport: i0 });
|
|
1718
|
+
}
|
|
1719
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalDescriptionDirective, decorators: [{
|
|
1720
|
+
type: Directive,
|
|
1721
|
+
args: [{
|
|
1722
|
+
selector: '[gaModalDescription]',
|
|
1723
|
+
host: { class: 'ga-modal__description' },
|
|
1724
|
+
}]
|
|
1725
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
1726
|
+
type: Attribute,
|
|
1727
|
+
args: ['id']
|
|
1728
|
+
}] }] });
|
|
1729
|
+
|
|
1730
|
+
class GaModalDescriptionComponent {
|
|
1731
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalDescriptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1732
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaModalDescriptionComponent, isStandalone: true, selector: "ga-modal-description", host: { classAttribute: "ga-modal__description" }, hostDirectives: [{ directive: GaModalDescriptionDirective }], ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
1733
|
+
}
|
|
1734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalDescriptionComponent, decorators: [{
|
|
1735
|
+
type: Component,
|
|
1736
|
+
args: [{
|
|
1737
|
+
selector: 'ga-modal-description',
|
|
1738
|
+
template: `<ng-content />`,
|
|
1739
|
+
hostDirectives: [GaModalDescriptionDirective],
|
|
1740
|
+
host: {
|
|
1741
|
+
class: 'ga-modal__description',
|
|
1742
|
+
},
|
|
1743
|
+
}]
|
|
1744
|
+
}] });
|
|
1745
|
+
|
|
1746
|
+
class GaModalContentComponent {
|
|
1747
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1748
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaModalContentComponent, isStandalone: true, selector: "ga-modal-content", host: { classAttribute: "ga-modal__content" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
1749
|
+
}
|
|
1750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalContentComponent, decorators: [{
|
|
1751
|
+
type: Component,
|
|
1752
|
+
args: [{
|
|
1753
|
+
selector: 'ga-modal-content',
|
|
1754
|
+
template: `<ng-content />`,
|
|
1755
|
+
host: {
|
|
1756
|
+
class: 'ga-modal__content',
|
|
1757
|
+
},
|
|
1758
|
+
}]
|
|
1759
|
+
}] });
|
|
1760
|
+
|
|
1761
|
+
class GaModalActionsComponent {
|
|
1762
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1763
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: GaModalActionsComponent, isStandalone: true, selector: "ga-modal-actions", host: { classAttribute: "ga-modal__actions" }, ngImport: i0, template: ` <ng-content />`, isInline: true });
|
|
1764
|
+
}
|
|
1765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalActionsComponent, decorators: [{
|
|
1766
|
+
type: Component,
|
|
1767
|
+
args: [{
|
|
1768
|
+
selector: 'ga-modal-actions',
|
|
1769
|
+
template: ` <ng-content />`,
|
|
1770
|
+
host: {
|
|
1771
|
+
class: 'ga-modal__actions',
|
|
1772
|
+
},
|
|
1773
|
+
}]
|
|
1774
|
+
}] });
|
|
1775
|
+
|
|
1776
|
+
function GA_MODAL_I18N_FACTORY() {
|
|
1777
|
+
return new GaModalI18nDefault();
|
|
1778
|
+
}
|
|
1779
|
+
class GaModalI18n {
|
|
1780
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18n, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1781
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18n, providedIn: 'root', useFactory: GA_MODAL_I18N_FACTORY });
|
|
1782
|
+
}
|
|
1783
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18n, decorators: [{
|
|
1784
|
+
type: Injectable,
|
|
1785
|
+
args: [{
|
|
1786
|
+
providedIn: 'root',
|
|
1787
|
+
useFactory: GA_MODAL_I18N_FACTORY,
|
|
1788
|
+
}]
|
|
1789
|
+
}] });
|
|
1790
|
+
class GaModalI18nDefault extends GaModalI18n {
|
|
1791
|
+
/** A label for the dismiss button */
|
|
1792
|
+
dismissLabel = 'Dismiss';
|
|
1793
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18nDefault, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
1794
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18nDefault });
|
|
1795
|
+
}
|
|
1796
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalI18nDefault, decorators: [{
|
|
1797
|
+
type: Injectable
|
|
1798
|
+
}] });
|
|
1799
|
+
function provideGaModalI18n(value) {
|
|
1800
|
+
return makeEnvironmentProviders([
|
|
1801
|
+
typeof value === 'function'
|
|
1802
|
+
? { provide: GaModalI18n, useFactory: value }
|
|
1803
|
+
: { provide: GaModalI18n, useValue: value },
|
|
1804
|
+
]);
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
class GaModalHeaderComponent {
|
|
1808
|
+
icons = {
|
|
1809
|
+
X,
|
|
1810
|
+
Info,
|
|
1811
|
+
CircleCheck,
|
|
1812
|
+
TriangleAlert,
|
|
1813
|
+
OctagonAlert,
|
|
1814
|
+
};
|
|
1815
|
+
modalRef = inject(GaModalRef);
|
|
1816
|
+
i18n = inject(GaModalI18n);
|
|
1817
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1818
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaModalHeaderComponent, isStandalone: true, selector: "ga-modal-header", host: { classAttribute: "ga-modal__top-section" }, ngImport: i0, template: `
|
|
1819
|
+
@if (modalRef.instance.options.type !== 'none') {
|
|
1820
|
+
<div class="ga-modal__icon">
|
|
1821
|
+
@switch (modalRef.instance.options.type) {
|
|
1822
|
+
@case ('info') {
|
|
1823
|
+
<ga-icon [icon]="icons.Info" size="48" />
|
|
1824
|
+
}
|
|
1825
|
+
@case ('warning') {
|
|
1826
|
+
<ga-icon [icon]="icons.TriangleAlert" size="48" />
|
|
1827
|
+
}
|
|
1828
|
+
@case ('danger') {
|
|
1829
|
+
<ga-icon [icon]="icons.OctagonAlert" size="48" />
|
|
1830
|
+
}
|
|
1831
|
+
@case ('success') {
|
|
1832
|
+
<ga-icon [icon]="icons.CircleCheck" size="48" />
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
</div>
|
|
1836
|
+
}
|
|
1837
|
+
<div class="ga-modal__heading">
|
|
1838
|
+
<ng-content select="[gaModalTitle]" />
|
|
1839
|
+
<ng-content select="ga-modal-description" />
|
|
1840
|
+
</div>
|
|
1841
|
+
<button
|
|
1842
|
+
type="button"
|
|
1843
|
+
[gaIconButton]="icons.X"
|
|
1844
|
+
gaIconButtonVariant="ghost"
|
|
1845
|
+
class="ga-modal__close-icon"
|
|
1846
|
+
(click)="modalRef.instance.close()"
|
|
1847
|
+
>
|
|
1848
|
+
{{ i18n.dismissLabel }}
|
|
1849
|
+
</button>
|
|
1850
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant"] }, { kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }] });
|
|
1851
|
+
}
|
|
1852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalHeaderComponent, decorators: [{
|
|
1853
|
+
type: Component,
|
|
1854
|
+
args: [{
|
|
1855
|
+
selector: 'ga-modal-header',
|
|
1856
|
+
imports: [GaButtonModule, GaIconModule],
|
|
1857
|
+
template: `
|
|
1858
|
+
@if (modalRef.instance.options.type !== 'none') {
|
|
1859
|
+
<div class="ga-modal__icon">
|
|
1860
|
+
@switch (modalRef.instance.options.type) {
|
|
1861
|
+
@case ('info') {
|
|
1862
|
+
<ga-icon [icon]="icons.Info" size="48" />
|
|
1863
|
+
}
|
|
1864
|
+
@case ('warning') {
|
|
1865
|
+
<ga-icon [icon]="icons.TriangleAlert" size="48" />
|
|
1866
|
+
}
|
|
1867
|
+
@case ('danger') {
|
|
1868
|
+
<ga-icon [icon]="icons.OctagonAlert" size="48" />
|
|
1869
|
+
}
|
|
1870
|
+
@case ('success') {
|
|
1871
|
+
<ga-icon [icon]="icons.CircleCheck" size="48" />
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
</div>
|
|
1875
|
+
}
|
|
1876
|
+
<div class="ga-modal__heading">
|
|
1877
|
+
<ng-content select="[gaModalTitle]" />
|
|
1878
|
+
<ng-content select="ga-modal-description" />
|
|
1879
|
+
</div>
|
|
1880
|
+
<button
|
|
1881
|
+
type="button"
|
|
1882
|
+
[gaIconButton]="icons.X"
|
|
1883
|
+
gaIconButtonVariant="ghost"
|
|
1884
|
+
class="ga-modal__close-icon"
|
|
1885
|
+
(click)="modalRef.instance.close()"
|
|
1886
|
+
>
|
|
1887
|
+
{{ i18n.dismissLabel }}
|
|
1888
|
+
</button>
|
|
1889
|
+
`,
|
|
1890
|
+
host: {
|
|
1891
|
+
class: 'ga-modal__top-section',
|
|
1892
|
+
},
|
|
1893
|
+
}]
|
|
1894
|
+
}] });
|
|
1895
|
+
|
|
1896
|
+
class GaModalModule {
|
|
1897
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1898
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: GaModalModule, imports: [GaModalCloseDirective,
|
|
1899
|
+
GaModalTitleDirective,
|
|
1900
|
+
GaModalDescriptionDirective,
|
|
1901
|
+
GaModalDescriptionComponent,
|
|
1902
|
+
GaModalContentComponent,
|
|
1903
|
+
GaModalActionsComponent,
|
|
1904
|
+
GaModalHeaderComponent], exports: [GaModalCloseDirective,
|
|
1905
|
+
GaModalTitleDirective,
|
|
1906
|
+
GaModalDescriptionDirective,
|
|
1907
|
+
GaModalDescriptionComponent,
|
|
1908
|
+
GaModalContentComponent,
|
|
1909
|
+
GaModalActionsComponent,
|
|
1910
|
+
GaModalHeaderComponent] });
|
|
1911
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalModule, imports: [GaModalHeaderComponent] });
|
|
1912
|
+
}
|
|
1913
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalModule, decorators: [{
|
|
1914
|
+
type: NgModule,
|
|
1915
|
+
args: [{
|
|
1916
|
+
imports: [
|
|
1917
|
+
GaModalCloseDirective,
|
|
1918
|
+
GaModalTitleDirective,
|
|
1919
|
+
GaModalDescriptionDirective,
|
|
1920
|
+
GaModalDescriptionComponent,
|
|
1921
|
+
GaModalContentComponent,
|
|
1922
|
+
GaModalActionsComponent,
|
|
1923
|
+
GaModalHeaderComponent,
|
|
1924
|
+
],
|
|
1925
|
+
exports: [
|
|
1926
|
+
GaModalCloseDirective,
|
|
1927
|
+
GaModalTitleDirective,
|
|
1928
|
+
GaModalDescriptionDirective,
|
|
1929
|
+
GaModalDescriptionComponent,
|
|
1930
|
+
GaModalContentComponent,
|
|
1931
|
+
GaModalActionsComponent,
|
|
1932
|
+
GaModalHeaderComponent,
|
|
1933
|
+
],
|
|
1934
|
+
}]
|
|
1935
|
+
}] });
|
|
1936
|
+
|
|
1373
1937
|
/**
|
|
1374
1938
|
* Provider Expression that allows ga-radio-group to register as a ControlValueAccessor.
|
|
1375
1939
|
* This allows it to support [(ngModel)] and ngControl.
|
|
@@ -1562,7 +2126,7 @@ class GaOptionComponent {
|
|
|
1562
2126
|
}
|
|
1563
2127
|
}
|
|
1564
2128
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1565
|
-
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$
|
|
2129
|
+
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$3.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"] }] });
|
|
1566
2130
|
}
|
|
1567
2131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, decorators: [{
|
|
1568
2132
|
type: Component,
|
|
@@ -1893,7 +2457,7 @@ class GaSelectComponent {
|
|
|
1893
2457
|
provide: GA_FORM_CONTROL,
|
|
1894
2458
|
useExisting: forwardRef(() => GaSelectComponent),
|
|
1895
2459
|
},
|
|
1896
|
-
], 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$
|
|
2460
|
+
], 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$4.CdkOverlayOrigin }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"cdkListbox().id\"\n [attr.aria-activedescendant]=\"activeDescendantId()\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\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$4.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" }] });
|
|
1897
2461
|
}
|
|
1898
2462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectComponent, decorators: [{
|
|
1899
2463
|
type: Component,
|
|
@@ -1970,7 +2534,7 @@ class GaSpinnerComponent {
|
|
|
1970
2534
|
circumference = computed(() => 2 * Math.PI * this.radius());
|
|
1971
2535
|
arcCircumference = computed(() => this.circumference() * 0.25);
|
|
1972
2536
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1973
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSpinnerComponent, isStandalone: true, selector: "ga-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-spinner" }, ngImport: i0, template: `
|
|
2537
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaSpinnerComponent, isStandalone: true, selector: "ga-spinner", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.mode": "'indeterminate'" }, classAttribute: "ga-spinner" }, ngImport: i0, template: `
|
|
1974
2538
|
<svg
|
|
1975
2539
|
[attr.width]="size()"
|
|
1976
2540
|
[attr.height]="size()"
|
|
@@ -2030,6 +2594,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
2030
2594
|
</svg>
|
|
2031
2595
|
`, encapsulation: ViewEncapsulation.None, host: {
|
|
2032
2596
|
class: 'ga-spinner',
|
|
2597
|
+
role: 'progressbar',
|
|
2598
|
+
'[attr.aria-valuemin]': '0',
|
|
2599
|
+
'[attr.aria-valuemax]': '100',
|
|
2600
|
+
'[attr.mode]': "'indeterminate'",
|
|
2601
|
+
tabindex: '-1',
|
|
2033
2602
|
}, styles: [".ga-spinner{display:inline-block}@keyframes ga-spinner__animation{0%{transform:rotate(0)}31.82%{transform:rotate(90deg)}63.64%{transform:rotate(180deg)}81.82%{transform:rotate(270deg)}to{transform:rotate(360deg)}}\n"] }]
|
|
2034
2603
|
}] });
|
|
2035
2604
|
|
|
@@ -2065,7 +2634,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
2065
2634
|
class GaSelectDropdownComponent {
|
|
2066
2635
|
loading = input(false, { transform: booleanAttribute });
|
|
2067
2636
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2068
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectDropdownComponent, isStandalone: true, selector: "ga-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$
|
|
2637
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaSelectDropdownComponent, isStandalone: true, selector: "ga-select-dropdown", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "ga-dropdown ga-dropdown__content" }, hostDirectives: [{ directive: i1$3.CdkListbox }], ngImport: i0, template: "@if (loading()) {\n <ga-select-dropdown-spinner />\n} @else {\n <ng-content />\n}\n", dependencies: [{ kind: "component", type: GaSelectDropdownSpinnerComponent, selector: "ga-select-dropdown-spinner" }] });
|
|
2069
2638
|
}
|
|
2070
2639
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, decorators: [{
|
|
2071
2640
|
type: Component,
|
|
@@ -2277,5 +2846,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
2277
2846
|
* Generated bundle index. Do not edit.
|
|
2278
2847
|
*/
|
|
2279
2848
|
|
|
2280
|
-
export { CHECKBOX_CONTROL_VALUE_ACCESSOR, GA_ALERT_I18N_FACTORY, GA_BASE_FONT_SIZE, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_FORM_CONTROL, GA_ICON_DEFAULT_SIZE, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormFieldComponent, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaLinkDirective, GaLinkModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlIconButtonComponent, GaSegmentedControlModule, GaSegmentedControlTextButtonComponent, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownSpinnerComponent, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaTextAreaDirective, GaTextAreaModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, provideGaAlertI18n, provideGaBaseFontSize };
|
|
2849
|
+
export { CHECKBOX_CONTROL_VALUE_ACCESSOR, DEFAULT_MODAL_OPTIONS, GA_ALERT_I18N_FACTORY, GA_BASE_FONT_SIZE, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_FORM_CONTROL, GA_ICON_DEFAULT_SIZE, GA_MODAL_DATA, GA_MODAL_I18N_FACTORY, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormFieldComponent, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaLinkDirective, GaLinkModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaModalActionsComponent, GaModalCloseDirective, GaModalComponent, GaModalContentComponent, GaModalDescriptionComponent, GaModalDescriptionDirective, GaModalHeaderComponent, GaModalI18n, GaModalI18nDefault, GaModalModule, GaModalOptions, GaModalRef, GaModalService, GaModalTitleDirective, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlIconButtonComponent, GaSegmentedControlModule, GaSegmentedControlTextButtonComponent, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownSpinnerComponent, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaTextAreaDirective, GaTextAreaModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, provideGaAlertI18n, provideGaBaseFontSize, provideGaModalI18n, provideGaModalOptions };
|
|
2281
2850
|
//# sourceMappingURL=vsn-ux-ngx-gaia.mjs.map
|