@vsn-ux/ngx-gaia 0.6.1 → 0.7.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.
|
@@ -4,7 +4,7 @@ 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$
|
|
7
|
+
import * as i1$4 from '@angular/cdk/overlay';
|
|
8
8
|
import { Overlay, OverlayRef, CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
|
|
9
9
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
10
10
|
import { Subject, takeUntil, map, merge, filter, Observable, isObservable } from 'rxjs';
|
|
@@ -13,7 +13,9 @@ import * as i1$1 from '@angular/cdk/menu';
|
|
|
13
13
|
import { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';
|
|
14
14
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
15
15
|
import { Router, ResolveStart } from '@angular/router';
|
|
16
|
-
import * as i1$2 from '@angular/cdk/
|
|
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';
|
|
17
19
|
import { CdkOption, CdkListbox } from '@angular/cdk/listbox';
|
|
18
20
|
|
|
19
21
|
/**
|
|
@@ -195,12 +197,16 @@ function provideGaAlertI18n(value) {
|
|
|
195
197
|
]);
|
|
196
198
|
}
|
|
197
199
|
|
|
200
|
+
let nextUniqueId$8 = 0;
|
|
198
201
|
class GaAlertComponent {
|
|
199
202
|
i18n = inject(GaAlertI18n);
|
|
200
203
|
dismissIcon = X;
|
|
201
204
|
variant = input('brand');
|
|
202
205
|
explicitIcon = input(undefined, { alias: 'icon' });
|
|
203
206
|
dismissible = input(false, { transform: booleanAttribute });
|
|
207
|
+
progress = input();
|
|
208
|
+
progressLabel = input();
|
|
209
|
+
progressLabelledBy = input();
|
|
204
210
|
dismiss = output();
|
|
205
211
|
icon = computed(() => {
|
|
206
212
|
if (this.explicitIcon() !== undefined) {
|
|
@@ -219,18 +225,36 @@ class GaAlertComponent {
|
|
|
219
225
|
return null;
|
|
220
226
|
});
|
|
221
227
|
title = contentChild(GaAlertTitleComponent);
|
|
228
|
+
progressId = `ga-alert-progress-${++nextUniqueId$8}`;
|
|
222
229
|
variantClass = computed(() => {
|
|
223
230
|
return `ga-notification ga-notification--${this.variant()}`;
|
|
224
231
|
});
|
|
232
|
+
hasProgress = computed(() => {
|
|
233
|
+
return this.progress() !== undefined;
|
|
234
|
+
});
|
|
235
|
+
progressValue = computed(() => {
|
|
236
|
+
const progressValue = this.progress();
|
|
237
|
+
if (progressValue === undefined || progressValue === 'indeterminate') {
|
|
238
|
+
return undefined;
|
|
239
|
+
}
|
|
240
|
+
return Math.max(0, Math.min(100, progressValue));
|
|
241
|
+
});
|
|
242
|
+
progressBarWidth = computed(() => {
|
|
243
|
+
const progressValue = this.progressValue();
|
|
244
|
+
if (progressValue === undefined) {
|
|
245
|
+
return undefined;
|
|
246
|
+
}
|
|
247
|
+
return `${progressValue}%`;
|
|
248
|
+
});
|
|
225
249
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
226
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaAlertComponent, isStandalone: true, selector: "ga-alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, explicitIcon: { classPropertyName: "explicitIcon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismiss: "dismiss" }, host: { attributes: { "role": "alert" }, properties: { "class": "variantClass()" } }, queries: [{ propertyName: "title", first: true, predicate: GaAlertTitleComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant"] }] });
|
|
250
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: GaAlertComponent, isStandalone: true, selector: "ga-alert", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, explicitIcon: { classPropertyName: "explicitIcon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, dismissible: { classPropertyName: "dismissible", publicName: "dismissible", isSignal: true, isRequired: false, transformFunction: null }, progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, progressLabel: { classPropertyName: "progressLabel", publicName: "progressLabel", isSignal: true, isRequired: false, transformFunction: null }, progressLabelledBy: { classPropertyName: "progressLabelledBy", publicName: "progressLabelledBy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dismiss: "dismiss" }, host: { attributes: { "role": "alert" }, properties: { "class": "variantClass()" } }, queries: [{ propertyName: "title", first: true, predicate: GaAlertTitleComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (hasProgress()) {\n <div\n role=\"progressbar\"\n class=\"ga-notification__progress\"\n [class.ga-notification__progress--indeterminate]=\"\n progress() === 'indeterminate'\n \"\n [id]=\"progressId\"\n [attr.aria-label]=\"progressLabel()\"\n [attr.aria-labelledby]=\"progressLabelledBy()\"\n [attr.aria-valuenow]=\"progressValue()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div\n class=\"ga-notification__progress-bar\"\n [style.width]=\"progressBarWidth()\"\n ></div>\n </div>\n}\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "component", type: GaIconButtonDirective, selector: "button[gaIconButton], a[gaIconButton]", inputs: ["gaIconButton", "gaIconButtonVariant"] }] });
|
|
227
251
|
}
|
|
228
252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaAlertComponent, decorators: [{
|
|
229
253
|
type: Component,
|
|
230
254
|
args: [{ selector: 'ga-alert', imports: [GaIconModule, GaButtonModule], host: {
|
|
231
255
|
role: 'alert',
|
|
232
256
|
'[class]': `variantClass()`,
|
|
233
|
-
}, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n" }]
|
|
257
|
+
}, template: "@if (icon()) {\n <ga-icon [icon]=\"icon()!\" class=\"ga-notification__icon\" />\n}\n<div class=\"ga-notification__content\">\n @if (title()) {\n <div class=\"ga-notification__heading\">\n <ng-content select=\"ga-alert-title\" />\n <ng-content select=\"ga-alert-title-actions\" />\n </div>\n }\n <div class=\"ga-notification__description\">\n <ng-content />\n </div>\n</div>\n\n@if (hasProgress()) {\n <div\n role=\"progressbar\"\n class=\"ga-notification__progress\"\n [class.ga-notification__progress--indeterminate]=\"\n progress() === 'indeterminate'\n \"\n [id]=\"progressId\"\n [attr.aria-label]=\"progressLabel()\"\n [attr.aria-labelledby]=\"progressLabelledBy()\"\n [attr.aria-valuenow]=\"progressValue()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <div\n class=\"ga-notification__progress-bar\"\n [style.width]=\"progressBarWidth()\"\n ></div>\n </div>\n}\n\n@if (dismissible()) {\n <button\n type=\"button\"\n [gaIconButton]=\"dismissIcon\"\n gaIconButtonVariant=\"ghost\"\n (click)=\"dismiss.emit()\"\n >\n {{ i18n.dismissLabel }}\n </button>\n}\n" }]
|
|
234
258
|
}] });
|
|
235
259
|
|
|
236
260
|
class GaAlertTitleActionsComponent {
|
|
@@ -308,9 +332,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
308
332
|
|
|
309
333
|
class GaCardComponent {
|
|
310
334
|
selectable = input(false, { transform: booleanAttribute });
|
|
335
|
+
selected = input(false, { transform: booleanAttribute });
|
|
311
336
|
disabled = input(false, { transform: booleanAttribute });
|
|
312
337
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
313
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaCardComponent, isStandalone: true, selector: "ga-card", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-card--selectable": "selectable()", "class.ga-card--disabled": "disabled()" }, classAttribute: "ga-card" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
338
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.1.5", type: GaCardComponent, isStandalone: true, selector: "ga-card", inputs: { selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.ga-card--selectable": "selectable()", "class.ga-card--selected": "selected()", "class.ga-card--disabled": "disabled()" }, classAttribute: "ga-card" }, ngImport: i0, template: `<ng-content />`, isInline: true });
|
|
314
339
|
}
|
|
315
340
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaCardComponent, decorators: [{
|
|
316
341
|
type: Component,
|
|
@@ -320,6 +345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
320
345
|
host: {
|
|
321
346
|
class: 'ga-card',
|
|
322
347
|
'[class.ga-card--selectable]': 'selectable()',
|
|
348
|
+
'[class.ga-card--selected]': 'selected()',
|
|
323
349
|
'[class.ga-card--disabled]': 'disabled()',
|
|
324
350
|
},
|
|
325
351
|
}]
|
|
@@ -1396,11 +1422,12 @@ class GaModalService {
|
|
|
1396
1422
|
skipSelf: true,
|
|
1397
1423
|
});
|
|
1398
1424
|
/** @ignore */
|
|
1399
|
-
openModalsAtThisLevel = [];
|
|
1425
|
+
openModalsAtThisLevel = signal([]);
|
|
1400
1426
|
get activeModals() {
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1427
|
+
if (this.parentModalService) {
|
|
1428
|
+
return this.parentModalService.activeModals;
|
|
1429
|
+
}
|
|
1430
|
+
return this.openModalsAtThisLevel;
|
|
1404
1431
|
}
|
|
1405
1432
|
open(component, ...args) {
|
|
1406
1433
|
let [data] = args;
|
|
@@ -1408,9 +1435,12 @@ class GaModalService {
|
|
|
1408
1435
|
return this.attachContent(component, data, overlayRef);
|
|
1409
1436
|
}
|
|
1410
1437
|
closeAll() {
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1438
|
+
this.activeModals.update((modals) => {
|
|
1439
|
+
while (modals.length > 0) {
|
|
1440
|
+
modals.pop()?.close();
|
|
1441
|
+
}
|
|
1442
|
+
return modals;
|
|
1443
|
+
});
|
|
1414
1444
|
}
|
|
1415
1445
|
/** @ignore */
|
|
1416
1446
|
attachContent(component, data, overlayRef) {
|
|
@@ -1419,13 +1449,19 @@ class GaModalService {
|
|
|
1419
1449
|
const modalPortal = new ComponentPortal(component, null, injector);
|
|
1420
1450
|
const result = overlayRef.attach(modalPortal);
|
|
1421
1451
|
modalRef.instance = result.instance;
|
|
1422
|
-
this.activeModals.
|
|
1452
|
+
this.activeModals.update((modals) => {
|
|
1453
|
+
modals.push(modalRef.instance);
|
|
1454
|
+
return modals;
|
|
1455
|
+
});
|
|
1423
1456
|
modalRef.instance
|
|
1424
1457
|
.afterClosed({ closeOnUnsubscribe: false })
|
|
1425
1458
|
.subscribe(() => {
|
|
1426
|
-
const index = this.activeModals.indexOf(modalRef.instance);
|
|
1459
|
+
const index = this.activeModals().indexOf(modalRef.instance);
|
|
1427
1460
|
if (index > -1) {
|
|
1428
|
-
this.activeModals.
|
|
1461
|
+
this.activeModals.update((modals) => {
|
|
1462
|
+
modals.splice(index, 1);
|
|
1463
|
+
return modals;
|
|
1464
|
+
});
|
|
1429
1465
|
}
|
|
1430
1466
|
});
|
|
1431
1467
|
return result.instance;
|
|
@@ -1524,13 +1560,18 @@ class GaModalComponent {
|
|
|
1524
1560
|
closeSubject = new Subject();
|
|
1525
1561
|
overlayRef = inject(OverlayRef);
|
|
1526
1562
|
destroyRef = inject(DestroyRef);
|
|
1563
|
+
_modalService = inject(GaModalService);
|
|
1527
1564
|
router = inject(Router, { optional: true });
|
|
1528
1565
|
globalOptions = inject(GaModalOptions, { optional: true });
|
|
1529
1566
|
options = this.createOptions();
|
|
1567
|
+
trapfocus = inject(CdkTrapFocus);
|
|
1530
1568
|
data = inject(GA_MODAL_DATA);
|
|
1531
1569
|
labelledBy = signal(null);
|
|
1532
1570
|
describedBy = signal(null);
|
|
1571
|
+
modalStackIndex = computed(() => this._modalService.activeModals().length - 1);
|
|
1533
1572
|
constructor() {
|
|
1573
|
+
this.trapfocus.enabled = true;
|
|
1574
|
+
this.trapfocus.autoCapture = true;
|
|
1534
1575
|
// Using next render to delay the initialization, so that there is more time
|
|
1535
1576
|
// to set the modal options
|
|
1536
1577
|
afterNextRender({
|
|
@@ -1605,7 +1646,7 @@ class GaModalComponent {
|
|
|
1605
1646
|
};
|
|
1606
1647
|
}
|
|
1607
1648
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1608
|
-
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'" }, classAttribute: "ga-modal" }, ngImport: i0, template: '', isInline: true });
|
|
1649
|
+
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 });
|
|
1609
1650
|
}
|
|
1610
1651
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaModalComponent, decorators: [{
|
|
1611
1652
|
type: Component,
|
|
@@ -1623,7 +1664,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
1623
1664
|
'[class.ga-modal--danger]': "options.type === 'danger'",
|
|
1624
1665
|
'[class.ga-modal--warning]': "options.type === 'warning'",
|
|
1625
1666
|
'[class.ga-modal--success]': "options.type === 'success'",
|
|
1667
|
+
'[style.margin-top]': `'calc(var(--ga-base-scaling-factor, 1)*4rem*'+modalStackIndex()+')'`,
|
|
1626
1668
|
},
|
|
1669
|
+
hostDirectives: [CdkTrapFocus],
|
|
1627
1670
|
}]
|
|
1628
1671
|
}], ctorParameters: () => [] });
|
|
1629
1672
|
|
|
@@ -2107,7 +2150,7 @@ class GaOptionComponent {
|
|
|
2107
2150
|
}
|
|
2108
2151
|
}
|
|
2109
2152
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2110
|
-
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$
|
|
2153
|
+
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"] }] });
|
|
2111
2154
|
}
|
|
2112
2155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaOptionComponent, decorators: [{
|
|
2113
2156
|
type: Component,
|
|
@@ -2438,7 +2481,7 @@ class GaSelectComponent {
|
|
|
2438
2481
|
provide: GA_FORM_CONTROL,
|
|
2439
2482
|
useExisting: forwardRef(() => GaSelectComponent),
|
|
2440
2483
|
},
|
|
2441
|
-
], 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$
|
|
2484
|
+
], 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" }] });
|
|
2442
2485
|
}
|
|
2443
2486
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectComponent, decorators: [{
|
|
2444
2487
|
type: Component,
|
|
@@ -2515,7 +2558,7 @@ class GaSpinnerComponent {
|
|
|
2515
2558
|
circumference = computed(() => 2 * Math.PI * this.radius());
|
|
2516
2559
|
arcCircumference = computed(() => this.circumference() * 0.25);
|
|
2517
2560
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2518
|
-
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: `
|
|
2561
|
+
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: `
|
|
2519
2562
|
<svg
|
|
2520
2563
|
[attr.width]="size()"
|
|
2521
2564
|
[attr.height]="size()"
|
|
@@ -2575,6 +2618,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
2575
2618
|
</svg>
|
|
2576
2619
|
`, encapsulation: ViewEncapsulation.None, host: {
|
|
2577
2620
|
class: 'ga-spinner',
|
|
2621
|
+
role: 'progressbar',
|
|
2622
|
+
'[attr.aria-valuemin]': '0',
|
|
2623
|
+
'[attr.aria-valuemax]': '100',
|
|
2624
|
+
'[attr.mode]': "'indeterminate'",
|
|
2625
|
+
tabindex: '-1',
|
|
2578
2626
|
}, 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"] }]
|
|
2579
2627
|
}] });
|
|
2580
2628
|
|
|
@@ -2610,7 +2658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
|
|
|
2610
2658
|
class GaSelectDropdownComponent {
|
|
2611
2659
|
loading = input(false, { transform: booleanAttribute });
|
|
2612
2660
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2613
|
-
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$
|
|
2661
|
+
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" }] });
|
|
2614
2662
|
}
|
|
2615
2663
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: GaSelectDropdownComponent, decorators: [{
|
|
2616
2664
|
type: Component,
|