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,30 @@
|
|
|
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';
|
|
3
4
|
import { FormFieldComponent } from '../form-field/form-field.component';
|
|
5
|
+
import { LegendComponent } from '../fieldset/legend/legend.component';
|
|
6
|
+
import { FieldsetComponent } from '../fieldset/fieldset.component';
|
|
7
|
+
import { DesyContentChild } from '../../../shared/decorators/desy-content-child.decorator';
|
|
8
|
+
import { DateInputDayComponent } from './date-input-day/date-input-day.component';
|
|
9
|
+
import { DateInputMonthComponent } from './date-input-month/date-input-month.component';
|
|
10
|
+
import { DateInputYearComponent } from './date-input-year/date-input-year.component';
|
|
11
|
+
import { MakeHtmlListPipe } from '../../../shared/pipes/make-html-list.pipe';
|
|
12
|
+
import { DesyOnInputChange } from '../../../shared/decorators/desy-on-input-change.decorator';
|
|
13
|
+
import { DateInputDividerComponent } from './date-input-divider/date-input-divider.component';
|
|
14
|
+
import { StringUtils } from '../../../shared/utils/string-utils';
|
|
15
|
+
import { DateInputItemComponent } from './date-input-item/date-input-item.component';
|
|
4
16
|
export class DateInputComponent extends FormFieldComponent {
|
|
5
17
|
constructor(controlContainer) {
|
|
6
18
|
super();
|
|
7
19
|
this.controlContainer = controlContainer;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
this.initDefaultItems();
|
|
11
|
-
this.checkRequired();
|
|
12
|
-
this.onExternalChange();
|
|
20
|
+
this.itemsChange = new EventEmitter();
|
|
21
|
+
this.contentInit = false;
|
|
13
22
|
}
|
|
14
23
|
ngOnChanges() {
|
|
15
|
-
this.initDefaultItems();
|
|
16
24
|
this.checkRequired();
|
|
17
|
-
|
|
25
|
+
}
|
|
26
|
+
ngAfterContentInit() {
|
|
27
|
+
this.contentInit = true;
|
|
18
28
|
}
|
|
19
29
|
initDefaultItems() {
|
|
20
30
|
if (!this.items) {
|
|
@@ -41,39 +51,70 @@ export class DateInputComponent extends FormFieldComponent {
|
|
|
41
51
|
if (!this.id) {
|
|
42
52
|
throw Error('id is required');
|
|
43
53
|
}
|
|
44
|
-
if (this.items) {
|
|
45
|
-
for (const item of this.items) {
|
|
46
|
-
if (!item.name) {
|
|
47
|
-
throw Error('item name is required');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
54
|
}
|
|
52
55
|
writeValue(value) {
|
|
53
56
|
this.value = value;
|
|
54
57
|
if (this.value) {
|
|
55
|
-
|
|
58
|
+
const items = this.getItems();
|
|
59
|
+
items.forEach(item => item.value = this.value[this.getItemName(item)]);
|
|
60
|
+
if (this.items) {
|
|
61
|
+
this.itemsChange.emit(this.items);
|
|
62
|
+
}
|
|
56
63
|
}
|
|
57
64
|
this.onChange(value);
|
|
58
65
|
}
|
|
66
|
+
overrideFieldsetParams(fieldset) {
|
|
67
|
+
fieldset.caller = this.innerHtml;
|
|
68
|
+
fieldset.errorId = this.getErrorId();
|
|
69
|
+
fieldset.describedBy = new MakeHtmlListPipe().transform([this.getHintId(), this.getErrorId()], null);
|
|
70
|
+
fieldset.role = 'group';
|
|
71
|
+
fieldset.detectChanges();
|
|
72
|
+
}
|
|
59
73
|
onExternalChange() {
|
|
74
|
+
if (!this.contentInit) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
60
77
|
if (!this.value) {
|
|
61
78
|
this.value = {};
|
|
62
79
|
}
|
|
63
|
-
|
|
64
|
-
|
|
80
|
+
const items = this.getItems();
|
|
81
|
+
items.forEach(item => this.value[this.getItemName(item)] = item.value);
|
|
82
|
+
const newVal = {};
|
|
83
|
+
Object.assign(newVal, this.value);
|
|
84
|
+
this.onChange(newVal);
|
|
65
85
|
}
|
|
66
|
-
onInternalChange(
|
|
86
|
+
onInternalChange(item, itemValue) {
|
|
87
|
+
const itemName = this.getItemName(item);
|
|
67
88
|
if (!this.value) {
|
|
68
89
|
this.value = {};
|
|
69
90
|
}
|
|
70
|
-
this.value[itemName]
|
|
71
|
-
|
|
91
|
+
if (this.value[itemName] !== itemValue) {
|
|
92
|
+
this.value[itemName] = itemValue ? +itemValue : undefined;
|
|
93
|
+
const newVal = {};
|
|
94
|
+
Object.assign(newVal, this.value);
|
|
95
|
+
this.onChange(newVal);
|
|
96
|
+
if (item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent) {
|
|
97
|
+
item.valueChange.emit(itemValue);
|
|
98
|
+
}
|
|
99
|
+
if (this.items) {
|
|
100
|
+
item.value = itemValue;
|
|
101
|
+
this.itemsChange.emit(this.items);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
72
104
|
}
|
|
73
105
|
hasFieldset() {
|
|
74
|
-
return !!(this.legendRef || this.fieldsetData
|
|
106
|
+
return !!(this.hasFieldsetComponent() || this.hasLegendComponent() || this.legendRef || this.fieldsetData
|
|
75
107
|
|| (this.legendData && (this.legendData.text || this.legendData.html)) || this.legendText);
|
|
76
108
|
}
|
|
109
|
+
hasFieldsetComponent() {
|
|
110
|
+
return !!this.fieldsetComponent;
|
|
111
|
+
}
|
|
112
|
+
hasLegendComponent() {
|
|
113
|
+
return !!this.legendComponent;
|
|
114
|
+
}
|
|
115
|
+
hasErrorMessageComponent() {
|
|
116
|
+
return !!this.errorMessageComponent;
|
|
117
|
+
}
|
|
77
118
|
getItemName(item) {
|
|
78
119
|
return this.namePrefix ? this.namePrefix + '-' + item.name : item.name;
|
|
79
120
|
}
|
|
@@ -89,11 +130,59 @@ export class DateInputComponent extends FormFieldComponent {
|
|
|
89
130
|
}
|
|
90
131
|
return labelData;
|
|
91
132
|
}
|
|
133
|
+
getItemLabelRef(item) {
|
|
134
|
+
return item instanceof DateInputDayComponent || item instanceof DateInputMonthComponent || item instanceof DateInputYearComponent ?
|
|
135
|
+
item.labelRef : null;
|
|
136
|
+
}
|
|
137
|
+
getItems() {
|
|
138
|
+
let items;
|
|
139
|
+
if (this.dateInputItemComponents && this.dateInputItemComponents.length > 0) {
|
|
140
|
+
items = this.dateInputItemComponents.toArray();
|
|
141
|
+
}
|
|
142
|
+
else if (this.items) {
|
|
143
|
+
items = this.items;
|
|
144
|
+
}
|
|
145
|
+
else if (this.contentInit) {
|
|
146
|
+
items = DateInputComponent.defaultItems;
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
items = [];
|
|
150
|
+
}
|
|
151
|
+
items.forEach(item => {
|
|
152
|
+
if (!item.name && !(item instanceof DateInputDividerComponent)) {
|
|
153
|
+
throw new Error('Item name is required');
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
return items;
|
|
157
|
+
}
|
|
158
|
+
getItemDividerTemplate(item) {
|
|
159
|
+
return item.divider instanceof DateInputDividerComponent ? item.divider.dividerContent : null;
|
|
160
|
+
}
|
|
161
|
+
getItemDividerHtml(item) {
|
|
162
|
+
return item.divider.html ? item.divider.html : `<p>${StringUtils.escapeHtml(item.divider.text)}</p>`;
|
|
163
|
+
}
|
|
92
164
|
}
|
|
165
|
+
DateInputComponent.defaultItems = [
|
|
166
|
+
{
|
|
167
|
+
name: 'day',
|
|
168
|
+
classes: 'w-14',
|
|
169
|
+
maxlength: 2
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'month',
|
|
173
|
+
classes: 'w-14',
|
|
174
|
+
maxlength: 2
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'year',
|
|
178
|
+
classes: 'w-20',
|
|
179
|
+
maxlength: 4
|
|
180
|
+
}
|
|
181
|
+
];
|
|
93
182
|
DateInputComponent.decorators = [
|
|
94
183
|
{ type: Component, args: [{
|
|
95
184
|
selector: 'desy-date-input',
|
|
96
|
-
template: "<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 <!-- date-input -->\r\n <!-- Reactive forms -->\r\n <div *ngIf=\"controlContainer && !ngModelGroup\"\r\n [formGroup]=\"controlContainer.control\"\r\n [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of items; index as i\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"{text: item.label ? item.label : (item.name | titlecase)}\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [type]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\r\n [disabled]=\"disabled ? true : null\"\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 </div>\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 [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of items; index as i\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"getItemLabel(item)\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\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]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\r\n [disabled]=\"disabled ? true : null\"\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 </div>\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 [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of items; index as i\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"getItemLabel(item)\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\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]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\r\n [disabled]=\"disabled ? true : null\"\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 </div>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n<!-- /date-input -->\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",
|
|
185
|
+
template: "\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\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 <!-- With reactive forms -->\r\n <div *ngIf=\"controlContainer && !ngModelGroup\"\r\n [formGroup]=\"controlContainer.control\"\r\n [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n <ng-container *ngIf=\"item.divider\">\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-container>\r\n <ng-container *ngIf=\"!item.divider\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"getItemLabel(item)\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [formControlName]=\"getItemName(item)\"\r\n [type]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\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 </div>\r\n </ng-container>\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 [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n \r\n <ng-container *ngIf=\"item.divider\">\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-container>\r\n <ng-container *ngIf=\"!item.divider\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"getItemLabel(item)\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\r\n [type]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\r\n [disabled]=\"disabled ? true : null\"\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 </div>\r\n </ng-container>\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 [class]=\"['flex', classes] | makeHtmlList\"\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 <ng-container *ngFor=\"let item of getItems(); index as i\">\r\n \r\n <ng-container *ngIf=\"item.divider\">\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-container>\r\n <ng-container *ngIf=\"!item.divider\">\r\n <div class=\"mr-base\">\r\n <desy-input [labelData]=\"getItemLabel(item)\"\r\n [labelRef]=\"getItemLabelRef(item)\"\r\n [id]=\"item.id ? item.id : id + '-' + item.name\"\r\n [classes]=\"['mb-0', item.classes] | makeHtmlList\"\r\n [errorId]=\"item.hasErrors ? getErrorId() : null\"\r\n [name]=\"getItemName(item)\"\r\n [ngModel]=\"item.value\" (ngModelChange)=\"onInternalChange(item, +$event)\"\r\n [type]=\"'text'\"\r\n [inputmode]=\"'numeric'\"\r\n [autocomplete]=\"item.autocomplete\"\r\n [pattern]=\"item.pattern ? item.pattern : '[0-9]*'\"\r\n [disabled]=\"disabled ? true : null\"\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 </div>\r\n </ng-container>\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 [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 </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",
|
|
97
186
|
providers: [
|
|
98
187
|
{
|
|
99
188
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -109,14 +198,31 @@ DateInputComponent.ctorParameters = () => [
|
|
|
109
198
|
DateInputComponent.propDecorators = {
|
|
110
199
|
ngModelGroup: [{ type: Input }],
|
|
111
200
|
items: [{ type: Input }],
|
|
201
|
+
itemsChange: [{ type: Output }],
|
|
112
202
|
namePrefix: [{ type: Input }],
|
|
113
203
|
classes: [{ type: Input }],
|
|
114
204
|
formGroupClasses: [{ type: Input }],
|
|
115
205
|
errorMessage: [{ type: Input }],
|
|
116
206
|
id: [{ type: Input }],
|
|
207
|
+
fieldsetComponent: [{ type: ContentChildren, args: [FieldsetComponent,] }],
|
|
208
|
+
legendComponent: [{ type: ContentChildren, args: [LegendComponent,] }],
|
|
209
|
+
dateInputItemComponents: [{ type: ContentChildren, args: [DateInputItemComponent,] }],
|
|
117
210
|
fieldsetData: [{ type: Input }],
|
|
118
211
|
legendRef: [{ type: Input }],
|
|
119
212
|
legendData: [{ type: Input }],
|
|
120
|
-
legendText: [{ type: Input }]
|
|
213
|
+
legendText: [{ type: Input }],
|
|
214
|
+
innerHtml: [{ type: ViewChild, args: ['innerHtml', { static: true },] }]
|
|
121
215
|
};
|
|
122
|
-
|
|
216
|
+
__decorate([
|
|
217
|
+
DesyOnInputChange('onExternalChange')
|
|
218
|
+
], DateInputComponent.prototype, "items", void 0);
|
|
219
|
+
__decorate([
|
|
220
|
+
DesyOnInputChange('onExternalChange')
|
|
221
|
+
], DateInputComponent.prototype, "namePrefix", void 0);
|
|
222
|
+
__decorate([
|
|
223
|
+
DesyContentChild({ onSetCallbackName: 'overrideFieldsetParams' })
|
|
224
|
+
], DateInputComponent.prototype, "fieldsetComponent", void 0);
|
|
225
|
+
__decorate([
|
|
226
|
+
DesyContentChild()
|
|
227
|
+
], DateInputComponent.prototype, "legendComponent", void 0);
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQUUsWUFBWSxFQUM3QixVQUFVLEVBQ1YsS0FBSyxFQUVMLFFBQVEsRUFBRSxNQUFNLEVBR2hCLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDNUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFN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SSxFQUFFOztBQTlCL0I7SUFEUixpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztpREFDRjtBQUkzQjtJQURSLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO3NEQUNWO0FBT1E7SUFEbkMsZ0JBQWdCLENBQUMsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBQyxDQUFDOzZEQUNRO0FBR3ZDO0lBRGpDLGdCQUFnQixFQUFFOzJEQUNnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLCBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3B0aW9uYWwsIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmllbGRzZXREYXRhLCBMZWdlbmREYXRhLCBJdGVtRGF0ZUlucHV0RGF0YSwgTGFiZWxEYXRhIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IExlZ2VuZENvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkc2V0L2xlZ2VuZC9sZWdlbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmllbGRzZXRDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZHNldC9maWVsZHNldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXN5Q29udGVudENoaWxkIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XHJcbmltcG9ydCB7IERhdGVJbnB1dERheUNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1pbnB1dC1kYXkvZGF0ZS1pbnB1dC1kYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUlucHV0TW9udGhDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQtbW9udGgvZGF0ZS1pbnB1dC1tb250aC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlSW5wdXRZZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LXllYXIvZGF0ZS1pbnB1dC15ZWFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TWFrZUh0bWxMaXN0UGlwZX0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3BpcGVzL21ha2UtaHRtbC1saXN0LnBpcGUnO1xyXG5pbXBvcnQge0Rlc3lPbklucHV0Q2hhbmdlfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZGVjb3JhdG9ycy9kZXN5LW9uLWlucHV0LWNoYW5nZS5kZWNvcmF0b3InO1xyXG5pbXBvcnQgeyBEYXRlSW5wdXREaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWlucHV0LWRpdmlkZXIvZGF0ZS1pbnB1dC1kaXZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFN0cmluZ1V0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3N0cmluZy11dGlscyc7XHJcbmltcG9ydCB7IERhdGVJbnB1dEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2RhdGUtaW5wdXQtaXRlbS9kYXRlLWlucHV0LWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1kYXRlLWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVJbnB1dENvbXBvbmVudCBleHRlbmRzIEZvcm1GaWVsZENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRJbml0IHtcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZGVmYXVsdEl0ZW1zID0gW1xyXG4gICAge1xyXG4gICAgICBuYW1lOiAnZGF5JyxcclxuICAgICAgY2xhc3NlczogJ3ctMTQnLFxyXG4gICAgICBtYXhsZW5ndGg6IDJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIG5hbWU6ICdtb250aCcsXHJcbiAgICAgIGNsYXNzZXM6ICd3LTE0JyxcclxuICAgICAgbWF4bGVuZ3RoOiAyXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBuYW1lOiAneWVhcicsXHJcbiAgICAgIGNsYXNzZXM6ICd3LTIwJyxcclxuICAgICAgbWF4bGVuZ3RoOiA0XHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgQElucHV0KCkgbmdNb2RlbEdyb3VwOiBzdHJpbmc7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25FeHRlcm5hbENoYW5nZScpXHJcbiAgQElucHV0KCkgaXRlbXM6IEl0ZW1EYXRlSW5wdXREYXRhW107XHJcbiAgQE91dHB1dCgpIGl0ZW1zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SXRlbURhdGVJbnB1dERhdGFbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPEl0ZW1EYXRlSW5wdXREYXRhW10+KCk7XHJcblxyXG4gIEBEZXN5T25JbnB1dENoYW5nZSgnb25FeHRlcm5hbENoYW5nZScpXHJcbiAgQElucHV0KCkgbmFtZVByZWZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBmb3JtR3JvdXBDbGFzc2VzOiBhbnk7XHJcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoeyBvblNldENhbGxiYWNrTmFtZTogJ292ZXJyaWRlRmllbGRzZXRQYXJhbXMnfSlcclxuICBAQ29udGVudENoaWxkcmVuKEZpZWxkc2V0Q29tcG9uZW50KSBmaWVsZHNldENvbXBvbmVudDogRmllbGRzZXRDb21wb25lbnQ7XHJcblxyXG4gIEBEZXN5Q29udGVudENoaWxkKClcclxuICBAQ29udGVudENoaWxkcmVuKExlZ2VuZENvbXBvbmVudCkgbGVnZW5kQ29tcG9uZW50OiBMZWdlbmRDb21wb25lbnQ7XHJcblxyXG4gIEBDb250ZW50Q2hpbGRyZW4oRGF0ZUlucHV0SXRlbUNvbXBvbmVudCkgZGF0ZUlucHV0SXRlbUNvbXBvbmVudHM6IFF1ZXJ5TGlzdDxEYXRlSW5wdXRJdGVtQ29tcG9uZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogZmllbGRzZXQsIGRpZmVyZW50ZXMgZm9ybWFzIGRlIGltcGxlbWVudGFyLCBlbnVtZXJhZGFzIHBvciBwcmlvcmlkYWRcclxuICAgKiAxKSBpbmNsdWlyIG9iamV0byBGaWVsZHNldERhdGEgKGludGVyZmF6IGV4cHVlc3RhKVxyXG4gICAqIDIpIGluY2x1aXIgdGVtcGxhdGUgbGVnZW5kXHJcbiAgICogMykgaW5jbHVpciBsZWdlbmREYXRhIC0gaW5jbHVpciB1biBmaWVsZHNldCBjb24gdW5hIGxlZ2VuZGEgY29uIGxvcyBwYXJhbWV0cm9zIHBhc2Fkb3MgIChpbnRlcmZheiBleHB1ZXN0YSlcclxuICAgKiA0KSBpbmNsdWlyIGxlZ2VuZFRleHQgLSBpbmNsdWlyIHVuIGZpZWxkc2V0IGNvbiB1biB0ZXh0byBlbiBsYSBsZWdlbmRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgZmllbGRzZXREYXRhOiBGaWVsZHNldERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kUmVmOiBUZW1wbGF0ZVJlZjxMZWdlbmRDb21wb25lbnQ+O1xyXG4gIEBJbnB1dCgpIGxlZ2VuZERhdGE6IExlZ2VuZERhdGE7XHJcbiAgQElucHV0KCkgbGVnZW5kVGV4dDogc3RyaW5nO1xyXG5cclxuICBAVmlld0NoaWxkKCdpbm5lckh0bWwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbm5lckh0bWw6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgY29udGVudEluaXQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hlY2tSZXF1aXJlZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250ZW50SW5pdCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBpbml0RGVmYXVsdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLml0ZW1zKSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2TDrWEnLFxyXG4gICAgICAgICAgY2xhc3NlczogJ3ctMTQnLFxyXG4gICAgICAgICAgbWF4bGVuZ3RoOiAyXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuYW1lOiAnbWVzJyxcclxuICAgICAgICAgIGNsYXNzZXM6ICd3LTE0JyxcclxuICAgICAgICAgIG1heGxlbmd0aDogMlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ2HDsW8nLFxyXG4gICAgICAgICAgY2xhc3NlczogJ3ctMjAnLFxyXG4gICAgICAgICAgbWF4bGVuZ3RoOiA0XHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tSZXF1aXJlZCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaWQgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XHJcbiAgICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiBpdGVtLnZhbHVlID0gdGhpcy52YWx1ZVt0aGlzLmdldEl0ZW1OYW1lKGl0ZW0pXSk7XHJcblxyXG4gICAgICBpZiAodGhpcy5pdGVtcykge1xyXG4gICAgICAgIHRoaXMuaXRlbXNDaGFuZ2UuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZUZpZWxkc2V0UGFyYW1zKGZpZWxkc2V0OiBGaWVsZHNldENvbXBvbmVudCk6IHZvaWQge1xyXG4gICAgZmllbGRzZXQuY2FsbGVyID0gdGhpcy5pbm5lckh0bWw7XHJcbiAgICBmaWVsZHNldC5lcnJvcklkID0gdGhpcy5nZXRFcnJvcklkKCk7XHJcbiAgICBmaWVsZHNldC5kZXNjcmliZWRCeSA9IG5ldyBNYWtlSHRtbExpc3RQaXBlKCkudHJhbnNmb3JtKFt0aGlzLmdldEhpbnRJZCgpLCB0aGlzLmdldEVycm9ySWQoKV0sIG51bGwpO1xyXG4gICAgZmllbGRzZXQucm9sZSA9ICdncm91cCc7XHJcbiAgICBmaWVsZHNldC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbkV4dGVybmFsQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRlbnRJbml0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IHt9O1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xyXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHRoaXMudmFsdWVbdGhpcy5nZXRJdGVtTmFtZShpdGVtKV0gPSBpdGVtLnZhbHVlKTtcclxuICAgIGNvbnN0IG5ld1ZhbCA9IHt9O1xyXG4gICAgT2JqZWN0LmFzc2lnbihuZXdWYWwsIHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZShuZXdWYWwpO1xyXG4gIH1cclxuXHJcbiAgb25JbnRlcm5hbENoYW5nZShpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSwgaXRlbVZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGl0ZW1OYW1lID0gdGhpcy5nZXRJdGVtTmFtZShpdGVtKTtcclxuICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudmFsdWVbaXRlbU5hbWVdICE9PSBpdGVtVmFsdWUpIHtcclxuICAgICAgdGhpcy52YWx1ZVtpdGVtTmFtZV0gPSBpdGVtVmFsdWUgPyAraXRlbVZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICBjb25zdCBuZXdWYWwgPSB7fTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihuZXdWYWwsIHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKG5ld1ZhbCk7XHJcbiAgICAgIGlmIChpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0RGF5Q29tcG9uZW50IHx8IGl0ZW0gaW5zdGFuY2VvZiBEYXRlSW5wdXRNb250aENvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0WWVhckNvbXBvbmVudCkge1xyXG4gICAgICAgIGl0ZW0udmFsdWVDaGFuZ2UuZW1pdChpdGVtVmFsdWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5pdGVtcykge1xyXG4gICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtVmFsdWU7XHJcbiAgICAgICAgdGhpcy5pdGVtc0NoYW5nZS5lbWl0KHRoaXMuaXRlbXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYXNGaWVsZHNldCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhISh0aGlzLmhhc0ZpZWxkc2V0Q29tcG9uZW50KCkgfHwgdGhpcy5oYXNMZWdlbmRDb21wb25lbnQoKSB8fCB0aGlzLmxlZ2VuZFJlZiB8fCB0aGlzLmZpZWxkc2V0RGF0YVxyXG4gICAgICB8fCAodGhpcy5sZWdlbmREYXRhICYmICh0aGlzLmxlZ2VuZERhdGEudGV4dCB8fCB0aGlzLmxlZ2VuZERhdGEuaHRtbCkpIHx8IHRoaXMubGVnZW5kVGV4dCk7XHJcbiAgfVxyXG5cclxuICBoYXNGaWVsZHNldENvbXBvbmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuZmllbGRzZXRDb21wb25lbnQ7XHJcbiAgfVxyXG5cclxuICBoYXNMZWdlbmRDb21wb25lbnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmxlZ2VuZENvbXBvbmVudDtcclxuICB9XHJcblxyXG4gIGhhc0Vycm9yTWVzc2FnZUNvbXBvbmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuZXJyb3JNZXNzYWdlQ29tcG9uZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbU5hbWUoaXRlbTogSXRlbURhdGVJbnB1dERhdGEpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubmFtZVByZWZpeCA/IHRoaXMubmFtZVByZWZpeCArICctJyArIGl0ZW0ubmFtZSA6IGl0ZW0ubmFtZTtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1MYWJlbChpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSk6IExhYmVsRGF0YSB7XHJcbiAgICBsZXQgbGFiZWxEYXRhOiBMYWJlbERhdGE7XHJcbiAgICBpZiAoaXRlbS5sYWJlbERhdGEgJiYgKGl0ZW0ubGFiZWxEYXRhLnRleHQgfHwgaXRlbS5sYWJlbERhdGEuaHRtbCkpIHtcclxuICAgICAgbGFiZWxEYXRhID0gaXRlbS5sYWJlbERhdGE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsYWJlbERhdGEgPSB7XHJcbiAgICAgICAgdGV4dDogaXRlbS5sYWJlbFRleHQgPyBpdGVtLmxhYmVsVGV4dCA6IGl0ZW0ubmFtZS50b1VwcGVyQ2FzZSgpXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbGFiZWxEYXRhO1xyXG4gIH1cclxuXHJcbiAgZ2V0SXRlbUxhYmVsUmVmKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dERheUNvbXBvbmVudCB8fCBpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0TW9udGhDb21wb25lbnQgfHwgaXRlbSBpbnN0YW5jZW9mIERhdGVJbnB1dFllYXJDb21wb25lbnQgP1xyXG4gICAgICBpdGVtLmxhYmVsUmVmIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEl0ZW1zKCk6IEl0ZW1EYXRlSW5wdXREYXRhW10ge1xyXG4gICAgbGV0IGl0ZW1zO1xyXG4gICAgaWYgKHRoaXMuZGF0ZUlucHV0SXRlbUNvbXBvbmVudHMgJiYgdGhpcy5kYXRlSW5wdXRJdGVtQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGl0ZW1zID0gdGhpcy5kYXRlSW5wdXRJdGVtQ29tcG9uZW50cy50b0FycmF5KCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbXMpIHtcclxuICAgICAgaXRlbXMgPSB0aGlzLml0ZW1zO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRJbml0KSB7XHJcbiAgICAgIGl0ZW1zID0gRGF0ZUlucHV0Q29tcG9uZW50LmRlZmF1bHRJdGVtcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGl0ZW1zID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKCFpdGVtLm5hbWUgJiYgIShpdGVtIGluc3RhbmNlb2YgRGF0ZUlucHV0RGl2aWRlckNvbXBvbmVudCkpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0l0ZW0gbmFtZSBpcyByZXF1aXJlZCcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gaXRlbXM7XHJcbiAgfVxyXG5cclxuICBnZXRJdGVtRGl2aWRlclRlbXBsYXRlKGl0ZW06IEl0ZW1EYXRlSW5wdXREYXRhKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gaXRlbS5kaXZpZGVyIGluc3RhbmNlb2YgRGF0ZUlucHV0RGl2aWRlckNvbXBvbmVudCA/IGl0ZW0uZGl2aWRlci5kaXZpZGVyQ29udGVudCA6IG51bGw7XHJcbiAgfVxyXG4gIGdldEl0ZW1EaXZpZGVySHRtbChpdGVtOiBJdGVtRGF0ZUlucHV0RGF0YSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbS5kaXZpZGVyLmh0bWwgPyBpdGVtLmRpdmlkZXIuaHRtbCA6IGA8cD4keyBTdHJpbmdVdGlscy5lc2NhcGVIdG1sKGl0ZW0uZGl2aWRlci50ZXh0KSB9PC9wPmA7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -4,7 +4,6 @@ import { FormFieldComponent } from '../form-field/form-field.component';
|
|
|
4
4
|
export class InputComponent extends FormFieldComponent {
|
|
5
5
|
ngOnChanges(changes) {
|
|
6
6
|
this.checkRequired();
|
|
7
|
-
this.writeValue(this.value);
|
|
8
7
|
}
|
|
9
8
|
getErrorId() {
|
|
10
9
|
return this.errorId ? this.errorId : super.getErrorId();
|
|
@@ -33,7 +32,7 @@ export class InputComponent extends FormFieldComponent {
|
|
|
33
32
|
InputComponent.decorators = [
|
|
34
33
|
{ type: Component, args: [{
|
|
35
34
|
selector: 'desy-input',
|
|
36
|
-
template: "\r\n<div [class]=\"['c-form-group', this.formGroupClasses] | makeHtmlList\" [ngClass]=\"{'c-form-group--error': hasErrorsMessage()}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"labelRef\"></ng-container>\r\n <desy-label *ngIf=\"!labelRef && labelData\"\r\n [text]=\"labelData.text\"\r\n [html]=\"labelData.html\"\r\n [classes]=\"labelData.classes\"\r\n [isPageHeading]=\"labelData.isPageHeading\"\r\n [for]=\"id\"\r\n [role]=\"labelData.role\"\r\n [ariaLabel]=\"labelData.ariaLabel\"\r\n [ariaDescribedBy]=\"labelData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"labelData.ariaLabelledBy\"\r\n [ariaHidden]=\"labelData.ariaHidden\"\r\n [ariaDisabled]=\"labelData.ariaDisabled\"\r\n [ariaControls]=\"labelData.ariaControls\"\r\n [ariaCurrent]=\"labelData.ariaCurrent\"\r\n [ariaLive]=\"labelData.ariaLive\"\r\n [ariaExpanded]=\"labelData.ariaExpanded\"\r\n [ariaErrorMessage]=\"labelData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"labelData.ariaHasPopup\"\r\n [tabindex]=\"labelData.tabindex\"></desy-label>\r\n <desy-label *ngIf=\"!labelRef && !labelData && labelText\" [text]=\"labelText\" [for]=\"id\"></desy-label>\r\n\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
|
|
35
|
+
template: "\r\n<div [class]=\"['c-form-group', this.formGroupClasses] | makeHtmlList\" [ngClass]=\"{'c-form-group--error': hasErrorsMessage()}\">\r\n\r\n <ng-container *ngTemplateOutlet=\"labelRef\"></ng-container>\r\n <desy-label *ngIf=\"!labelRef && labelData\"\r\n [text]=\"labelData.text\"\r\n [html]=\"labelData.html\"\r\n [classes]=\"labelData.classes\"\r\n [isPageHeading]=\"labelData.isPageHeading\"\r\n [for]=\"id\"\r\n [role]=\"labelData.role\"\r\n [ariaLabel]=\"labelData.ariaLabel\"\r\n [ariaDescribedBy]=\"labelData.ariaDescribedBy\"\r\n [ariaLabelledBy]=\"labelData.ariaLabelledBy\"\r\n [ariaHidden]=\"labelData.ariaHidden\"\r\n [ariaDisabled]=\"labelData.ariaDisabled\"\r\n [ariaControls]=\"labelData.ariaControls\"\r\n [ariaCurrent]=\"labelData.ariaCurrent\"\r\n [ariaLive]=\"labelData.ariaLive\"\r\n [ariaExpanded]=\"labelData.ariaExpanded\"\r\n [ariaErrorMessage]=\"labelData.ariaErrorMessage\"\r\n [ariaHasPopup]=\"labelData.ariaHasPopup\"\r\n [tabindex]=\"labelData.tabindex\"></desy-label>\r\n <desy-label *ngIf=\"!labelRef && !labelData && labelText\" [text]=\"labelText\" [for]=\"id\"></desy-label>\r\n\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 <input [class]=\"['c-input block mt-sm border-black rounded font-semibold placeholder-neutral-dark focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base',\r\n classes,\r\n getErrorId() ? 'border-alert-base ring-2 ring-alert-base' : null] | makeHtmlList\"\r\n [value]=\"value ? value : ''\" (input)=\"onInput($event.target.value)\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.name]=\"name ? name : null\"\r\n [type]=\"type ? type : 'text'\"\r\n [attr.aria-describedby]=\"[describedBy, getHintId(), getErrorId()] | makeHtmlList:null\"\r\n [attr.aria-errormessage]=\"getErrorId() ? getErrorId() : null\"\r\n [attr.aria-invalid]=\"getErrorId() ? true : null\"\r\n [attr.autocomplete]=\"autocomplete ? autocomplete : null\"\r\n [attr.pattern]=\"pattern ? pattern : null\"\r\n [attr.inputmode]=\"inputmode ? inputmode : null\"\r\n [attr.placeholder]=\"placeholder ? placeholder : null\"\r\n [attr.disabled]=\"disabled ? true : null\"\r\n [attr.maxlength]=\"maxlength ? maxlength : null\"\r\n\r\n [attr.role]=\"role ? role : null\"\r\n [attr.aria-label]=\"ariaLabel ? ariaLabel : 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-haspopup]=\"ariaHasPopup ? ariaHasPopup : null\"\r\n [attr.tabindex]=\"tabindex ? tabindex : null\">\r\n</div>\r\n",
|
|
37
36
|
providers: [
|
|
38
37
|
{
|
|
39
38
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -56,4 +55,4 @@ InputComponent.propDecorators = {
|
|
|
56
55
|
maxlength: [{ type: Input }],
|
|
57
56
|
errorId: [{ type: Input }]
|
|
58
57
|
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBYXhFLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQXVCO0lBZXpELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7U0FDMUI7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNaLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE1BQU0sS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDakM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0Qiw4NkxBQXFDO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7d0JBQzdDLEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7OzttQkFHRSxLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzsrQkFDTCxLQUFLO3NCQUNMLEtBQUs7MkJBQ0wsS0FBSzt3QkFDTCxLQUFLO3NCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZmllbGQvZm9ybS1maWVsZC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWlucHV0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXRDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0Q29tcG9uZW50IGV4dGVuZHMgRm9ybUZpZWxkQ29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlc2NyaWJlZEJ5OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGF0dGVybjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlucHV0bW9kZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwQ2xhc3Nlczogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM6IHN0cmluZztcclxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXhsZW5ndGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBlcnJvcklkOiBzdHJpbmc7XHJcblxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmNoZWNrUmVxdWlyZWQoKTtcclxuICB9XHJcblxyXG4gIGdldEVycm9ySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9ySWQgPyB0aGlzLmVycm9ySWQgOiBzdXBlci5nZXRFcnJvcklkKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tSZXF1aXJlZCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaWQgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5uYW1lKSB7XHJcbiAgICAgIHRocm93IEVycm9yKCduYW1lIGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuaGFzTGFiZWwoKSkge1xyXG4gICAgICB0aHJvdyBFcnJvcignbGFiZWwgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Component, forwardRef, ViewChild } from '@angular/core';
|
|
2
|
+
import { InputGroupItemComponent } from '../input-group-item/input-group-item.component';
|
|
3
|
+
export class InputGroupDividerComponent extends InputGroupItemComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.isSelect = false;
|
|
7
|
+
this.divider = this;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
InputGroupDividerComponent.decorators = [
|
|
11
|
+
{ type: Component, args: [{
|
|
12
|
+
selector: 'desy-input-group-divider',
|
|
13
|
+
template: "<ng-template #dividerContent>\r\n <ng-content></ng-content>\r\n</ng-template>\r\n",
|
|
14
|
+
providers: [{ provide: InputGroupItemComponent, useExisting: forwardRef(() => InputGroupDividerComponent) }]
|
|
15
|
+
},] }
|
|
16
|
+
];
|
|
17
|
+
InputGroupDividerComponent.propDecorators = {
|
|
18
|
+
dividerContent: [{ type: ViewChild, args: ['dividerContent', { static: true },] }]
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAtZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtZGl2aWRlci9pbnB1dC1ncm91cC1kaXZpZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBZSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFRdkYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHVCQUF1QjtJQUx2RTs7UUFPRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7SUFJakIsQ0FBQzs7O1lBWkEsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLDhGQUFtRDtnQkFDbkQsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxFQUFDLENBQUM7YUFDM0c7Ozs2QkFNRSxTQUFTLFNBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGZvcndhcmRSZWYsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0R3JvdXBJdGVtQ29tcG9uZW50fSBmcm9tICcuLi9pbnB1dC1ncm91cC1pdGVtL2lucHV0LWdyb3VwLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtJdGVtRGl2aWRlcklucHV0R3JvdXBEYXRhfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZGVzeS1pbnB1dC1ncm91cC1kaXZpZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZ3JvdXAtZGl2aWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IElucHV0R3JvdXBJdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEdyb3VwRGl2aWRlckNvbXBvbmVudCl9XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0R3JvdXBEaXZpZGVyQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRHcm91cEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBJdGVtRGl2aWRlcklucHV0R3JvdXBEYXRhIHtcclxuXHJcbiAgaXNTZWxlY3QgPSBmYWxzZTtcclxuICBkaXZpZGVyID0gdGhpcztcclxuXHJcbiAgQFZpZXdDaGlsZCgnZGl2aWRlckNvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBkaXZpZGVyQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbn1cclxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { InputGroupItemComponent } from '../input-group-item/input-group-item.component';
|
|
4
|
+
import { LabelComponent } from '../../label/label.component';
|
|
5
|
+
import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
|
|
6
|
+
export class InputGroupInputComponent extends InputGroupItemComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.isSelect = false;
|
|
10
|
+
this.valueChange = new EventEmitter();
|
|
11
|
+
}
|
|
12
|
+
ngAfterContentInit() {
|
|
13
|
+
if (!this.name) {
|
|
14
|
+
throw Error('item name is required');
|
|
15
|
+
}
|
|
16
|
+
if (!this.labelComponent) {
|
|
17
|
+
throw Error('item label is required');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
InputGroupInputComponent.decorators = [
|
|
22
|
+
{ type: Component, args: [{
|
|
23
|
+
selector: 'desy-input-group-input',
|
|
24
|
+
template: "<ng-template #label>\r\n <ng-content select=\"desy-label\"></ng-content>\r\n</ng-template>\r\n",
|
|
25
|
+
providers: [{ provide: InputGroupItemComponent, useExisting: forwardRef(() => InputGroupInputComponent) }]
|
|
26
|
+
},] }
|
|
27
|
+
];
|
|
28
|
+
InputGroupInputComponent.propDecorators = {
|
|
29
|
+
id: [{ type: Input }],
|
|
30
|
+
name: [{ type: Input }],
|
|
31
|
+
value: [{ type: Input }],
|
|
32
|
+
valueChange: [{ type: Output }],
|
|
33
|
+
formGroupClasses: [{ type: Input }],
|
|
34
|
+
type: [{ type: Input }],
|
|
35
|
+
inputmode: [{ type: Input }],
|
|
36
|
+
autocomplete: [{ type: Input }],
|
|
37
|
+
placeholder: [{ type: Input }],
|
|
38
|
+
pattern: [{ type: Input }],
|
|
39
|
+
maxlength: [{ type: Input }],
|
|
40
|
+
labelRef: [{ type: ViewChild, args: ['label', { static: true },] }],
|
|
41
|
+
labelComponent: [{ type: ContentChildren, args: [LabelComponent,] }]
|
|
42
|
+
};
|
|
43
|
+
__decorate([
|
|
44
|
+
DesyContentChild()
|
|
45
|
+
], InputGroupInputComponent.prototype, "labelComponent", void 0);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzeS1hbmd1bGFyL3NyYy9saWIvZGVzeS1mb3Jtcy9jb21wb25lbnRzL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLWlucHV0L2lucHV0LWdyb3VwLWlucHV0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFPNUYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLHVCQUF1QjtJQUxyRTs7UUFPRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBS1AsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBdUJsRCxDQUFDO0lBUkMsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsTUFBTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLE1BQU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDdkM7SUFDSCxDQUFDOzs7WUFsQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDJHQUFpRDtnQkFDakQsU0FBUyxFQUFFLENBQUMsRUFBQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFDLENBQUM7YUFDekc7OztpQkFLRSxLQUFLO21CQUNMLEtBQUs7b0JBQ0wsS0FBSzswQkFDTCxNQUFNOytCQUNOLEtBQUs7bUJBRUwsS0FBSzt3QkFDTCxLQUFLOzJCQUNMLEtBQUs7MEJBQ0wsS0FBSztzQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBRUwsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7NkJBR25DLGVBQWUsU0FBQyxjQUFjOztBQUFFO0lBRGhDLGdCQUFnQixFQUFFO2dFQUM2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbnB1dEdyb3VwSXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vaW5wdXQtZ3JvdXAtaXRlbS9pbnB1dC1ncm91cC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGFiZWxDb21wb25lbnR9IGZyb20gJy4uLy4uL2xhYmVsL2xhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7RGVzeUNvbnRlbnRDaGlsZH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2RlY29yYXRvcnMvZGVzeS1jb250ZW50LWNoaWxkLmRlY29yYXRvcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Rlc3ktaW5wdXQtZ3JvdXAtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1ncm91cC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IElucHV0R3JvdXBJdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQpfV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEdyb3VwSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBJbnB1dEdyb3VwSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICBpc1NlbGVjdCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBpZD86IHN0cmluZztcclxuICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdmFsdWU/OiBhbnk7XHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwQ2xhc3Nlcz86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgdHlwZT86IHN0cmluZztcclxuICBASW5wdXQoKSBpbnB1dG1vZGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBhdHRlcm4/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbWF4bGVuZ3RoPzogbnVtYmVyO1xyXG5cclxuICBAVmlld0NoaWxkKCdsYWJlbCcsIHsgc3RhdGljOiB0cnVlIH0pIGxhYmVsUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBARGVzeUNvbnRlbnRDaGlsZCgpXHJcbiAgQENvbnRlbnRDaGlsZHJlbihMYWJlbENvbXBvbmVudCkgbGFiZWxDb21wb25lbnQ6IExhYmVsQ29tcG9uZW50O1xyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubmFtZSkge1xyXG4gICAgICB0aHJvdyBFcnJvcignaXRlbSBuYW1lIGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMubGFiZWxDb21wb25lbnQpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0gbGFiZWwgaXMgcmVxdWlyZWQnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
package/esm2015/lib/desy-forms/components/input-group/input-group-item/input-group-item.component.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class InputGroupItemComponent {
|
|
3
|
+
}
|
|
4
|
+
InputGroupItemComponent.decorators = [
|
|
5
|
+
{ type: Component, args: [{
|
|
6
|
+
selector: 'desy-input-group-item',
|
|
7
|
+
template: ''
|
|
8
|
+
},] }
|
|
9
|
+
];
|
|
10
|
+
InputGroupItemComponent.propDecorators = {
|
|
11
|
+
classes: [{ type: Input }]
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXN5LWFuZ3VsYXIvc3JjL2xpYi9kZXN5LWZvcm1zL2NvbXBvbmVudHMvaW5wdXQtZ3JvdXAvaW5wdXQtZ3JvdXAtaXRlbS9pbnB1dC1ncm91cC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLE9BQU8sdUJBQXVCOzs7WUFKbkMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRSxFQUFFO2FBQ2I7OztzQkFFRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJdGVtSW5wdXRHcm91cERhdGF9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWlucHV0LWdyb3VwLWl0ZW0nLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRHcm91cEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBJdGVtSW5wdXRHcm91cERhdGEge1xyXG4gIEBJbnB1dCgpIGNsYXNzZXM/OiBzdHJpbmc7XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Component, ContentChildren, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
+
import { InputGroupItemComponent } from '../input-group-item/input-group-item.component';
|
|
4
|
+
import { OptionComponent } from '../../select/option/option.component';
|
|
5
|
+
import { DesyContentChild } from '../../../../shared/decorators/desy-content-child.decorator';
|
|
6
|
+
import { LabelComponent } from '../../label/label.component';
|
|
7
|
+
export class InputGroupSelectComponent extends InputGroupItemComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this.isSelect = true;
|
|
11
|
+
this.valueChange = new EventEmitter();
|
|
12
|
+
}
|
|
13
|
+
ngAfterContentInit() {
|
|
14
|
+
if (!this.name) {
|
|
15
|
+
throw Error('item name is required');
|
|
16
|
+
}
|
|
17
|
+
if (!this.labelComponent) {
|
|
18
|
+
throw Error('item label is required');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
InputGroupSelectComponent.decorators = [
|
|
23
|
+
{ type: Component, args: [{
|
|
24
|
+
selector: 'desy-input-group-select',
|
|
25
|
+
template: "<ng-template #label>\r\n <ng-content select=\"desy-label\"></ng-content>\r\n</ng-template>\r\n",
|
|
26
|
+
providers: [{ provide: InputGroupItemComponent, useExisting: forwardRef(() => InputGroupSelectComponent) }]
|
|
27
|
+
},] }
|
|
28
|
+
];
|
|
29
|
+
InputGroupSelectComponent.propDecorators = {
|
|
30
|
+
id: [{ type: Input }],
|
|
31
|
+
name: [{ type: Input }],
|
|
32
|
+
value: [{ type: Input }],
|
|
33
|
+
valueChange: [{ type: Output }],
|
|
34
|
+
formGroupClasses: [{ type: Input }],
|
|
35
|
+
labelRef: [{ type: ViewChild, args: ['label', { static: true },] }],
|
|
36
|
+
selectItemComponentList: [{ type: ContentChildren, args: [OptionComponent,] }],
|
|
37
|
+
labelComponent: [{ type: ContentChildren, args: [LabelComponent,] }]
|
|
38
|
+
};
|
|
39
|
+
__decorate([
|
|
40
|
+
DesyContentChild()
|
|
41
|
+
], InputGroupSelectComponent.prototype, "labelComponent", void 0);
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc3ktYW5ndWxhci9zcmMvbGliL2Rlc3ktZm9ybXMvY29tcG9uZW50cy9pbnB1dC1ncm91cC9pbnB1dC1ncm91cC1zZWxlY3QvaW5wdXQtZ3JvdXAtc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBTzNELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx1QkFBdUI7SUFMdEU7O1FBT0UsYUFBUSxHQUFHLElBQUksQ0FBQztRQUtOLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQWlCbEQsQ0FBQztJQVJDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNkLE1BQU0sS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDdEM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixNQUFNLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQ3ZDO0lBQ0gsQ0FBQzs7O1lBNUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQywyR0FBa0Q7Z0JBQ2xELFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBQyxDQUFDO2FBQzFHOzs7aUJBS0UsS0FBSzttQkFDTCxLQUFLO29CQUNMLEtBQUs7MEJBQ0wsTUFBTTsrQkFDTixLQUFLO3VCQUVMLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NDQUNuQyxlQUFlLFNBQUMsZUFBZTs2QkFHL0IsZUFBZSxTQUFDLGNBQWM7O0FBQUU7SUFEaEMsZ0JBQWdCLEVBQUU7aUVBQzZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbnB1dEdyb3VwSXRlbUNvbXBvbmVudH0gZnJvbSAnLi4vaW5wdXQtZ3JvdXAtaXRlbS9pbnB1dC1ncm91cC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7T3B0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Rlc3lDb250ZW50Q2hpbGR9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9kZWNvcmF0b3JzL2Rlc3ktY29udGVudC1jaGlsZC5kZWNvcmF0b3InO1xyXG5pbXBvcnQge0xhYmVsQ29tcG9uZW50fSBmcm9tICcuLi8uLi9sYWJlbC9sYWJlbC5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZXN5LWlucHV0LWdyb3VwLXNlbGVjdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWdyb3VwLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IElucHV0R3JvdXBJdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dEdyb3VwU2VsZWN0Q29tcG9uZW50KX1dLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRHcm91cFNlbGVjdENvbXBvbmVudCBleHRlbmRzIElucHV0R3JvdXBJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XHJcblxyXG4gIGlzU2VsZWN0ID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZhbHVlPzogYW55O1xyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBJbnB1dCgpIGZvcm1Hcm91cENsYXNzZXM/OiBzdHJpbmc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xhYmVsJywgeyBzdGF0aWM6IHRydWUgfSkgbGFiZWxSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpIHNlbGVjdEl0ZW1Db21wb25lbnRMaXN0OiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PjtcclxuXHJcbiAgQERlc3lDb250ZW50Q2hpbGQoKVxyXG4gIEBDb250ZW50Q2hpbGRyZW4oTGFiZWxDb21wb25lbnQpIGxhYmVsQ29tcG9uZW50OiBMYWJlbENvbXBvbmVudDtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhyb3cgRXJyb3IoJ2l0ZW0gbmFtZSBpcyByZXF1aXJlZCcpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmxhYmVsQ29tcG9uZW50KSB7XHJcbiAgICAgIHRocm93IEVycm9yKCdpdGVtIGxhYmVsIGlzIHJlcXVpcmVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|