@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.
Files changed (84) hide show
  1. package/README.md +3 -45
  2. package/abgov-angular-components.d.ts +1 -0
  3. package/bundles/abgov-angular-components.umd.js +129 -2513
  4. package/bundles/abgov-angular-components.umd.js.map +1 -1
  5. package/esm2015/index.js +2 -26
  6. package/esm2015/lib/angular-components.module.js +16 -91
  7. package/esm2015/lib/value-directive.js +133 -0
  8. package/fesm2015/abgov-angular-components.js +117 -2001
  9. package/fesm2015/abgov-angular-components.js.map +1 -1
  10. package/index.d.ts +1 -25
  11. package/lib/angular-components.module.d.ts +7 -0
  12. package/lib/value-directive.d.ts +34 -0
  13. package/package.json +7 -12
  14. package/abgov-angular-components.metadata.json +0 -1
  15. package/esm2015/experimental/app-version-header/app-version-header.component.js +0 -30
  16. package/esm2015/experimental/badge/badge.component.js +0 -24
  17. package/esm2015/experimental/components.module.js +0 -28
  18. package/esm2015/experimental/index.js +0 -5
  19. package/esm2015/experimental/number-input/number-input.component.js +0 -151
  20. package/esm2015/lib/button/button.component.js +0 -66
  21. package/esm2015/lib/button-link/button-link.component.js +0 -66
  22. package/esm2015/lib/callout/callout.component.js +0 -34
  23. package/esm2015/lib/card/card.component.js +0 -37
  24. package/esm2015/lib/card/content/card-content.component.js +0 -24
  25. package/esm2015/lib/card/footer/card-footer.component.js +0 -24
  26. package/esm2015/lib/card/header/card-header.component.js +0 -24
  27. package/esm2015/lib/card/thumb/card-thumb.component.js +0 -27
  28. package/esm2015/lib/card-group/card.group.component.js +0 -23
  29. package/esm2015/lib/checkbox/checkbox-change.js +0 -3
  30. package/esm2015/lib/checkbox/checkbox.component.js +0 -136
  31. package/esm2015/lib/dropdown/dropdown.component.js +0 -326
  32. package/esm2015/lib/dropdown/option/option.component.js +0 -48
  33. package/esm2015/lib/dropdown/option-group/option-group.component.js +0 -46
  34. package/esm2015/lib/element-load-indicator/element-load-indicator.component.js +0 -63
  35. package/esm2015/lib/header/header.component.js +0 -47
  36. package/esm2015/lib/hero-banner/content/hero-banner-content.component.js +0 -15
  37. package/esm2015/lib/hero-banner/hero-banner.component.js +0 -21
  38. package/esm2015/lib/hero-banner/link/hero-banner-link.component.js +0 -18
  39. package/esm2015/lib/microsite-logo/microsite-logo.component.js +0 -34
  40. package/esm2015/lib/notification/notification.component.js +0 -59
  41. package/esm2015/lib/notification-banner/notification-banner.component.js +0 -32
  42. package/esm2015/lib/page-load-indicator/page-load-indicator.component.js +0 -117
  43. package/esm2015/lib/radio/radio-change.js +0 -3
  44. package/esm2015/lib/radio/radio.component.js +0 -146
  45. package/esm2015/lib/radio/radio.service.js +0 -20
  46. package/esm2015/lib/radio-group/radio-group.component.js +0 -282
  47. package/esm2015/lib/skeleton/skeleton-element.component.js +0 -21
  48. package/esm2015/lib/skeleton/skeleton-image-content.component.js +0 -19
  49. package/experimental/app-version-header/app-version-header.component.d.ts +0 -10
  50. package/experimental/badge/badge.component.d.ts +0 -7
  51. package/experimental/components.module.d.ts +0 -2
  52. package/experimental/index.d.ts +0 -4
  53. package/experimental/number-input/number-input.component.d.ts +0 -66
  54. package/lib/button/button.component.d.ts +0 -37
  55. package/lib/button-link/button-link.component.d.ts +0 -38
  56. package/lib/callout/callout.component.d.ts +0 -20
  57. package/lib/card/card.component.d.ts +0 -23
  58. package/lib/card/content/card-content.component.d.ts +0 -14
  59. package/lib/card/footer/card-footer.component.d.ts +0 -14
  60. package/lib/card/header/card-header.component.d.ts +0 -14
  61. package/lib/card/thumb/card-thumb.component.d.ts +0 -22
  62. package/lib/card-group/card.group.component.d.ts +0 -32
  63. package/lib/checkbox/checkbox-change.d.ts +0 -7
  64. package/lib/checkbox/checkbox.component.d.ts +0 -100
  65. package/lib/dropdown/dropdown.component.d.ts +0 -193
  66. package/lib/dropdown/option/option.component.d.ts +0 -39
  67. package/lib/dropdown/option-group/option-group.component.d.ts +0 -38
  68. package/lib/element-load-indicator/element-load-indicator.component.d.ts +0 -38
  69. package/lib/header/header.component.d.ts +0 -29
  70. package/lib/hero-banner/content/hero-banner-content.component.d.ts +0 -5
  71. package/lib/hero-banner/hero-banner.component.d.ts +0 -9
  72. package/lib/hero-banner/link/hero-banner-link.component.d.ts +0 -6
  73. package/lib/microsite-logo/microsite-logo.component.d.ts +0 -20
  74. package/lib/notification/notification.component.d.ts +0 -43
  75. package/lib/notification-banner/notification-banner.component.d.ts +0 -22
  76. package/lib/page-load-indicator/page-load-indicator.component.d.ts +0 -55
  77. package/lib/radio/radio-change.d.ts +0 -7
  78. package/lib/radio/radio.component.d.ts +0 -119
  79. package/lib/radio/radio.service.d.ts +0 -7
  80. package/lib/radio-group/radio-group.component.d.ts +0 -190
  81. package/lib/skeleton/skeleton-element.component.d.ts +0 -5
  82. package/lib/skeleton/skeleton-image-content.component.d.ts +0 -5
  83. package/theme.css +0 -164
  84. 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
- }
@@ -1,2 +0,0 @@
1
- export declare class ExperimentalComponentsModule {
2
- }
@@ -1,4 +0,0 @@
1
- export * from './badge/badge.component';
2
- export * from './app-version-header/app-version-header.component';
3
- export * from './components.module';
4
- export * from './number-input/number-input.component';
@@ -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
- }