@vsn-ux/ngx-gaia 0.9.4 → 0.9.6
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/DOCS.md +44 -0
- package/fesm2022/vsn-ux-ngx-gaia.mjs +131 -56
- package/fesm2022/vsn-ux-ngx-gaia.mjs.map +1 -1
- package/index.d.ts +59 -18
- package/package.json +1 -1
package/DOCS.md
CHANGED
|
@@ -328,6 +328,10 @@ Directive for connecting form controls to form field labels.
|
|
|
328
328
|
|
|
329
329
|
- `aria-labelledby: string | null` - Override aria-labelledby attribute
|
|
330
330
|
|
|
331
|
+
### Providers:
|
|
332
|
+
|
|
333
|
+
- `provideGaFormErrors(config: GaFormErrorsConfig)` - Configure global form error messages that display when no specific gaError directive template is provided
|
|
334
|
+
|
|
331
335
|
### Examples:
|
|
332
336
|
|
|
333
337
|
Complete form field
|
|
@@ -362,6 +366,46 @@ Form control with custom labelling
|
|
|
362
366
|
<input gaInput gaLabelledByFormField [(ngModel)]="value" />
|
|
363
367
|
```
|
|
364
368
|
|
|
369
|
+
Global error messages configuration
|
|
370
|
+
|
|
371
|
+
```typescript
|
|
372
|
+
// Static configuration
|
|
373
|
+
provideGaFormErrors({
|
|
374
|
+
required: 'This field is required',
|
|
375
|
+
email: 'Please enter a valid email address',
|
|
376
|
+
minlength: 'Input is too short',
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
// Dynamic configuration with error data access
|
|
380
|
+
provideGaFormErrors({
|
|
381
|
+
required: 'This field is required',
|
|
382
|
+
minlength: (error) => `Minimum ${error.requiredLength} characters required`,
|
|
383
|
+
pattern: (error) =>
|
|
384
|
+
`Input format is invalid. Expected pattern: ${error.requiredPattern}`,
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
// Factory function with injection context access
|
|
388
|
+
provideGaFormErrors(() => {
|
|
389
|
+
const translateService = inject(MyTranslateService);
|
|
390
|
+
return {
|
|
391
|
+
required: translateService.get('errors.required'),
|
|
392
|
+
email: translateService.get('errors.email'),
|
|
393
|
+
};
|
|
394
|
+
});
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
Global error override behavior
|
|
398
|
+
|
|
399
|
+
```html
|
|
400
|
+
<ga-form-field>
|
|
401
|
+
<ga-label>Password</ga-label>
|
|
402
|
+
<input gaFormControl gaInput [(ngModel)]="password" required minlength="8" />
|
|
403
|
+
<!-- This custom template overrides the global 'required' error -->
|
|
404
|
+
<ng-template gaError="required">Password is required</ng-template>
|
|
405
|
+
<!-- The 'minlength' error will use the global message if configured -->
|
|
406
|
+
</ga-form-field>
|
|
407
|
+
```
|
|
408
|
+
|
|
365
409
|
## Icon
|
|
366
410
|
|
|
367
411
|
Icon component for displaying Lucide icons.
|
|
@@ -608,7 +608,7 @@ function injectNgControlState({ implicitChildNgControl, explicitNgControl, expli
|
|
|
608
608
|
}
|
|
609
609
|
const ngControl = explicitNgControl ??
|
|
610
610
|
implicitChildNgControl?.() ??
|
|
611
|
-
injector.get(NgControl, null, {
|
|
611
|
+
injector.get(NgControl, null, { optional: true });
|
|
612
612
|
if (ngControl?.control) {
|
|
613
613
|
const updateStatuses = () => {
|
|
614
614
|
ngControlErrors.set(ngControl.errors);
|
|
@@ -1254,6 +1254,7 @@ class GaFormFieldConnector {
|
|
|
1254
1254
|
controlDisabled = signal(false);
|
|
1255
1255
|
controlId = signal(null);
|
|
1256
1256
|
labelId = signal(null);
|
|
1257
|
+
control = signal(null);
|
|
1257
1258
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldConnector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1258
1259
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldConnector });
|
|
1259
1260
|
}
|
|
@@ -2039,49 +2040,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
2039
2040
|
}]
|
|
2040
2041
|
}] });
|
|
2041
2042
|
|
|
2042
|
-
const
|
|
2043
|
-
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2043
|
+
const GA_FORM_ERRORS = new InjectionToken('GA_FORM_ERRORS', { providedIn: 'root', factory: () => ({}) });
|
|
2044
|
+
/**
|
|
2045
|
+
* Provides global form error messages that can be used across the application.
|
|
2046
|
+
* These errors will be displayed when a form control has validation errors
|
|
2047
|
+
* but no specific gaError directive template is provided.
|
|
2048
|
+
*
|
|
2049
|
+
* @param config - Either a static record of error messages or a factory function
|
|
2050
|
+
* @returns EnvironmentProviders for configuring global form errors
|
|
2051
|
+
*
|
|
2052
|
+
* @example
|
|
2053
|
+
* ```ts
|
|
2054
|
+
* // Static configuration
|
|
2055
|
+
* provideGaFormErrors({
|
|
2056
|
+
* required: 'This field is required',
|
|
2057
|
+
* email: 'Please enter a valid email address',
|
|
2058
|
+
* minlength: 'Input is too short'
|
|
2059
|
+
* })
|
|
2060
|
+
*
|
|
2061
|
+
* // Dynamic configuration with functions that access error data
|
|
2062
|
+
* provideGaFormErrors({
|
|
2063
|
+
* required: 'This field is required',
|
|
2064
|
+
* minlength: (error) => `Minimum ${error.requiredLength} characters required`,
|
|
2065
|
+
* pattern: (error) => `Input format is invalid. Expected pattern: ${error.requiredPattern}`
|
|
2066
|
+
* })
|
|
2067
|
+
*
|
|
2068
|
+
* // Factory function for lazy evaluation
|
|
2069
|
+
* provideGaFormErrors(() => ({
|
|
2070
|
+
* required: translateService.get('errors.required'),
|
|
2071
|
+
* email: translateService.get('errors.email')
|
|
2072
|
+
* }))
|
|
2073
|
+
* ```
|
|
2074
|
+
*/
|
|
2075
|
+
function provideGaFormErrors(config) {
|
|
2076
|
+
return makeEnvironmentProviders([
|
|
2077
|
+
typeof config === 'function'
|
|
2078
|
+
? { provide: GA_FORM_ERRORS, useFactory: config }
|
|
2079
|
+
: { provide: GA_FORM_ERRORS, useValue: config },
|
|
2080
|
+
]);
|
|
2069
2081
|
}
|
|
2070
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlDirective, decorators: [{
|
|
2071
|
-
type: Directive,
|
|
2072
|
-
args: [{
|
|
2073
|
-
exportAs: 'gaFormControl',
|
|
2074
|
-
selector: '[gaFormControl]',
|
|
2075
|
-
host: {
|
|
2076
|
-
'[attr.aria-invalid]': 'inError() ? "true" : null',
|
|
2077
|
-
'[attr.aria-errormessage]': 'ariaErrorMessageId()',
|
|
2078
|
-
},
|
|
2079
|
-
}]
|
|
2080
|
-
}] });
|
|
2081
2082
|
|
|
2082
2083
|
class GaFieldCalloutComponent {
|
|
2083
2084
|
icons = { OctagonAlert };
|
|
2084
2085
|
formField = inject(GaFormFieldComponent);
|
|
2086
|
+
globalErrors = inject(GA_FORM_ERRORS);
|
|
2085
2087
|
id = this.formField.uniqueId + '-callout';
|
|
2086
2088
|
shouldShowError = computed(() => {
|
|
2087
2089
|
const formControl = this.formField.formControl();
|
|
@@ -2099,20 +2101,40 @@ class GaFieldCalloutComponent {
|
|
|
2099
2101
|
.fieldErrors()
|
|
2100
2102
|
.filter((err) => err.key());
|
|
2101
2103
|
const controlErrorKeys = Object.keys(formControl.errors());
|
|
2102
|
-
|
|
2104
|
+
const errors = [];
|
|
2105
|
+
// First, add errors that have matching gaError directives
|
|
2106
|
+
const registeredErrorKeys = new Set(registeredErrors.map((err) => err.key()));
|
|
2107
|
+
registeredErrors
|
|
2103
2108
|
.filter((err) => controlErrorKeys.includes(err.key()))
|
|
2104
|
-
.
|
|
2109
|
+
.forEach((err) => {
|
|
2105
2110
|
const errorKey = err.key();
|
|
2106
|
-
|
|
2111
|
+
errors.push({
|
|
2107
2112
|
key: errorKey,
|
|
2108
2113
|
templateRef: err.templateRef,
|
|
2109
2114
|
error: formControl.errors()[errorKey],
|
|
2110
|
-
};
|
|
2115
|
+
});
|
|
2111
2116
|
});
|
|
2117
|
+
// Then, add global errors for keys that don't have gaError directives
|
|
2118
|
+
controlErrorKeys
|
|
2119
|
+
.filter((key) => !registeredErrorKeys.has(key))
|
|
2120
|
+
.forEach((key) => {
|
|
2121
|
+
const errorMessage = this.globalErrors[key];
|
|
2122
|
+
if (errorMessage) {
|
|
2123
|
+
const message = typeof errorMessage === 'function'
|
|
2124
|
+
? errorMessage(formControl.errors()[key])
|
|
2125
|
+
: errorMessage;
|
|
2126
|
+
errors.push({
|
|
2127
|
+
key,
|
|
2128
|
+
error: formControl.errors()[key],
|
|
2129
|
+
message,
|
|
2130
|
+
});
|
|
2131
|
+
}
|
|
2132
|
+
});
|
|
2133
|
+
return errors;
|
|
2112
2134
|
});
|
|
2113
2135
|
hasCallout = computed(() => !!this.formField.fieldInfo() || this.shouldShowError());
|
|
2114
2136
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldCalloutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2115
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaFieldCalloutComponent, isStandalone: true, selector: "ga-field-callout", host: { properties: { "attr.id": "id", "style.display": "hasCallout() ? null : \"none\"" }, classAttribute: "ga-form-field__info" }, ngImport: i0, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span\n
|
|
2137
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaFieldCalloutComponent, isStandalone: true, selector: "ga-field-callout", host: { properties: { "attr.id": "id", "style.display": "hasCallout() ? null : \"none\"" }, classAttribute: "ga-form-field__info" }, ngImport: i0, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span>\n @if (error.templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"error.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: error.error }\"\n />\n } @else {\n {{ error.message }}\n }\n @if (!last) {\n \n }\n </span>\n }\n </div>\n} @else if (formField.fieldInfo()) {\n <ng-container [ngTemplateOutlet]=\"formField.fieldInfo()!.templateRef()\" />\n}\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2116
2138
|
}
|
|
2117
2139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFieldCalloutComponent, decorators: [{
|
|
2118
2140
|
type: Component,
|
|
@@ -2120,7 +2142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
2120
2142
|
class: 'ga-form-field__info',
|
|
2121
2143
|
'[attr.id]': 'id',
|
|
2122
2144
|
'[style.display]': 'hasCallout() ? null : "none"',
|
|
2123
|
-
}, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span\n
|
|
2145
|
+
}, template: "@if (shouldShowError()) {\n <ga-icon\n [icon]=\"icons.OctagonAlert\"\n class=\"ga-icon\"\n style=\"color: var(--ga-color-icon-error)\"\n size=\"16\"\n />\n <div>\n @for (error of overlappingErrors(); track error.key; let last = $last) {\n <span>\n @if (error.templateRef) {\n <ng-container\n [ngTemplateOutlet]=\"error.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: error.error }\"\n />\n } @else {\n {{ error.message }}\n }\n @if (!last) {\n \n }\n </span>\n }\n </div>\n} @else if (formField.fieldInfo()) {\n <ng-container [ngTemplateOutlet]=\"formField.fieldInfo()!.templateRef()\" />\n}\n" }]
|
|
2124
2146
|
}] });
|
|
2125
2147
|
|
|
2126
2148
|
class GaFieldInfoComponent {
|
|
@@ -2153,6 +2175,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
2153
2175
|
}]
|
|
2154
2176
|
}] });
|
|
2155
2177
|
|
|
2178
|
+
const GA_FORM_FIELD_ID = new InjectionToken('ga-form-field-id');
|
|
2179
|
+
|
|
2156
2180
|
let nextUniqueId$6 = 0;
|
|
2157
2181
|
class GaFormFieldComponent {
|
|
2158
2182
|
uniqueId = inject(GA_FORM_FIELD_ID);
|
|
@@ -2164,9 +2188,7 @@ class GaFormFieldComponent {
|
|
|
2164
2188
|
disabled = computed(() => {
|
|
2165
2189
|
return this.disabledInput() ?? this.formFieldConnector.controlDisabled();
|
|
2166
2190
|
});
|
|
2167
|
-
formControl =
|
|
2168
|
-
descendants: true,
|
|
2169
|
-
});
|
|
2191
|
+
formControl = this.formFieldConnector.control.asReadonly();
|
|
2170
2192
|
fieldInfo = contentChild(GaFieldInfoComponent);
|
|
2171
2193
|
fieldErrors = contentChildren(GaFieldErrorDirective);
|
|
2172
2194
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -2176,7 +2198,7 @@ class GaFormFieldComponent {
|
|
|
2176
2198
|
useFactory: () => `ga-form-field-${++nextUniqueId$6}`,
|
|
2177
2199
|
},
|
|
2178
2200
|
GaFormFieldConnector,
|
|
2179
|
-
], queries: [{ propertyName: "
|
|
2201
|
+
], queries: [{ propertyName: "fieldInfo", first: true, predicate: GaFieldInfoComponent, descendants: true, isSignal: true }, { propertyName: "fieldErrors", predicate: GaFieldErrorDirective, isSignal: true }], exportAs: ["gaFormField"], ngImport: i0, template: "<ng-content select=\"ga-label\" />\n<ng-content />\n<ga-field-callout />\n", dependencies: [{ kind: "component", type: GaFieldCalloutComponent, selector: "ga-field-callout" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2180
2202
|
}
|
|
2181
2203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormFieldComponent, decorators: [{
|
|
2182
2204
|
type: Component,
|
|
@@ -2638,6 +2660,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
2638
2660
|
}, template: "<!-- eslint-disable-next-line @angular-eslint/template/click-events-have-key-events -->\n<label\n [attr.id]=\"id()\"\n [attr.for]=\"controlId()\"\n class=\"ga-form-field__label\"\n [class.ga-form-field__label--defined]=\"!!definition()\"\n [class.ga-form-field__label--disabled]=\"formField.disabled()\"\n (click)=\"focusControl()\"\n [attr.tabindex]=\"definition() ? 0 : -1\"\n>\n <span\n class=\"ga-form-field__label-text\"\n [gaTooltip]=\"definition()\"\n gaTooltipPlacement=\"top-start\"\n ><ng-content\n /></span>\n @if (state()) {\n <span class=\"ga-form-field__label-state\">{{ state() }}</span>\n }\n</label>\n" }]
|
|
2639
2661
|
}], ctorParameters: () => [] });
|
|
2640
2662
|
|
|
2663
|
+
class GaFormControlDirective {
|
|
2664
|
+
formFieldId = inject(GA_FORM_FIELD_ID, { optional: true });
|
|
2665
|
+
formFieldConnector = inject(GaFormFieldConnector, {
|
|
2666
|
+
optional: true,
|
|
2667
|
+
});
|
|
2668
|
+
ngControlInput = input(undefined, {
|
|
2669
|
+
alias: 'gaFormControl',
|
|
2670
|
+
});
|
|
2671
|
+
explicitNgControl = computed(() => {
|
|
2672
|
+
const ngControl = this.ngControlInput();
|
|
2673
|
+
if (ngControl instanceof NgControl) {
|
|
2674
|
+
return ngControl;
|
|
2675
|
+
}
|
|
2676
|
+
return null;
|
|
2677
|
+
});
|
|
2678
|
+
ngControlState = injectNgControlState({
|
|
2679
|
+
explicitNgControl: this.explicitNgControl,
|
|
2680
|
+
});
|
|
2681
|
+
inError = this.ngControlState.inError;
|
|
2682
|
+
errors = this.ngControlState.errors;
|
|
2683
|
+
ariaErrorMessageId = computed(() => {
|
|
2684
|
+
if (!this.formFieldId || !this.inError()) {
|
|
2685
|
+
return null;
|
|
2686
|
+
}
|
|
2687
|
+
return `${this.formFieldId}-callout`;
|
|
2688
|
+
});
|
|
2689
|
+
ngOnInit() {
|
|
2690
|
+
this.formFieldConnector?.control.set(this);
|
|
2691
|
+
}
|
|
2692
|
+
ngOnDestroy() {
|
|
2693
|
+
this.formFieldConnector?.control.set(null);
|
|
2694
|
+
}
|
|
2695
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2696
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.4", type: GaFormControlDirective, isStandalone: true, selector: "[gaFormControl]", inputs: { ngControlInput: { classPropertyName: "ngControlInput", publicName: "gaFormControl", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-invalid": "inError() ? \"true\" : null", "attr.aria-errormessage": "ariaErrorMessageId()" } }, exportAs: ["gaFormControl"], ngImport: i0 });
|
|
2697
|
+
}
|
|
2698
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaFormControlDirective, decorators: [{
|
|
2699
|
+
type: Directive,
|
|
2700
|
+
args: [{
|
|
2701
|
+
exportAs: 'gaFormControl',
|
|
2702
|
+
selector: '[gaFormControl]',
|
|
2703
|
+
host: {
|
|
2704
|
+
'[attr.aria-invalid]': 'inError() ? "true" : null',
|
|
2705
|
+
'[attr.aria-errormessage]': 'ariaErrorMessageId()',
|
|
2706
|
+
},
|
|
2707
|
+
}]
|
|
2708
|
+
}] });
|
|
2709
|
+
|
|
2641
2710
|
class GaLabelledByFormFieldDirective {
|
|
2642
2711
|
formFieldConnector = inject(GaFormFieldConnector, {
|
|
2643
2712
|
optional: true,
|
|
@@ -3954,6 +4023,9 @@ class GaSelectComponent {
|
|
|
3954
4023
|
if (event.code === 'Escape') {
|
|
3955
4024
|
this.shouldRecoverFocus = true;
|
|
3956
4025
|
}
|
|
4026
|
+
else if (event.code === 'Tab') {
|
|
4027
|
+
this.close();
|
|
4028
|
+
}
|
|
3957
4029
|
}
|
|
3958
4030
|
clearValue() {
|
|
3959
4031
|
if (!this.clearable() || !this.searchable()) {
|
|
@@ -3988,6 +4060,9 @@ class GaSelectComponent {
|
|
|
3988
4060
|
event.preventDefault();
|
|
3989
4061
|
event.stopPropagation();
|
|
3990
4062
|
break;
|
|
4063
|
+
case 'Tab':
|
|
4064
|
+
this.close();
|
|
4065
|
+
break;
|
|
3991
4066
|
case 'Backspace':
|
|
3992
4067
|
if (this.textValue() === '') {
|
|
3993
4068
|
this.clearValue();
|
|
@@ -4050,13 +4125,13 @@ class GaSelectComponent {
|
|
|
4050
4125
|
}
|
|
4051
4126
|
}
|
|
4052
4127
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4053
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange", opened: "opened", closed: "closed" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "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: [
|
|
4128
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.4", type: GaSelectComponent, isStandalone: true, selector: "ga-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalidInput: { classPropertyName: "invalidInput", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, compareWith: { classPropertyName: "compareWith", publicName: "compareWith", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, clearableLabel: { classPropertyName: "clearableLabel", publicName: "clearableLabel", isSignal: true, isRequired: false, transformFunction: null }, canSelectNullable: { classPropertyName: "canSelectNullable", publicName: "canSelectNullable", isSignal: true, isRequired: false, transformFunction: null }, textValue: { classPropertyName: "textValue", publicName: "textValue", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, idInput: { classPropertyName: "idInput", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", textValue: "textValueChange", opened: "opened", closed: "closed" }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "click": "toggle()", "keydown.arrowdown": "open(); $event.preventDefault()", "keydown.space": "open(); $event.preventDefault()", "keydown.enter": "open(); $event.preventDefault()", "keydown.backspace": "clearValue(); $event.preventDefault()" }, properties: { "attr.id": "id()", "class.ga-select--multi": "multiple()", "class.ga-select--expanded": "isOpen()", "class.ga-select--disabled": "disabled()", "class.ga-select--invalid": "invalid()", "class.ga-select--empty": "!hasValue()", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "isOpen() ? cdkListbox().id : null", "attr.aria-invalid": "invalid()", "attr.aria-disabled": "disabled()", "attr.aria-owns": "isOpen() && searchable() ? cdkListbox().id : null", "attr.aria-activedescendant": "isOpen() && !searchable() ? activeDescendantId() : null", "attr.tabindex": "disabled() ? -1 : 0" }, classAttribute: "ga-select" }, providers: [
|
|
4054
4129
|
{
|
|
4055
4130
|
provide: NG_VALUE_ACCESSOR,
|
|
4056
4131
|
useExisting: forwardRef(() => GaSelectComponent),
|
|
4057
4132
|
multi: true,
|
|
4058
4133
|
},
|
|
4059
|
-
], 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 }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-
|
|
4134
|
+
], 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 }, { propertyName: "connectedOverlay", first: true, predicate: CdkConnectedOverlay, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1$1.CdkOverlayOrigin }, { directive: GaLabelledByFormFieldDirective, inputs: ["aria-labelledby", "aria-labelledby"] }], ngImport: i0, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox().id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: GaIconModule }, { kind: "component", type: GaIconComponent, selector: "ga-icon", inputs: ["icon", "size", "color", "strokeWidth"] }, { kind: "ngmodule", type: GaButtonModule }, { kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: GaSelectDefaultValueComponent, selector: "ga-select-default-value" }] });
|
|
4060
4135
|
}
|
|
4061
4136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImport: i0, type: GaSelectComponent, decorators: [{
|
|
4062
4137
|
type: Component,
|
|
@@ -4088,18 +4163,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
4088
4163
|
'[class.ga-select--empty]': '!hasValue()',
|
|
4089
4164
|
'aria-haspopup': 'listbox',
|
|
4090
4165
|
'[attr.aria-expanded]': 'isOpen()',
|
|
4091
|
-
'[attr.aria-controls]': 'cdkListbox().id',
|
|
4166
|
+
'[attr.aria-controls]': 'isOpen() ? cdkListbox().id : null',
|
|
4092
4167
|
'[attr.aria-invalid]': 'invalid()',
|
|
4093
4168
|
'[attr.aria-disabled]': 'disabled()',
|
|
4094
|
-
'[attr.aria-owns]': 'searchable() ? cdkListbox().id : null',
|
|
4095
|
-
'[attr.aria-activedescendant]': '!searchable() ? activeDescendantId() : null',
|
|
4169
|
+
'[attr.aria-owns]': 'isOpen() && searchable() ? cdkListbox().id : null',
|
|
4170
|
+
'[attr.aria-activedescendant]': 'isOpen() && !searchable() ? activeDescendantId() : null',
|
|
4096
4171
|
'[attr.tabindex]': 'disabled() ? -1 : 0',
|
|
4097
4172
|
'(click)': 'toggle()',
|
|
4098
4173
|
'(keydown.arrowdown)': 'open(); $event.preventDefault()',
|
|
4099
4174
|
'(keydown.space)': 'open(); $event.preventDefault()',
|
|
4100
4175
|
'(keydown.enter)': 'open(); $event.preventDefault()',
|
|
4101
4176
|
'(keydown.backspace)': 'clearValue(); $event.preventDefault()',
|
|
4102
|
-
}, 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-
|
|
4177
|
+
}, template: "@if (leftIcon()) {\n <ga-icon [icon]=\"leftIcon()!\" />\n}\n\n<div class=\"ga-select__main-area\">\n @if (hasValue() && (!textValue() || multiple())) {\n @if (customSelectValue()) {\n <div class=\"ga-select__value\">\n <ng-content select=\"ga-select-value\" />\n </div>\n } @else {\n <ga-select-default-value />\n }\n } @else if (!searchable()) {\n <div class=\"ga-select__placeholder\">\n {{ placeholder() }}\n </div>\n }\n\n @if (searchable()) {\n <input\n #inputSearch\n type=\"text\"\n class=\"ga-select__input\"\n aria-autocomplete=\"list\"\n [value]=\"textValue()\"\n (input)=\"open(); textValue.set(inputSearch.value)\"\n (click)=\"open(); $event.stopPropagation()\"\n [attr.aria-controls]=\"isOpen() ? cdkListbox().id : null\"\n [attr.aria-activedescendant]=\"isOpen() ? activeDescendantId() : null\"\n [placeholder]=\"hasValue() ? '' : placeholder()\"\n (keydown)=\"onInputKeyDown($event)\"\n tabindex=\"-1\"\n [disabled]=\"disabled()\"\n />\n }\n</div>\n\n<div class=\"ga-select__suffix\">\n @if (clearable() && hasValue()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n (click)=\"clearValue(); $event.stopPropagation()\"\n [attr.aria-label]=\"clearableLabel() ?? i18n.clearLabel\"\n style=\"font-size: 0\"\n >\n <ga-icon [icon]=\"icons.CircleX\" size=\"16\" />\n </button>\n }\n\n <ga-icon [icon]=\"menuStatusIcon()\" class=\"ga-select__action-icon\" />\n</div>\n\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayScrollStrategy]=\"repositionScrollStrategy\"\n (overlayOutsideClick)=\"close()\"\n (attach)=\"onOverlayAttach()\"\n (detach)=\"onOverlayDetach()\"\n (overlayKeydown)=\"onOverlayKeydown($event)\"\n>\n <ng-content select=\"ga-select-dropdown\" />\n</ng-template>\n" }]
|
|
4103
4178
|
}], ctorParameters: () => [] });
|
|
4104
4179
|
|
|
4105
4180
|
class GaOptgroupComponent {
|
|
@@ -4511,5 +4586,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.4", ngImpor
|
|
|
4511
4586
|
* Generated bundle index. Do not edit.
|
|
4512
4587
|
*/
|
|
4513
4588
|
|
|
4514
|
-
export { CHECKBOX_CONTROL_VALUE_ACCESSOR, DEFAULT_MODAL_OPTIONS, GA_ALERT_I18N_FACTORY, GA_BASE_FONT_SIZE, GA_BUTTON_I18N_FACTORY, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_DATEPICKER_I18N_FACTORY, GA_DATEPICKER_PARSER_FORMATTER_FACTORY, GA_DATEPICKER_VALUE_ADAPTER_FACTORY, GA_DATE_PARSER_FORMATTER_CONFIG, GA_DEFAULT_DATEPICKER_FORMATS, GA_FORM_CONTROL_ADAPTER, GA_ICON_DEFAULT_SIZE, GA_MODAL_DATA, GA_MODAL_I18N_FACTORY, GA_SELECT_I18N_FACTORY, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonI18n, GaButtonI18nDefault, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaDatepickerComponent, GaDatepickerI18n, GaDatepickerI18nDefault, GaDatepickerInputDirective, GaDatepickerModule, GaDatepickerNativeUtcIsoValueAdapter, GaDatepickerNativeUtcValueAdapter, GaDatepickerParserFormatter, GaDatepickerParserFormatterDefault, GaDatepickerStructValueAdapter, GaDatepickerToggleComponent, GaDatepickerValueAdapter, GaFieldErrorDirective, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormControlErrorsDirective, GaFormFieldComponent, GaFormFieldConnector, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaLabelledByFormFieldDirective, GaLinkDirective, GaLinkModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaModalActionsComponent, GaModalCloseDirective, GaModalComponent, GaModalContentComponent, GaModalDescriptionComponent, GaModalDescriptionDirective, GaModalHeaderComponent, GaModalI18n, GaModalI18nDefault, GaModalLabelDirective, GaModalModule, GaModalOptions, GaModalRef, GaModalService, GaModalTitleDirective, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlIconButtonComponent, GaSegmentedControlModule, GaSegmentedControlTextButtonComponent, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownSpinnerComponent, GaSelectI18n, GaSelectI18nDefault, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaSwitchComponent, GaSwitchModule, GaTextAreaDirective, GaTextAreaModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, compareStructs, extendGaDateParserFormatter, injectNgControlState, provideGaAlertI18n, provideGaBaseFontSize, provideGaButtonI18n, provideGaDatepickerI18n, provideGaDatepickerParserFormatter, provideGaDatepickerValueAdapter, provideGaModalI18n, provideGaModalOptions, provideGaSelectI18n };
|
|
4589
|
+
export { CHECKBOX_CONTROL_VALUE_ACCESSOR, DEFAULT_MODAL_OPTIONS, GA_ALERT_I18N_FACTORY, GA_BASE_FONT_SIZE, GA_BUTTON_I18N_FACTORY, GA_CHECKBOX_REQUIRED_VALIDATOR, GA_DATEPICKER_I18N_FACTORY, GA_DATEPICKER_PARSER_FORMATTER_FACTORY, GA_DATEPICKER_VALUE_ADAPTER_FACTORY, GA_DATE_PARSER_FORMATTER_CONFIG, GA_DEFAULT_DATEPICKER_FORMATS, GA_FORM_CONTROL_ADAPTER, GA_FORM_ERRORS, GA_ICON_DEFAULT_SIZE, GA_MODAL_DATA, GA_MODAL_I18N_FACTORY, GA_SELECT_I18N_FACTORY, GA_SELECT_REQUIRED_VALIDATOR, GA_TOOLTIP_DEFAULT_OFFSET, GaAlertComponent, GaAlertI18n, GaAlertI18nDefault, GaAlertModule, GaAlertTitleActionsComponent, GaAlertTitleComponent, GaBadgeComponent, GaBadgeModule, GaButtonDirective, GaButtonI18n, GaButtonI18nDefault, GaButtonModule, GaCardComponent, GaCardModule, GaCheckboxComponent, GaCheckboxModule, GaCheckboxRequiredValidator, GaDatepickerComponent, GaDatepickerI18n, GaDatepickerI18nDefault, GaDatepickerInputDirective, GaDatepickerModule, GaDatepickerNativeUtcIsoValueAdapter, GaDatepickerNativeUtcValueAdapter, GaDatepickerParserFormatter, GaDatepickerParserFormatterDefault, GaDatepickerStructValueAdapter, GaDatepickerToggleComponent, GaDatepickerValueAdapter, GaFieldErrorDirective, GaFieldInfoComponent, GaFieldLabelComponent, GaFormControlDirective, GaFormControlErrorsDirective, GaFormFieldComponent, GaFormFieldConnector, GaFormFieldModule, GaIconButtonDirective, GaIconComponent, GaIconModule, GaInputComponent, GaInputDirective, GaInputModule, GaLabelledByFormFieldDirective, GaLinkDirective, GaLinkModule, GaMenuComponent, GaMenuItemComponent, GaMenuModule, GaMenuSeparatorComponent, GaMenuTitleComponent, GaMenuTriggerDirective, GaMenuTriggerIconComponent, GaModalActionsComponent, GaModalCloseDirective, GaModalComponent, GaModalContentComponent, GaModalDescriptionComponent, GaModalDescriptionDirective, GaModalHeaderComponent, GaModalI18n, GaModalI18nDefault, GaModalLabelDirective, GaModalModule, GaModalOptions, GaModalRef, GaModalService, GaModalTitleDirective, GaOptgroupComponent, GaOptionComponent, GaRadioButtonComponent, GaRadioGroupComponent, GaRadioModule, GaSegmentedControlButtonDirective, GaSegmentedControlComponent, GaSegmentedControlIconButtonComponent, GaSegmentedControlModule, GaSegmentedControlTextButtonComponent, GaSelectComponent, GaSelectDropdownComponent, GaSelectDropdownSpinnerComponent, GaSelectI18n, GaSelectI18nDefault, GaSelectModule, GaSelectRequiredValidator, GaSelectValueComponent, GaSpinnerComponent, GaSpinnerModule, GaSwitchComponent, GaSwitchModule, GaTextAreaDirective, GaTextAreaModule, GaTooltipComponent, GaTooltipDirective, GaTooltipModule, RADIO_CONTROL_VALUE_ACCESSOR, SWITCH_CONTROL_VALUE_ACCESSOR, compareStructs, extendGaDateParserFormatter, injectNgControlState, provideGaAlertI18n, provideGaBaseFontSize, provideGaButtonI18n, provideGaDatepickerI18n, provideGaDatepickerParserFormatter, provideGaDatepickerValueAdapter, provideGaFormErrors, provideGaModalI18n, provideGaModalOptions, provideGaSelectI18n };
|
|
4515
4590
|
//# sourceMappingURL=vsn-ux-ngx-gaia.mjs.map
|