@abgov/angular-components 2.0.0-beta.1 → 2.0.1
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 -45
- package/abgov-angular-components.d.ts +1 -0
- package/bundles/abgov-angular-components.umd.js +129 -2513
- package/bundles/abgov-angular-components.umd.js.map +1 -1
- package/esm2015/index.js +2 -26
- package/esm2015/lib/angular-components.module.js +16 -91
- package/esm2015/lib/value-directive.js +133 -0
- package/fesm2015/abgov-angular-components.js +117 -2001
- package/fesm2015/abgov-angular-components.js.map +1 -1
- package/index.d.ts +1 -25
- package/lib/angular-components.module.d.ts +7 -0
- package/lib/value-directive.d.ts +34 -0
- package/package.json +7 -12
- package/abgov-angular-components.metadata.json +0 -1
- package/esm2015/experimental/app-version-header/app-version-header.component.js +0 -30
- package/esm2015/experimental/badge/badge.component.js +0 -24
- package/esm2015/experimental/components.module.js +0 -28
- package/esm2015/experimental/index.js +0 -5
- package/esm2015/experimental/number-input/number-input.component.js +0 -151
- package/esm2015/lib/button/button.component.js +0 -66
- package/esm2015/lib/button-link/button-link.component.js +0 -66
- package/esm2015/lib/callout/callout.component.js +0 -34
- package/esm2015/lib/card/card.component.js +0 -37
- package/esm2015/lib/card/content/card-content.component.js +0 -24
- package/esm2015/lib/card/footer/card-footer.component.js +0 -24
- package/esm2015/lib/card/header/card-header.component.js +0 -24
- package/esm2015/lib/card/thumb/card-thumb.component.js +0 -27
- package/esm2015/lib/card-group/card.group.component.js +0 -23
- package/esm2015/lib/checkbox/checkbox-change.js +0 -3
- package/esm2015/lib/checkbox/checkbox.component.js +0 -136
- package/esm2015/lib/dropdown/dropdown.component.js +0 -326
- package/esm2015/lib/dropdown/option/option.component.js +0 -48
- package/esm2015/lib/dropdown/option-group/option-group.component.js +0 -46
- package/esm2015/lib/element-load-indicator/element-load-indicator.component.js +0 -63
- package/esm2015/lib/header/header.component.js +0 -47
- package/esm2015/lib/hero-banner/content/hero-banner-content.component.js +0 -15
- package/esm2015/lib/hero-banner/hero-banner.component.js +0 -21
- package/esm2015/lib/hero-banner/link/hero-banner-link.component.js +0 -18
- package/esm2015/lib/microsite-logo/microsite-logo.component.js +0 -34
- package/esm2015/lib/notification/notification.component.js +0 -59
- package/esm2015/lib/notification-banner/notification-banner.component.js +0 -32
- package/esm2015/lib/page-load-indicator/page-load-indicator.component.js +0 -117
- package/esm2015/lib/radio/radio-change.js +0 -3
- package/esm2015/lib/radio/radio.component.js +0 -146
- package/esm2015/lib/radio/radio.service.js +0 -20
- package/esm2015/lib/radio-group/radio-group.component.js +0 -282
- package/esm2015/lib/skeleton/skeleton-element.component.js +0 -21
- package/esm2015/lib/skeleton/skeleton-image-content.component.js +0 -19
- package/experimental/app-version-header/app-version-header.component.d.ts +0 -10
- package/experimental/badge/badge.component.d.ts +0 -7
- package/experimental/components.module.d.ts +0 -2
- package/experimental/index.d.ts +0 -4
- package/experimental/number-input/number-input.component.d.ts +0 -66
- package/lib/button/button.component.d.ts +0 -37
- package/lib/button-link/button-link.component.d.ts +0 -38
- package/lib/callout/callout.component.d.ts +0 -20
- package/lib/card/card.component.d.ts +0 -23
- package/lib/card/content/card-content.component.d.ts +0 -14
- package/lib/card/footer/card-footer.component.d.ts +0 -14
- package/lib/card/header/card-header.component.d.ts +0 -14
- package/lib/card/thumb/card-thumb.component.d.ts +0 -22
- package/lib/card-group/card.group.component.d.ts +0 -32
- package/lib/checkbox/checkbox-change.d.ts +0 -7
- package/lib/checkbox/checkbox.component.d.ts +0 -100
- package/lib/dropdown/dropdown.component.d.ts +0 -193
- package/lib/dropdown/option/option.component.d.ts +0 -39
- package/lib/dropdown/option-group/option-group.component.d.ts +0 -38
- package/lib/element-load-indicator/element-load-indicator.component.d.ts +0 -38
- package/lib/header/header.component.d.ts +0 -29
- package/lib/hero-banner/content/hero-banner-content.component.d.ts +0 -5
- package/lib/hero-banner/hero-banner.component.d.ts +0 -9
- package/lib/hero-banner/link/hero-banner-link.component.d.ts +0 -6
- package/lib/microsite-logo/microsite-logo.component.d.ts +0 -20
- package/lib/notification/notification.component.d.ts +0 -43
- package/lib/notification-banner/notification-banner.component.d.ts +0 -22
- package/lib/page-load-indicator/page-load-indicator.component.d.ts +0 -55
- package/lib/radio/radio-change.d.ts +0 -7
- package/lib/radio/radio.component.d.ts +0 -119
- package/lib/radio/radio.service.d.ts +0 -7
- package/lib/radio-group/radio-group.component.d.ts +0 -190
- package/lib/skeleton/skeleton-element.component.d.ts +0 -5
- package/lib/skeleton/skeleton-image-content.component.d.ts +0 -5
- package/theme.css +0 -164
- package/theme.css.map +0 -1
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, forwardRef, Input, Output, EventEmitter, ChangeDetectorRef, QueryList, ContentChildren, InjectionToken } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { GoARadioComponent } from '../radio/radio.component';
|
|
4
|
-
import { GoARadioService } from '../radio/radio.service';
|
|
5
|
-
/**
|
|
6
|
-
* Control value accessor to use for the component's provider
|
|
7
|
-
* @ignore
|
|
8
|
-
*/
|
|
9
|
-
export const GOA_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
|
|
10
|
-
provide: NG_VALUE_ACCESSOR,
|
|
11
|
-
useExisting: forwardRef(() => GoARadioGroupComponent),
|
|
12
|
-
multi: true
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Injection token that can be used to inject instances of `GoARadioGroupComponent`. It serves as
|
|
16
|
-
* alternative token to the actual `GoARadioGroupComponent` class which could cause unnecessary
|
|
17
|
-
* retention of the class and its component metadata.
|
|
18
|
-
* @ignore
|
|
19
|
-
*/
|
|
20
|
-
export const GOA_RADIO_GROUP = new InjectionToken('GoARadioGroup');
|
|
21
|
-
/**
|
|
22
|
-
* Radiobutton group component with Government of Alberta styling. Used to group a set of related radio buttons.
|
|
23
|
-
*/
|
|
24
|
-
export class GoARadioGroupComponent {
|
|
25
|
-
constructor(_changeDetector, _radioService) {
|
|
26
|
-
this._changeDetector = _changeDetector;
|
|
27
|
-
this._radioService = _radioService;
|
|
28
|
-
/**
|
|
29
|
-
* @ignore
|
|
30
|
-
*/
|
|
31
|
-
this._name = `goa-radio-group-${GoARadioGroupComponent.idNum++}`;
|
|
32
|
-
/**
|
|
33
|
-
* @ignore
|
|
34
|
-
*/
|
|
35
|
-
this._value = null;
|
|
36
|
-
/**
|
|
37
|
-
* @ignore
|
|
38
|
-
*/
|
|
39
|
-
this._labelPosition = 'after';
|
|
40
|
-
/**
|
|
41
|
-
* The error message to display when the radio group selection is required and nothing has been selected
|
|
42
|
-
*/
|
|
43
|
-
this.requiredErrorMessage = 'Please select one of the provided options.';
|
|
44
|
-
/**
|
|
45
|
-
* Event emitted containing the source radiobutton, and whether or not it is checked.
|
|
46
|
-
*/
|
|
47
|
-
this.selectionChange = new EventEmitter();
|
|
48
|
-
/**
|
|
49
|
-
* @ignore
|
|
50
|
-
*/
|
|
51
|
-
this._propagateChange = (_) => { };
|
|
52
|
-
this.uniqueId = `goa-radiobutton-group-${GoARadioGroupComponent.idNum++}`;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Indicates the "group" or set of radios this radio belongs to.
|
|
56
|
-
*/
|
|
57
|
-
get name() { return this._name; }
|
|
58
|
-
set name(value) {
|
|
59
|
-
this._name = value;
|
|
60
|
-
this._updateRadioButtonNames();
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Value/unique identifier for the object the radiobutton represents.
|
|
64
|
-
*/
|
|
65
|
-
get value() { return this._value; }
|
|
66
|
-
set value(newValue) {
|
|
67
|
-
if (this._value !== newValue) {
|
|
68
|
-
// Set this before proceeding to ensure no circular loop occurs with selection.
|
|
69
|
-
this._value = newValue;
|
|
70
|
-
this._updateSelectedRadioFromValue();
|
|
71
|
-
this._setSelectedRadioToChecked();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* The currently selected radio.
|
|
76
|
-
*/
|
|
77
|
-
get selected() { return this._selected; }
|
|
78
|
-
set selected(selected) {
|
|
79
|
-
this._selected = selected;
|
|
80
|
-
this.value = selected ? selected.value : null;
|
|
81
|
-
this._setSelectedRadioToChecked();
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Boolean indicating whether or not the radiobutton is disabled.
|
|
85
|
-
*/
|
|
86
|
-
get disabled() { return this._disabled; }
|
|
87
|
-
set disabled(value) {
|
|
88
|
-
this._disabled = value;
|
|
89
|
-
this._updateRadioButtonDisabled();
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Boolean indicating whether or not the radiobutton is required.
|
|
93
|
-
*/
|
|
94
|
-
get required() { return this._required; }
|
|
95
|
-
set required(value) {
|
|
96
|
-
this._required = value;
|
|
97
|
-
this._updateRadioButtonRequired();
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* The position to display the label/text for the radiobutton. Valid values are before and after.
|
|
101
|
-
*/
|
|
102
|
-
get labelPosition() {
|
|
103
|
-
return this._labelPosition;
|
|
104
|
-
}
|
|
105
|
-
set labelPosition(position) {
|
|
106
|
-
this._labelPosition = position === 'before' ? 'before' : 'after';
|
|
107
|
-
this._updateRadioButtonLabelPosition();
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Lifecycle hook AfterContentInit. Used to set properties on child radios based on the radio group's properties.
|
|
111
|
-
* @ignore
|
|
112
|
-
*/
|
|
113
|
-
ngAfterContentInit() {
|
|
114
|
-
this._updateRadioButtonNames();
|
|
115
|
-
this._updateRadioButtonDisabled();
|
|
116
|
-
this._updateRadioButtonRequired();
|
|
117
|
-
this._updateRadioButtonLabelPosition();
|
|
118
|
-
this._updateSelectedRadioFromValue();
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Lifecycle hook OnInit. Used to subscribe to radio change messages from the radioService in order to set the 'selected' property
|
|
122
|
-
* of the radio group based on which radio was selected
|
|
123
|
-
* @ignore
|
|
124
|
-
*/
|
|
125
|
-
ngOnInit() {
|
|
126
|
-
this.radioServiceSubscription = this._radioService.radioChangeMessage.subscribe(rcm => {
|
|
127
|
-
if (rcm && rcm.source && rcm.source.name === this.name && rcm.checked) {
|
|
128
|
-
this.selected = this._radios.find(r => r.uniqueId === rcm.source.uniqueId);
|
|
129
|
-
this.selectionChange.emit(rcm);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Lifecycle hook OnDestroy. Used to unsubscribe from the radio change messages.
|
|
135
|
-
* @ignore
|
|
136
|
-
*/
|
|
137
|
-
ngOnDestroy() {
|
|
138
|
-
this.radioServiceSubscription.unsubscribe();
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Updates the `selected` radio button from the internal _value state.
|
|
142
|
-
*/
|
|
143
|
-
_updateSelectedRadioFromValue() {
|
|
144
|
-
// If the value already matches the selected radio, do nothing.
|
|
145
|
-
const isAlreadySelected = this._selected !== undefined && this._selected !== null && this._selected.value === this._value;
|
|
146
|
-
// need to wrap in setTimeout because _radios hasnt resolved yet when Input setter fires, need to get to next cycle in page lifecycle
|
|
147
|
-
setTimeout(() => {
|
|
148
|
-
if (this._radios && !isAlreadySelected) {
|
|
149
|
-
this._selected = null;
|
|
150
|
-
this._radios.forEach(radio => {
|
|
151
|
-
radio.checked = this.value === radio.value;
|
|
152
|
-
if (radio.checked) {
|
|
153
|
-
this._selected = radio;
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Sets the selected radio to checked if it is not already checked
|
|
161
|
-
*/
|
|
162
|
-
_setSelectedRadioToChecked() {
|
|
163
|
-
if (this.selected && !this.selected.checked) {
|
|
164
|
-
this.selected.checked = true;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Updates the 'name' property of the child radio buttons to match that of the group so they all function together
|
|
169
|
-
*/
|
|
170
|
-
_updateRadioButtonNames() {
|
|
171
|
-
if (this._radios) {
|
|
172
|
-
this._radios.forEach(radio => {
|
|
173
|
-
radio.name = this.name;
|
|
174
|
-
radio.markForCheck();
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Updates the 'disabled' property of the child radio buttons to match the disabled state of the radio group
|
|
180
|
-
*/
|
|
181
|
-
_updateRadioButtonDisabled() {
|
|
182
|
-
if (this._radios) {
|
|
183
|
-
this._radios.forEach(radio => {
|
|
184
|
-
radio.required = this._required;
|
|
185
|
-
radio.markForCheck();
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Updates the 'required' property of the child radio buttons to match the required state of the radio group
|
|
191
|
-
*/
|
|
192
|
-
_updateRadioButtonRequired() {
|
|
193
|
-
if (this._radios) {
|
|
194
|
-
this._radios.forEach(radio => {
|
|
195
|
-
radio.required = this._required;
|
|
196
|
-
radio.markForCheck();
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Updates the 'labelPosition' property of the child radio buttons to match the labelPosition state of the radio group
|
|
202
|
-
*/
|
|
203
|
-
_updateRadioButtonLabelPosition() {
|
|
204
|
-
if (this._radios) {
|
|
205
|
-
this._radios.forEach(radio => {
|
|
206
|
-
radio.labelPosition = this._labelPosition;
|
|
207
|
-
radio.markForCheck();
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Boolean indicating if the radiobutton is required and not checked
|
|
213
|
-
* @ignore
|
|
214
|
-
*/
|
|
215
|
-
hasError() {
|
|
216
|
-
const hasSelectedRadio = this._radios.some(r => r.checked);
|
|
217
|
-
return this.required && !hasSelectedRadio;
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Implemented as part of ControlValueAccessor.
|
|
221
|
-
* @param value The model bound property, i.e. the value of checked
|
|
222
|
-
* @ignore
|
|
223
|
-
*/
|
|
224
|
-
writeValue(value) {
|
|
225
|
-
if ((value !== undefined) && (value !== null)) {
|
|
226
|
-
this.selected = value;
|
|
227
|
-
this._changeDetector.detectChanges();
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Implemented as part of ControlValueAccessor.
|
|
232
|
-
* @param fn The function to call on change. Provided by ControlValueAccessor
|
|
233
|
-
* @ignore
|
|
234
|
-
*/
|
|
235
|
-
registerOnChange(fn) {
|
|
236
|
-
this._propagateChange = fn;
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Implemented as part of ControlValueAccessor.
|
|
240
|
-
* @param fn The function to call on touch. Provided by ControlValueAccessor
|
|
241
|
-
* @ignore
|
|
242
|
-
*/
|
|
243
|
-
registerOnTouched(fn) {
|
|
244
|
-
this._onTouchedCallback = fn;
|
|
245
|
-
}
|
|
246
|
-
;
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Used to generate unique Id for this component
|
|
250
|
-
* @ignore
|
|
251
|
-
*/
|
|
252
|
-
GoARadioGroupComponent.idNum = 0;
|
|
253
|
-
GoARadioGroupComponent.decorators = [
|
|
254
|
-
{ type: Component, args: [{
|
|
255
|
-
selector: 'goa-radio-group',
|
|
256
|
-
template: "<div class=\"goa-radio-group\" [ngClass]=\"{'goa-radio-group-disabled': disabled}\">\n <span *ngIf=\"title\" class=\"radio-group-title\">{{title}}</span>\n <span *ngIf=\"required\" class=\"required-label\" i18n=\"Required label for dropdown\">(Required)</span>\n <div *ngIf=\"helperText\" class=\"helper-text\">{{helperText}}</div>\n <div class=\"goa-radios\">\n <ng-content></ng-content>\n </div>\n <div *ngIf=\"hasError()\" class=\"error-text\">{{requiredErrorMessage}}</div>\n</div>\n",
|
|
257
|
-
providers: [
|
|
258
|
-
GOA_RADIO_GROUP_CONTROL_VALUE_ACCESSOR,
|
|
259
|
-
{ provide: GOA_RADIO_GROUP, useExisting: GoARadioGroupComponent }
|
|
260
|
-
],
|
|
261
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
262
|
-
styles: [".goa-radio-group{margin-top:28px}.goa-radio-group.goa-radio-group-disabled.goa-radios{opacity:30%;cursor:default}.goa-radio-group .radio-group-title{font-size:18px;font-weight:bold;color:#333;line-height:28px}.goa-radio-group .helper-text{font-size:14px;font-weight:normal;color:#333;margin-bottom:20px}.goa-radio-group .required-label{margin-left:8px;font-size:14px;color:#666}.goa-radio-group .error-text{color:#fc1921;font-size:14px;margin-bottom:20px}\n"]
|
|
263
|
-
},] }
|
|
264
|
-
];
|
|
265
|
-
GoARadioGroupComponent.ctorParameters = () => [
|
|
266
|
-
{ type: ChangeDetectorRef },
|
|
267
|
-
{ type: GoARadioService }
|
|
268
|
-
];
|
|
269
|
-
GoARadioGroupComponent.propDecorators = {
|
|
270
|
-
_radios: [{ type: ContentChildren, args: [forwardRef(() => GoARadioComponent), { descendants: true },] }],
|
|
271
|
-
title: [{ type: Input }],
|
|
272
|
-
helperText: [{ type: Input }],
|
|
273
|
-
requiredErrorMessage: [{ type: Input }],
|
|
274
|
-
name: [{ type: Input }],
|
|
275
|
-
value: [{ type: Input }],
|
|
276
|
-
selected: [{ type: Input }],
|
|
277
|
-
disabled: [{ type: Input }],
|
|
278
|
-
required: [{ type: Input }],
|
|
279
|
-
labelPosition: [{ type: Input }],
|
|
280
|
-
selectionChange: [{ type: Output }]
|
|
281
|
-
};
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9yYWRpby1ncm91cC9yYWRpby1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCx1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLGNBQWMsRUFHZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3pEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUNyRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUE7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBeUIsZUFBZSxDQUFDLENBQUM7QUFFM0Y7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXNCO0lBdUpqQyxZQUFvQixlQUFrQyxFQUFVLGFBQThCO1FBQTFFLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQS9IOUY7O1dBRUc7UUFDSyxVQUFLLEdBQUcsbUJBQW1CLHNCQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFFcEU7O1dBRUc7UUFDSyxXQUFNLEdBQVEsSUFB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Q0FBc0M7b0JBQ3RDLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUM7aUJBQ2hFO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBM0NDLGlCQUFpQjtZQVVWLGVBQWU7OztzQkF3RHJCLGVBQWUsU0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUM7b0JBbUN4RSxLQUFLO3lCQUtMLEtBQUs7bUNBS0wsS0FBSzttQkFLTCxLQUFLO29CQVVMLEtBQUs7dUJBZUwsS0FBSzt1QkFXTCxLQUFLO3VCQVVMLEtBQUs7NEJBU0wsS0FBSzs4QkFZTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBRdWVyeUxpc3QsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdvQVJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IEdvQVJhZGlvQ2hhbmdlIH0gZnJvbSAnLi4vcmFkaW8vcmFkaW8tY2hhbmdlJztcbmltcG9ydCB7IEdvQVJhZGlvU2VydmljZSB9IGZyb20gJy4uL3JhZGlvL3JhZGlvLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogQ29udHJvbCB2YWx1ZSBhY2Nlc3NvciB0byB1c2UgZm9yIHRoZSBjb21wb25lbnQncyBwcm92aWRlclxuICogQGlnbm9yZVxuICovXG5leHBvcnQgY29uc3QgR09BX1JBRElPX0dST1VQX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBHb0FSYWRpb0dyb3VwQ29tcG9uZW50KSxcbiAgbXVsdGk6IHRydWVcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byBpbmplY3QgaW5zdGFuY2VzIG9mIGBHb0FSYWRpb0dyb3VwQ29tcG9uZW50YC4gSXQgc2VydmVzIGFzXG4gKiBhbHRlcm5hdGl2ZSB0b2tlbiB0byB0aGUgYWN0dWFsIGBHb0FSYWRpb0dyb3VwQ29tcG9uZW50YCBjbGFzcyB3aGljaCBjb3VsZCBjYXVzZSB1bm5lY2Vzc2FyeVxuICogcmV0ZW50aW9uIG9mIHRoZSBjbGFzcyBhbmQgaXRzIGNvbXBvbmVudCBtZXRhZGF0YS5cbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGNvbnN0IEdPQV9SQURJT19HUk9VUCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxHb0FSYWRpb0dyb3VwQ29tcG9uZW50PignR29BUmFkaW9Hcm91cCcpO1xuXG4vKipcbiAqIFJhZGlvYnV0dG9uIGdyb3VwIGNvbXBvbmVudCB3aXRoIEdvdmVybm1lbnQgb2YgQWxiZXJ0YSBzdHlsaW5nLiAgVXNlZCB0byBncm91cCBhIHNldCBvZiByZWxhdGVkIHJhZGlvIGJ1dHRvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dvYS1yYWRpby1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhZGlvLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIEdPQV9SQURJT19HUk9VUF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHtwcm92aWRlOiBHT0FfUkFESU9fR1JPVVAsIHVzZUV4aXN0aW5nOiBHb0FSYWRpb0dyb3VwQ29tcG9uZW50fVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBHb0FSYWRpb0dyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElkIGZvciB0aGlzIGNvbXBvbmVudFxuICAgKiBAaWdub3JlXG4gICAqL1xuICBzdGF0aWMgaWROdW0gPSAwO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgSWQgZm9yIHRoaXMgY29tcG9uZW50XG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHVuaXF1ZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgc3Vic2NyaXB0aW9uIHRvIHRoZSByYWRpbyBjaGFuZ2UgZXZlbnRzIHNvIGl0IGNhbiBiZSB1bnN1YnNjcmliZWQgb24gZGVzdHJveVxuICAgKiBAaWdub3JlXG4gICAqL1xuICByYWRpb1NlcnZpY2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogVGhlIGNoaWxkIHJhZGlvIGJ1dHRvbnMgaW5zaWRlIHRoZSByYWRpbyBncm91cFxuICAgKi9cbiAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEdvQVJhZGlvQ29tcG9uZW50KSwge2Rlc2NlbmRhbnRzOiB0cnVlfSkgX3JhZGlvczogUXVlcnlMaXN0PEdvQVJhZGlvQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfbmFtZSA9IGBnb2EtcmFkaW8tZ3JvdXAtJHtHb0FSYWRpb0dyb3VwQ29tcG9uZW50LmlkTnVtKyt9YDtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsdWU6IGFueSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGVkOiBHb0FSYWRpb0NvbXBvbmVudDtcblxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBwcml2YXRlIF9sYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgZm9yIHRoZSByYWRpbyBncm91cC4gIFB1dCB0aGUgcXVlc3Rpb24gYmVpbmcgYXNrZWQgaGVyZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcblxuICAvKipcbiAgICogSGVscGVyIHRleHQgdG8gcHJvdmlkZSBmdXJ0aGVyIGNvbnRleHQgYXMgdG8gd2hhdCB0aGUgcmFkaW8gZ3JvdXAgaXMgZm9yL2Fza2luZ1xuICAgKi9cbiAgQElucHV0KCkgaGVscGVyVGV4dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIHJhZGlvIGdyb3VwIHNlbGVjdGlvbiBpcyByZXF1aXJlZCBhbmQgbm90aGluZyBoYXMgYmVlbiBzZWxlY3RlZFxuICAgKi9cbiAgQElucHV0KCkgcmVxdWlyZWRFcnJvck1lc3NhZ2UgPSAnUGxlYXNlIHNlbGVjdCBvbmUgb2YgdGhlIHByb3ZpZGVkIG9wdGlvbnMuJztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRoZSBcImdyb3VwXCIgb3Igc2V0IG9mIHJhZGlvcyB0aGlzIHJhZGlvIGJlbG9uZ3MgdG8uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgbmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fbmFtZTsgfVxuICBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fbmFtZSA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWx1ZS91bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG9iamVjdCB0aGUgcmFkaW9idXR0b24gcmVwcmVzZW50cy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBhbnkgeyByZXR1cm4gdGhpcy5fdmFsdWU7IH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAvLyBTZXQgdGhpcyBiZWZvcmUgcHJvY2VlZGluZyB0byBlbnN1cmUgbm8gY2lyY3VsYXIgbG9vcCBvY2N1cnMgd2l0aCBzZWxlY3Rpb24uXG4gICAgICB0aGlzLl92YWx1ZSA9IG5ld1ZhbHVlO1xuXG4gICAgICB0aGlzLl91cGRhdGVTZWxlY3RlZFJhZGlvRnJvbVZhbHVlKCk7XG4gICAgICB0aGlzLl9zZXRTZWxlY3RlZFJhZGlvVG9DaGVja2VkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcmFkaW8uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgc2VsZWN0ZWQoKSB7IHJldHVybiB0aGlzLl9zZWxlY3RlZDsgfVxuICBzZXQgc2VsZWN0ZWQoc2VsZWN0ZWQ6IEdvQVJhZGlvQ29tcG9uZW50IHwgbnVsbCkge1xuICAgIHRoaXMuX3NlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkID8gc2VsZWN0ZWQudmFsdWUgOiBudWxsO1xuICAgIHRoaXMuX3NldFNlbGVjdGVkUmFkaW9Ub0NoZWNrZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIHJhZGlvYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl91cGRhdGVSYWRpb0J1dHRvbkRpc2FibGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSByYWRpb2J1dHRvbiBpcyByZXF1aXJlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX3JlcXVpcmVkOyB9XG4gIHNldCByZXF1aXJlZCh2YWx1ZSkge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gdmFsdWU7XG4gICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25SZXF1aXJlZCgpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gdG8gZGlzcGxheSB0aGUgbGFiZWwvdGV4dCBmb3IgdGhlIHJhZGlvYnV0dG9uLiAgVmFsaWQgdmFsdWVzIGFyZSBiZWZvcmUgYW5kIGFmdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGxhYmVsUG9zaXRpb24oKTogJ2JlZm9yZScgfCAnYWZ0ZXInIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxQb3NpdGlvbjtcbiAgfVxuICBzZXQgbGFiZWxQb3NpdGlvbihwb3NpdGlvbikge1xuICAgIHRoaXMuX2xhYmVsUG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAnYmVmb3JlJyA6ICdhZnRlcic7XG4gICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25MYWJlbFBvc2l0aW9uKCk7XG4gIH1cblxuICAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgY29udGFpbmluZyB0aGUgc291cmNlIHJhZGlvYnV0dG9uLCBhbmQgd2hldGhlciBvciBub3QgaXQgaXMgY2hlY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxHb0FSYWRpb0NoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEdvQVJhZGlvQ2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9wcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9yYWRpb1NlcnZpY2U6IEdvQVJhZGlvU2VydmljZSkge1xuICAgIHRoaXMudW5pcXVlSWQgPSBgZ29hLXJhZGlvYnV0dG9uLWdyb3VwLSR7R29BUmFkaW9Hcm91cENvbXBvbmVudC5pZE51bSsrfWA7XG4gIH1cblxuICAvKipcbiAgICogTGlmZWN5Y2xlIGhvb2sgQWZ0ZXJDb250ZW50SW5pdC4gIFVzZWQgdG8gc2V0IHByb3BlcnRpZXMgb24gY2hpbGQgcmFkaW9zIGJhc2VkIG9uIHRoZSByYWRpbyBncm91cCdzIHByb3BlcnRpZXMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVSYWRpb0J1dHRvbk5hbWVzKCk7XG4gICAgdGhpcy5fdXBkYXRlUmFkaW9CdXR0b25EaXNhYmxlZCgpO1xuICAgIHRoaXMuX3VwZGF0ZVJhZGlvQnV0dG9uUmVxdWlyZWQoKTtcbiAgICB0aGlzLl91cGRhdGVSYWRpb0J1dHRvbkxhYmVsUG9zaXRpb24oKTtcbiAgICB0aGlzLl91cGRhdGVTZWxlY3RlZFJhZGlvRnJvbVZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlmZWN5Y2xlIGhvb2sgT25Jbml0LiAgVXNlZCB0byBzdWJzY3JpYmUgdG8gcmFkaW8gY2hhbmdlIG1lc3NhZ2VzIGZyb20gdGhlIHJhZGlvU2VydmljZSBpbiBvcmRlciB0byBzZXQgdGhlICdzZWxlY3RlZCcgcHJvcGVydHlcbiAgICogb2YgdGhlIHJhZGlvIGdyb3VwIGJhc2VkIG9uIHdoaWNoIHJhZGlvIHdhcyBzZWxlY3RlZFxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJhZGlvU2VydmljZVN1YnNjcmlwdGlvbiA9IHRoaXMuX3JhZGlvU2VydmljZS5yYWRpb0NoYW5nZU1lc3NhZ2Uuc3Vic2NyaWJlKHJjbSA9PiB7XG4gICAgICBpZihyY20gJiYgcmNtLnNvdXJjZSAmJiByY20uc291cmNlLm5hbWUgPT09IHRoaXMubmFtZSAmJiByY20uY2hlY2tlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5fcmFkaW9zLmZpbmQociA9PiByLnVuaXF1ZUlkID09PSByY20uc291cmNlLnVuaXF1ZUlkKTtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChyY20pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBob29rIE9uRGVzdHJveS4gIFVzZWQgdG8gdW5zdWJzY3JpYmUgZnJvbSB0aGUgcmFkaW8gY2hhbmdlIG1lc3NhZ2VzLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJhZGlvU2VydmljZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIGBzZWxlY3RlZGAgcmFkaW8gYnV0dG9uIGZyb20gdGhlIGludGVybmFsIF92YWx1ZSBzdGF0ZS5cbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVNlbGVjdGVkUmFkaW9Gcm9tVmFsdWUoKTogdm9pZCB7XG4gICAgLy8gSWYgdGhlIHZhbHVlIGFscmVhZHkgbWF0Y2hlcyB0aGUgc2VsZWN0ZWQgcmFkaW8sIGRvIG5vdGhpbmcuXG4gICAgY29uc3QgaXNBbHJlYWR5U2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZCAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlbGVjdGVkICE9PSBudWxsICYmIHRoaXMuX3NlbGVjdGVkLnZhbHVlID09PSB0aGlzLl92YWx1ZTtcblxuICAgIC8vIG5lZWQgdG8gd3JhcCBpbiBzZXRUaW1lb3V0IGJlY2F1c2UgX3JhZGlvcyBoYXNudCByZXNvbHZlZCB5ZXQgd2hlbiBJbnB1dCBzZXR0ZXIgZmlyZXMsIG5lZWQgdG8gZ2V0IHRvIG5leHQgY3ljbGUgaW4gcGFnZSBsaWZlY3ljbGVcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9yYWRpb3MgJiYgIWlzQWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGVkID0gbnVsbDtcbiAgICAgICAgdGhpcy5fcmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICAgIHJhZGlvLmNoZWNrZWQgPSB0aGlzLnZhbHVlID09PSByYWRpby52YWx1ZTtcbiAgICAgICAgICBpZiAocmFkaW8uY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSByYWRpbztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNlbGVjdGVkIHJhZGlvIHRvIGNoZWNrZWQgaWYgaXQgaXMgbm90IGFscmVhZHkgY2hlY2tlZFxuICAgKi9cbiAgcHJpdmF0ZSBfc2V0U2VsZWN0ZWRSYWRpb1RvQ2hlY2tlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5zZWxlY3RlZC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmNoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSAnbmFtZScgcHJvcGVydHkgb2YgdGhlIGNoaWxkIHJhZGlvIGJ1dHRvbnMgdG8gbWF0Y2ggdGhhdCBvZiB0aGUgZ3JvdXAgc28gdGhleSBhbGwgZnVuY3Rpb24gdG9nZXRoZXJcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVJhZGlvQnV0dG9uTmFtZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JhZGlvcykge1xuICAgICAgdGhpcy5fcmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5uYW1lID0gdGhpcy5uYW1lO1xuICAgICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSAnZGlzYWJsZWQnIHByb3BlcnR5IG9mIHRoZSBjaGlsZCByYWRpbyBidXR0b25zIHRvIG1hdGNoIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgcmFkaW8gZ3JvdXBcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVJhZGlvQnV0dG9uRGlzYWJsZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JhZGlvcykge1xuICAgICAgdGhpcy5fcmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5yZXF1aXJlZCA9IHRoaXMuX3JlcXVpcmVkO1xuICAgICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSAncmVxdWlyZWQnIHByb3BlcnR5IG9mIHRoZSBjaGlsZCByYWRpbyBidXR0b25zIHRvIG1hdGNoIHRoZSByZXF1aXJlZCBzdGF0ZSBvZiB0aGUgcmFkaW8gZ3JvdXBcbiAgICovXG4gIHByaXZhdGUgX3VwZGF0ZVJhZGlvQnV0dG9uUmVxdWlyZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JhZGlvcykge1xuICAgICAgdGhpcy5fcmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5yZXF1aXJlZCA9IHRoaXMuX3JlcXVpcmVkO1xuICAgICAgICByYWRpby5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSAnbGFiZWxQb3NpdGlvbicgcHJvcGVydHkgb2YgdGhlIGNoaWxkIHJhZGlvIGJ1dHRvbnMgdG8gbWF0Y2ggdGhlIGxhYmVsUG9zaXRpb24gc3RhdGUgb2YgdGhlIHJhZGlvIGdyb3VwXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVSYWRpb0J1dHRvbkxhYmVsUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3JhZGlvcykge1xuICAgICAgdGhpcy5fcmFkaW9zLmZvckVhY2gocmFkaW8gPT4ge1xuICAgICAgICByYWRpby5sYWJlbFBvc2l0aW9uID0gdGhpcy5fbGFiZWxQb3NpdGlvbjtcbiAgICAgICAgcmFkaW8ubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQm9vbGVhbiBpbmRpY2F0aW5nIGlmIHRoZSByYWRpb2J1dHRvbiBpcyByZXF1aXJlZCBhbmQgbm90IGNoZWNrZWRcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgaGFzRXJyb3IoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFzU2VsZWN0ZWRSYWRpbyA9IHRoaXMuX3JhZGlvcy5zb21lKHIgPT4gci5jaGVja2VkKTtcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZCAmJiAhaGFzU2VsZWN0ZWRSYWRpbztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG1vZGVsIGJvdW5kIHByb3BlcnR5LCBpLmUuIHRoZSB2YWx1ZSBvZiBjaGVja2VkXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICgodmFsdWUgIT09IHVuZGVmaW5lZCkgJiYgKHZhbHVlICE9PSBudWxsKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gZm4gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgb24gY2hhbmdlLiAgUHJvdmlkZWQgYnkgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5fcHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICogQHBhcmFtIGZuIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHRvdWNoLiAgUHJvdmlkZWQgYnkgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH07XG5cbn1cbiJdfQ==
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
export class GoASkeletonElementComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.type = 'text';
|
|
5
|
-
}
|
|
6
|
-
get elementClass() {
|
|
7
|
-
return `skeleton ${this.type}`;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
GoASkeletonElementComponent.decorators = [
|
|
11
|
-
{ type: Component, args: [{
|
|
12
|
-
selector: 'goa-skeleton-element',
|
|
13
|
-
template: "<div [ngClass]=\"elementClass\"></div>",
|
|
14
|
-
styles: ["@-webkit-keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}:root{--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2.25rem;--fs-3xl: 3rem;--fw-thin: 100;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--fw-black: 900}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}[data-skeleton]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-skeleton] *{border-color:#ddd!important;color:transparent!important}[data-skeleton] p,[data-skeleton] a{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;display:inline;line-height:0!important;font-size:50%!important}[data-skeleton] p:after,[data-skeleton] a:after{content:\"\"!important;display:block!important;margin-bottom:1rem!important;background-size:contain}[data-skeleton] h1,[data-skeleton] h2,[data-skeleton] h3,[data-skeleton] h4,[data-skeleton] h5,[data-skeleton] h6{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;margin-bottom:1rem}[data-skeleton] h1{height:calc(.6 * 3rem)!important;height:calc(.6 * var(--fs-3xl))!important}[data-skeleton] h2{height:calc(.6 * 2.25rem)!important;height:calc(.6 * var(--fs-2xl))!important}[data-skeleton] h3{height:calc(.6 * 1.5rem)!important;height:calc(.6 * var(--fs-xl))!important}[data-skeleton] h4{height:calc(.6 * 1.25rem)!important;height:calc(.6 * var(--fs-lg))!important}[data-skeleton] img{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out}.skeleton{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;background:#dcdcdc;overflow:hidden;margin:10px 0}.skeleton.text{width:100%;height:12px;border-radius:4px}.skeleton.paragraph{width:100%;height:70px;border-radius:4px}.skeleton.title{width:50%;height:20px;margin-bottom:15px;border-radius:4px}.skeleton.avatar{width:100px;height:100px;border-radius:50%}.skeleton.thumbnail{width:100px;height:100px;border-radius:4px}.skeleton-image-content{display:flex;flex-direction:row;grid-gap:30px;gap:30px}.skeleton-image-content__text{flex:1 1 auto}.skeleton-content{display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;align-items:left}.goa-card{box-sizing:border-box;background:#fff;border:1px solid #dcdcdc;transition:opacity .3s ease-in-out}.goa-card .card-content{padding:28px;border-top:8px solid #0081a2}.goa-card .card-content .goa-title,.goa-card .card-content .goa-text,.goa-card .card-content .goa-content{margin-bottom:28px}.goa-card .card-content .goa-text{color:#333;font-size:1.125rem;font-size:var(--fs-base);line-height:28px}.goa-card .card-content .goa-footer{font-size:1.125rem;font-size:var(--fs-base)}.goa-card .card-content .goa-title{font-size:1.5rem;font-size:var(--fs-xl);font-weight:400;line-height:32px}.goa-card .goa-poster{position:relative;display:block;padding:56.25% 0 0;overflow:hidden;background:#e5e5e5}.goa-card .goa-poster:empty{display:none}.goa-card .goa-poster img,.goa-card .goa-poster iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.goa-card .goa-poster-image img{display:block;width:100%;-o-object-fit:cover;object-fit:cover}.goa-card.card-auto{width:auto}.goa-card.card-auto .card{flex-basis:auto;width:auto}.goa-card a:hover{color:#004f84;text-decoration:none}.goa-card a:focus{outline:3px solid #feba35;outline-offset:0}.goa-card[data-skeleton] .goa-poster-image{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;padding-bottom:56.25%}.goa-card[data-skeleton] .goa-poster-image img{display:none}.goa-card[data-skeleton] .goa-title{margin-bottom:1rem}.goa-card[data-skeleton] .goa-footer{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;max-height:1rem}\n"]
|
|
15
|
-
},] }
|
|
16
|
-
];
|
|
17
|
-
GoASkeletonElementComponent.ctorParameters = () => [];
|
|
18
|
-
GoASkeletonElementComponent.propDecorators = {
|
|
19
|
-
type: [{ type: Input }]
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3NrZWxldG9uL3NrZWxldG9uLWVsZW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3pELE1BQU0sT0FBTywyQkFBMkI7SUFTdEM7UUFSUyxTQUFJLEdBTUEsTUFBTSxDQUFDO0lBRUwsQ0FBQztJQUVoQixJQUFJLFlBQVk7UUFDZCxPQUFPLFlBQVksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pDLENBQUM7OztZQWxCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsa0RBQWdEOzthQUVqRDs7OzttQkFFRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dvYS1za2VsZXRvbi1lbGVtZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NrZWxldG9uLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9za2VsZXRvbi1lbGVtZW50LmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEdvQVNrZWxldG9uRWxlbWVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHR5cGU6XG4gICAgfCAndGV4dCdcbiAgICB8ICdhdmF0YXInXG4gICAgfCAndGl0bGUnXG4gICAgfCAncGFyYWdyYXBoJ1xuICAgIHwgJ3RodW1ibmFpbCdcbiAgICB8ICdjYXJkJyA9ICd0ZXh0JztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0IGVsZW1lbnRDbGFzcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc2tlbGV0b24gJHt0aGlzLnR5cGV9YDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
export class GoASkeletonImageContentComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.rows = 1;
|
|
5
|
-
this.arr = Array;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
GoASkeletonImageContentComponent.decorators = [
|
|
9
|
-
{ type: Component, args: [{
|
|
10
|
-
selector: 'goa-skeleton-image-content',
|
|
11
|
-
template: "<div class=\"skeleton-image-content\">\n <goa-skeleton-element type=\"thumbnail\"></goa-skeleton-element>\n <div class=\"skeleton-image-content__text\">\n <goa-skeleton-element\n type=\"title\"\n *ngFor=\"let i of arr(rows).fill(1)\"\n ></goa-skeleton-element>\n </div>\n</div>\n",
|
|
12
|
-
styles: ["@-webkit-keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}:root{--fs-xs: .75rem;--fs-sm: .875rem;--fs-base: 1.125rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 2.25rem;--fs-3xl: 3rem;--fw-thin: 100;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--fw-black: 900}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}[data-skeleton]{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-skeleton] *{border-color:#ddd!important;color:transparent!important}[data-skeleton] p,[data-skeleton] a{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;display:inline;line-height:0!important;font-size:50%!important}[data-skeleton] p:after,[data-skeleton] a:after{content:\"\"!important;display:block!important;margin-bottom:1rem!important;background-size:contain}[data-skeleton] h1,[data-skeleton] h2,[data-skeleton] h3,[data-skeleton] h4,[data-skeleton] h5,[data-skeleton] h6{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;margin-bottom:1rem}[data-skeleton] h1{height:calc(.6 * 3rem)!important;height:calc(.6 * var(--fs-3xl))!important}[data-skeleton] h2{height:calc(.6 * 2.25rem)!important;height:calc(.6 * var(--fs-2xl))!important}[data-skeleton] h3{height:calc(.6 * 1.5rem)!important;height:calc(.6 * var(--fs-xl))!important}[data-skeleton] h4{height:calc(.6 * 1.25rem)!important;height:calc(.6 * var(--fs-lg))!important}[data-skeleton] img{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out}.skeleton{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;background:#dcdcdc;overflow:hidden;margin:10px 0}.skeleton.text{width:100%;height:12px;border-radius:4px}.skeleton.paragraph{width:100%;height:70px;border-radius:4px}.skeleton.title{width:50%;height:20px;margin-bottom:15px;border-radius:4px}.skeleton.avatar{width:100px;height:100px;border-radius:50%}.skeleton.thumbnail{width:100px;height:100px;border-radius:4px}.skeleton-image-content{display:flex;flex-direction:row;grid-gap:30px;gap:30px}.skeleton-image-content__text{flex:1 1 auto}.skeleton-content{display:grid;grid-template-columns:1fr;grid-gap:30px;gap:30px;align-items:left}.goa-card{box-sizing:border-box;background:#fff;border:1px solid #dcdcdc;transition:opacity .3s ease-in-out}.goa-card .card-content{padding:28px;border-top:8px solid #0081a2}.goa-card .card-content .goa-title,.goa-card .card-content .goa-text,.goa-card .card-content .goa-content{margin-bottom:28px}.goa-card .card-content .goa-text{color:#333;font-size:1.125rem;font-size:var(--fs-base);line-height:28px}.goa-card .card-content .goa-footer{font-size:1.125rem;font-size:var(--fs-base)}.goa-card .card-content .goa-title{font-size:1.5rem;font-size:var(--fs-xl);font-weight:400;line-height:32px}.goa-card .goa-poster{position:relative;display:block;padding:56.25% 0 0;overflow:hidden;background:#e5e5e5}.goa-card .goa-poster:empty{display:none}.goa-card .goa-poster img,.goa-card .goa-poster iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.goa-card .goa-poster-image img{display:block;width:100%;-o-object-fit:cover;object-fit:cover}.goa-card.card-auto{width:auto}.goa-card.card-auto .card{flex-basis:auto;width:auto}.goa-card a:hover{color:#004f84;text-decoration:none}.goa-card a:focus{outline:3px solid #feba35;outline-offset:0}.goa-card[data-skeleton] .goa-poster-image{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;padding-bottom:56.25%}.goa-card[data-skeleton] .goa-poster-image img{display:none}.goa-card[data-skeleton] .goa-title{margin-bottom:1rem}.goa-card[data-skeleton] .goa-footer{background-color:#ddd!important;-webkit-animation:pulse 2s infinite ease-in-out;animation:pulse 2s infinite ease-in-out;max-height:1rem}\n"]
|
|
13
|
-
},] }
|
|
14
|
-
];
|
|
15
|
-
GoASkeletonImageContentComponent.ctorParameters = () => [];
|
|
16
|
-
GoASkeletonImageContentComponent.propDecorators = {
|
|
17
|
-
rows: [{ type: Input }]
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24taW1hZ2UtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL3NrZWxldG9uL3NrZWxldG9uLWltYWdlLWNvbnRlbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT3pELE1BQU0sT0FBTyxnQ0FBZ0M7SUFJM0M7UUFIUyxTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLFFBQUcsR0FBRyxLQUFLLENBQUM7SUFDRyxDQUFDOzs7WUFUakIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLHNUQUFzRDs7YUFFdkQ7Ozs7bUJBRUUsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnb2Etc2tlbGV0b24taW1hZ2UtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9za2VsZXRvbi1pbWFnZS1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2tlbGV0b24tZWxlbWVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHb0FTa2VsZXRvbkltYWdlQ29udGVudENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHJvd3MgPSAxO1xuXG4gIGFyciA9IEFycmF5O1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cblxufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { OnInit, EventEmitter } from '@angular/core';
|
|
2
|
-
export declare class GoAAppVersionHeaderComponent implements OnInit {
|
|
3
|
-
isProdEnvironment: boolean;
|
|
4
|
-
environment: string;
|
|
5
|
-
version: string;
|
|
6
|
-
closed: EventEmitter<boolean>;
|
|
7
|
-
constructor();
|
|
8
|
-
ngOnInit(): void;
|
|
9
|
-
onCloseClick(): void;
|
|
10
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
export declare class GoABadgeComponent implements OnInit {
|
|
3
|
-
type: 'information' | 'success' | 'warning' | 'emergency' | 'dark' | 'midtone' | 'light' | 'inactive';
|
|
4
|
-
constructor();
|
|
5
|
-
get badgeClass(): string;
|
|
6
|
-
ngOnInit(): void;
|
|
7
|
-
}
|
package/experimental/index.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
2
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
3
|
-
export declare class GoANumberInputComponent implements ControlValueAccessor {
|
|
4
|
-
private _value?;
|
|
5
|
-
private _min?;
|
|
6
|
-
private _max?;
|
|
7
|
-
private _isTouched;
|
|
8
|
-
private inputElement;
|
|
9
|
-
private get input();
|
|
10
|
-
disabled: boolean;
|
|
11
|
-
/**
|
|
12
|
-
* Sets the step value that is used when incrementing / decrementing
|
|
13
|
-
*
|
|
14
|
-
* @memberof GoANumberInputComponent
|
|
15
|
-
*/
|
|
16
|
-
step: number;
|
|
17
|
-
/**
|
|
18
|
-
* An event that fires whenever the value is changed
|
|
19
|
-
*
|
|
20
|
-
* @type {EventEmitter<number | undefined | null>}
|
|
21
|
-
* @memberof GoANumberInputComponent
|
|
22
|
-
*/
|
|
23
|
-
valueChanged: EventEmitter<number | undefined | null>;
|
|
24
|
-
/**
|
|
25
|
-
* The value of the NumberInput
|
|
26
|
-
*
|
|
27
|
-
* @memberof GoANumberInputComponent
|
|
28
|
-
*/
|
|
29
|
-
set value(val: number | null);
|
|
30
|
-
get value(): number | undefined | null;
|
|
31
|
-
/**
|
|
32
|
-
* Sets the minimum value that the number input can take
|
|
33
|
-
*
|
|
34
|
-
* @memberof GoANumberInputComponent
|
|
35
|
-
*/
|
|
36
|
-
set min(min: number | undefined | null);
|
|
37
|
-
get min(): number | undefined | null;
|
|
38
|
-
/**
|
|
39
|
-
* Sets the maximum value that the number input can take
|
|
40
|
-
*
|
|
41
|
-
* @memberof GoANumberInputComponent
|
|
42
|
-
*/
|
|
43
|
-
set max(max: number | undefined);
|
|
44
|
-
get max(): number | undefined;
|
|
45
|
-
private clampValue;
|
|
46
|
-
markTouched(): void;
|
|
47
|
-
handleInput(event: InputEvent): void;
|
|
48
|
-
/**
|
|
49
|
-
* Increment the number input
|
|
50
|
-
*
|
|
51
|
-
* @memberof GoANumberInputComponent
|
|
52
|
-
*/
|
|
53
|
-
increment(): void;
|
|
54
|
-
/**
|
|
55
|
-
* Decrement the number input
|
|
56
|
-
*
|
|
57
|
-
* @memberof GoANumberInputComponent
|
|
58
|
-
*/
|
|
59
|
-
decrement(): void;
|
|
60
|
-
writeValue(value: number): void;
|
|
61
|
-
onChange: (newValue?: number | null) => void;
|
|
62
|
-
registerOnChange(handler: (newValue?: number | null) => void): void;
|
|
63
|
-
onTouched: () => void;
|
|
64
|
-
registerOnTouched(handler: () => void): void;
|
|
65
|
-
setDisabledState(isDisabled: boolean): void;
|
|
66
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* A Government of Alberta styled button.
|
|
4
|
-
* selector: button[goa-button], input[type="button"][goa-button], input[type="submit"][goa-button]
|
|
5
|
-
*/
|
|
6
|
-
export declare class GoAButtonComponent implements OnInit {
|
|
7
|
-
/**
|
|
8
|
-
* Adds class goa-button to the host.
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
get primaryBinding(): boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Adds class goa--secondary to the host if the buttonStyle = secondary.
|
|
14
|
-
* @ignore
|
|
15
|
-
*/
|
|
16
|
-
get secondaryBinding(): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Adds class goa--tertiary to the host if the buttonStyle = tertiary.
|
|
19
|
-
* @ignore
|
|
20
|
-
*/
|
|
21
|
-
get tertiaryBinding(): boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Adds class btn-small to the host if the buttonSize = small.
|
|
24
|
-
* @ignore
|
|
25
|
-
*/
|
|
26
|
-
get smallBinding(): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* The appearance style of the button.
|
|
29
|
-
*/
|
|
30
|
-
buttonType: 'primary' | 'secondary' | 'tertiary';
|
|
31
|
-
/**
|
|
32
|
-
* The size of the button, controls font size and padding.
|
|
33
|
-
*/
|
|
34
|
-
buttonSize: 'small' | 'normal';
|
|
35
|
-
constructor();
|
|
36
|
-
ngOnInit(): void;
|
|
37
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Styles an anchor Design system compliant.
|
|
4
|
-
* selector: a[goa-button]
|
|
5
|
-
* @example <a goa-button linkType='right' href='...'>Text</a>
|
|
6
|
-
*/
|
|
7
|
-
export declare class GoAButtonLinkComponent implements OnInit {
|
|
8
|
-
/**
|
|
9
|
-
* Adds class goa-link-button to the host.
|
|
10
|
-
* @ignore
|
|
11
|
-
*/
|
|
12
|
-
get primaryBinding(): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Adds class right-arrow to the host if the linkType = right.
|
|
15
|
-
* @ignore
|
|
16
|
-
*/
|
|
17
|
-
get rightBinding(): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Adds class right-arrow to the host if the linkType = right.
|
|
20
|
-
* @ignore
|
|
21
|
-
*/
|
|
22
|
-
get upBinding(): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Adds class btn-small to the host if the buttonSize = small.
|
|
25
|
-
* @ignore
|
|
26
|
-
*/
|
|
27
|
-
get smallBinding(): boolean;
|
|
28
|
-
/**
|
|
29
|
-
* The type of arrow to use.
|
|
30
|
-
*/
|
|
31
|
-
linkType: 'up' | 'right';
|
|
32
|
-
/**
|
|
33
|
-
* The size of the button, controls font size and padding.
|
|
34
|
-
*/
|
|
35
|
-
buttonSize: 'small' | 'normal';
|
|
36
|
-
constructor();
|
|
37
|
-
ngOnInit(): void;
|
|
38
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Callout component to describe important changes or facts.
|
|
4
|
-
* selector: goa-callout
|
|
5
|
-
*/
|
|
6
|
-
export declare class GoACalloutComponent implements OnInit {
|
|
7
|
-
/**
|
|
8
|
-
* The type of the callout, changes stylings and icons.
|
|
9
|
-
*/
|
|
10
|
-
type: 'important' | 'information' | 'event' | 'success' | 'emergency';
|
|
11
|
-
/**
|
|
12
|
-
* The title of callout
|
|
13
|
-
*/
|
|
14
|
-
title: string;
|
|
15
|
-
constructor();
|
|
16
|
-
/**
|
|
17
|
-
* @ignore
|
|
18
|
-
*/
|
|
19
|
-
ngOnInit(): void;
|
|
20
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
export * from './header/card-header.component';
|
|
3
|
-
export * from './footer/card-footer.component';
|
|
4
|
-
export * from './thumb/card-thumb.component';
|
|
5
|
-
export * from './content/card-content.component';
|
|
6
|
-
/**
|
|
7
|
-
* Card component with Government of Alberta styling.
|
|
8
|
-
* Place desired sub-components (goa-card-thumb-image, goa-card-header, goa-card-content, goa-card-footer) inside of content.
|
|
9
|
-
* selector: goa-card
|
|
10
|
-
*/
|
|
11
|
-
export declare class GoACardComponent implements OnInit {
|
|
12
|
-
/**
|
|
13
|
-
* What percentage of container width to take.
|
|
14
|
-
*/
|
|
15
|
-
cardSize: 'full' | 'auto';
|
|
16
|
-
titleUrl: string;
|
|
17
|
-
isSkeleton: false;
|
|
18
|
-
constructor();
|
|
19
|
-
/**
|
|
20
|
-
* @ignore
|
|
21
|
-
*/
|
|
22
|
-
ngOnInit(): void;
|
|
23
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Content component used for Government of Alberta cards.
|
|
4
|
-
* Put content inside of component and it will project to the content section of the card.
|
|
5
|
-
* selector: goa-card-content
|
|
6
|
-
* @example <goa-card><goa-card-content>My content</goa-card-content></goa-card>
|
|
7
|
-
*/
|
|
8
|
-
export declare class GoACardContentComponent implements OnInit {
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* @ignore
|
|
12
|
-
*/
|
|
13
|
-
ngOnInit(): void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Footer component used for Government of Alberta cards.
|
|
4
|
-
* Put footer content inside of component and it will project to the confootertent section of the card.
|
|
5
|
-
* selector: goa-card-footer
|
|
6
|
-
* @example <goa-card><goa-card-footer>My content</goa-card-footer></goa-card>
|
|
7
|
-
*/
|
|
8
|
-
export declare class GoACardFooterComponent implements OnInit {
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* @ignore
|
|
12
|
-
*/
|
|
13
|
-
ngOnInit(): void;
|
|
14
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Header component used for Government of Alberta cards.
|
|
4
|
-
* Put header content inside of component and it will project to the header section of the card.
|
|
5
|
-
* selector: goa-card-header
|
|
6
|
-
* @example <goa-card><goa-card-header>My content</goa-card-header></goa-card>
|
|
7
|
-
*/
|
|
8
|
-
export declare class GoACardHeaderComponent implements OnInit {
|
|
9
|
-
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* @ignore
|
|
12
|
-
*/
|
|
13
|
-
ngOnInit(): void;
|
|
14
|
-
}
|