desy-angular 3.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/bundles/desy-angular.umd.js +1740 -776
- package/bundles/desy-angular.umd.js.map +1 -1
- package/bundles/desy-angular.umd.min.js +2 -2
- package/bundles/desy-angular.umd.min.js.map +1 -1
- package/desy-angular.d.ts +28 -24
- package/desy-angular.metadata.json +1 -1
- package/esm2015/desy-angular.js +29 -25
- package/esm2015/lib/desy-angular.module.js +1 -3
- package/esm2015/lib/desy-buttons/components/button/button.component.js +9 -16
- package/esm2015/lib/desy-buttons/components/button-loader/button-loader.component.js +8 -3
- package/esm2015/lib/desy-buttons/components/dropdown/dropdown.component.js +70 -70
- package/esm2015/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.js +6 -15
- package/esm2015/lib/desy-buttons/components/listbox/listbox.component.js +67 -55
- package/esm2015/lib/desy-buttons/components/pill/pill.component.js +5 -3
- package/esm2015/lib/desy-commons/interfaces/title-data.js +1 -1
- package/esm2015/lib/desy-forms/components/character-count/character-count.component.js +2 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.js +36 -2
- package/esm2015/lib/desy-forms/components/checkboxes/checkboxes.component.js +2 -2
- package/esm2015/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.js +19 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.js +46 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.js +44 -0
- package/esm2015/lib/desy-forms/components/date-input/date-input.component.js +131 -25
- package/esm2015/lib/desy-forms/components/input/input.component.js +2 -3
- package/esm2015/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.js +20 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.js +46 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js +13 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.js +42 -0
- package/esm2015/lib/desy-forms/components/input-group/input-group.component.js +115 -21
- package/esm2015/lib/desy-forms/components/radios/radios.component.js +2 -2
- package/esm2015/lib/desy-forms/components/select/option/option.component.js +7 -7
- package/esm2015/lib/desy-forms/components/select/option-group/option-group.component.js +17 -0
- package/esm2015/lib/desy-forms/components/select/select-item/select-item.component.js +14 -0
- package/esm2015/lib/desy-forms/components/select/select.component.js +19 -6
- package/esm2015/lib/desy-forms/desy-forms.module.js +31 -1
- package/esm2015/lib/desy-forms/interfaces/fieldset-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-checkbox-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-date-input-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/item-divider-date-input-data.js +2 -0
- package/esm2015/lib/desy-forms/interfaces/item-input-group-data.js +1 -1
- package/esm2015/lib/desy-forms/interfaces/select-item-data.js +1 -1
- package/esm2015/lib/desy-modals/components/modal/modal.component.js +3 -3
- package/esm2015/lib/desy-nav/components/error-summary/error-summary.component.js +2 -2
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-meta/footer-meta.component.js +23 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.js +16 -0
- package/esm2015/lib/desy-nav/components/footer/footer.component.js +31 -4
- package/esm2015/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.js +19 -0
- package/esm2015/lib/desy-nav/components/header/header-navigation/header-navigation.component.js +15 -4
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.js +25 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.js +11 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.js +76 -13
- package/esm2015/lib/desy-nav/components/header/header-subnav/header-subnav.component.js +26 -36
- package/esm2015/lib/desy-nav/components/header/header.component.js +39 -4
- package/esm2015/lib/desy-nav/components/menu-horizontal/menu-horizontal.component.js +2 -2
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.js +32 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.js +16 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.js +24 -0
- package/esm2015/lib/desy-nav/components/menu-vertical/menu-vertical.component.js +35 -23
- package/esm2015/lib/desy-nav/components/menubar/menubar.component.js +3 -3
- package/esm2015/lib/desy-nav/components/skip-link/skip-link.component.js +24 -5
- package/esm2015/lib/desy-nav/desy-nav.module.js +37 -4
- package/esm2015/lib/desy-nav/interfaces/footer-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-dropdown-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/header-subnav-data.js +1 -1
- package/esm2015/lib/desy-nav/interfaces/menu-vertical-items-data.js +1 -1
- package/esm2015/lib/desy-pagination/components/pagination/pagination.component.js +2 -2
- package/esm2015/lib/desy-tables/components/table/table.component.js +3 -2
- package/esm2015/lib/desy-tables/components/table-advanced/table-advanced.component.js +5 -3
- package/esm2015/lib/desy-tables/interfaces/index.js +2 -1
- package/esm2015/lib/desy-tables/interfaces/wrapper-data.js +2 -0
- package/esm2015/lib/desy-views/components/accordion/accordion.component.js +2 -2
- package/esm2015/lib/desy-views/components/alert/alert.component.js +28 -23
- package/esm2015/lib/desy-views/components/item/item.component.js +11 -2
- package/esm2015/lib/desy-views/components/status-item/status-item.component.js +2 -2
- package/esm2015/lib/desy-views/components/tabs/panel/panel.component.js +15 -0
- package/esm2015/lib/desy-views/components/tabs/tab-item/tab-item.component.js +28 -0
- package/esm2015/lib/desy-views/components/tabs/tabs.component.js +57 -36
- package/esm2015/lib/desy-views/components/tooltip/tooltip.component.js +1 -1
- package/esm2015/lib/desy-views/desy-views.module.js +7 -1
- package/esm2015/lib/desy-views/interfaces/tabs-items-data.js +1 -1
- package/esm2015/lib/desy-views/interfaces/tabs-panel-data.js +1 -1
- package/esm2015/public-api.js +20 -1
- package/fesm2015/desy-angular.js +1533 -677
- package/fesm2015/desy-angular.js.map +1 -1
- package/lib/desy-buttons/components/button/button.component.d.ts +6 -6
- package/lib/desy-buttons/components/button-loader/button-loader.component.d.ts +1 -0
- package/lib/desy-buttons/components/dropdown/dropdown.component.d.ts +4 -7
- package/lib/desy-buttons/components/listbox/listbox-label/listbox-label.component.d.ts +2 -6
- package/lib/desy-buttons/components/listbox/listbox.component.d.ts +1 -2
- package/lib/desy-buttons/components/pill/pill.component.d.ts +1 -0
- package/lib/desy-commons/interfaces/title-data.d.ts +2 -1
- package/lib/desy-forms/components/checkboxes/checkbox-item/checkbox-item.component.d.ts +5 -0
- package/lib/desy-forms/components/date-input/date-input-day/date-input-day.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-divider/date-input-divider.component.d.ts +7 -0
- package/lib/desy-forms/components/date-input/date-input-item/date-input-item.component.d.ts +4 -0
- package/lib/desy-forms/components/date-input/date-input-month/date-input-month.component.d.ts +22 -0
- package/lib/desy-forms/components/date-input/date-input-year/date-input-year.component.d.ts +19 -0
- package/lib/desy-forms/components/date-input/date-input.component.d.ts +21 -4
- package/lib/desy-forms/components/input-group/input-group-divider/input-group-divider.component.d.ts +8 -0
- package/lib/desy-forms/components/input-group/input-group-input/input-group-input.component.d.ts +20 -0
- package/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.d.ts +4 -0
- package/lib/desy-forms/components/input-group/input-group-select/input-group-select.component.d.ts +16 -0
- package/lib/desy-forms/components/input-group/input-group.component.d.ts +24 -6
- package/lib/desy-forms/components/select/option/option.component.d.ts +6 -7
- package/lib/desy-forms/components/select/option-group/option-group.component.d.ts +7 -0
- package/lib/desy-forms/components/select/select-item/select-item.component.d.ts +4 -0
- package/lib/desy-forms/components/select/select.component.d.ts +6 -3
- package/lib/desy-forms/interfaces/fieldset-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/item-checkbox-data.d.ts +1 -0
- package/lib/desy-forms/interfaces/item-date-input-data.d.ts +2 -0
- package/lib/desy-forms/interfaces/item-divider-date-input-data.d.ts +5 -0
- package/lib/desy-forms/interfaces/item-input-group-data.d.ts +1 -2
- package/lib/desy-forms/interfaces/select-item-data.d.ts +2 -1
- package/lib/desy-nav/components/footer/footer-meta/footer-meta-item/footer-meta-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-meta/footer-meta.component.d.ts +10 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation-item/footer-navigation-item.component.d.ts +7 -0
- package/lib/desy-nav/components/footer/footer-navigation/footer-navigation.component.d.ts +8 -0
- package/lib/desy-nav/components/footer/footer.component.d.ts +14 -2
- package/lib/desy-nav/components/header/header-dropdown/header-dropdown.component.d.ts +10 -6
- package/lib/desy-nav/components/header/header-navigation/header-navigation-item/header-navigation-item.component.d.ts +10 -0
- package/lib/desy-nav/components/header/header-navigation/header-navigation.component.d.ts +6 -1
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-button/header-offcanvas-button.component.d.ts +6 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas-close-button/header-offcanvas-close-button.component.d.ts +3 -0
- package/lib/desy-nav/components/header/header-offcanvas/header-offcanvas.component.d.ts +30 -8
- package/lib/desy-nav/components/header/header-subnav/header-subnav.component.d.ts +11 -8
- package/lib/desy-nav/components/header/header.component.d.ts +12 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item/menu-vertical-item.component.d.ts +18 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub/menu-vertical-item-sub.component.d.ts +8 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical-item-sub-item/menu-vertical-item-sub-item.component.d.ts +15 -0
- package/lib/desy-nav/components/menu-vertical/menu-vertical.component.d.ts +11 -7
- package/lib/desy-nav/components/skip-link/skip-link.component.d.ts +9 -2
- package/lib/desy-nav/interfaces/footer-data.d.ts +7 -7
- package/lib/desy-nav/interfaces/header-dropdown-data.d.ts +5 -1
- package/lib/desy-nav/interfaces/header-subnav-data.d.ts +6 -1
- package/lib/desy-tables/components/table/table.component.d.ts +2 -1
- package/lib/desy-tables/components/table-advanced/table-advanced.component.d.ts +6 -4
- package/lib/desy-tables/interfaces/index.d.ts +1 -0
- package/lib/desy-tables/interfaces/wrapper-data.d.ts +4 -0
- package/lib/desy-views/components/alert/alert.component.d.ts +6 -4
- package/lib/desy-views/components/item/item.component.d.ts +5 -2
- package/lib/desy-views/components/tabs/panel/panel.component.d.ts +6 -0
- package/lib/desy-views/components/tabs/tab-item/tab-item.component.d.ts +12 -0
- package/lib/desy-views/components/tabs/tabs.component.d.ts +14 -3
- package/lib/desy-views/interfaces/tabs-items-data.d.ts +5 -5
- package/lib/desy-views/interfaces/tabs-panel-data.d.ts +4 -4
- package/package.json +2 -2
- package/public-api.d.ts +19 -0
- package/esm2015/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.js +0 -58
- package/lib/desy-nav/components/header/header-offcanvas-button/header-offcanvas-button.component.d.ts +0 -18
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Optional, Output, ViewChild } from '@angular/core';
|
|
2
3
|
import { ControlContainer, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { LegendComponent } from '../fieldset/legend/legend.component';
|
|
3
5
|
import { FormFieldComponent } from '../form-field/form-field.component';
|
|
6
|
+
import { InputGroupItemComponent } from './input-group-item/input-group-item.component';
|
|
7
|
+
import { DesyOnInputChange } from '../../../shared/decorators/desy-on-input-change.decorator';
|
|
8
|
+
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
9
|
+
import { FieldsetComponent } from '../fieldset/fieldset.component';
|
|
10
|
+
import { MakeHtmlListPipe } from '../../../shared/pipes/make-html-list.pipe';
|
|
11
|
+
import { InputGroupInputComponent } from './input-group-input/input-group-input.component';
|
|
12
|
+
import { InputGroupSelectComponent } from './input-group-select/input-group-select.component';
|
|
13
|
+
import { InputGroupDividerComponent } from './input-group-divider/input-group-divider.component';
|
|
14
|
+
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
4
15
|
export class InputGroupComponent extends FormFieldComponent {
|
|
5
16
|
constructor(controlContainer) {
|
|
6
17
|
super();
|
|
7
18
|
this.controlContainer = controlContainer;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.checkRequired();
|
|
11
|
-
this.onExternalChange();
|
|
19
|
+
this.itemsChange = new EventEmitter();
|
|
20
|
+
this.contentInit = false;
|
|
12
21
|
}
|
|
13
22
|
ngOnChanges() {
|
|
14
|
-
this.checkRequired();
|
|
15
|
-
this.onExternalChange();
|
|
16
|
-
}
|
|
17
|
-
checkRequired() {
|
|
18
23
|
if (!this.id) {
|
|
19
24
|
throw Error('id is required');
|
|
20
25
|
}
|
|
@@ -28,38 +33,110 @@ export class InputGroupComponent extends FormFieldComponent {
|
|
|
28
33
|
}
|
|
29
34
|
}
|
|
30
35
|
}
|
|
31
|
-
|
|
36
|
+
}
|
|
37
|
+
ngAfterContentInit() {
|
|
38
|
+
this.contentInit = true;
|
|
39
|
+
}
|
|
40
|
+
ngAfterViewChecked() {
|
|
41
|
+
const items = this.getItems();
|
|
42
|
+
if (!items || items.length === 0) {
|
|
32
43
|
throw Error('items are required');
|
|
33
44
|
}
|
|
34
45
|
}
|
|
35
46
|
writeValue(value) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
if (value) {
|
|
48
|
+
this.value = value;
|
|
49
|
+
const items = this.getItems();
|
|
50
|
+
items.forEach(item => {
|
|
51
|
+
const v = this.value[this.getItemName(item)];
|
|
52
|
+
item.value = v ? v : null;
|
|
53
|
+
});
|
|
54
|
+
if (this.items) {
|
|
55
|
+
this.itemsChange.emit(this.items);
|
|
56
|
+
}
|
|
39
57
|
}
|
|
40
58
|
this.onChange(value);
|
|
41
59
|
}
|
|
42
60
|
onExternalChange() {
|
|
61
|
+
if (!this.contentInit) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
43
64
|
if (!this.value) {
|
|
44
65
|
this.value = {};
|
|
45
66
|
}
|
|
46
|
-
|
|
67
|
+
const items = this.getItems();
|
|
68
|
+
items.forEach(item => this.value[this.getItemName(item)] = item.value);
|
|
47
69
|
this.onChange(this.value);
|
|
48
70
|
}
|
|
49
|
-
onInternalChange(
|
|
71
|
+
onInternalChange(item, itemValue) {
|
|
72
|
+
const itemName = this.getItemName(item);
|
|
50
73
|
if (!this.value) {
|
|
51
74
|
this.value = {};
|
|
52
75
|
}
|
|
53
|
-
this.value[itemName]
|
|
54
|
-
|
|
76
|
+
if (this.value[itemName] !== itemValue) {
|
|
77
|
+
this.value[itemName] = itemValue;
|
|
78
|
+
this.onChange(this.value);
|
|
79
|
+
if (item instanceof InputGroupInputComponent || item instanceof InputGroupSelectComponent) {
|
|
80
|
+
item.valueChange.emit(itemValue);
|
|
81
|
+
}
|
|
82
|
+
if (this.items) {
|
|
83
|
+
item.value = itemValue;
|
|
84
|
+
this.itemsChange.emit(this.items);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
overrideFieldsetParams(fieldset) {
|
|
89
|
+
fieldset.caller = this.innerHtml;
|
|
90
|
+
fieldset.errorId = this.getErrorId();
|
|
91
|
+
fieldset.describedBy = new MakeHtmlListPipe().transform([this.getHintId(), this.getErrorId()], null);
|
|
92
|
+
fieldset.role = 'group';
|
|
93
|
+
fieldset.detectChanges();
|
|
94
|
+
}
|
|
95
|
+
/*
|
|
96
|
+
* Métodos para proporcionar datos
|
|
97
|
+
*/
|
|
98
|
+
getItems() {
|
|
99
|
+
return this.itemsComponents && this.itemsComponents.length ? this.itemsComponents.toArray() : this.items;
|
|
100
|
+
}
|
|
101
|
+
getItemLabelRef(item) {
|
|
102
|
+
return item instanceof InputGroupInputComponent || item instanceof InputGroupSelectComponent ? item.labelRef : null;
|
|
103
|
+
}
|
|
104
|
+
getItemLabelData(item) {
|
|
105
|
+
return item.labelData ? item.labelData : { text: item.labelText };
|
|
55
106
|
}
|
|
56
107
|
hasFieldset() {
|
|
57
|
-
return !!(this.legendRef || this.fieldsetData
|
|
108
|
+
return !!(this.hasFieldsetComponent() || this.hasLegendComponent() || this.legendRef || this.fieldsetData
|
|
58
109
|
|| (this.legendData && (this.legendData.text || this.legendData.html)) || this.legendText);
|
|
59
110
|
}
|
|
111
|
+
hasFieldsetComponent() {
|
|
112
|
+
return !!this.fieldsetComponent;
|
|
113
|
+
}
|
|
114
|
+
hasLegendComponent() {
|
|
115
|
+
return !!this.legendComponent;
|
|
116
|
+
}
|
|
60
117
|
getItemName(item) {
|
|
61
118
|
return this.namePrefix ? this.namePrefix + '-' + item.name : item.name;
|
|
62
119
|
}
|
|
120
|
+
getItemSelectOptions(item) {
|
|
121
|
+
return item instanceof InputGroupSelectComponent ?
|
|
122
|
+
item.selectItemComponentList.toArray() : item.selectItems;
|
|
123
|
+
}
|
|
124
|
+
getItemDividerTemplate(item) {
|
|
125
|
+
return item.divider instanceof InputGroupDividerComponent ? item.divider.dividerContent : null;
|
|
126
|
+
}
|
|
127
|
+
getItemDividerHtml(item) {
|
|
128
|
+
return item.divider.html ? item.divider.html : `<p>${StringUtils.escapeHtml(item.divider.text)}</p>`;
|
|
129
|
+
}
|
|
130
|
+
isSelectItem(item) {
|
|
131
|
+
let hasSelectItems;
|
|
132
|
+
if (item instanceof InputGroupSelectComponent) {
|
|
133
|
+
hasSelectItems = item.selectItemComponentList && item.selectItemComponentList.length > 0;
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
hasSelectItems = item.selectItems;
|
|
137
|
+
}
|
|
138
|
+
return item.isSelect && hasSelectItems;
|
|
139
|
+
}
|
|
63
140
|
hasItemLabel(item) {
|
|
64
141
|
return !!((item.labelData && (item.labelData.text || item.labelData.html)) || item.labelText);
|
|
65
142
|
}
|
|
@@ -67,7 +144,7 @@ export class InputGroupComponent extends FormFieldComponent {
|
|
|
67
144
|
InputGroupComponent.decorators = [
|
|
68
145
|
{ type: Component, args: [{
|
|
69
146
|
selector: 'desy-input-group',
|
|
70
|
-
template: "\r\n<!-- Divider no forma parte del formulario, por lo que es reutilizable en cualquier caso -->\r\n<ng-template #itemDivider let-item=\"item\" let-mode=\"mode\">\r\n <div *ngIf=\"item.divider.html; else notHtml\" [ngClass]=\"item.divider.classes\" role=\"separator\" [innerHTML]=\"item.divider.html\"></div>\r\n <ng-template #notHtml>\r\n <div [ngClass]=\"item.divider.classes\" role=\"separator\" >\r\n <p>{{item.divider.text}}</p>\r\n </div>\r\n </ng-template>\r\n</ng-template>\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n\r\n <!-- Reactive forms -->\r\n <div *ngIf=\"controlContainer && !ngModelGroup\"\r\n [formGroup]=\"controlContainer.control\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of items; index as i\">\r\n <ng-container *ngTemplateOutlet=\"item.isSelect && item.selectItems ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [items]=\"item.selectItems\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Template-driven forms -->\r\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\r\n <div [ngModelGroup]=\"ngModelGroup\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of items; index as i\">\r\n <ng-container *ngTemplateOutlet=\"item.isSelect && item.selectItems ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item.name, $event)\"\r\n [items]=\"item.selectItems\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item.name, $event)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </desy-template-driven-wrapper>\r\n\r\n <!-- With ngModel-->\r\n <div *ngIf=\"!controlContainer\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of items; index as i\">\r\n <ng-container *ngTemplateOutlet=\"item.isSelect && item.selectItems ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [items]=\"item.selectItems\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item.name, $event)\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelData]=\"item.labelData ? item.labelData : {text: item.labelText}\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item.name, $event)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error' : (hasErrorsMessage() || formGroupClasses == 'c-form-group--error')}\">\r\n\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n</div>\r\n",
|
|
147
|
+
template: "\r\n<!-- Divider no forma parte del formulario, por lo que es reutilizable en cualquier caso -->\r\n<ng-template #itemDivider let-item=\"item\">\r\n <div role=\"separator\" [ngClass]=\"item.divider.classes\">\r\n <ng-container *desyCustomInnerContent=\"{ template: getItemDividerTemplate(item), html: getItemDividerHtml(item) }\"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n\r\n <!-- Reactive forms -->\r\n <div *ngIf=\"controlContainer && !ngModelGroup\"\r\n [formGroup]=\"controlContainer.control\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <ng-container *ngTemplateOutlet=\"isSelectItem(item) ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [items]=\"getItemSelectOptions(item)\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- Template-driven forms -->\r\n <desy-template-driven-wrapper *ngIf=\"controlContainer && ngModelGroup\">\r\n <div [ngModelGroup]=\"ngModelGroup\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <ng-container *ngTemplateOutlet=\"isSelectItem(item) ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, $event)\"\r\n [items]=\"getItemSelectOptions(item)\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, $event)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </desy-template-driven-wrapper>\r\n\r\n <!-- With ngModel-->\r\n <div *ngIf=\"!controlContainer\"\r\n [ngClass]=\"classes ? classes : 'flex'\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <ng-container *ngTemplateOutlet=\"isSelectItem(item) ? itemSelect : (item.divider ? itemDivider : itemInput); context: {item: item}\"></ng-container>\r\n <ng-template #itemSelect>\r\n <desy-select [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [items]=\"getItemSelectOptions(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, $event)\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-select>\r\n </ng-template>\r\n <ng-template #itemInput>\r\n <desy-input [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [labelData]=\"getItemLabelData(item)\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [formGroupClasses]=\"item.formGroupClasses\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, $event)\"\r\n [type]=\"item.type ? item.type : 'text'\"\r\n [inputmode]=\"item.inputmode\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern\"\r\n [placeholder]=\"item.placeholder\"\r\n\r\n [maxlength]=\"item.maxlength\"\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\"></desy-input>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error' : (hasErrorsMessage() || formGroupClasses == 'c-form-group--error')}\">\r\n\r\n <ng-container *ngIf=\"hasFieldsetComponent()\">\r\n <ng-content select=\"desy-fieldset\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasFieldsetComponent()\">\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [headingLevel]=\"fieldsetData.headingLevel\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && hasLegendComponent()\"\r\n [legendRef]=\"legendTemplate\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\r\n <ng-template #legendTemplate>\r\n <ng-content select=\"desy-legend\"></ng-content>\r\n </ng-template>\r\n </desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"\r\n role=\"group\"></desy-fieldset>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n",
|
|
71
148
|
providers: [
|
|
72
149
|
{
|
|
73
150
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -83,6 +160,7 @@ InputGroupComponent.ctorParameters = () => [
|
|
|
83
160
|
InputGroupComponent.propDecorators = {
|
|
84
161
|
ngModelGroup: [{ type: Input }],
|
|
85
162
|
items: [{ type: Input }],
|
|
163
|
+
itemsChange: [{ type: Output }],
|
|
86
164
|
namePrefix: [{ type: Input }],
|
|
87
165
|
classes: [{ type: Input }],
|
|
88
166
|
formGroupClasses: [{ type: Input }],
|
|
@@ -91,6 +169,22 @@ InputGroupComponent.propDecorators = {
|
|
|
91
169
|
fieldsetData: [{ type: Input }],
|
|
92
170
|
legendRef: [{ type: Input }],
|
|
93
171
|
legendData: [{ type: Input }],
|
|
94
|
-
legendText: [{ type: Input }]
|
|
172
|
+
legendText: [{ type: Input }],
|
|
173
|
+
itemsComponents: [{ type: ContentChildren, args: [InputGroupItemComponent,] }],
|
|
174
|
+
fieldsetComponent: [{ type: ContentChildren, args: [FieldsetComponent,] }],
|
|
175
|
+
legendComponent: [{ type: ContentChildren, args: [LegendComponent,] }],
|
|
176
|
+
innerHtml: [{ type: ViewChild, args: ['innerHtml', { static: true },] }]
|
|
95
177
|
};
|
|
96
|
-
|
|
178
|
+
__decorate([
|
|
179
|
+
DesyOnInputChange('onExternalChange')
|
|
180
|
+
], InputGroupComponent.prototype, "items", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
DesyOnInputChange('onExternalChange')
|
|
183
|
+
], InputGroupComponent.prototype, "namePrefix", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
DesyContentChild({ onSetCallbackName: 'overrideFieldsetParams' })
|
|
186
|
+
], InputGroupComponent.prototype, "fieldsetComponent", void 0);
|
|
187
|
+
__decorate([
|
|
188
|
+
DesyContentChild()
|
|
189
|
+
], InputGroupComponent.prototype, "legendComponent", void 0);
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQUUsWUFBWSxFQUM3QixVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFBRSxNQUFNLEVBRUgsU0FBUyxFQUN2QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sK0NBQStDLENBQUM7QUFDdEYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seURBQXlELENBQUM7QUFDekYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saURBQWlELENBQUM7QUFDekYsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBYS9ELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxr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WUFyTUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLGtnbkJBQTJDO2dCQUMzQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzt3QkFDbEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjs7O1lBdkJRLGdCQUFnQix1QkErRFYsUUFBUTs7OzJCQXJDcEIsS0FBSztvQkFHTCxLQUFLOzBCQUNMLE1BQU07eUJBR04sS0FBSztzQkFDTCxLQUFLOytCQUNMLEtBQUs7MkJBQ0wsS0FBSztpQkFDTCxLQUFLOzJCQVNMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLO3lCQUNMLEtBQUs7OEJBRUwsZUFBZSxTQUFDLHVCQUF1QjtnQ0FHdkMsZUFBZSxTQUFDLGlCQUFpQjs4QkFHakMsZUFBZSxTQUFDLGVBQWU7d0JBRS9CLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztBQTlCL0I7SUFEUixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztrREFDRDtBQUk1QjtJQURSLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO3VEQUNWO0FBcUJRO0lBRG5DLGdCQUFnQixDQUFDLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUMsQ0FBQzs4REFDUTtBQUd2QztJQURqQyxnQkFBZ0IsRUFBRTs0REFDZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZHJlbiwgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9wdGlvbmFsLCBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGaWVsZHNldERhdGEsIExlZ2VuZERhdGEsIEl0ZW1JbnB1dEdyb3VwRGF0YSwgTGFiZWxEYXRhLCBTZWxlY3RJdGVtRGF0YX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBMZWdlbmRDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZHNldC9sZWdlbmQvbGVnZW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0lucHV0R3JvdXBJdGVtQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LWdyb3VwLWl0ZW0vaW5wdXQtZ3JvdXAtaXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tICcuLi9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01ha2VIdG1sTGlzdFBpcGV9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9tYWtlLWh0bWwtbGlzdC5waXBlJztcclxuaW1wb3J0IHtJbnB1dEdyb3VwSW5wdXRDb21wb25lbnR9IGZyb20gJy4vaW5wdXQtZ3JvdXAtaW5wdXQvaW5wdXQtZ3JvdXAtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtJbnB1dEdyb3VwU2VsZWN0Q29tcG9uZW50fSBmcm9tICcuL2lucHV0LWdyb3VwLXNlbGVjdC9pbnB1dC1ncm91cC1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHtJbnB1dEdyb3VwRGl2aWRlckNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1ncm91cC1kaXZpZGVyL2lucHV0LWdyb3VwLWRpdmlkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaW5wdXQtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEdyb3VwQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgRm9ybUZpZWxkQ29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xyXG5cclxuICBASW5wdXQoKSBuZ01vZGVsR3JvdXA6IHN0cmluZztcclxuXHJcbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbkV4dGVybmFsQ2hhbmdlJylcclxuICBASW5wdXQoKSBpdGVtczogSXRlbUlucHV0R3JvdXBEYXRhW107XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SXRlbUlucHV0R3JvdXBEYXRhW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtSW5wdXRHcm91cERhdGFbXT4oKTtcclxuXHJcbiAgQERlc3lPbklucHV0Q2hhbmdlKCdvbkV4dGVybmFsQ2hhbmdlJylcclxuICBASW5wdXQoKSBuYW1lUHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cENsYXNzZXM6IGFueTtcclxuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHNldCwgZGlmZXJlbnRlcyBmb3JtYXMgZGUgaW1wbGVtZW50YXIsIGVudW1lcmFkYXMgcG9yIHByaW9yaWRhZFxyXG4gICAqIDEpIGluY2x1aXIgb2JqZXRvIEZpZWxkc2V0RGF0YSAoaW50ZXJmYXogZXhwdWVzdGEpXHJcbiAgICogMikgaW5jbHVpciB0ZW1wbGF0ZSBsZWdlbmRcclxuICAgKiAzKSBpbmNsdWlyIGxlZ2VuZERhdGEgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1bmEgbGVnZW5kYSBjb24gbG9zIHBhcmFtZXRyb3MgcGFzYWRvcyAgKGludGVyZmF6IGV4cHVlc3RhKVxyXG4gICAqIDQpIGluY2x1aXIgbGVnZW5kVGV4dCAtIGluY2x1aXIgdW4gZmllbGRzZXQgY29uIHVuIHRleHRvIGVuIGxhIGxlZ2VuZGFcclxuICAgKi9cclxuICBASW5wdXQoKSBmaWVsZHNldERhdGE6IEZpZWxkc2V0RGF0YTtcclxuICBASW5wdXQoKSBsZWdlbmRSZWY6IFRlbXBsYXRlUmVmPExlZ2VuZENvbXBvbmVudD47XHJcbiAgQElucHV0KCkgbGVnZW5kRGF0YTogTGVnZW5kRGF0YTtcclxuICBASW5wdXQoKSBsZWdlbmRUZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oSW5wdXRHcm91cEl0ZW1Db21wb25lbnQpIGl0ZW1zQ29tcG9uZW50czogUXVlcnlMaXN0PElucHV0R3JvdXBJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRmllbGRzZXRQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKExlZ2VuZENvbXBvbmVudCkgbGVnZW5kQ29tcG9uZW50OiBMZWdlbmRDb21wb25lbnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2lubmVySHRtbCcsIHsgc3RhdGljOiB0cnVlIH0pIGlubmVySHRtbDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHJpdmF0ZSBjb250ZW50SW5pdCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbENvbnRhaW5lcjogQ29udHJvbENvbnRhaW5lcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlkKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdpZCBpcyByZXF1aXJlZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXRlbXMpIHtcclxuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRoaXMuaXRlbXMpIHtcclxuICAgICAgICBpZiAoIWl0ZW0uZGl2aWRlciAmJiAhaXRlbS5uYW1lKSB7XHJcbiAgICAgICAgICB0aHJvdyBFcnJvcignaXRlbSBuYW1lIGlzIHJlcXVpcmVkJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXRlbS5kaXZpZGVyICYmICF0aGlzLmhhc0l0ZW1MYWJlbChpdGVtKSkge1xyXG4gICAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0gbGFiZWwgaXMgcmVxdWlyZWQnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udGVudEluaXQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaXRlbXMgYXJlIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xyXG4gICAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGNvbnN0IHYgPSB0aGlzLnZhbHVlW3RoaXMuZ2V0SXRlbU5hbWUoaXRlbSldO1xyXG4gICAgICAgIGl0ZW0udmFsdWUgPSB2ID8gdiA6IG51bGw7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcclxuICAgICAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25FeHRlcm5hbENoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5jb250ZW50SW5pdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcclxuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB0aGlzLnZhbHVlW3RoaXMuZ2V0SXRlbU5hbWUoaXRlbSldID0gaXRlbS52YWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgb25JbnRlcm5hbENoYW5nZShpdGVtOiBJdGVtSW5wdXRHcm91cERhdGEsIGl0ZW1WYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBpdGVtTmFtZSA9IHRoaXMuZ2V0SXRlbU5hbWUoaXRlbSk7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnZhbHVlW2l0ZW1OYW1lXSAhPT0gaXRlbVZhbHVlKSB7XHJcbiAgICAgIHRoaXMudmFsdWVbaXRlbU5hbWVdID0gaXRlbVZhbHVlO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKGl0ZW0gaW5zdGFuY2VvZiBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIElucHV0R3JvdXBTZWxlY3RDb21wb25lbnQpIHtcclxuICAgICAgICBpdGVtLnZhbHVlQ2hhbmdlLmVtaXQoaXRlbVZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuaXRlbXMpIHtcclxuICAgICAgICBpdGVtLnZhbHVlID0gaXRlbVZhbHVlO1xyXG4gICAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGVGaWVsZHNldFBhcmFtcyhmaWVsZHNldDogRmllbGRzZXRDb21wb25lbnQpOiB2b2lkIHtcclxuICAgIGZpZWxkc2V0LmNhbGxlciA9IHRoaXMuaW5uZXJIdG1sO1xyXG4gICAgZmllbGRzZXQuZXJyb3JJZCA9IHRoaXMuZ2V0RXJyb3JJZCgpO1xyXG4gICAgZmllbGRzZXQuZGVzY3JpYmVkQnkgPSBuZXcgTWFrZUh0bWxMaXN0UGlwZSgpLnRyYW5zZm9ybShbdGhpcy5nZXRIaW50SWQoKSwgdGhpcy5nZXRFcnJvcklkKCldLCBudWxsKTtcclxuICAgIGZpZWxkc2V0LnJvbGUgPSAnZ3JvdXAnO1xyXG4gICAgZmllbGRzZXQuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBNw6l0b2RvcyBwYXJhIHByb3BvcmNpb25hciBkYXRvc1xyXG4gICAqL1xyXG4gIGdldEl0ZW1zKCk6IEl0ZW1JbnB1dEdyb3VwRGF0YVtdIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zQ29tcG9uZW50cyAmJiB0aGlzLml0ZW1zQ29tcG9uZW50cy5sZW5ndGggPyB0aGlzLml0ZW1zQ29tcG9uZW50cy50b0FycmF5KCkgOiB0aGlzLml0ZW1zO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUxhYmVsUmVmKGl0ZW06IEl0ZW1JbnB1dEdyb3VwRGF0YSk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIElucHV0R3JvdXBTZWxlY3RDb21wb25lbnQgPyBpdGVtLmxhYmVsUmVmIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1MYWJlbERhdGEoaXRlbTogSXRlbUlucHV0R3JvdXBEYXRhKTogTGFiZWxEYXRhIHtcclxuICAgIHJldHVybiBpdGVtLmxhYmVsRGF0YSA/IGl0ZW0ubGFiZWxEYXRhIDogeyB0ZXh0OiBpdGVtLmxhYmVsVGV4dCB9O1xyXG4gIH1cclxuXHJcbiAgaGFzRmllbGRzZXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISEodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpIHx8IHRoaXMuaGFzTGVnZW5kQ29tcG9uZW50KCkgfHwgdGhpcy5sZWdlbmRSZWYgfHwgdGhpcy5maWVsZHNldERhdGFcclxuICAgICAgfHwgKHRoaXMubGVnZW5kRGF0YSAmJiAodGhpcy5sZWdlbmREYXRhLnRleHQgfHwgdGhpcy5sZWdlbmREYXRhLmh0bWwpKSB8fCB0aGlzLmxlZ2VuZFRleHQpO1xyXG4gIH1cclxuXHJcbiAgaGFzRmllbGRzZXRDb21wb25lbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmZpZWxkc2V0Q29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgaGFzTGVnZW5kQ29tcG9uZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5sZWdlbmRDb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtTmFtZShpdGVtOiBJdGVtSW5wdXRHcm91cERhdGEpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZVByZWZpeCA/IHRoaXMubmFtZVByZWZpeCArICctJyArIGl0ZW0ubmFtZSA6IGl0ZW0ubmFtZTtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1TZWxlY3RPcHRpb25zKGl0ZW06IEl0ZW1JbnB1dEdyb3VwRGF0YSk6IFNlbGVjdEl0ZW1EYXRhW10ge1xyXG4gICAgcmV0dXJuIGl0ZW0gaW5zdGFuY2VvZiBJbnB1dEdyb3VwU2VsZWN0Q29tcG9uZW50ID9cclxuICAgICAgaXRlbS5zZWxlY3RJdGVtQ29tcG9uZW50TGlzdC50b0FycmF5KCkgOiBpdGVtLnNlbGVjdEl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbURpdmlkZXJUZW1wbGF0ZShpdGVtOiBJdGVtSW5wdXRHcm91cERhdGEpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiBpdGVtLmRpdmlkZXIgaW5zdGFuY2VvZiBJbnB1dEdyb3VwRGl2aWRlckNvbXBvbmVudCA/IGl0ZW0uZGl2aWRlci5kaXZpZGVyQ29udGVudCA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtRGl2aWRlckh0bWwoaXRlbTogSXRlbUlucHV0R3JvdXBEYXRhKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpdGVtLmRpdmlkZXIuaHRtbCA/IGl0ZW0uZGl2aWRlci5odG1sIDogYDxwPiR7IFN0cmluZ1V0aWxzLmVzY2FwZUh0bWwoaXRlbS5kaXZpZGVyLnRleHQpIH08L3A+YDtcclxuICB9XHJcblxyXG4gIGlzU2VsZWN0SXRlbShpdGVtOiBJdGVtSW5wdXRHcm91cERhdGEpOiBib29sZWFuIHtcclxuICAgIGxldCBoYXNTZWxlY3RJdGVtcztcclxuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgSW5wdXRHcm91cFNlbGVjdENvbXBvbmVudCkge1xyXG4gICAgICBoYXNTZWxlY3RJdGVtcyA9IGl0ZW0uc2VsZWN0SXRlbUNvbXBvbmVudExpc3QgJiYgaXRlbS5zZWxlY3RJdGVtQ29tcG9uZW50TGlzdC5sZW5ndGggPiAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaGFzU2VsZWN0SXRlbXMgPSBpdGVtLnNlbGVjdEl0ZW1zO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW0uaXNTZWxlY3QgJiYgaGFzU2VsZWN0SXRlbXM7XHJcbiAgfVxyXG5cclxuICBoYXNJdGVtTGFiZWwoaXRlbTogSXRlbUlucHV0R3JvdXBEYXRhKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISEoKGl0ZW0ubGFiZWxEYXRhICYmIChpdGVtLmxhYmVsRGF0YS50ZXh0IHx8IGl0ZW0ubGFiZWxEYXRhLmh0bWwpKSB8fCBpdGVtLmxhYmVsVGV4dCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -197,7 +197,7 @@ export class RadiosComponent extends FormFieldComponent {
|
|
|
197
197
|
RadiosComponent.decorators = [
|
|
198
198
|
{ type: Component, args: [{
|
|
199
199
|
selector: 'desy-radios',
|
|
200
|
-
template: "<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error': (hasErrorsMessage() || formGroupClasses == 'c-form-group--error') }\">\r\n\r\n <ng-container *ngIf=\"hasFieldsetComponent()\">\r\n <ng-content select=\"desy-fieldset\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasFieldsetComponent()\">\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n [role]=\"fieldsetData.role\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && hasLegendComponent()\"\r\n [legendRef]=\"legendTemplate\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\r\n <ng-template #legendTemplate>\r\n <ng-content select=\"desy-legend\"></ng-content>\r\n </ng-template>\r\n </desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngIf=\"hasHintComponent()\">\r\n <ng-content select=\"desy-hint\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasHintComponent()\">\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\r\n <ng-content select=\"desy-error-message\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n </ng-container>\r\n\r\n\r\n <div class=\"c-radios\" [ngClass]=\"classes\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngIf=\"radioComponentItems && radioComponentItems.length > 0\">\r\n <ng-content select=\"desy-radio-item\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(radioComponentItems && radioComponentItems.length > 0) && items\">\r\n <desy-radio-item *ngFor=\"let item of items; index as i\"\r\n [id]=\"item.id\"\r\n [disabled]=\"item.disabled\"\r\n [classes]=\"item.classes\"\r\n [value]=\"item.value\"\r\n [(checked)]=\"item.checked\"\r\n [conditional]=\"item.conditional\"\r\n [divider]=\"item.divider\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\">\r\n <desy-label [text]=\"item.text\" [html]=\"item.html\"\r\n [classes]=\"item.labelData ? item.labelData.classes : null\"\r\n [role]=\"item.labelData ? item.labelData.role : null\"\r\n [ariaLabel]=\"item.labelData ? item.labelData.ariaLabel : null\"\r\n [ariaDescribedBy]=\"item.labelData ? item.labelData.ariaDescribedBy: null\"\r\n [ariaLabelledBy]=\"item.labelData ? item.labelData.ariaLabelledBy : null\"\r\n [ariaHidden]=\"item.labelData ? item.labelData.ariaHidden : null\"\r\n [ariaDisabled]=\"item.labelData ? item.labelData.ariaDisabled : null\"\r\n [ariaControls]=\"item.labelData ? item.labelData.ariaControls : null\"\r\n [ariaCurrent]=\"item.labelData ? item.labelData.ariaCurrent : null\"\r\n [ariaLive]=\"item.labelData ? item.labelData.ariaLive : null\"\r\n [ariaExpanded]=\"item.labelData ? item.labelData.ariaExpanded : null\"\r\n [ariaErrorMessage]=\"item.labelData ? item.labelData.ariaErrorMessage : null\"\r\n [ariaHasPopup]=\"item.labelData ? item.labelData.ariaHasPopup : null\"\r\n [tabindex]=\"tabindex ? item.labelData.tabindex : null\"></desy-label>\r\n <desy-hint *ngIf=\"item.hintData && (item.hintData.text || item.hintData.html)\"\r\n [text]=\"item.hintData.text\"\r\n [html]=\"item.hintData.html\"\r\n [classes]=\"item.hintData.classes\"\r\n [role]=\"item.hintData.role\"\r\n [ariaLabel]=\"item.hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"item.hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"item.hintData.ariaHidden\"\r\n [ariaDisabled]=\"item.hintData.ariaDisabled\"\r\n [ariaControls]=\"item.hintData.ariaControls\"\r\n [ariaCurrent]=\"item.hintData.ariaCurrent\"\r\n [ariaLive]=\"item.hintData.ariaLive\"\r\n [ariaExpanded]=\"item.hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.hintData.ariaHasPopup\"\r\n [tabindex]=\"item.hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!item.hintData && item.hintText\" [text]=\"item.hintText\"></desy-hint>\r\n <desy-content *ngIf=\"item.conditionalHtml\">\r\n <ng-container *ngTemplateOutlet=\"item.conditionalHtml\"></ng-container>\r\n </desy-content>\r\n </desy-radio-item>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n",
|
|
200
|
+
template: "<div [class]=\"['c-form-group', formGroupClasses] | makeHtmlList\"\r\n [ngClass]=\"{'c-form-group--error': (hasErrorsMessage() || formGroupClasses == 'c-form-group--error') }\">\r\n\r\n <ng-container *ngIf=\"hasFieldsetComponent()\">\r\n <ng-content select=\"desy-fieldset\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasFieldsetComponent()\">\r\n <desy-fieldset *ngIf=\"fieldsetData\"\r\n [classes]=\"fieldsetData.classes\"\r\n [id]=\"fieldsetData.id\"\r\n [legendData]=\"fieldsetData.legend\"\r\n [headingLevel]=\"fieldsetData.headingLevel\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[fieldsetData.describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n [role]=\"fieldsetData.role\"\r\n [ariaLabel]=\"fieldsetData.ariaLabel\"\r\n [ariaLabelledBy]=\"fieldsetData.ariaLabelledBy\"\r\n [ariaHidden]=\"fieldsetData.ariaHidden\"\r\n [ariaDisabled]=\"fieldsetData.ariaDisabled\"\r\n [ariaControls]=\"fieldsetData.ariaControls\"\r\n [ariaCurrent]=\"fieldsetData.ariaCurrent\"\r\n [ariaLive]=\"fieldsetData.ariaLive\"\r\n [ariaExpanded]=\"fieldsetData.ariaExpanded\"\r\n [ariaHasPopup]=\"fieldsetData.ariaHasPopup\"\r\n [tabindex]=\"fieldsetData.tabindex\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && hasLegendComponent()\"\r\n [legendRef]=\"legendTemplate\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\">\r\n <ng-template #legendTemplate>\r\n <ng-content select=\"desy-legend\"></ng-content>\r\n </ng-template>\r\n </desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && legendRef\"\r\n [legendRef]=\"legendRef\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && legendData\"\r\n [legendData]=\"{text: legendData.text, html: legendData.html, classes: legendData.classes, isPageHeading: legendData.isPageHeading}\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n <desy-fieldset *ngIf=\"!fieldsetData && !hasLegendComponent() && !legendRef && !legendData && legendText\"\r\n [legendText]=\"legendText\"\r\n [caller]=\"innerHtml\"\r\n [errorId]=\"getErrorId()\"\r\n [describedBy]=\"[ getHintId(), getErrorId()] | makeHtmlList:null\"></desy-fieldset>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!hasFieldset()\">\r\n <ng-container *ngTemplateOutlet=\"innerHtml\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #innerHtml>\r\n <ng-container *ngIf=\"hasHintComponent()\">\r\n <ng-content select=\"desy-hint\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasHintComponent()\">\r\n <ng-container *ngTemplateOutlet=\"hintRef\"></ng-container>\r\n <desy-hint *ngIf=\"!hintRef && hintData\"\r\n [id]=\"getHintId()\"\r\n [text]=\"hintData.text\"\r\n [html]=\"hintData.html\"\r\n [classes]=\"hintData.classes\"\r\n [role]=\"hintData.role\"\r\n [ariaLabel]=\"hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"hintData.ariaHidden\"\r\n [ariaDisabled]=\"hintData.ariaDisabled\"\r\n [ariaControls]=\"hintData.ariaControls\"\r\n [ariaCurrent]=\"hintData.ariaCurrent\"\r\n [ariaLive]=\"hintData.ariaLive\"\r\n [ariaExpanded]=\"hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"hintData.ariaHasPopup\"\r\n [tabindex]=\"hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!hintRef && !hintData && hintText\" [text]=\"hintText\" [id]=\"getHintId()\"></desy-hint>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasErrorMessageComponent()\">\r\n <ng-content select=\"desy-error-message\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!hasErrorMessageComponent()\">\r\n <ng-container *ngTemplateOutlet=\"errorMessageRef\"></ng-container>\r\n <desy-error-message *ngIf=\"!errorMessageRef && errorMessageData\"\r\n [id]=\"getErrorId()\"\r\n [text]=\"errorMessageData.text\"\r\n [html]=\"errorMessageData.html\"\r\n [classes]=\"errorMessageData.classes\"\r\n [visuallyHiddenText]=\"errorMessageData.visuallyHiddenText\"\r\n [role]=\"errorMessageData.role\"\r\n [ariaLabel]=\"errorMessageData.ariaLabel\"\r\n [ariaDescribedBy]=\"errorMessageData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"errorMessageData.ariaLabelledBy\"\r\n [ariaHidden]=\"errorMessageData.ariaHidden\"\r\n [ariaDisabled]=\"errorMessageData.ariaDisabled\"\r\n [ariaControls]=\"errorMessageData.ariaControls\"\r\n [ariaCurrent]=\"errorMessageData.ariaCurrent\"\r\n [ariaLive]=\"errorMessageData.ariaLive\"\r\n [ariaExpanded]=\"errorMessageData.ariaExpanded\"\r\n [ariaErrorMessage]=\"errorMessageData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"errorMessageData.ariaHasPopup\"\r\n [tabindex]=\"errorMessageData.tabindex\"></desy-error-message>\r\n <desy-error-message *ngIf=\"!errorMessageRef && !errorMessageData && errorMessageText\"\r\n [text]=\"errorMessageText\" [id]=\"getErrorId()\"></desy-error-message>\r\n </ng-container>\r\n\r\n\r\n <div class=\"c-radios\" [ngClass]=\"classes\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : null\"\r\n [attr.aria-describedby]=\"ariaDescribedBy ? ariaDescribedBy : null\"\r\n [attr.aria-labelledby]=\"ariaLabelledBy ? ariaLabelledBy : null\"\r\n [attr.aria-hidden]=\"ariaHidden ? ariaHidden : null\"\r\n [attr.aria-disabled]=\"ariaDisabled ? ariaDisabled : null\"\r\n [attr.aria-controls]=\"ariaControls ? ariaControls : null\"\r\n [attr.aria-current]=\"ariaCurrent ? ariaCurrent : null\"\r\n [attr.aria-live]=\"ariaLive ? ariaLive : null\"\r\n [attr.aria-expanded]=\"ariaExpanded ? ariaExpanded : null\"\r\n [attr.aria-errormessage]=\"ariaErrorMessage ? ariaErrorMessage : null\"\r\n [attr.aria-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n\r\n <ng-container *ngIf=\"radioComponentItems && radioComponentItems.length > 0\">\r\n <ng-content select=\"desy-radio-item\"></ng-content>\r\n </ng-container>\r\n <ng-container *ngIf=\"!(radioComponentItems && radioComponentItems.length > 0) && items\">\r\n <desy-radio-item *ngFor=\"let item of items; index as i\"\r\n [id]=\"item.id\"\r\n [disabled]=\"item.disabled\"\r\n [classes]=\"item.classes\"\r\n [value]=\"item.value\"\r\n [(checked)]=\"item.checked\"\r\n [conditional]=\"item.conditional\"\r\n [divider]=\"item.divider\"\r\n\r\n [role]=\"item.role\"\r\n [ariaLabel]=\"item.ariaLabel\"\r\n [ariaDescribedBy]=\"item.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.ariaLabelledBy\"\r\n [ariaHidden]=\"item.ariaHidden\"\r\n [ariaDisabled]=\"item.ariaDisabled\"\r\n [ariaControls]=\"item.ariaControls\"\r\n [ariaCurrent]=\"item.ariaCurrent\"\r\n [ariaLive]=\"item.ariaLive\"\r\n [ariaExpanded]=\"item.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.ariaHasPopup\"\r\n [tabindex]=\"item.tabindex\">\r\n <desy-label [text]=\"item.text\" [html]=\"item.html\"\r\n [classes]=\"item.labelData ? item.labelData.classes : null\"\r\n [role]=\"item.labelData ? item.labelData.role : null\"\r\n [ariaLabel]=\"item.labelData ? item.labelData.ariaLabel : null\"\r\n [ariaDescribedBy]=\"item.labelData ? item.labelData.ariaDescribedBy: null\"\r\n [ariaLabelledBy]=\"item.labelData ? item.labelData.ariaLabelledBy : null\"\r\n [ariaHidden]=\"item.labelData ? item.labelData.ariaHidden : null\"\r\n [ariaDisabled]=\"item.labelData ? item.labelData.ariaDisabled : null\"\r\n [ariaControls]=\"item.labelData ? item.labelData.ariaControls : null\"\r\n [ariaCurrent]=\"item.labelData ? item.labelData.ariaCurrent : null\"\r\n [ariaLive]=\"item.labelData ? item.labelData.ariaLive : null\"\r\n [ariaExpanded]=\"item.labelData ? item.labelData.ariaExpanded : null\"\r\n [ariaErrorMessage]=\"item.labelData ? item.labelData.ariaErrorMessage : null\"\r\n [ariaHasPopup]=\"item.labelData ? item.labelData.ariaHasPopup : null\"\r\n [tabindex]=\"tabindex ? item.labelData.tabindex : null\"></desy-label>\r\n <desy-hint *ngIf=\"item.hintData && (item.hintData.text || item.hintData.html)\"\r\n [text]=\"item.hintData.text\"\r\n [html]=\"item.hintData.html\"\r\n [classes]=\"item.hintData.classes\"\r\n [role]=\"item.hintData.role\"\r\n [ariaLabel]=\"item.hintData.ariaLabel\"\r\n [ariaDescribedBy]=\"item.hintData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"item.hintData.ariaLabelledBy\"\r\n [ariaHidden]=\"item.hintData.ariaHidden\"\r\n [ariaDisabled]=\"item.hintData.ariaDisabled\"\r\n [ariaControls]=\"item.hintData.ariaControls\"\r\n [ariaCurrent]=\"item.hintData.ariaCurrent\"\r\n [ariaLive]=\"item.hintData.ariaLive\"\r\n [ariaExpanded]=\"item.hintData.ariaExpanded\"\r\n [ariaErrorMessage]=\"item.hintData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"item.hintData.ariaHasPopup\"\r\n [tabindex]=\"item.hintData.tabindex\"></desy-hint>\r\n <desy-hint *ngIf=\"!item.hintData && item.hintText\" [text]=\"item.hintText\"></desy-hint>\r\n <desy-content *ngIf=\"item.conditionalHtml\">\r\n <ng-container *ngTemplateOutlet=\"item.conditionalHtml\"></ng-container>\r\n </desy-content>\r\n </desy-radio-item>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n",
|
|
201
201
|
providers: [
|
|
202
202
|
{
|
|
203
203
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -239,4 +239,4 @@ __decorate([
|
|
|
239
239
|
__decorate([
|
|
240
240
|
DesyContentChild()
|
|
241
241
|
], RadiosComponent.prototype, "legendComponent", void 0);
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9yYWRpb3MvcmFkaW9zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVPLFNBQVMsRUFDdEIsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUczRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQWE1RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBdUI7SUFYNUQ7O1FBbUNZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFtQnBELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBa045QixDQUFDO0lBaE5DLFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxD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LEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO2dDQUdMLGVBQWUsU0FBQyxpQkFBaUI7OEJBR2pDLGVBQWUsU0FBQyxlQUFlO2tDQUUvQixlQUFlLFNBQUMsa0JBQWtCO3dCQUVsQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTttQ0FDdkMsWUFBWSxTQUFDLGtCQUFrQjs7QUF2QnZCO0lBRFIsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7aURBQ1o7QUFHakI7SUFEUixpQkFBaUIsQ0FBQyxjQUFjLENBQUM7NkNBQ1o7QUFZYztJQURuQyxnQkFBZ0IsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFDLENBQUM7MERBQ1E7QUFHdkM7SUFEakMsZ0JBQWdCLEVBQUU7d0RBQ2dEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRG9DaGVjayxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtGaWVsZHNldERhdGEsIEl0ZW1SYWRpb0RhdGEsIExlZ2VuZERhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge0xlZ2VuZENvbXBvbmVudH0gZnJvbSAnLi4vZmllbGRzZXQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1GaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmFkaW9JdGVtQ29tcG9uZW50fSBmcm9tICcuL3JhZGlvLWl0ZW0vcmFkaW8taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tICcuLi9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01ha2VIdG1sTGlzdFBpcGV9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9tYWtlLWh0bWwtbGlzdC5waXBlJztcclxuaW1wb3J0IHtIaW50Q29tcG9uZW50fSBmcm9tICcuLi9oaW50L2hpbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFcnJvck1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXJhZGlvcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb3NDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvc0NvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgRG9DaGVjaywgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHNldCwgZGlmZXJlbnRlcyBmb3JtYXMgZGUgaW1wbGVtZW50YXIsIGVudW1lcmFkYXMgcG9yIHByaW9yaWRhZFxyXG4gICAqIDEpIGluY2x1aXIgY29tcG9uZW50ZSBGaWVsZHNldENvbXBvbmVudFxyXG4gICAqIDIpIGluY2x1aXIgb2JqZXRvIEZpZWxkc2V0RGF0YSAoaW50ZXJmYXogZXhwdWVzdGEpXHJcbiAgICogMykgaW5jbHVpciBjb21wb25lbnRlIExlZ2VuZENvbXBvbmVudFxyXG4gICAqIDQpIGluY2x1aXIgdGVtcGxhdGUgbGVnZW5kXHJcbiAgICogNSkgaW5jbHVpciBsZWdlbmREYXRhIC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW5hIGxlZ2VuZGEgY29uIGxvcyBwYXJhbWV0cm9zIHBhc2Fkb3MgIChpbnRlcmZheiBleHB1ZXN0YSlcclxuICAgKiA2KSBpbmNsdWlyIGxlZ2VuZFRleHQgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1biB0ZXh0byBlbiBsYSBsZWdlbmRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmllbGRzZXREYXRhOiBGaWVsZHNldERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kUmVmOiBUZW1wbGF0ZVJlZjxMZWdlbmRDb21wb25lbnQ+O1xyXG4gIEBJbnB1dCgpIGxlZ2VuZERhdGE6IExlZ2VuZERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kVGV4dDogc3RyaW5nO1xyXG5cclxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uSWRQcmVmaXhDaGFuZ2UnKVxyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25OYW1lQ2hhbmdlJylcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBJdGVtUmFkaW9EYXRhW107XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtUmFkaW9EYXRhW10+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cENsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBoYXNEaXZpZGVyczogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoYXNFcnJvcjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGVzY3JpYmVkQnk6IHN0cmluZztcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRmllbGRzZXRQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKExlZ2VuZENvbXBvbmVudCkgbGVnZW5kQ29tcG9uZW50OiBMZWdlbmRDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmFkaW9JdGVtQ29tcG9uZW50KSByYWRpb0NvbXBvbmVudEl0ZW1zOiBRdWVyeUxpc3Q8UmFkaW9JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5uZXJIdG1sJywgeyBzdGF0aWM6IHRydWUgfSkgaW5uZXJIdG1sOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGRyZW4oUmFkaW9JdGVtQ29tcG9uZW50KSByYWRpb0NvbXBvbmVudEl0ZW1zMjogUXVlcnlMaXN0PFJhZGlvSXRlbUNvbXBvbmVudD47XHJcblxyXG4gIHByaXZhdGUgbmV4dFZhbHVlID0gbnVsbDtcclxuICBwcml2YXRlIHVwZGF0ZUNoZWtib3hJZHMgPSBmYWxzZTtcclxuICBwcml2YXRlIGNvbnRlbnRJbml0ID0gZmFsc2U7XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5leHRWYWx1ZSAhPT0gbnVsbCAmJiAodGhpcy5uZXh0VmFsdWUgIT09ICcnIHx8ICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09ICcnKSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubmV4dFZhbHVlO1xyXG4gICAgICB0aGlzLm5leHRWYWx1ZSA9IG51bGw7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZUl0ZW1zID0gdGhpcy51cGRhdGVSYWRpb0l0ZW1zQ2hlY2tlZCgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpICA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICBpZiAodXBkYXRlSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnVwZGF0ZUNoZWtib3hJZHMpIHtcclxuICAgICAgY29uc3QgY2hlY2tib3hJdGVtcyA9IHRoaXMuZ2V0UmFkaW9JdGVtcygpO1xyXG4gICAgICBpZiAoY2hlY2tib3hJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY2hlY2tib3hJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gaXRlbS51cGRhdGVSYWRpb0lkKGluZGV4KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW1zIGFyZSByZXF1aXJlZCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlQ2hla2JveElkcyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ25hbWUgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnRlbnRJbml0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHdyaXRlVmFsdWUgZGUgRm9ybUZpZWxkIHBhcmEgZ2VzdGlvbmFyIGVuIHVuIMO6bmljbyBwdW50byBlbCB2YWxvciBkZSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBudWV2byB2YWxvciBhIGVzdGFibGVjZXJcclxuICAgKi9cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMubmV4dFZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklkUHJlZml4Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGVudEluaXQpIHtcclxuICAgICAgdGhpcy5tYXJrRm9yVXBkYXRlQ2hlY2tib3hJZHMoKTtcclxuICAgIH1cclxuICAgIHRoaXMucHJvcGFnYXRlTmV3SWRQcmVmaXhWYWx1ZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uTmFtZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0ICYmICF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ25hbWUgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb250ZW50SW5pdCkge1xyXG4gICAgICB0aGlzLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucHJvcGFnYXRlTmV3SWRQcmVmaXhWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0dWFsaXphIGxvcyBjb21wb25lbnRlcyBleHRlcm5vcyBxdWUgdGllbmVuIHZhbG9yZXMgZGVwZW5kaWVudGVzIGRlIGlkUHJlZml4XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHByb3BhZ2F0ZU5ld0lkUHJlZml4VmFsdWUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oaW50Q29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVIaW50UGFyYW1zKHRoaXMuaGludENvbXBvbmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXModGhpcy5lcnJvck1lc3NhZ2VDb21wb25lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsIGhhY2VyIGVsIG92ZXJyaWRlIGRlIGhpbnQgbyBlcnJvciB5YSBzZSBhcGxpY2Egc29icmUgZWwgZmllbGRzZXQsIHBvciBsbyBxdWUgc8OzbG8gZXMgbmVjZXNhcmlvIGFwbGljYXJsbyBkaXJlY3RhbWVudGVcclxuICAgIC8vIHNvYnJlIGVsIGZpZWxkc2V0IGN1YW5kbyBuaW5ndW5vIGRlIGVzdG9zIGV4aXN0ZVxyXG4gICAgaWYgKCF0aGlzLmhpbnRDb21wb25lbnQgJiYgIXRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMuZmllbGRzZXRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5vdmVycmlkZUZpZWxkc2V0UGFyYW1zKHRoaXMuZmllbGRzZXRDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFya0ZvclVwZGF0ZUNoZWNrYm94SWRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVDaGVrYm94SWRzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdHVhbGl6YSBlbCBlc3RhZG8gZGUgbG9zIGl0ZW1zIHNlZ8O6biBlbCB2YWxvciBhc2lnbmFkbyBhbCBjb21wb25lbnRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVSYWRpb0l0ZW1zQ2hlY2tlZCgpOiBib29sZWFuIHtcclxuICAgIGxldCBpdGVtc1VwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGNvbnN0IGNoZWNrYm94SXRlbXMgPSB0aGlzLmdldFJhZGlvSXRlbXMoKTtcclxuICAgIGlmIChjaGVja2JveEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY2hlY2tib3hJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhbHVlID09PSB0aGlzLnZhbHVlICYmICFpdGVtLmxhc3RDaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnNldENoZWNrZWQodHJ1ZSk7XHJcbiAgICAgICAgICBpdGVtc1VwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS52YWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiBpdGVtLmxhc3RDaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnNldENoZWNrZWQoZmFsc2UpO1xyXG4gICAgICAgICAgaXRlbXNVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1zVXBkYXRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdHVhbGl6YSBlbCB2YWxvciBjdWFuZG8gc2UgcHJvZHVjZSB1biBjYW1iaW8gZW4gbG9zIGl0ZW1zLCB0YW50byBpbnRlcm5vIGNvbW8gZXh0ZXJub1xyXG4gICAqL1xyXG4gIHVwZGF0ZVZhbHVlRnJvbVJhZGlvSXRlbXMoKTogdm9pZCB7XHJcblxyXG4gICAgLypcclxuICAgICAqIFNlIHJlYWxpemEgZGVudHJvIGRlIHVuIHRpbWVvdXQgcG9ycXVlLCBhdW5xdWUgbG9zIGNvbXBvbmVudGVzIGl0ZW1zIHNlIGhheWFuIGluaWNpYWxpemFkbywgZW4gZXN0ZSBjb21wb25lbnRlIHB1ZWRlIHNlciBxdWUgdG9kYXbDrWFcclxuICAgICAqIG5vIHNlIGRldGVjdGVuLCB5IHBvciB0YW50byBlbCBnZXRDaGVja2JveEl0ZW1zIG5vIGRldnVlbHZhIGxhIGxpc3RhIGNvcnJlY3RhLlxyXG4gICAgICovXHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRSYWRpb0l0ZW1zKCk7XHJcbiAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwICYmIGl0ZW1zLmZpbmRJbmRleChpdGVtID0+ICFpdGVtLmlzSW5pdCgpICYmICFpdGVtLmRpdmlkZXIpIDwgMCkge1xyXG4gICAgICAgIGNvbnN0IGNoZWNrZWRJdGVtID0gaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaXNJbnB1dENoZWNrZWQoKSAmJiAhaXRlbS5kaXZpZGVyKTtcclxuICAgICAgICB0aGlzLm5leHRWYWx1ZSA9IGNoZWNrZWRJdGVtID8gY2hlY2tlZEl0ZW0udmFsdWUgOiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWVtcGxhemFyIGVsIGNvbnRlbmlkbyBkZWwgZmllbGRzZXQsIGxhYmVsLCBoaW50IG8gZXJyb3JtZXNzYWdlXHJcbiAgICovXHJcblxyXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBmaWVsZHNldC5jYWxsZXIgPSB0aGlzLmlubmVySHRtbDtcclxuICAgIGZpZWxkc2V0LmVycm9ySWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gbmV3IE1ha2VIdG1sTGlzdFBpcGUoKS50cmFuc2Zvcm0oW3RoaXMuZ2V0SGludElkKCksIHRoaXMuZ2V0RXJyb3JJZCgpXSwgbnVsbCk7XHJcbiAgICBmaWVsZHNldC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZUhpbnRQYXJhbXMoaGludDogSGludENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgaGludC5pZCA9IHRoaXMuZ2V0SGludElkKCk7XHJcbiAgICBoaW50LmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpKSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVGaWVsZHNldFBhcmFtcyh0aGlzLmZpZWxkc2V0Q29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlRXJyb3JNZXNzYWdlUGFyYW1zKGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBlcnJvck1lc3NhZ2UuaWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIGVycm9yTWVzc2FnZS5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSkge1xyXG4gICAgICB0aGlzLm92ZXJyaWRlRmllbGRzZXRQYXJhbXModGhpcy5maWVsZHNldENvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUhpbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpKSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVGaWVsZHNldFBhcmFtcyh0aGlzLmZpZWxkc2V0Q29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGVsZXRlRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSkge1xyXG4gICAgICB0aGlzLm92ZXJyaWRlRmllbGRzZXRQYXJhbXModGhpcy5maWVsZHNldENvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLypcclxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWN1cGVyYXIgdmFsb3JlcyBjb211bmVzXHJcbiAgICovXHJcblxyXG4gIGhhc0ZpZWxkc2V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSB8fCB0aGlzLmhhc0xlZ2VuZENvbXBvbmVudCgpIHx8IHRoaXMubGVnZW5kUmVmIHx8IHRoaXMuZmllbGRzZXREYXRhIHx8XHJcbiAgICAgICh0aGlzLmxlZ2VuZERhdGEgJiYgKHRoaXMubGVnZW5kRGF0YS50ZXh0IHx8IHRoaXMubGVnZW5kRGF0YS5odG1sKSkgfHwgdGhpcy5sZWdlbmRUZXh0KTtcclxuICB9XHJcblxyXG4gIGhhc0ZpZWxkc2V0Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIGhhc0xlZ2VuZENvbXBvbmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubGVnZW5kQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzRXJyb3JzTWVzc2FnZSgpID8gdGhpcy5nZXRJZFByZWZpeCgpICsgJy1lcnJvcicgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SGludElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNIaW50KCkgPyB0aGlzLmdldElkUHJlZml4KCkgKyAnLWhpbnQnIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXRSYWRpb0l0ZW1zKCk6IFJhZGlvSXRlbUNvbXBvbmVudFtdIHtcclxuICAgIGxldCBjaGVja2JveEl0ZW1zID0gW107XHJcbiAgICBpZiAodGhpcy5yYWRpb0NvbXBvbmVudEl0ZW1zICYmIHRoaXMucmFkaW9Db21wb25lbnRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrYm94SXRlbXMgPSB0aGlzLnJhZGlvQ29tcG9uZW50SXRlbXMudG9BcnJheSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhZGlvQ29tcG9uZW50SXRlbXMyICYmIHRoaXMucmFkaW9Db21wb25lbnRJdGVtczIubGVuZ3RoID4gMCkge1xyXG4gICAgICBjaGVja2JveEl0ZW1zID0gdGhpcy5yYWRpb0NvbXBvbmVudEl0ZW1zMi50b0FycmF5KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tib3hJdGVtcztcclxuICB9XHJcbn1cclxuIl19
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW9zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9yYWRpb3MvcmFkaW9zLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVPLFNBQVMsRUFDdEIsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUczRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQWE1RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBdUI7SUFYNUQ7O1FBbUNZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFtQnBELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBa045QixDQUFDO0lBaE5DLFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxD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LEtBQUs7c0JBQ0wsS0FBSzswQkFDTCxLQUFLO2dDQUdMLGVBQWUsU0FBQyxpQkFBaUI7OEJBR2pDLGVBQWUsU0FBQyxlQUFlO2tDQUUvQixlQUFlLFNBQUMsa0JBQWtCO3dCQUVsQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTttQ0FDdkMsWUFBWSxTQUFDLGtCQUFrQjs7QUF2QnZCO0lBRFIsaUJBQWlCLENBQUMsa0JBQWtCLENBQUM7aURBQ1o7QUFHakI7SUFEUixpQkFBaUIsQ0FBQyxjQUFjLENBQUM7NkNBQ1o7QUFZYztJQURuQyxnQkFBZ0IsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFDLENBQUM7MERBQ1E7QUFHdkM7SUFEakMsZ0JBQWdCLEVBQUU7d0RBQ2dEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRG9DaGVjayxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TkdfVkFMVUVfQUNDRVNTT1J9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtGaWVsZHNldERhdGEsIEl0ZW1SYWRpb0RhdGEsIExlZ2VuZERhdGF9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge0xlZ2VuZENvbXBvbmVudH0gZnJvbSAnLi4vZmllbGRzZXQvbGVnZW5kL2xlZ2VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1GaWVsZENvbXBvbmVudH0gZnJvbSAnLi4vZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UmFkaW9JdGVtQ29tcG9uZW50fSBmcm9tICcuL3JhZGlvLWl0ZW0vcmFkaW8taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ZpZWxkc2V0Q29tcG9uZW50fSBmcm9tICcuLi9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnQnO1xyXG5pbXBvcnQge01ha2VIdG1sTGlzdFBpcGV9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9waXBlcy9tYWtlLWh0bWwtbGlzdC5waXBlJztcclxuaW1wb3J0IHtIaW50Q29tcG9uZW50fSBmcm9tICcuLi9oaW50L2hpbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtFcnJvck1lc3NhZ2VDb21wb25lbnR9IGZyb20gJy4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3InO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXJhZGlvcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBSYWRpb3NDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvc0NvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgRG9DaGVjaywgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBmaWVsZHNldCwgZGlmZXJlbnRlcyBmb3JtYXMgZGUgaW1wbGVtZW50YXIsIGVudW1lcmFkYXMgcG9yIHByaW9yaWRhZFxyXG4gICAqIDEpIGluY2x1aXIgY29tcG9uZW50ZSBGaWVsZHNldENvbXBvbmVudFxyXG4gICAqIDIpIGluY2x1aXIgb2JqZXRvIEZpZWxkc2V0RGF0YSAoaW50ZXJmYXogZXhwdWVzdGEpXHJcbiAgICogMykgaW5jbHVpciBjb21wb25lbnRlIExlZ2VuZENvbXBvbmVudFxyXG4gICAqIDQpIGluY2x1aXIgdGVtcGxhdGUgbGVnZW5kXHJcbiAgICogNSkgaW5jbHVpciBsZWdlbmREYXRhIC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW5hIGxlZ2VuZGEgY29uIGxvcyBwYXJhbWV0cm9zIHBhc2Fkb3MgIChpbnRlcmZheiBleHB1ZXN0YSlcclxuICAgKiA2KSBpbmNsdWlyIGxlZ2VuZFRleHQgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1biB0ZXh0byBlbiBsYSBsZWdlbmRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmllbGRzZXREYXRhOiBGaWVsZHNldERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kUmVmOiBUZW1wbGF0ZVJlZjxMZWdlbmRDb21wb25lbnQ+O1xyXG4gIEBJbnB1dCgpIGxlZ2VuZERhdGE6IExlZ2VuZERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kVGV4dDogc3RyaW5nO1xyXG5cclxuICBARGVzeU9uSW5wdXRDaGFuZ2UoJ29uSWRQcmVmaXhDaGFuZ2UnKVxyXG4gIEBJbnB1dCgpIGlkUHJlZml4OiBzdHJpbmc7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25OYW1lQ2hhbmdlJylcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zOiBJdGVtUmFkaW9EYXRhW107XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxJdGVtUmFkaW9EYXRhW10+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cENsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBoYXNEaXZpZGVyczogYm9vbGVhbjtcclxuICBASW5wdXQoKSBoYXNFcnJvcjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGVzY3JpYmVkQnk6IHN0cmluZztcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRmllbGRzZXRQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKExlZ2VuZENvbXBvbmVudCkgbGVnZW5kQ29tcG9uZW50OiBMZWdlbmRDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oUmFkaW9JdGVtQ29tcG9uZW50KSByYWRpb0NvbXBvbmVudEl0ZW1zOiBRdWVyeUxpc3Q8UmFkaW9JdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnaW5uZXJIdG1sJywgeyBzdGF0aWM6IHRydWUgfSkgaW5uZXJIdG1sOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBWaWV3Q2hpbGRyZW4oUmFkaW9JdGVtQ29tcG9uZW50KSByYWRpb0NvbXBvbmVudEl0ZW1zMjogUXVlcnlMaXN0PFJhZGlvSXRlbUNvbXBvbmVudD47XHJcblxyXG4gIHByaXZhdGUgbmV4dFZhbHVlID0gbnVsbDtcclxuICBwcml2YXRlIHVwZGF0ZUNoZWtib3hJZHMgPSBmYWxzZTtcclxuICBwcml2YXRlIGNvbnRlbnRJbml0ID0gZmFsc2U7XHJcblxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5leHRWYWx1ZSAhPT0gbnVsbCAmJiAodGhpcy5uZXh0VmFsdWUgIT09ICcnIHx8ICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUgIT09ICcnKSkpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubmV4dFZhbHVlO1xyXG4gICAgICB0aGlzLm5leHRWYWx1ZSA9IG51bGw7XHJcbiAgICAgIGNvbnN0IHVwZGF0ZUl0ZW1zID0gdGhpcy51cGRhdGVSYWRpb0l0ZW1zQ2hlY2tlZCgpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpICA9PiB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgICAgICBpZiAodXBkYXRlSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnVwZGF0ZUNoZWtib3hJZHMpIHtcclxuICAgICAgY29uc3QgY2hlY2tib3hJdGVtcyA9IHRoaXMuZ2V0UmFkaW9JdGVtcygpO1xyXG4gICAgICBpZiAoY2hlY2tib3hJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgY2hlY2tib3hJdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4gaXRlbS51cGRhdGVSYWRpb0lkKGluZGV4KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW1zIGFyZSByZXF1aXJlZCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudXBkYXRlQ2hla2JveElkcyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ25hbWUgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnRlbnRJbml0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlIHNvYnJlc2NyaWJlIGVsIHdyaXRlVmFsdWUgZGUgRm9ybUZpZWxkIHBhcmEgZ2VzdGlvbmFyIGVuIHVuIMO6bmljbyBwdW50byBlbCB2YWxvciBkZSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB2YWx1ZSBudWV2byB2YWxvciBhIGVzdGFibGVjZXJcclxuICAgKi9cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMubmV4dFZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklkUHJlZml4Q2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGVudEluaXQpIHtcclxuICAgICAgdGhpcy5tYXJrRm9yVXBkYXRlQ2hlY2tib3hJZHMoKTtcclxuICAgIH1cclxuICAgIHRoaXMucHJvcGFnYXRlTmV3SWRQcmVmaXhWYWx1ZSgpO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uTmFtZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbnRlbnRJbml0ICYmICF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ25hbWUgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5jb250ZW50SW5pdCkge1xyXG4gICAgICB0aGlzLm1hcmtGb3JVcGRhdGVDaGVja2JveElkcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucHJvcGFnYXRlTmV3SWRQcmVmaXhWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWN0dWFsaXphIGxvcyBjb21wb25lbnRlcyBleHRlcm5vcyBxdWUgdGllbmVuIHZhbG9yZXMgZGVwZW5kaWVudGVzIGRlIGlkUHJlZml4XHJcbiAgICogQHByaXZhdGVcclxuICAgKi9cclxuICBwcml2YXRlIHByb3BhZ2F0ZU5ld0lkUHJlZml4VmFsdWUoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oaW50Q29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVIaW50UGFyYW1zKHRoaXMuaGludENvbXBvbmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVFcnJvck1lc3NhZ2VQYXJhbXModGhpcy5lcnJvck1lc3NhZ2VDb21wb25lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFsIGhhY2VyIGVsIG92ZXJyaWRlIGRlIGhpbnQgbyBlcnJvciB5YSBzZSBhcGxpY2Egc29icmUgZWwgZmllbGRzZXQsIHBvciBsbyBxdWUgc8OzbG8gZXMgbmVjZXNhcmlvIGFwbGljYXJsbyBkaXJlY3RhbWVudGVcclxuICAgIC8vIHNvYnJlIGVsIGZpZWxkc2V0IGN1YW5kbyBuaW5ndW5vIGRlIGVzdG9zIGV4aXN0ZVxyXG4gICAgaWYgKCF0aGlzLmhpbnRDb21wb25lbnQgJiYgIXRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50ICYmIHRoaXMuZmllbGRzZXRDb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5vdmVycmlkZUZpZWxkc2V0UGFyYW1zKHRoaXMuZmllbGRzZXRDb21wb25lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWFya0ZvclVwZGF0ZUNoZWNrYm94SWRzKCk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVDaGVrYm94SWRzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdHVhbGl6YSBlbCBlc3RhZG8gZGUgbG9zIGl0ZW1zIHNlZ8O6biBlbCB2YWxvciBhc2lnbmFkbyBhbCBjb21wb25lbnRlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVSYWRpb0l0ZW1zQ2hlY2tlZCgpOiBib29sZWFuIHtcclxuICAgIGxldCBpdGVtc1VwZGF0ZWQgPSBmYWxzZTtcclxuICAgIGNvbnN0IGNoZWNrYm94SXRlbXMgPSB0aGlzLmdldFJhZGlvSXRlbXMoKTtcclxuICAgIGlmIChjaGVja2JveEl0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgY2hlY2tib3hJdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnZhbHVlID09PSB0aGlzLnZhbHVlICYmICFpdGVtLmxhc3RDaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnNldENoZWNrZWQodHJ1ZSk7XHJcbiAgICAgICAgICBpdGVtc1VwZGF0ZWQgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS52YWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiBpdGVtLmxhc3RDaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnNldENoZWNrZWQoZmFsc2UpO1xyXG4gICAgICAgICAgaXRlbXNVcGRhdGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1zVXBkYXRlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFjdHVhbGl6YSBlbCB2YWxvciBjdWFuZG8gc2UgcHJvZHVjZSB1biBjYW1iaW8gZW4gbG9zIGl0ZW1zLCB0YW50byBpbnRlcm5vIGNvbW8gZXh0ZXJub1xyXG4gICAqL1xyXG4gIHVwZGF0ZVZhbHVlRnJvbVJhZGlvSXRlbXMoKTogdm9pZCB7XHJcblxyXG4gICAgLypcclxuICAgICAqIFNlIHJlYWxpemEgZGVudHJvIGRlIHVuIHRpbWVvdXQgcG9ycXVlLCBhdW5xdWUgbG9zIGNvbXBvbmVudGVzIGl0ZW1zIHNlIGhheWFuIGluaWNpYWxpemFkbywgZW4gZXN0ZSBjb21wb25lbnRlIHB1ZWRlIHNlciBxdWUgdG9kYXbDrWFcclxuICAgICAqIG5vIHNlIGRldGVjdGVuLCB5IHBvciB0YW50byBlbCBnZXRDaGVja2JveEl0ZW1zIG5vIGRldnVlbHZhIGxhIGxpc3RhIGNvcnJlY3RhLlxyXG4gICAgICovXHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRSYWRpb0l0ZW1zKCk7XHJcbiAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwICYmIGl0ZW1zLmZpbmRJbmRleChpdGVtID0+ICFpdGVtLmlzSW5pdCgpICYmICFpdGVtLmRpdmlkZXIpIDwgMCkge1xyXG4gICAgICAgIGNvbnN0IGNoZWNrZWRJdGVtID0gaXRlbXMuZmluZChpdGVtID0+IGl0ZW0uaXNJbnB1dENoZWNrZWQoKSAmJiAhaXRlbS5kaXZpZGVyKTtcclxuICAgICAgICB0aGlzLm5leHRWYWx1ZSA9IGNoZWNrZWRJdGVtID8gY2hlY2tlZEl0ZW0udmFsdWUgOiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWVtcGxhemFyIGVsIGNvbnRlbmlkbyBkZWwgZmllbGRzZXQsIGxhYmVsLCBoaW50IG8gZXJyb3JtZXNzYWdlXHJcbiAgICovXHJcblxyXG4gIG92ZXJyaWRlRmllbGRzZXRQYXJhbXMoZmllbGRzZXQ6IEZpZWxkc2V0Q29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBmaWVsZHNldC5jYWxsZXIgPSB0aGlzLmlubmVySHRtbDtcclxuICAgIGZpZWxkc2V0LmVycm9ySWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIGZpZWxkc2V0LmRlc2NyaWJlZEJ5ID0gbmV3IE1ha2VIdG1sTGlzdFBpcGUoKS50cmFuc2Zvcm0oW3RoaXMuZ2V0SGludElkKCksIHRoaXMuZ2V0RXJyb3JJZCgpXSwgbnVsbCk7XHJcbiAgICBmaWVsZHNldC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZUhpbnRQYXJhbXMoaGludDogSGludENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgaGludC5pZCA9IHRoaXMuZ2V0SGludElkKCk7XHJcbiAgICBoaW50LmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBpZiAodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpKSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVGaWVsZHNldFBhcmFtcyh0aGlzLmZpZWxkc2V0Q29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlRXJyb3JNZXNzYWdlUGFyYW1zKGVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlQ29tcG9uZW50KTogdm9pZCB7XHJcbiAgICBlcnJvck1lc3NhZ2UuaWQgPSB0aGlzLmdldEVycm9ySWQoKTtcclxuICAgIGVycm9yTWVzc2FnZS5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSkge1xyXG4gICAgICB0aGlzLm92ZXJyaWRlRmllbGRzZXRQYXJhbXModGhpcy5maWVsZHNldENvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRlbGV0ZUhpbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNGaWVsZHNldENvbXBvbmVudCgpKSB7XHJcbiAgICAgIHRoaXMub3ZlcnJpZGVGaWVsZHNldFBhcmFtcyh0aGlzLmZpZWxkc2V0Q29tcG9uZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRGVsZXRlRXJyb3JNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSkge1xyXG4gICAgICB0aGlzLm92ZXJyaWRlRmllbGRzZXRQYXJhbXModGhpcy5maWVsZHNldENvbXBvbmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLypcclxuICAgKiBGdW5jaW9uZXMgcGFyYSByZWN1cGVyYXIgdmFsb3JlcyBjb211bmVzXHJcbiAgICovXHJcblxyXG4gIGhhc0ZpZWxkc2V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHRoaXMuaGFzRmllbGRzZXRDb21wb25lbnQoKSB8fCB0aGlzLmhhc0xlZ2VuZENvbXBvbmVudCgpIHx8IHRoaXMubGVnZW5kUmVmIHx8IHRoaXMuZmllbGRzZXREYXRhIHx8XHJcbiAgICAgICh0aGlzLmxlZ2VuZERhdGEgJiYgKHRoaXMubGVnZW5kRGF0YS50ZXh0IHx8IHRoaXMubGVnZW5kRGF0YS5odG1sKSkgfHwgdGhpcy5sZWdlbmRUZXh0KTtcclxuICB9XHJcblxyXG4gIGhhc0ZpZWxkc2V0Q29tcG9uZW50KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhdGhpcy5maWVsZHNldENvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIGhhc0xlZ2VuZENvbXBvbmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMubGVnZW5kQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzRXJyb3JzTWVzc2FnZSgpID8gdGhpcy5nZXRJZFByZWZpeCgpICsgJy1lcnJvcicgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0SGludElkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNIaW50KCkgPyB0aGlzLmdldElkUHJlZml4KCkgKyAnLWhpbnQnIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldElkUHJlZml4KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pZFByZWZpeCA/IHRoaXMuaWRQcmVmaXggOiB0aGlzLm5hbWU7XHJcbiAgfVxyXG5cclxuICBnZXRSYWRpb0l0ZW1zKCk6IFJhZGlvSXRlbUNvbXBvbmVudFtdIHtcclxuICAgIGxldCBjaGVja2JveEl0ZW1zID0gW107XHJcbiAgICBpZiAodGhpcy5yYWRpb0NvbXBvbmVudEl0ZW1zICYmIHRoaXMucmFkaW9Db21wb25lbnRJdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNoZWNrYm94SXRlbXMgPSB0aGlzLnJhZGlvQ29tcG9uZW50SXRlbXMudG9BcnJheSgpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhZGlvQ29tcG9uZW50SXRlbXMyICYmIHRoaXMucmFkaW9Db21wb25lbnRJdGVtczIubGVuZ3RoID4gMCkge1xyXG4gICAgICBjaGVja2JveEl0ZW1zID0gdGhpcy5yYWRpb0NvbXBvbmVudEl0ZW1zMi50b0FycmF5KCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2hlY2tib3hJdGVtcztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
export class OptionComponent extends
|
|
1
|
+
import { Component, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { SelectItemComponent } from '../select-item/select-item.component';
|
|
3
|
+
export class OptionComponent extends SelectItemComponent {
|
|
4
4
|
}
|
|
5
5
|
OptionComponent.decorators = [
|
|
6
6
|
{ type: Component, args: [{
|
|
7
7
|
selector: 'desy-option',
|
|
8
|
-
template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>'
|
|
8
|
+
template: '<ng-template #contentTemplate><ng-content></ng-content></ng-template>',
|
|
9
|
+
providers: [{ provide: SelectItemComponent, useExisting: forwardRef(() => OptionComponent) }]
|
|
9
10
|
},] }
|
|
10
11
|
];
|
|
11
12
|
OptionComponent.propDecorators = {
|
|
12
13
|
value: [{ type: Input }],
|
|
13
|
-
text: [{ type: Input }],
|
|
14
14
|
selected: [{ type: Input }],
|
|
15
|
-
|
|
15
|
+
hidden: [{ type: Input }]
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBT3pFLE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjs7O1lBTHZELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFLHVFQUF1RTtnQkFDakYsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBQyxDQUFDO2FBQzVGOzs7b0JBR0UsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW1EYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHtTZWxlY3RJdGVtQ29tcG9uZW50fSBmcm9tICcuLi9zZWxlY3QtaXRlbS9zZWxlY3QtaXRlbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LW9wdGlvbicsXHJcbiAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI2NvbnRlbnRUZW1wbGF0ZT48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4nLFxyXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBTZWxlY3RJdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBPcHRpb25Db21wb25lbnQpfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcHRpb25Db21wb25lbnQgZXh0ZW5kcyBTZWxlY3RJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgU2VsZWN0SXRlbURhdGEge1xyXG5cclxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhpZGRlbjogYm9vbGVhbjtcclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Component, ContentChildren, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { SelectItemComponent } from '../select-item/select-item.component';
|
|
3
|
+
import { OptionComponent } from '../option/option.component';
|
|
4
|
+
export class OptionGroupComponent extends SelectItemComponent {
|
|
5
|
+
}
|
|
6
|
+
OptionGroupComponent.decorators = [
|
|
7
|
+
{ type: Component, args: [{
|
|
8
|
+
selector: 'desy-option-group',
|
|
9
|
+
template: "<p>option-group works!</p>\r\n",
|
|
10
|
+
providers: [{ provide: SelectItemComponent, useExisting: forwardRef(() => OptionGroupComponent) }]
|
|
11
|
+
},] }
|
|
12
|
+
];
|
|
13
|
+
OptionGroupComponent.propDecorators = {
|
|
14
|
+
label: [{ type: Input }],
|
|
15
|
+
items: [{ type: ContentChildren, args: [OptionComponent,] }]
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uLWdyb3VwL29wdGlvbi1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFPM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjs7O1lBTDVELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwwQ0FBNEM7Z0JBQzVDLFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBQyxDQUFDO2FBQ2pHOzs7b0JBR0UsS0FBSztvQkFFTCxlQUFlLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIGZvcndhcmRSZWYsIElucHV0LCBRdWVyeUxpc3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1NlbGVjdEl0ZW1Db21wb25lbnR9IGZyb20gJy4uL3NlbGVjdC1pdGVtL3NlbGVjdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3B0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktb3B0aW9uLWdyb3VwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3B0aW9uLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFt7cHJvdmlkZTogU2VsZWN0SXRlbUNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gT3B0aW9uR3JvdXBDb21wb25lbnQpfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcHRpb25Hcm91cENvbXBvbmVudCBleHRlbmRzIFNlbGVjdEl0ZW1Db21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCkgaXRlbXM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ContentBaseComponent } from '../../../../shared/components';
|
|
3
|
+
export class SelectItemComponent extends ContentBaseComponent {
|
|
4
|
+
}
|
|
5
|
+
SelectItemComponent.decorators = [
|
|
6
|
+
{ type: Component, args: [{
|
|
7
|
+
selector: 'desy-select-item',
|
|
8
|
+
template: "<p>select-item works!</p>\r\n"
|
|
9
|
+
},] }
|
|
10
|
+
];
|
|
11
|
+
SelectItemComponent.propDecorators = {
|
|
12
|
+
disabled: [{ type: Input }]
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtaXRlbS9zZWxlY3QtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFNbkUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjs7O1lBSjVELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qix5Q0FBMkM7YUFDNUM7Ozt1QkFHRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb250ZW50QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LXNlbGVjdC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgQ29udGVudEJhc2VDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG4iXX0=
|