@ndwnu/design-system 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/alert/alert.component.d.ts +13 -0
- package/components/alert/alert.model.d.ts +6 -0
- package/components/alert/index.d.ts +2 -0
- package/components/breadcrumb/breadcrumb.component.d.ts +8 -0
- package/components/breadcrumb/index.d.ts +1 -0
- package/components/breadcrumb-group/breadcrumb-group.component.d.ts +7 -0
- package/components/breadcrumb-group/index.d.ts +1 -0
- package/components/dropdown/dropdown.component.d.ts +1 -1
- package/components/form-field/checkbox/checkbox.component.d.ts +1 -2
- package/components/form-field/input/input.directive.d.ts +6 -0
- package/components/form-field/input/input.model.d.ts +3 -1
- package/components/form-field/radio-button/radio-button.component.d.ts +7 -4
- package/components/form-field/radio-group/radio-group.component.d.ts +9 -1
- package/components/icon/icon.component.d.ts +9 -6
- package/components/icon/index.d.ts +0 -2
- package/components/index.d.ts +5 -2
- package/components/main-navigation/main-navigation.component.d.ts +3 -3
- package/components/main-navigation/main-navigation.model.d.ts +1 -0
- package/components/main-navigation-menu/main-navigation-menu.component.d.ts +1 -3
- package/components/router-breadcrumbs/index.d.ts +1 -0
- package/components/router-breadcrumbs/router-breadcrumbs.component.d.ts +15 -0
- package/core/styles/ndw-styles.scss +353 -103
- package/core/styles/nwb-styles.scss +315 -97
- package/esm2022/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/components/accordion/accordion.service.mjs +3 -3
- package/esm2022/components/alert/alert.component.mjs +34 -0
- package/esm2022/components/alert/alert.model.mjs +8 -0
- package/esm2022/components/alert/index.mjs +3 -0
- package/esm2022/components/badge/badge.component.mjs +4 -4
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +15 -0
- package/esm2022/components/breadcrumb/index.mjs +2 -0
- package/esm2022/components/breadcrumb-group/breadcrumb-group.component.mjs +21 -0
- package/esm2022/components/breadcrumb-group/index.mjs +2 -0
- package/esm2022/components/button/button.directive.mjs +3 -3
- package/esm2022/components/card/card.component.mjs +3 -3
- package/esm2022/components/collapsible/collapsible.component.mjs +5 -5
- package/esm2022/components/dropdown/dropdown-trigger.directive.mjs +3 -3
- package/esm2022/components/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/components/form-field/checkbox/checkbox.component.mjs +6 -13
- package/esm2022/components/form-field/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2022/components/form-field/error/error.component.mjs +5 -5
- package/esm2022/components/form-field/form-field.component.mjs +8 -8
- package/esm2022/components/form-field/info/info.component.mjs +4 -4
- package/esm2022/components/form-field/input/input.directive.mjs +36 -5
- package/esm2022/components/form-field/input/input.model.mjs +3 -1
- package/esm2022/components/form-field/radio-button/radio-button.component.mjs +30 -12
- package/esm2022/components/form-field/radio-group/radio-group.component.mjs +47 -7
- package/esm2022/components/icon/icon.component.mjs +33 -18
- package/esm2022/components/icon/index.mjs +1 -3
- package/esm2022/components/index.mjs +6 -3
- package/esm2022/components/main-navigation/main-navigation.component.mjs +8 -9
- package/esm2022/components/main-navigation/main-navigation.model.mjs +1 -1
- package/esm2022/components/main-navigation-menu/main-navigation-menu.component.mjs +6 -10
- package/esm2022/components/modal/modal-trigger.directive.mjs +3 -3
- package/esm2022/components/pill/pill.component.mjs +3 -3
- package/esm2022/components/router-breadcrumbs/index.mjs +2 -0
- package/esm2022/components/router-breadcrumbs/router-breadcrumbs.component.mjs +37 -0
- package/esm2022/components/tab/tab.component.mjs +4 -4
- package/esm2022/components/tab-group/tab-group.component.mjs +3 -3
- package/esm2022/components/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/components/tooltip/tooltip.directive.mjs +3 -3
- package/fesm2022/ndwnu-design-system.mjs +389 -222
- package/fesm2022/ndwnu-design-system.mjs.map +1 -1
- package/package.json +4 -7
- package/assets/icons/icons.json +0 -878
- package/components/icon/icon.model.d.ts +0 -5
- package/components/icon/icon.service.d.ts +0 -9
- package/esm2022/components/icon/icon.model.mjs +0 -2
- package/esm2022/components/icon/icon.service.mjs +0 -26
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';
|
|
2
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { NgControl, Validators } from '@angular/forms';
|
|
3
4
|
import { fromEvent } from 'rxjs';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export class InputDirective {
|
|
6
7
|
constructor() {
|
|
7
8
|
this.elementRef = inject(ElementRef);
|
|
8
9
|
this.destroyRef = inject(DestroyRef);
|
|
10
|
+
this.ngControl = inject(NgControl, { optional: true });
|
|
9
11
|
}
|
|
10
12
|
set disabled(disabled) {
|
|
11
13
|
this.element.disabled = disabled;
|
|
@@ -19,20 +21,49 @@ export class InputDirective {
|
|
|
19
21
|
get element() {
|
|
20
22
|
return this.elementRef.nativeElement;
|
|
21
23
|
}
|
|
24
|
+
get control() {
|
|
25
|
+
return this.ngControl ? this.ngControl.control : null;
|
|
26
|
+
}
|
|
22
27
|
ngOnInit() {
|
|
28
|
+
this.updateRequiredAttribute();
|
|
29
|
+
this.control?.statusChanges
|
|
30
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
31
|
+
.subscribe(() => this.updateRequiredAttribute());
|
|
23
32
|
// Add ndw-changed attribute when the input is changed and has a value
|
|
24
33
|
fromEvent(this.element, 'input')
|
|
25
34
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
26
|
-
.subscribe(() =>
|
|
35
|
+
.subscribe(() => {
|
|
36
|
+
this.setChangedAttribute();
|
|
37
|
+
this.setSelectPlaceholderAttribute();
|
|
38
|
+
});
|
|
39
|
+
this.setSelectPlaceholderAttribute();
|
|
40
|
+
}
|
|
41
|
+
setChangedAttribute() {
|
|
42
|
+
this.element.toggleAttribute('ndw-changed', !!this.element.value);
|
|
43
|
+
}
|
|
44
|
+
setSelectPlaceholderAttribute() {
|
|
45
|
+
if (this.element instanceof HTMLSelectElement) {
|
|
46
|
+
const isPlaceholderSelected = this.element.selectedIndex === 0 &&
|
|
47
|
+
this.element.options[this.element.selectedIndex].disabled;
|
|
48
|
+
this.element.toggleAttribute('ndw-placeholder', isPlaceholderSelected);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
updateRequiredAttribute() {
|
|
52
|
+
if (this.control) {
|
|
53
|
+
// Mark element as required when the control has a 'required' validator.
|
|
54
|
+
// This will show an asterisk (*)
|
|
55
|
+
const isRequired = this.control.hasValidator(Validators.required);
|
|
56
|
+
this.element.required = isRequired;
|
|
57
|
+
}
|
|
27
58
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.
|
|
59
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
60
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: InputDirective, isStandalone: true, selector: "input[ndwInput], select[ndwInput], textarea[ndwInput]", ngImport: i0 }); }
|
|
30
61
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: InputDirective, decorators: [{
|
|
32
63
|
type: Directive,
|
|
33
64
|
args: [{
|
|
34
65
|
selector: 'input[ndwInput], select[ndwInput], textarea[ndwInput]',
|
|
35
66
|
standalone: true,
|
|
36
67
|
}]
|
|
37
68
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5wdXQvaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFNakMsTUFBTSxPQUFPLGNBQWM7SUFKM0I7UUFpQm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBb0RwRTtJQWxFQyxJQUFXLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFXLEVBQUUsQ0FBQyxFQUFVO1FBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUdBLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUUvQixJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWE7YUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN6QyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQztRQUVuRCxzRUFBc0U7UUFDdEUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO2FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLDZCQUE2QjtRQUNuQyxJQUFJLElBQUksQ0FBQyxPQUFPLFlBQVksaUJBQWlCLEVBQUUsQ0FBQztZQUM5QyxNQUFNLHFCQUFxQixHQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsS0FBSyxDQUFDO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU8sdUJBQXVCO1FBQzdCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLHdFQUF3RTtZQUN4RSxpQ0FBaUM7WUFDakMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQzs4R0FsRVUsY0FBYztrR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUoxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1REFBdUQ7b0JBQ2pFLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdDb250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W25kd0lucHV0XSwgc2VsZWN0W25kd0lucHV0XSwgdGV4dGFyZWFbbmR3SW5wdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5lbGVtZW50LmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGVycm9yKGVycm9yOiBib29sZWFuKSB7XG4gICAgdGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZXJyb3InLCBlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlkKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVsZW1lbnQuaWQgPSBpZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbCA9IGluamVjdChOZ0NvbnRyb2wsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgcHVibGljIGdldCBlbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MU2VsZWN0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCBhc1xuICAgICAgfCBIVE1MSW5wdXRFbGVtZW50XG4gICAgICB8IEhUTUxTZWxlY3RFbGVtZW50XG4gICAgICB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMubmdDb250cm9sID8gdGhpcy5uZ0NvbnRyb2wuY29udHJvbCA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVSZXF1aXJlZEF0dHJpYnV0ZSgpO1xuXG4gICAgdGhpcy5jb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy51cGRhdGVSZXF1aXJlZEF0dHJpYnV0ZSgpKTtcblxuICAgIC8vIEFkZCBuZHctY2hhbmdlZCBhdHRyaWJ1dGUgd2hlbiB0aGUgaW5wdXQgaXMgY2hhbmdlZCBhbmQgaGFzIGEgdmFsdWVcbiAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50LCAnaW5wdXQnKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRDaGFuZ2VkQXR0cmlidXRlKCk7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0UGxhY2Vob2xkZXJBdHRyaWJ1dGUoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zZXRTZWxlY3RQbGFjZWhvbGRlckF0dHJpYnV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDaGFuZ2VkQXR0cmlidXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ25kdy1jaGFuZ2VkJywgISF0aGlzLmVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZWxlY3RQbGFjZWhvbGRlckF0dHJpYnV0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbGVtZW50IGluc3RhbmNlb2YgSFRNTFNlbGVjdEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGlzUGxhY2Vob2xkZXJTZWxlY3RlZCA9XG4gICAgICAgIHRoaXMuZWxlbWVudC5zZWxlY3RlZEluZGV4ID09PSAwICYmXG4gICAgICAgIHRoaXMuZWxlbWVudC5vcHRpb25zW3RoaXMuZWxlbWVudC5zZWxlY3RlZEluZGV4XS5kaXNhYmxlZDtcbiAgICAgIHRoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ25kdy1wbGFjZWhvbGRlcicsIGlzUGxhY2Vob2xkZXJTZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVSZXF1aXJlZEF0dHJpYnV0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XG4gICAgICAvLyBNYXJrIGVsZW1lbnQgYXMgcmVxdWlyZWQgd2hlbiB0aGUgY29udHJvbCBoYXMgYSAncmVxdWlyZWQnIHZhbGlkYXRvci5cbiAgICAgIC8vIFRoaXMgd2lsbCBzaG93IGFuIGFzdGVyaXNrICgqKVxuICAgICAgY29uc3QgaXNSZXF1aXJlZCA9IHRoaXMuY29udHJvbC5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB0aGlzLmVsZW1lbnQucmVxdWlyZWQgPSBpc1JlcXVpcmVkO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -2,6 +2,7 @@ export var InputType;
|
|
|
2
2
|
(function (InputType) {
|
|
3
3
|
InputType["Date"] = "date";
|
|
4
4
|
InputType["Email"] = "email";
|
|
5
|
+
InputType["Month"] = "month";
|
|
5
6
|
InputType["Number"] = "number";
|
|
6
7
|
InputType["Password"] = "password";
|
|
7
8
|
InputType["Search"] = "search";
|
|
@@ -9,5 +10,6 @@ export var InputType;
|
|
|
9
10
|
InputType["Text"] = "text";
|
|
10
11
|
InputType["Time"] = "time";
|
|
11
12
|
InputType["Url"] = "url";
|
|
13
|
+
InputType["Week"] = "week";
|
|
12
14
|
})(InputType || (InputType = {}));
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvZm9ybS1maWVsZC9pbnB1dC9pbnB1dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxTQVlYO0FBWkQsV0FBWSxTQUFTO0lBQ25CLDBCQUFhLENBQUE7SUFDYiw0QkFBZSxDQUFBO0lBQ2YsNEJBQWUsQ0FBQTtJQUNmLDhCQUFpQixDQUFBO0lBQ2pCLGtDQUFxQixDQUFBO0lBQ3JCLDhCQUFpQixDQUFBO0lBQ2pCLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7SUFDWCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVpXLFNBQVMsS0FBVCxTQUFTLFFBWXBCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gSW5wdXRUeXBlIHtcbiAgRGF0ZSA9ICdkYXRlJyxcbiAgRW1haWwgPSAnZW1haWwnLFxuICBNb250aCA9ICdtb250aCcsXG4gIE51bWJlciA9ICdudW1iZXInLFxuICBQYXNzd29yZCA9ICdwYXNzd29yZCcsXG4gIFNlYXJjaCA9ICdzZWFyY2gnLFxuICBUZWwgPSAndGVsJyxcbiAgVGV4dCA9ICd0ZXh0JyxcbiAgVGltZSA9ICd0aW1lJyxcbiAgVXJsID0gJ3VybCcsXG4gIFdlZWsgPSAnd2VlaycsXG59XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { NgClass } from '@angular/common';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, HostBinding, HostListener, input, model,
|
|
2
|
+
import { ChangeDetectionStrategy, Component, HostBinding, HostListener, input, model, } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { IconComponent } from '../../icon';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class RadioButtonComponent {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.checked = model(false);
|
|
9
|
-
this.disabled =
|
|
9
|
+
this.disabled = model(false);
|
|
10
10
|
this.error = input(false);
|
|
11
11
|
this.name = model('');
|
|
12
12
|
this.required = input(false);
|
|
13
|
-
this.
|
|
13
|
+
this.value = model();
|
|
14
14
|
this.uuid = crypto.randomUUID();
|
|
15
15
|
}
|
|
16
16
|
get checkedClass() {
|
|
@@ -22,6 +22,15 @@ export class RadioButtonComponent {
|
|
|
22
22
|
get tabindexAttr() {
|
|
23
23
|
return this.disabled() ? -1 : 0;
|
|
24
24
|
}
|
|
25
|
+
get roleAttr() {
|
|
26
|
+
return 'radio';
|
|
27
|
+
}
|
|
28
|
+
get ariaCheckedAttr() {
|
|
29
|
+
return this.checked();
|
|
30
|
+
}
|
|
31
|
+
get ariaDisabledAttr() {
|
|
32
|
+
return this.disabled();
|
|
33
|
+
}
|
|
25
34
|
onClick() {
|
|
26
35
|
this.checked.set(true);
|
|
27
36
|
}
|
|
@@ -32,9 +41,6 @@ export class RadioButtonComponent {
|
|
|
32
41
|
this.checked.set(true);
|
|
33
42
|
event.preventDefault();
|
|
34
43
|
}
|
|
35
|
-
get input() {
|
|
36
|
-
return this.inputElement();
|
|
37
|
-
}
|
|
38
44
|
writeValue(value) {
|
|
39
45
|
this.checked.set(value);
|
|
40
46
|
}
|
|
@@ -44,16 +50,19 @@ export class RadioButtonComponent {
|
|
|
44
50
|
registerOnTouched() {
|
|
45
51
|
// noop
|
|
46
52
|
}
|
|
47
|
-
|
|
48
|
-
|
|
53
|
+
setDisabledState(isDisabled) {
|
|
54
|
+
this.disabled.set(isDisabled);
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.3", type: RadioButtonComponent, isStandalone: true, selector: "ndw-radio-button", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", disabled: "disabledChange", name: "nameChange", value: "valueChange" }, host: { listeners: { "click": "onClick()", "keydown": "onKeyDown($event)" }, properties: { "class.checked": "this.checkedClass", "class.disabled": "this.disabledClass", "attr.tabindex": "this.tabindexAttr", "attr.role": "this.roleAttr", "attr.aria-checked": "this.ariaCheckedAttr", "attr.aria-disabled": "this.ariaDisabledAttr" } }, providers: [
|
|
49
58
|
{
|
|
50
59
|
provide: NG_VALUE_ACCESSOR,
|
|
51
60
|
useExisting: RadioButtonComponent,
|
|
52
61
|
multi: true,
|
|
53
62
|
},
|
|
54
|
-
],
|
|
63
|
+
], ngImport: i0, template: "<input\n type=\"radio\"\n [id]=\"'radio-button-' + uuid\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n aria-hidden=\"true\"\n/>\n<div class=\"radio-button\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <div class=\"check\"></div>\n }\n</div>\n<label\n tabindex=\"-1\"\n [for]=\"'radio-button-' + uuid\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</label>\n", styles: [":host{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ndw-spacing-xs);height:1.375rem;width:fit-content}input{display:none}.radio-button{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);border-radius:50%;color:var(--ndw-color-white);display:flex;height:1.25rem;transition:background-color var(--ndw-animation-speed-fast) ease-in-out,border-color var(--ndw-animation-speed-fast) ease-in-out,box-shadow var(--ndw-animation-speed-fast) ease-in-out;width:1.25rem}.radio-button .check{background-color:var(--ndw-color-white);border-radius:inherit;height:.5rem;margin:auto;width:.5rem}.radio-button.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;color:var(--ndw-color-grey-600);cursor:pointer;display:flex;margin-top:var(--ndw-spacing-2xs);width:fit-content}label:focus{outline:none}:host(.checked) .radio-button{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) .radio-button.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:hover) .radio-button{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(:not(.checked):hover) .radio-button{background-color:var(--ndw-color-white);border-color:var(--ndw-color-primary-500)}:host(:focus){outline:none}:host(:focus) .radio-button{box-shadow:var(--ndw-elevation-info)}:host(:active) .radio-button,:host(:focus) .radio-button,:host(:not(.checked):active) .radio-button{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus) .radio-button{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) .radio-button{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) label{color:var(--ndw-color-grey-400)}:host(.checked.disabled) .radio-button{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
55
64
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
57
66
|
type: Component,
|
|
58
67
|
args: [{ selector: 'ndw-radio-button', standalone: true, imports: [IconComponent, NgClass], providers: [
|
|
59
68
|
{
|
|
@@ -61,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
61
70
|
useExisting: RadioButtonComponent,
|
|
62
71
|
multi: true,
|
|
63
72
|
},
|
|
64
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input
|
|
73
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n type=\"radio\"\n [id]=\"'radio-button-' + uuid\"\n [name]=\"name()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n aria-hidden=\"true\"\n/>\n<div class=\"radio-button\" [ngClass]=\"{ error: error() }\">\n @if (checked()) {\n <div class=\"check\"></div>\n }\n</div>\n<label\n tabindex=\"-1\"\n [for]=\"'radio-button-' + uuid\"\n (click)=\"onClick()\"\n (keydown)=\"onKeyDown($event)\"\n>\n <ng-content />\n</label>\n", styles: [":host{align-items:center;cursor:pointer;display:inline-flex;gap:var(--ndw-spacing-xs);height:1.375rem;width:fit-content}input{display:none}.radio-button{background-color:var(--ndw-color-white);border:var(--ndw-border-size-sm) solid var(--ndw-color-grey-300);border-radius:50%;color:var(--ndw-color-white);display:flex;height:1.25rem;transition:background-color var(--ndw-animation-speed-fast) ease-in-out,border-color var(--ndw-animation-speed-fast) ease-in-out,box-shadow var(--ndw-animation-speed-fast) ease-in-out;width:1.25rem}.radio-button .check{background-color:var(--ndw-color-white);border-radius:inherit;height:.5rem;margin:auto;width:.5rem}.radio-button.error{background-color:var(--ndw-color-critical-100);border-color:var(--ndw-color-critical-500)}label{font-family:var(--ndw-font-family-body);font-size:.8125rem;font-weight:var(--ndw-font-weight-regular);line-height:150%;align-items:center;color:var(--ndw-color-grey-600);cursor:pointer;display:flex;margin-top:var(--ndw-spacing-2xs);width:fit-content}label:focus{outline:none}:host(.checked) .radio-button{background-color:var(--ndw-color-primary-500);border-color:var(--ndw-color-primary-500)}:host(.checked) .radio-button.error{background-color:var(--ndw-color-critical-500);border-color:var(--ndw-color-critical-500)}:host(:hover) .radio-button{background-color:var(--ndw-color-primary-600);border-color:var(--ndw-color-primary-600)}:host(:not(.checked):hover) .radio-button{background-color:var(--ndw-color-white);border-color:var(--ndw-color-primary-500)}:host(:focus){outline:none}:host(:focus) .radio-button{box-shadow:var(--ndw-elevation-info)}:host(:active) .radio-button,:host(:focus) .radio-button,:host(:not(.checked):active) .radio-button{border-color:var(--ndw-color-secondary-500)}:host(.checked:focus) .radio-button{background-color:var(--ndw-color-primary-700)}:host(.disabled){pointer-events:none;-webkit-user-select:none;user-select:none}:host(.disabled) .radio-button{background-color:var(--ndw-color-grey-100);border-color:var(--ndw-color-grey-200)}:host(.disabled) label{color:var(--ndw-color-grey-400)}:host(.checked.disabled) .radio-button{background-color:var(--ndw-color-grey-200);border-color:var(--ndw-color-grey-200)}\n"] }]
|
|
65
74
|
}], propDecorators: { checkedClass: [{
|
|
66
75
|
type: HostBinding,
|
|
67
76
|
args: ['class.checked']
|
|
@@ -71,6 +80,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
71
80
|
}], tabindexAttr: [{
|
|
72
81
|
type: HostBinding,
|
|
73
82
|
args: ['attr.tabindex']
|
|
83
|
+
}], roleAttr: [{
|
|
84
|
+
type: HostBinding,
|
|
85
|
+
args: ['attr.role']
|
|
86
|
+
}], ariaCheckedAttr: [{
|
|
87
|
+
type: HostBinding,
|
|
88
|
+
args: ['attr.aria-checked']
|
|
89
|
+
}], ariaDisabledAttr: [{
|
|
90
|
+
type: HostBinding,
|
|
91
|
+
args: ['attr.aria-disabled']
|
|
74
92
|
}], onClick: [{
|
|
75
93
|
type: HostListener,
|
|
76
94
|
args: ['click']
|
|
@@ -78,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
|
|
|
78
96
|
type: HostListener,
|
|
79
97
|
args: ['keydown', ['$event']]
|
|
80
98
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9mb3JtLWZpZWxkL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOztBQWlCM0MsTUFBTSxPQUFPLG9CQUFvQjtJQWZqQztRQWdCUyxZQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixTQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssRUFBRSxDQUFDO1FBRWhCLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7S0E4RG5DO0lBNURDLElBQ1csWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNqQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFDVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBR00sT0FBTztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFHTSxTQUFTLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQTRCO1FBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTztJQUNULENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQXJFVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwwdUNBWHBCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG9CQUFvQjtnQkFDakMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3ZCSCxpZUFzQkEsZ3VFRE4yQixPQUFPOzsyRkFZckIsb0JBQW9CO2tCQWZoQyxTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQ3RCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFhcEMsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxlQUFlO2dCQU1qQixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGdCQUFnQjtnQkFNbEIsWUFBWTtzQkFEdEIsV0FBVzt1QkFBQyxlQUFlO2dCQU1qQixRQUFRO3NCQURsQixXQUFXO3VCQUFDLFdBQVc7Z0JBTWIsZUFBZTtzQkFEekIsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBTXJCLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTFCLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPO2dCQU1kLFNBQVM7c0JBRGYsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBtb2RlbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LXJhZGlvLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJY29uQ29tcG9uZW50LCBOZ0NsYXNzXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogUmFkaW9CdXR0b25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIGNoZWNrZWQgPSBtb2RlbChmYWxzZSk7XG4gIHB1YmxpYyBkaXNhYmxlZCA9IG1vZGVsKGZhbHNlKTtcbiAgcHVibGljIGVycm9yID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgbmFtZSA9IG1vZGVsKCcnKTtcbiAgcHVibGljIHJlcXVpcmVkID0gaW5wdXQoZmFsc2UpO1xuICBwdWJsaWMgdmFsdWUgPSBtb2RlbCgpO1xuXG4gIHB1YmxpYyB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNoZWNrZWQnKVxuICBwdWJsaWMgZ2V0IGNoZWNrZWRDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJylcbiAgcHVibGljIGdldCBkaXNhYmxlZENsYXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICBwdWJsaWMgZ2V0IHRhYmluZGV4QXR0cigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkKCkgPyAtMSA6IDA7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gIHB1YmxpYyBnZXQgcm9sZUF0dHIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3JhZGlvJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWNoZWNrZWQnKVxuICBwdWJsaWMgZ2V0IGFyaWFDaGVja2VkQXR0cigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja2VkKCk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gIHB1YmxpYyBnZXQgYXJpYURpc2FibGVkQXR0cigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCgpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBwdWJsaWMgb25DbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInIHx8IHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuY2hlY2tlZC5zZXQodHJ1ZSk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnNldCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkLnN1YnNjcmliZShmbik7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoKTogdm9pZCB7XG4gICAgLy8gbm9vcFxuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgfVxufVxuIiwiPGlucHV0XG4gIHR5cGU9XCJyYWRpb1wiXG4gIFtpZF09XCIncmFkaW8tYnV0dG9uLScgKyB1dWlkXCJcbiAgW25hbWVdPVwibmFtZSgpXCJcbiAgW2NoZWNrZWRdPVwiY2hlY2tlZCgpXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICBbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG4gIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4vPlxuPGRpdiBjbGFzcz1cInJhZGlvLWJ1dHRvblwiIFtuZ0NsYXNzXT1cInsgZXJyb3I6IGVycm9yKCkgfVwiPlxuICBAaWYgKGNoZWNrZWQoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJjaGVja1wiPjwvZGl2PlxuICB9XG48L2Rpdj5cbjxsYWJlbFxuICB0YWJpbmRleD1cIi0xXCJcbiAgW2Zvcl09XCIncmFkaW8tYnV0dG9uLScgKyB1dWlkXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQgLz5cbjwvbGFiZWw+XG4iXX0=
|
|
@@ -1,17 +1,41 @@
|
|
|
1
|
-
import { Component, contentChildren } from '@angular/core';
|
|
1
|
+
import { Component, contentChildren, HostBinding } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
2
3
|
import { RadioButtonComponent } from '../radio-button';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export class RadioGroupComponent {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.radioButtons = contentChildren(RadioButtonComponent);
|
|
7
8
|
this.uuid = crypto.randomUUID();
|
|
9
|
+
this.onChange = () => { };
|
|
10
|
+
}
|
|
11
|
+
get role() {
|
|
12
|
+
return 'radiogroup';
|
|
8
13
|
}
|
|
9
14
|
ngAfterContentInit() {
|
|
10
15
|
this.setRadioButtonsName();
|
|
16
|
+
this.handleCheckedChange();
|
|
17
|
+
}
|
|
18
|
+
writeValue(value) {
|
|
19
|
+
this.radioButtons().forEach((radio) => {
|
|
20
|
+
radio.checked.set(radio.value() === value);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
registerOnChange(fn) {
|
|
24
|
+
this.onChange = fn;
|
|
25
|
+
}
|
|
26
|
+
registerOnTouched() {
|
|
27
|
+
// Not implemented
|
|
28
|
+
}
|
|
29
|
+
setDisabledState(isDisabled) {
|
|
30
|
+
this.radioButtons().forEach((radio) => radio.disabled.set(isDisabled));
|
|
11
31
|
}
|
|
12
32
|
setRadioButtonsName() {
|
|
13
33
|
this.radioButtons().forEach((radio) => {
|
|
14
34
|
radio.name.set(this.uuid);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
handleCheckedChange() {
|
|
38
|
+
this.radioButtons().forEach((radio) => {
|
|
15
39
|
radio.checked.subscribe((checked) => {
|
|
16
40
|
if (!checked) {
|
|
17
41
|
return;
|
|
@@ -21,14 +45,30 @@ export class RadioGroupComponent {
|
|
|
21
45
|
otherRadio.checked.set(false);
|
|
22
46
|
}
|
|
23
47
|
});
|
|
48
|
+
this.onChange(radio.value());
|
|
24
49
|
});
|
|
25
50
|
});
|
|
26
51
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.0.3", type: RadioGroupComponent, isStandalone: true, selector: "ndw-radio-group", host: { properties: { "attr.role": "this.role" } }, providers: [
|
|
54
|
+
{
|
|
55
|
+
provide: NG_VALUE_ACCESSOR,
|
|
56
|
+
useExisting: RadioGroupComponent,
|
|
57
|
+
multi: true,
|
|
58
|
+
},
|
|
59
|
+
], queries: [{ propertyName: "radioButtons", predicate: RadioButtonComponent, isSignal: true }], ngImport: i0, template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }); }
|
|
29
60
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: RadioGroupComponent, decorators: [{
|
|
31
62
|
type: Component,
|
|
32
|
-
args: [{ selector: 'ndw-radio-group', standalone: true, imports: [],
|
|
33
|
-
|
|
34
|
-
|
|
63
|
+
args: [{ selector: 'ndw-radio-group', standalone: true, imports: [], providers: [
|
|
64
|
+
{
|
|
65
|
+
provide: NG_VALUE_ACCESSOR,
|
|
66
|
+
useExisting: RadioGroupComponent,
|
|
67
|
+
multi: true,
|
|
68
|
+
},
|
|
69
|
+
], template: "<ng-content />\n", styles: [":host{display:grid;gap:var(--ndw-spacing-2xs)}\n"] }]
|
|
70
|
+
}], propDecorators: { role: [{
|
|
71
|
+
type: HostBinding,
|
|
72
|
+
args: ['attr.role']
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmR3L3NyYy9jb21wb25lbnRzL2Zvcm0tZmllbGQvcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0J2RCxNQUFNLE9BQU8sbUJBQW1CO0lBZGhDO1FBZVMsaUJBQVksR0FBRyxlQUFlLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUVwRCxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNCLGFBQVEsR0FBNkIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0tBcUR2RDtJQW5EQyxJQUNXLElBQUk7UUFDYixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQzdDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQTRCO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsa0JBQWtCO0lBQ3BCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUMxQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDYixPQUFPO2dCQUNULENBQUM7Z0JBRUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO29CQUN6QyxJQUFJLFVBQVUsS0FBSyxLQUFLLEVBQUUsQ0FBQzt3QkFDekIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2hDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4RFUsbUJBQW1CO2tHQUFuQixtQkFBbUIsa0hBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG1CQUFtQjtnQkFDaEMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLHVEQUdxQyxvQkFBb0IsNkNDcEI1RCxrQkFDQTs7MkZEa0JhLG1CQUFtQjtrQkFkL0IsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsRUFBRSxhQUdBO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjs4QkFTVSxJQUFJO3NCQURkLFdBQVc7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgY29udGVudENoaWxkcmVuLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25kdy1yYWRpby1ncm91cCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtdLFxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb0dyb3VwQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUmFkaW9Hcm91cENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIHJhZGlvQnV0dG9ucyA9IGNvbnRlbnRDaGlsZHJlbihSYWRpb0J1dHRvbkNvbXBvbmVudCk7XG5cbiAgcHJpdmF0ZSB1dWlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiB1bmtub3duKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBwdWJsaWMgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3JhZGlvZ3JvdXAnO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFJhZGlvQnV0dG9uc05hbWUoKTtcbiAgICB0aGlzLmhhbmRsZUNoZWNrZWRDaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5yYWRpb0J1dHRvbnMoKS5mb3JFYWNoKChyYWRpbykgPT4ge1xuICAgICAgcmFkaW8uY2hlY2tlZC5zZXQocmFkaW8udmFsdWUoKSA9PT0gdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAvLyBOb3QgaW1wbGVtZW50ZWRcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5yYWRpb0J1dHRvbnMoKS5mb3JFYWNoKChyYWRpbykgPT4gcmFkaW8uZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UmFkaW9CdXR0b25zTmFtZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJhZGlvQnV0dG9ucygpLmZvckVhY2goKHJhZGlvKSA9PiB7XG4gICAgICByYWRpby5uYW1lLnNldCh0aGlzLnV1aWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVDaGVja2VkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMucmFkaW9CdXR0b25zKCkuZm9yRWFjaCgocmFkaW8pID0+IHtcbiAgICAgIHJhZGlvLmNoZWNrZWQuc3Vic2NyaWJlKChjaGVja2VkKSA9PiB7XG4gICAgICAgIGlmICghY2hlY2tlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmFkaW9CdXR0b25zKCkuZm9yRWFjaCgob3RoZXJSYWRpbykgPT4ge1xuICAgICAgICAgIGlmIChvdGhlclJhZGlvICE9PSByYWRpbykge1xuICAgICAgICAgICAgb3RoZXJSYWRpby5jaGVja2VkLnNldChmYWxzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHJhZGlvLnZhbHVlKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=
|
|
@@ -1,29 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, effect, inject, input, } from '@angular/core';
|
|
3
|
-
import { IconService } from './icon.service';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, inject, input, Renderer2, } from '@angular/core';
|
|
4
2
|
import * as i0 from "@angular/core";
|
|
5
3
|
export class IconComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.elementRef = inject(ElementRef);
|
|
6
|
+
this.renderer = inject(Renderer2);
|
|
7
|
+
this.interactive = input(false);
|
|
8
|
+
this.iconClass = 'material-symbols-rounded';
|
|
9
|
+
}
|
|
6
10
|
get interactiveClass() {
|
|
7
11
|
return this.interactive();
|
|
8
12
|
}
|
|
9
|
-
|
|
10
|
-
this.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
this.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
get role() {
|
|
14
|
+
return this.interactive() ? 'button' : 'img';
|
|
15
|
+
}
|
|
16
|
+
get tabIndex() {
|
|
17
|
+
return this.interactive() ? 0 : -1;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
const height = getComputedStyle(this.elementRef.nativeElement).fontSize;
|
|
21
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'width', height);
|
|
18
22
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: IconComponent, isStandalone: true, selector: "ndw-icon", inputs: { interactive: { classPropertyName: "interactive", publicName: "interactive", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-label": "NDW icon" }, properties: { "class": "this.iconClass", "class.interactive": "this.interactiveClass", "attr.role": "this.role", "attr.tabindex": "this.tabIndex" } }, ngImport: i0, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.interactive{border-radius:var(--ndw-border-radius-md);box-sizing:border-box;cursor:pointer;padding:var(--ndw-spacing-2xs);transition:background-color .15s ease-in-out}:host.interactive:hover{background-color:var(--ndw-alpha-black-007)}:host.interactive:active,:host.interactive:focus,:host.interactive:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.interactive:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
25
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: IconComponent, decorators: [{
|
|
23
27
|
type: Component,
|
|
24
|
-
args: [{ selector: 'ndw-icon', standalone: true, imports: [
|
|
25
|
-
|
|
28
|
+
args: [{ selector: 'ndw-icon', standalone: true, imports: [], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
29
|
+
'aria-label': 'NDW icon',
|
|
30
|
+
}, template: "<ng-content />\n", styles: [":host{display:inline-block;font-size:var(--ndw-spacing-lg);position:relative;-webkit-user-select:none;user-select:none}:host.interactive{border-radius:var(--ndw-border-radius-md);box-sizing:border-box;cursor:pointer;padding:var(--ndw-spacing-2xs);transition:background-color .15s ease-in-out}:host.interactive:hover{background-color:var(--ndw-alpha-black-007)}:host.interactive:active,:host.interactive:focus,:host.interactive:focus-visible{background-color:var(--ndw-alpha-black-015)}:host.interactive:focus-visible{color:var(--ndw-color-primary);outline-color:var(--ndw-color-secondary-500)}\n"] }]
|
|
31
|
+
}], propDecorators: { iconClass: [{
|
|
32
|
+
type: HostBinding,
|
|
33
|
+
args: ['class']
|
|
34
|
+
}], interactiveClass: [{
|
|
26
35
|
type: HostBinding,
|
|
27
36
|
args: ['class.interactive']
|
|
37
|
+
}], role: [{
|
|
38
|
+
type: HostBinding,
|
|
39
|
+
args: ['attr.role']
|
|
40
|
+
}], tabIndex: [{
|
|
41
|
+
type: HostBinding,
|
|
42
|
+
args: ['attr.tabindex']
|
|
28
43
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25kdy9zcmMvY29tcG9uZW50cy9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQzs7QUFhdkIsTUFBTSxPQUFPLGFBQWE7SUFYMUI7UUFZbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR3hCLGNBQVMsR0FBRywwQkFBMEIsQ0FBQztLQXFCbEQ7SUFuQkMsSUFDYyxnQkFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ2MsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQ2MsUUFBUTtRQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ3hFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQTNCVSxhQUFhO2tHQUFiLGFBQWEsbWFDdEIxQixrQkFDQTs7MkZEcUJhLGFBQWE7a0JBWHpCLFNBQVM7K0JBQ0UsVUFBVSxjQUNSLElBQUksV0FDUCxFQUFFLG1CQUdNLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osWUFBWSxFQUFFLFVBQVU7cUJBQ3pCOzhCQVNTLFNBQVM7c0JBRGxCLFdBQVc7dUJBQUMsT0FBTztnQkFJTixnQkFBZ0I7c0JBRDdCLFdBQVc7dUJBQUMsbUJBQW1CO2dCQU1sQixJQUFJO3NCQURqQixXQUFXO3VCQUFDLFdBQVc7Z0JBTVYsUUFBUTtzQkFEckIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmR3LWljb24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vaWNvbi5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ2FyaWEtbGFiZWwnOiAnTkRXIGljb24nLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBJY29uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cbiAgcHVibGljIGludGVyYWN0aXZlID0gaW5wdXQoZmFsc2UpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcm90ZWN0ZWQgaWNvbkNsYXNzID0gJ21hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pbnRlcmFjdGl2ZScpXG4gIHByb3RlY3RlZCBnZXQgaW50ZXJhY3RpdmVDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSgpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICBwcm90ZWN0ZWQgZ2V0IHJvbGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSgpID8gJ2J1dHRvbicgOiAnaW1nJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gIHByb3RlY3RlZCBnZXQgdGFiSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZSgpID8gMCA6IC0xO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLmZvbnRTaXplO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGhlaWdodCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IC8+XG4iXX0=
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
export * from './icon.component';
|
|
2
|
-
|
|
3
|
-
export * from './icon.service';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24uc2VydmljZSc7XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaWNvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export * from './accordion';
|
|
2
|
+
export * from './alert';
|
|
2
3
|
export * from './badge';
|
|
4
|
+
export * from './breadcrumb';
|
|
5
|
+
export * from './breadcrumb-group';
|
|
3
6
|
export * from './button';
|
|
4
7
|
export * from './card';
|
|
5
8
|
export * from './collapsible';
|
|
@@ -7,10 +10,10 @@ export * from './dropdown';
|
|
|
7
10
|
export * from './form-field';
|
|
8
11
|
export * from './icon';
|
|
9
12
|
export * from './main-navigation';
|
|
13
|
+
export * from './modal';
|
|
10
14
|
export * from './pill';
|
|
15
|
+
export * from './router-breadcrumbs';
|
|
11
16
|
export * from './tab';
|
|
12
17
|
export * from './tab-group';
|
|
13
18
|
export * from './tooltip';
|
|
14
|
-
|
|
15
|
-
export * from './modal';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLE9BQU8sQ0FBQztBQUN0QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWNjb3JkaW9uJztcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24nO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY29sbGFwc2libGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0tZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uJztcbmV4cG9ydCAqIGZyb20gJy4vbWFpbi1uYXZpZ2F0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vcGlsbCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYic7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bic7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsJztcbiJdfQ==
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZHcvc3JjL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY29yZGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2FsZXJ0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFkZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iJztcbmV4cG9ydCAqIGZyb20gJy4vYnJlYWRjcnVtYi1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xsYXBzaWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tYWluLW5hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RhbCc7XG5leHBvcnQgKiBmcm9tICcuL3BpbGwnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3V0ZXItYnJlYWRjcnVtYnMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWInO1xuZXhwb3J0ICogZnJvbSAnLi90YWItZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwJztcbiJdfQ==
|