@sebgroup/green-angular 1.0.0-beta.9 → 1.0.0

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 (58) hide show
  1. package/esm2020/index.mjs +9 -7
  2. package/esm2020/lib/accordion/accordion-list-item.component.mjs +47 -0
  3. package/esm2020/lib/accordion/accordion.component.mjs +72 -0
  4. package/esm2020/lib/accordion/accordion.module.mjs +19 -0
  5. package/esm2020/lib/accordion/index.mjs +4 -0
  6. package/esm2020/lib/badge/badge.component.mjs +80 -0
  7. package/esm2020/lib/badge/badge.module.mjs +18 -0
  8. package/esm2020/lib/badge/index.mjs +3 -0
  9. package/esm2020/lib/button/button.component.mjs +26 -0
  10. package/esm2020/lib/button/button.module.mjs +18 -0
  11. package/esm2020/lib/button/index.mjs +3 -0
  12. package/esm2020/lib/datepicker/datepicker.component.mjs +71 -18
  13. package/esm2020/lib/datepicker/datepicker.module.mjs +4 -4
  14. package/esm2020/lib/datepicker/index.mjs +3 -0
  15. package/esm2020/lib/dropdown/dropdown-option.directive.mjs +16 -0
  16. package/esm2020/lib/dropdown/dropdown.component.mjs +88 -189
  17. package/esm2020/lib/dropdown/dropdown.module.mjs +8 -7
  18. package/esm2020/lib/dropdown/index.mjs +4 -0
  19. package/esm2020/lib/green-angular.module.mjs +36 -8
  20. package/esm2020/lib/modal/index.mjs +3 -0
  21. package/esm2020/lib/modal/modal.component.mjs +196 -0
  22. package/esm2020/lib/modal/modal.module.mjs +31 -0
  23. package/esm2020/lib/progress-circle/index.mjs +3 -0
  24. package/esm2020/lib/progress-circle/progress-circle.component.mjs +48 -0
  25. package/esm2020/lib/progress-circle/progress-circle.module.mjs +18 -0
  26. package/esm2020/lib/segmented-control/index.mjs +3 -0
  27. package/esm2020/lib/segmented-control/segmented-control.component.mjs +3 -3
  28. package/esm2020/lib/segmented-control/segmented-control.module.mjs +4 -4
  29. package/fesm2015/sebgroup-green-angular.mjs +798 -268
  30. package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
  31. package/fesm2020/sebgroup-green-angular.mjs +784 -264
  32. package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
  33. package/index.d.ts +8 -6
  34. package/lib/accordion/accordion-list-item.component.d.ts +15 -0
  35. package/lib/accordion/accordion.component.d.ts +16 -0
  36. package/lib/accordion/accordion.module.d.ts +9 -0
  37. package/lib/accordion/index.d.ts +3 -0
  38. package/lib/badge/badge.component.d.ts +25 -0
  39. package/lib/badge/badge.module.d.ts +8 -0
  40. package/lib/badge/index.d.ts +2 -0
  41. package/lib/button/button.component.d.ts +9 -0
  42. package/lib/button/button.module.d.ts +8 -0
  43. package/lib/button/index.d.ts +2 -0
  44. package/lib/datepicker/datepicker.component.d.ts +14 -10
  45. package/lib/datepicker/index.d.ts +2 -0
  46. package/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  47. package/lib/dropdown/dropdown.component.d.ts +34 -16
  48. package/lib/dropdown/dropdown.module.d.ts +3 -2
  49. package/lib/dropdown/index.d.ts +3 -0
  50. package/lib/green-angular.module.d.ts +9 -4
  51. package/lib/modal/index.d.ts +2 -0
  52. package/lib/modal/modal.component.d.ts +59 -0
  53. package/lib/modal/modal.module.d.ts +9 -0
  54. package/lib/progress-circle/index.d.ts +2 -0
  55. package/lib/progress-circle/progress-circle.component.d.ts +15 -0
  56. package/lib/progress-circle/progress-circle.module.d.ts +8 -0
  57. package/lib/segmented-control/index.d.ts +2 -0
  58. package/package.json +10 -9
@@ -1,42 +1,58 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Output, ViewChild, EventEmitter, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Inject, Injector, Input, Output, ViewChild, } from '@angular/core';
2
+ import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
3
  import { createDropdown, dropdownValues, } from '@sebgroup/extract';
4
+ import { NggDropdownOptionDirective } from './dropdown-option.directive';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  export class NggDropdownComponent {
7
- constructor(cd) {
8
+ constructor(cd, injector) {
8
9
  this.cd = cd;
10
+ this.injector = injector;
9
11
  this.loop = false;
10
12
  this.options = [];
13
+ this._multiSelect = false;
14
+ this._searchable = false;
11
15
  this.valueChange = new EventEmitter();
12
- this.toggler = dropdownValues.elements?.toggler;
13
- this.listbox = dropdownValues.elements?.listbox;
16
+ this.touched = new EventEmitter();
17
+ this.toggler = dropdownValues().elements?.toggler;
18
+ this.listbox = dropdownValues().elements?.listbox;
19
+ this.fieldset = dropdownValues().elements?.fieldset;
14
20
  this.trackByKey = (index, option) => {
15
- return option.key;
21
+ return option.attributes.id ?? '';
16
22
  };
17
23
  }
24
+ set multiSelect(value) {
25
+ this._multiSelect = this.convertToBoolean(value);
26
+ }
27
+ get multiSelect() {
28
+ return this._multiSelect;
29
+ }
30
+ set searchable(value) {
31
+ this._searchable = this.convertToBoolean(value);
32
+ }
33
+ get searchable() {
34
+ return this._searchable;
35
+ }
36
+ set value(newValue) {
37
+ this.handler?.selectByValue(newValue);
38
+ this._value = newValue;
39
+ }
18
40
  get value() {
19
41
  return this._value;
20
42
  }
21
- set value(newValue) {
22
- this.setSelectionByValue(newValue);
43
+ get control() {
44
+ return this.injector.get(NgControl);
23
45
  }
24
46
  ngAfterViewInit() {
25
47
  if (this.togglerRef?.nativeElement && this.listboxRef?.nativeElement) {
26
- this.handler = createDropdown(this.props, this.togglerRef.nativeElement, this.listboxRef.nativeElement, (dropdown) => {
48
+ this.handler = createDropdown(this.props, this.togglerRef.nativeElement, this.listboxRef.nativeElement, this.fieldsetRef?.nativeElement, (dropdown) => {
27
49
  this.dropdown = dropdown;
28
50
  this.toggler = dropdown.elements.toggler;
29
51
  this.listbox = dropdown.elements.listbox;
30
- const selected = this.dropdown.options?.find((option) => option.selected);
31
- if (selected && this._value !== selected?.value) {
32
- setTimeout(() => {
33
- this._value = selected.value;
34
- this.valueChange.emit(selected.value);
35
- this.onChangeFn && this.onChangeFn(selected.value);
36
- this.onTouchedFn && this.onTouchedFn();
37
- }, 0);
38
- }
52
+ this.fieldset = dropdown.elements.fieldset;
39
53
  this.cd.detectChanges();
54
+ }, (value) => {
55
+ this.updateValue(value);
40
56
  });
41
57
  }
42
58
  }
@@ -45,7 +61,7 @@ export class NggDropdownComponent {
45
61
  }
46
62
  ngOnChanges(changes) {
47
63
  if (this.handler &&
48
- (changes.id || changes.text || changes.loop || changes.options)) {
64
+ (changes.id || changes.texts || changes.loop || changes.options)) {
49
65
  this.handler.update(this.props);
50
66
  }
51
67
  }
@@ -58,201 +74,68 @@ export class NggDropdownComponent {
58
74
  registerOnTouched(fn) {
59
75
  this.onTouchedFn = fn;
60
76
  }
61
- select(option) {
62
- this.handler?.select(option);
63
- this._value = option.value;
64
- this.valueChange.emit(option.value);
65
- this.onChangeFn && this.onChangeFn(option.value);
66
- this.onTouchedFn && this.onTouchedFn();
77
+ search($event) {
78
+ this.handler?.search($event.target.value);
67
79
  }
68
80
  get props() {
69
81
  return {
70
82
  id: this.id || this.dropdown?.id,
71
- text: this.text,
83
+ texts: this.texts,
84
+ useValue: this.useValue,
85
+ display: this.display,
72
86
  options: this.options,
73
87
  loop: this.loop,
74
88
  value: this.value,
89
+ multiSelect: this.multiSelect,
90
+ searchable: this.searchable,
91
+ searchFilter: this.searchFilter,
92
+ compareWith: this.compareWith,
93
+ onTouched: () => {
94
+ this.onTouchedFn?.();
95
+ this.touched.emit(true);
96
+ this.cd.markForCheck();
97
+ },
75
98
  };
76
99
  }
77
- setSelectionByValue(value) {
78
- if (this._value !== value) {
79
- this._value = value;
80
- const selected = this.handler?.dropdown?.options.find((option) => option.value === value);
81
- if (selected)
82
- this.handler?.select(selected);
83
- }
100
+ updateValue(option) {
101
+ this._value = option;
102
+ this.valueChange.emit(option);
103
+ this.onChangeFn?.(option);
104
+ }
105
+ convertToBoolean(value) {
106
+ return (value === '' || value === 'true' || value.toString() === 'true' || false);
84
107
  }
85
108
  }
86
- NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
87
- NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", text: "text", loop: "loop", label: "label", options: "options", valid: "valid", invalid: "invalid", value: "value" }, outputs: { valueChange: "valueChange" }, providers: [
109
+ NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: Injector }], target: i0.ɵɵFactoryTarget.Component });
110
+ NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", texts: "texts", loop: "loop", display: "display", useValue: "useValue", label: "label", options: "options", valid: "valid", invalid: "invalid", compareWith: "compareWith", searchFilter: "searchFilter", multiSelect: "multiSelect", searchable: "searchable", value: "value" }, outputs: { valueChange: "valueChange", touched: "touched" }, providers: [
88
111
  {
89
112
  provide: NG_VALUE_ACCESSOR,
90
113
  useExisting: NggDropdownComponent,
91
114
  multi: true,
92
115
  },
93
- ], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
94
- <div>
95
- <span
96
- class="label"
97
- *ngIf="label"
98
- [id]="toggler?.attributes?.id + '_label'"
99
- >{{ label }}</span
100
- >
101
- <button
102
- [attr.aria-labelledby]="
103
- label ? toggler?.attributes?.id + '_label' : null
104
- "
105
- [attr.aria-describedby]="
106
- formInfo?.innerText && formInfo.innerText.length > 0
107
- ? toggler?.attributes?.id + '_info'
108
- : null
109
- "
110
- type="button"
111
- #togglerRef
112
- [id]="toggler?.attributes?.id"
113
- [attr.aria-haspopup]="toggler?.attributes?.['aria-haspopup']"
114
- [attr.aria-expanded]="toggler?.attributes?.['aria-expanded']"
115
- [attr.aria-owns]="toggler?.attributes?.['aria-owns']"
116
- [tabindex]="toggler?.attributes?.tabIndex"
117
- [style]="toggler?.attributes?.style"
118
- [class]="toggler?.classes"
119
- (click)="handler?.toggle()"
120
- [class.is-valid]="valid"
121
- [class.is-invalid]="invalid"
122
- >
123
- <span>{{ dropdown?.text }}</span>
124
- </button>
125
- <span
126
- class="form-info"
127
- #formInfo
128
- [attr.id]="toggler?.attributes?.id + '_info'"
129
- ><ng-content select="[data-form-info]"></ng-content
130
- ></span>
131
- <div
132
- #listboxRef
133
- [id]="listbox?.attributes?.id"
134
- [attr.role]="listbox?.attributes?.role"
135
- [attr.aria-activedescendant]="
136
- listbox?.attributes?.['aria-activedescendant']
137
- "
138
- [tabindex]="listbox?.attributes?.tabIndex"
139
- [style]="listbox?.attributes?.style"
140
- [class]="listbox?.classes"
141
- >
142
- <button
143
- type="button"
144
- class="close m-4 m-sm-2 d-block d-sm-none"
145
- (click)="handler?.close()"
146
- >
147
- <span class="sr-only">Close</span>
148
- </button>
149
- <ul role="listbox">
150
- <li
151
- *ngFor="let option of dropdown?.options; trackBy: trackByKey"
152
- [id]="option.attributes.id"
153
- [attr.role]="option.attributes.role"
154
- [attr.aria-selected]="option.attributes['aria-selected']"
155
- [style]="option.attributes.style"
156
- [class]="option.classes"
157
- (click)="handler?.select(option)"
158
- >
159
- {{ option.key }}
160
- </li>
161
- </ul>
162
- </div>
163
- </div>
164
- `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownComponent, decorators: [{
116
+ ], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }, { propertyName: "fieldsetRef", first: true, predicate: ["fieldsetRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div>\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <span>{{ dropdown?.texts?.select }}</span>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n (click)=\"handler?.close()\"\n >\n <span class=\"sr-only\">{{ dropdown?.texts?.close }}</span>\n <i></i>\n </button>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <div>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownComponent, decorators: [{
166
118
  type: Component,
167
- args: [{
168
- selector: 'ngg-dropdown',
169
- template: `
170
- <div>
171
- <span
172
- class="label"
173
- *ngIf="label"
174
- [id]="toggler?.attributes?.id + '_label'"
175
- >{{ label }}</span
176
- >
177
- <button
178
- [attr.aria-labelledby]="
179
- label ? toggler?.attributes?.id + '_label' : null
180
- "
181
- [attr.aria-describedby]="
182
- formInfo?.innerText && formInfo.innerText.length > 0
183
- ? toggler?.attributes?.id + '_info'
184
- : null
185
- "
186
- type="button"
187
- #togglerRef
188
- [id]="toggler?.attributes?.id"
189
- [attr.aria-haspopup]="toggler?.attributes?.['aria-haspopup']"
190
- [attr.aria-expanded]="toggler?.attributes?.['aria-expanded']"
191
- [attr.aria-owns]="toggler?.attributes?.['aria-owns']"
192
- [tabindex]="toggler?.attributes?.tabIndex"
193
- [style]="toggler?.attributes?.style"
194
- [class]="toggler?.classes"
195
- (click)="handler?.toggle()"
196
- [class.is-valid]="valid"
197
- [class.is-invalid]="invalid"
198
- >
199
- <span>{{ dropdown?.text }}</span>
200
- </button>
201
- <span
202
- class="form-info"
203
- #formInfo
204
- [attr.id]="toggler?.attributes?.id + '_info'"
205
- ><ng-content select="[data-form-info]"></ng-content
206
- ></span>
207
- <div
208
- #listboxRef
209
- [id]="listbox?.attributes?.id"
210
- [attr.role]="listbox?.attributes?.role"
211
- [attr.aria-activedescendant]="
212
- listbox?.attributes?.['aria-activedescendant']
213
- "
214
- [tabindex]="listbox?.attributes?.tabIndex"
215
- [style]="listbox?.attributes?.style"
216
- [class]="listbox?.classes"
217
- >
218
- <button
219
- type="button"
220
- class="close m-4 m-sm-2 d-block d-sm-none"
221
- (click)="handler?.close()"
222
- >
223
- <span class="sr-only">Close</span>
224
- </button>
225
- <ul role="listbox">
226
- <li
227
- *ngFor="let option of dropdown?.options; trackBy: trackByKey"
228
- [id]="option.attributes.id"
229
- [attr.role]="option.attributes.role"
230
- [attr.aria-selected]="option.attributes['aria-selected']"
231
- [style]="option.attributes.style"
232
- [class]="option.classes"
233
- (click)="handler?.select(option)"
234
- >
235
- {{ option.key }}
236
- </li>
237
- </ul>
238
- </div>
239
- </div>
240
- `,
241
- providers: [
119
+ args: [{ selector: 'ngg-dropdown', providers: [
242
120
  {
243
121
  provide: NG_VALUE_ACCESSOR,
244
122
  useExisting: NggDropdownComponent,
245
123
  multi: true,
246
124
  },
247
- ],
248
- changeDetection: ChangeDetectionStrategy.OnPush,
249
- }]
250
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
125
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div>\n <span class=\"label\" *ngIf=\"label\" [id]=\"toggler?.attributes?.id + '_label'\">{{\n label\n }}</span>\n <button\n [attr.aria-labelledby]=\"label ? toggler?.attributes?.id + '_label' : null\"\n [attr.aria-describedby]=\"\n formInfo?.textContent && (formInfo?.textContent?.length ?? 0 > 0)\n ? toggler?.attributes?.id + '_info'\n : null\n \"\n type=\"button\"\n #togglerRef\n [id]=\"toggler?.attributes?.id\"\n [attr.aria-haspopup]=\"toggler?.attributes?.['aria-haspopup']\"\n [attr.aria-expanded]=\"toggler?.attributes?.['aria-expanded']\"\n [attr.aria-owns]=\"toggler?.attributes?.['aria-owns']\"\n [tabindex]=\"toggler?.attributes?.tabIndex\"\n [style]=\"toggler?.attributes?.style\"\n [class]=\"toggler?.classes\"\n (click)=\"handler?.toggle()\"\n [class.is-valid]=\"valid\"\n [class.is-invalid]=\"invalid\"\n >\n <span>{{ dropdown?.texts?.select }}</span>\n </button>\n <span\n class=\"form-info\"\n #formInfo\n [attr.id]=\"toggler?.attributes?.id + '_info'\"\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n <div\n #listboxRef\n [id]=\"listbox?.attributes?.id\"\n [attr.role]=\"listbox?.attributes?.role\"\n [attr.aria-activedescendant]=\"\n listbox?.attributes?.['aria-activedescendant']\n \"\n [tabindex]=\"listbox?.attributes?.tabIndex\"\n [style]=\"listbox?.attributes?.style\"\n [class]=\"listbox?.classes\"\n >\n <button\n type=\"button\"\n class=\"close m-4 m-sm-2 d-block d-sm-none\"\n (click)=\"handler?.close()\"\n >\n <span class=\"sr-only\">{{ dropdown?.texts?.close }}</span>\n <i></i>\n </button>\n <ul role=\"listbox\" *ngIf=\"!dropdown?.isMultiSelect\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <li\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n [id]=\"option.attributes.id\"\n [attr.role]=\"option.attributes.role\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [style]=\"option.attributes.style\"\n [class]=\"option.classes\"\n (click)=\"handler?.select(option)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n </li>\n </ul>\n <div *ngIf=\"dropdown?.isMultiSelect\" class=\"sg-fieldset-container\">\n <ng-container *ngTemplateOutlet=\"searchInput\"></ng-container>\n <!--TODO: Improve checkboxes in dropdown angular-->\n <fieldset\n #fieldsetRef\n [attr.aria-describedby]=\"fieldset?.attributes?.id\"\n role=\"listbox\"\n tabIndex=\"-1\"\n aria-multiselectable=\"true\"\n >\n <legend class=\"sr-only\" [id]=\"fieldset?.attributes?.id\">Options</legend>\n <div>\n <label\n class=\"form-control\"\n [attr.role]=\"option.attributes.role\"\n [id]=\"option.attributes.id\"\n [attr.aria-selected]=\"option.attributes['aria-selected']\"\n [class]=\"option.classes\"\n *ngFor=\"\n let option of dropdown?.options;\n let index = index;\n trackBy: trackByKey\n \"\n >\n <input\n type=\"checkbox\"\n (change)=\"handler?.select(option, false)\"\n [checked]=\"option.selected\"\n tabIndex=\"-1\"\n />\n <ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container>\n <i></i>\n </label>\n </div>\n </fieldset>\n </div>\n </div>\n</div>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ option[dropdown!.display] }}\n</ng-template>\n\n<ng-template #searchInput>\n <input\n *ngIf=\"dropdown?.isSearchable\"\n [id]=\"toggler?.attributes?.id + '_search-input'\"\n type=\"search\"\n (input)=\"search($event)\"\n placeholder=\"{{ dropdown?.texts?.searchPlaceholder }}\"\n class=\"rounded-0 rounded-top border-0 border-bottom border-info\"\n />\n</ng-template>\n" }]
126
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Injector, decorators: [{
127
+ type: Inject,
128
+ args: [Injector]
129
+ }] }]; }, propDecorators: { id: [{
251
130
  type: Input
252
- }], text: [{
131
+ }], texts: [{
253
132
  type: Input
254
133
  }], loop: [{
255
134
  type: Input
135
+ }], display: [{
136
+ type: Input
137
+ }], useValue: [{
138
+ type: Input
256
139
  }], label: [{
257
140
  type: Input
258
141
  }], options: [{
@@ -261,15 +144,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
261
144
  type: Input
262
145
  }], invalid: [{
263
146
  type: Input
147
+ }], compareWith: [{
148
+ type: Input
149
+ }], searchFilter: [{
150
+ type: Input
151
+ }], multiSelect: [{
152
+ type: Input
153
+ }], searchable: [{
154
+ type: Input
264
155
  }], value: [{
265
156
  type: Input
266
157
  }], valueChange: [{
267
158
  type: Output
159
+ }], touched: [{
160
+ type: Output
268
161
  }], togglerRef: [{
269
162
  type: ViewChild,
270
163
  args: ['togglerRef']
271
164
  }], listboxRef: [{
272
165
  type: ViewChild,
273
166
  args: ['listboxRef']
167
+ }], fieldsetRef: [{
168
+ type: ViewChild,
169
+ args: ['fieldsetRef']
170
+ }], customOption: [{
171
+ type: ContentChild,
172
+ args: [NggDropdownOptionDirective]
274
173
  }] } });
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQ3hFLE9BQU8sRUFDTCxjQUFjLEVBT2QsY0FBYyxHQUNmLE1BQU0sbUJBQW1CLENBQUE7OztBQXFGMUIsTUFBTSxPQUFPLG9CQUFvQjtJQXNDL0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFqQ2hDLFNBQUksR0FBYSxLQUFLLENBQUE7UUFFdEIsWUFBTyxHQUFxQixFQUFFLENBQUE7UUFhcEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQWUzRSxZQUFPLEdBQTJCLGNBQWMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFBO1FBQ2xFLFlBQU8sR0FBMkIsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7UUFpRWxFLGVBQVUsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUE4QixFQUFVLEVBQUU7WUFDckUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFBO1FBQ25CLENBQUMsQ0FBQTtJQWpFMkMsQ0FBQztJQTNCN0MsSUFDSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFhO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBdUJELGVBQWU7UUFDYixJQUFJLElBQUks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QUFDLE1BQU07aUJBQ2hEO3dHQUlVLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHRixLQUFLO3NCQURSLEtBQUs7Z0JBU2EsV0FBVztzQkFBN0IsTUFBTTtnQkFFeUIsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZO2dCQUlTLFVBQVU7c0JBQXpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7XG4gIGNyZWF0ZURyb3Bkb3duLFxuICBBYnN0cmFjdERyb3Bkb3duLFxuICBEcm9wZG93bkhhbmRsZXIsXG4gIERyb3Bkb3duT3B0aW9uLFxuICBFeHRlbmRlZERyb3Bkb3duT3B0aW9uLFxuICBFbGVtZW50UHJvcHMsXG4gIERyb3Bkb3duQXJncyxcbiAgZHJvcGRvd25WYWx1ZXMsXG59IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZHJvcGRvd24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXY+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgKm5nSWY9XCJsYWJlbFwiXG4gICAgICAgIFtpZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfbGFiZWwnXCJcbiAgICAgICAgPnt7IGxhYmVsIH19PC9zcGFuXG4gICAgICA+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICBsYWJlbCA/IHRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19sYWJlbCcgOiBudWxsXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiXG4gICAgICAgICAgZm9ybUluZm8/LmlubmVyVGV4dCAmJiBmb3JtSW5mby5pbm5lclRleHQubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyB0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfaW5mbydcbiAgICAgICAgICAgIDogbnVsbFxuICAgICAgICBcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgI3RvZ2dsZXJSZWZcbiAgICAgICAgW2lkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oYXNwb3B1cF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5bJ2FyaWEtaGFzcG9wdXAnXVwiXG4gICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWV4cGFuZGVkJ11cIlxuICAgICAgICBbYXR0ci5hcmlhLW93bnNdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLW93bnMnXVwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy50YWJJbmRleFwiXG4gICAgICAgIFtzdHlsZV09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5zdHlsZVwiXG4gICAgICAgIFtjbGFzc109XCJ0b2dnbGVyPy5jbGFzc2VzXCJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZXI/LnRvZ2dsZSgpXCJcbiAgICAgICAgW2NsYXNzLmlzLXZhbGlkXT1cInZhbGlkXCJcbiAgICAgICAgW2NsYXNzLmlzLWludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPnt7IGRyb3Bkb3duPy50ZXh0IH19PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgICAgICNmb3JtSW5mb1xuICAgICAgICBbYXR0ci5pZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfaW5mbydcIlxuICAgICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICAgICAgPjwvc3Bhbj5cbiAgICAgIDxkaXZcbiAgICAgICAgI2xpc3Rib3hSZWZcbiAgICAgICAgW2lkXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy5yb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICAgIGxpc3Rib3g/LmF0dHJpYnV0ZXM/LlsnYXJpYS1hY3RpdmVkZXNjZW5kYW50J11cbiAgICAgICAgXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnRhYkluZGV4XCJcbiAgICAgICAgW3N0eWxlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICAgICAgW2NsYXNzXT1cImxpc3Rib3g/LmNsYXNzZXNcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJjbG9zZSBtLTQgbS1zbS0yIGQtYmxvY2sgZC1zbS1ub25lXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlcj8uY2xvc2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDx1bCByb2xlPVwibGlzdGJveFwiPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUtleVwiXG4gICAgICAgICAgICBbaWRdPVwib3B0aW9uLmF0dHJpYnV0ZXMuaWRcIlxuICAgICAgICAgICAgW2F0dHIucm9sZV09XCJvcHRpb24uYXR0cmlidXRlcy5yb2xlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgICAgICBbc3R5bGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMuc3R5bGVcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbi5jbGFzc2VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgb3B0aW9uLmtleSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBsb29wPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIG9wdGlvbnM6IERyb3Bkb3duT3B0aW9uW10gPSBbXVxuICBASW5wdXQoKSB2YWxpZD86IGJvb2xlYW5cbiAgQElucHV0KCkgaW52YWxpZD86IGJvb2xlYW5cblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWVcbiAgfVxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueSkge1xuICAgIHRoaXMuc2V0U2VsZWN0aW9uQnlWYWx1ZShuZXdWYWx1ZSlcbiAgfVxuICBwcml2YXRlIF92YWx1ZTogYW55XG5cbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG5cbiAgQFZpZXdDaGlsZCgndG9nZ2xlclJlZicpIHB1YmxpYyB0b2dnbGVyUmVmOlxuICAgIHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICB8IHVuZGVmaW5lZFxuXG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3hSZWYnKSBwdWJsaWMgbGlzdGJveFJlZjpcbiAgICB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgfCB1bmRlZmluZWRcblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWRcbiAgb25Ub3VjaGVkRm4/OiBhbnlcblxuICBkcm9wZG93bj86IEFic3RyYWN0RHJvcGRvd25cbiAgaGFuZGxlcj86IERyb3Bkb3duSGFuZGxlclxuICB0b2dnbGVyPzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMuZWxlbWVudHM/LnRvZ2dsZXJcbiAgbGlzdGJveD86IFBhcnRpYWw8RWxlbWVudFByb3BzPiA9IGRyb3Bkb3duVmFsdWVzLmVsZW1lbnRzPy5saXN0Ym94XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvZ2dsZXJSZWY/Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5saXN0Ym94UmVmPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICB0aGlzLmhhbmRsZXIgPSBjcmVhdGVEcm9wZG93bihcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICAgdGhpcy50b2dnbGVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHRoaXMubGlzdGJveFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAoZHJvcGRvd24pID0+IHtcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duID0gZHJvcGRvd25cbiAgICAgICAgICB0aGlzLnRvZ2dsZXIgPSBkcm9wZG93bi5lbGVtZW50cy50b2dnbGVyXG4gICAgICAgICAgdGhpcy5saXN0Ym94ID0gZHJvcGRvd24uZWxlbWVudHMubGlzdGJveFxuXG4gICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmRyb3Bkb3duLm9wdGlvbnM/LmZpbmQoXG4gICAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0ZWRcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKHNlbGVjdGVkICYmIHRoaXMuX3ZhbHVlICE9PSBzZWxlY3RlZD8udmFsdWUpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHNlbGVjdGVkLnZhbHVlXG4gICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChzZWxlY3RlZC52YWx1ZSlcbiAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZuICYmIHRoaXMub25DaGFuZ2VGbihzZWxlY3RlZC52YWx1ZSlcbiAgICAgICAgICAgICAgdGhpcy5vblRvdWNoZWRGbiAmJiB0aGlzLm9uVG91Y2hlZEZuKClcbiAgICAgICAgICAgIH0sIDApXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICAgIH1cbiAgICAgIClcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXI/LmRlc3Ryb3koKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaGFuZGxlciAmJlxuICAgICAgKGNoYW5nZXMuaWQgfHwgY2hhbmdlcy50ZXh0IHx8IGNoYW5nZXMubG9vcCB8fCBjaGFuZ2VzLm9wdGlvbnMpXG4gICAgKSB7XG4gICAgICB0aGlzLmhhbmRsZXIudXBkYXRlKHRoaXMucHJvcHMpXG4gICAgfVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmblxuICB9XG5cbiAgc2VsZWN0KG9wdGlvbjogRXh0ZW5kZWREcm9wZG93bk9wdGlvbikge1xuICAgIHRoaXMuaGFuZGxlcj8uc2VsZWN0KG9wdGlvbilcbiAgICB0aGlzLl92YWx1ZSA9IG9wdGlvbi52YWx1ZVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24udmFsdWUpXG4gICAgdGhpcy5vbkNoYW5nZUZuICYmIHRoaXMub25DaGFuZ2VGbihvcHRpb24udmFsdWUpXG4gICAgdGhpcy5vblRvdWNoZWRGbiAmJiB0aGlzLm9uVG91Y2hlZEZuKClcbiAgfVxuXG4gIHRyYWNrQnlLZXkgPSAoaW5kZXg6IG51bWJlciwgb3B0aW9uOiBFeHRlbmRlZERyb3Bkb3duT3B0aW9uKTogc3RyaW5nID0+IHtcbiAgICByZXR1cm4gb3B0aW9uLmtleVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKTogRHJvcGRvd25BcmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQgfHwgdGhpcy5kcm9wZG93bj8uaWQsXG4gICAgICB0ZXh0OiB0aGlzLnRleHQsXG4gICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICBsb29wOiB0aGlzLmxvb3AsXG4gICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFNlbGVjdGlvbkJ5VmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWVcblxuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmhhbmRsZXI/LmRyb3Bkb3duPy5vcHRpb25zLmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcbiAgICAgIClcbiAgICAgIGlmIChzZWxlY3RlZCkgdGhpcy5oYW5kbGVyPy5zZWxlY3Qoc2VsZWN0ZWQpXG4gICAgfVxuICB9XG59XG4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEVBR0wsY0FBYyxFQU1kLGNBQWMsR0FHZixNQUFNLG1CQUFtQixDQUFBO0FBQzFCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOzs7QUFjeEUsTUFBTSxPQUFPLG9CQUFvQjtJQWdFL0IsWUFDVSxFQUFxQixFQUNILFFBQWtCO1FBRHBDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQ0gsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQTdEckMsU0FBSSxHQUFhLEtBQUssQ0FBQTtRQUl0QixZQUFPLEdBQXFCLEVBQUUsQ0FBQTtRQVkvQixpQkFBWSxHQUFHLEtBQUssQ0FBQTtRQVFwQixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQVdSLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUE7UUFDeEQsWUFBTyxHQUN4QixJQUFJLFlBQVksRUFBVyxDQUFBO1FBYzdCLFlBQU8sR0FBMkIsY0FBYyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtRQUNwRSxZQUFPLEdBQTJCLGNB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Z0JBQ1MsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZO2dCQUNVLFdBQVc7c0JBQTNDLFNBQVM7dUJBQUMsYUFBYTtnQkFHeEIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3RvcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7XG4gIEFic3RyYWN0RHJvcGRvd24sXG4gIENvbXBhcmVXaXRoLFxuICBjcmVhdGVEcm9wZG93bixcbiAgRHJvcGRvd25BcmdzLFxuICBEcm9wZG93bkhhbmRsZXIsXG4gIERyb3Bkb3duT3B0aW9uLFxuICBEcm9wZG93bk9wdGlvbkVsZW1lbnQsXG4gIERyb3Bkb3duVGV4dHMsXG4gIGRyb3Bkb3duVmFsdWVzLFxuICBFbGVtZW50UHJvcHMsXG4gIFNlYXJjaEZpbHRlcixcbn0gZnJvbSAnQHNlYmdyb3VwL2V4dHJhY3QnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tb3B0aW9uLmRpcmVjdGl2ZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICdkcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE5nZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpIGlkPzogc3RyaW5nXG4gIEBJbnB1dCgpIHRleHRzPzogRHJvcGRvd25UZXh0c1xuICBASW5wdXQoKSBsb29wPzogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIGRpc3BsYXk/OiBzdHJpbmdcbiAgQElucHV0KCkgdXNlVmFsdWU/OiBzdHJpbmdcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgb3B0aW9uczogRHJvcGRvd25PcHRpb25bXSA9IFtdXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBpbnZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBjb21wYXJlV2l0aD86IENvbXBhcmVXaXRoXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcj86IFNlYXJjaEZpbHRlclxuXG4gIEBJbnB1dCgpIHNldCBtdWx0aVNlbGVjdCh2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbikge1xuICAgIHRoaXMuX211bHRpU2VsZWN0ID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBtdWx0aVNlbGVjdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlTZWxlY3RcbiAgfVxuICBwcml2YXRlIF9tdWx0aVNlbGVjdCA9IGZhbHNlXG5cbiAgQElucHV0KCkgc2V0IHNlYXJjaGFibGUodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWFyY2hhYmxlID0gdGhpcy5jb252ZXJ0VG9Cb29sZWFuKHZhbHVlKVxuICB9XG4gIGdldCBzZWFyY2hhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWFyY2hhYmxlXG4gIH1cbiAgcHJpdmF0ZSBfc2VhcmNoYWJsZSA9IGZhbHNlXG5cbiAgQElucHV0KCkgc2V0IHZhbHVlKG5ld1ZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmhhbmRsZXI/LnNlbGVjdEJ5VmFsdWUobmV3VmFsdWUpXG4gICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZVxuICB9XG4gIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZVxuICB9XG4gIHByaXZhdGUgX3ZhbHVlOiBhbnlcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQFZpZXdDaGlsZCgndG9nZ2xlclJlZicpIHB1YmxpYyB0b2dnbGVyUmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnbGlzdGJveFJlZicpIHB1YmxpYyBsaXN0Ym94UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnZmllbGRzZXRSZWYnKSBwdWJsaWMgZmllbGRzZXRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuXG4gIEBDb250ZW50Q2hpbGQoTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUpXG4gIGN1c3RvbU9wdGlvbj86IE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlXG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZFxuICBvblRvdWNoZWRGbj86ICgpID0+IHZvaWRcblxuICBkcm9wZG93bj86IEFic3RyYWN0RHJvcGRvd25cbiAgaGFuZGxlcj86IERyb3Bkb3duSGFuZGxlclxuICB0b2dnbGVyPzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMoKS5lbGVtZW50cz8udG9nZ2xlclxuICBsaXN0Ym94PzogUGFydGlhbDxFbGVtZW50UHJvcHM+ID0gZHJvcGRvd25WYWx1ZXMoKS5lbGVtZW50cz8ubGlzdGJveFxuICBmaWVsZHNldD86IFBhcnRpYWw8RWxlbWVudFByb3BzPiA9IGRyb3Bkb3duVmFsdWVzKCkuZWxlbWVudHM/LmZpZWxkc2V0XG5cbiAgZ2V0IGNvbnRyb2woKTogTmdDb250cm9sIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sKVxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChJbmplY3RvcikgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2dnbGVyUmVmPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMubGlzdGJveFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5oYW5kbGVyID0gY3JlYXRlRHJvcGRvd24oXG4gICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgIHRoaXMudG9nZ2xlclJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICB0aGlzLmxpc3Rib3hSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgdGhpcy5maWVsZHNldFJlZj8ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgICAgdGhpcy5kcm9wZG93biA9IGRyb3Bkb3duXG4gICAgICAgICAgdGhpcy50b2dnbGVyID0gZHJvcGRvd24uZWxlbWVudHMudG9nZ2xlclxuICAgICAgICAgIHRoaXMubGlzdGJveCA9IGRyb3Bkb3duLmVsZW1lbnRzLmxpc3Rib3hcbiAgICAgICAgICB0aGlzLmZpZWxkc2V0ID0gZHJvcGRvd24uZWxlbWVudHMuZmllbGRzZXRcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB9LFxuICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKVxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyPy5kZXN0cm95KClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmhhbmRsZXIgJiZcbiAgICAgIChjaGFuZ2VzLmlkIHx8IGNoYW5nZXMudGV4dHMgfHwgY2hhbmdlcy5sb29wIHx8IGNoYW5nZXMub3B0aW9ucylcbiAgICApIHtcbiAgICAgIFxuICAgICAgdGhpcy5oYW5kbGVyLnVwZGF0ZSh0aGlzLnByb3BzKVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmblxuICB9XG5cbiAgdHJhY2tCeUtleSA9IChpbmRleDogbnVtYmVyLCBvcHRpb246IERyb3Bkb3duT3B0aW9uRWxlbWVudCk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbi5hdHRyaWJ1dGVzLmlkID8/ICcnXG4gIH1cblxuICBzZWFyY2goJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcj8uc2VhcmNoKCgkZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKTogRHJvcGRvd25BcmdzIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQgfHwgdGhpcy5kcm9wZG93bj8uaWQsXG4gICAgICB0ZXh0czogdGhpcy50ZXh0cyxcbiAgICAgIHVzZVZhbHVlOiB0aGlzLnVzZVZhbHVlLFxuICAgICAgZGlzcGxheTogdGhpcy5kaXNwbGF5LFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgbG9vcDogdGhpcy5sb29wLFxuICAgICAgdmFsdWU6IHRoaXMudmFsdWUsXG4gICAgICBtdWx0aVNlbGVjdDogdGhpcy5tdWx0aVNlbGVjdCxcbiAgICAgIHNlYXJjaGFibGU6IHRoaXMuc2VhcmNoYWJsZSxcbiAgICAgIHNlYXJjaEZpbHRlcjogdGhpcy5zZWFyY2hGaWx0ZXIsXG4gICAgICBjb21wYXJlV2l0aDogdGhpcy5jb21wYXJlV2l0aCxcbiAgICAgIG9uVG91Y2hlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuPy4oKVxuICAgICAgICB0aGlzLnRvdWNoZWQuZW1pdCh0cnVlKVxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpXG4gICAgICB9LFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWUob3B0aW9uOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IG9wdGlvblxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChvcHRpb24pXG4gICAgdGhpcy5vbkNoYW5nZUZuPy4ob3B0aW9uKVxuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09PSAnJyB8fCB2YWx1ZSA9PT0gJ3RydWUnIHx8IHZhbHVlLnRvU3RyaW5nKCkgPT09ICd0cnVlJyB8fCBmYWxzZVxuICAgIClcbiAgfVxufVxuIiwiPGRpdj5cbiAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiICpuZ0lmPVwibGFiZWxcIiBbaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2xhYmVsJ1wiPnt7XG4gICAgbGFiZWxcbiAgfX08L3NwYW4+XG4gIDxidXR0b25cbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWwgPyB0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZCArICdfbGFiZWwnIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJcbiAgICAgIGZvcm1JbmZvPy50ZXh0Q29udGVudCAmJiAoZm9ybUluZm8/LnRleHRDb250ZW50Py5sZW5ndGggPz8gMCA+IDApXG4gICAgICAgID8gdG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXG4gICAgICAgIDogbnVsbFxuICAgIFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgI3RvZ2dsZXJSZWZcbiAgICBbaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWRcIlxuICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWhhc3BvcHVwJ11cIlxuICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWV4cGFuZGVkJ11cIlxuICAgIFthdHRyLmFyaWEtb3duc109XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5bJ2FyaWEtb3ducyddXCJcbiAgICBbdGFiaW5kZXhdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8udGFiSW5kZXhcIlxuICAgIFtzdHlsZV09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5zdHlsZVwiXG4gICAgW2NsYXNzXT1cInRvZ2dsZXI/LmNsYXNzZXNcIlxuICAgIChjbGljayk9XCJoYW5kbGVyPy50b2dnbGUoKVwiXG4gICAgW2NsYXNzLmlzLXZhbGlkXT1cInZhbGlkXCJcbiAgICBbY2xhc3MuaXMtaW52YWxpZF09XCJpbnZhbGlkXCJcbiAgPlxuICAgIDxzcGFuPnt7IGRyb3Bkb3duPy50ZXh0cz8uc2VsZWN0IH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImZvcm0taW5mb1wiXG4gICAgI2Zvcm1JbmZvXG4gICAgW2F0dHIuaWRdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uaWQgKyAnX2luZm8nXCJcbiAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICA+PC9zcGFuPlxuICA8ZGl2XG4gICAgI2xpc3Rib3hSZWZcbiAgICBbaWRdPVwibGlzdGJveD8uYXR0cmlidXRlcz8uaWRcIlxuICAgIFthdHRyLnJvbGVdPVwibGlzdGJveD8uYXR0cmlidXRlcz8ucm9sZVwiXG4gICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICBsaXN0Ym94Py5hdHRyaWJ1dGVzPy5bJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCddXG4gICAgICBcIlxuICAgIFt0YWJpbmRleF09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy50YWJJbmRleFwiXG4gICAgW3N0eWxlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICBbY2xhc3NdPVwibGlzdGJveD8uY2xhc3Nlc1wiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiY2xvc2UgbS00IG0tc20tMiBkLWJsb2NrIGQtc20tbm9uZVwiXG4gICAgICAoY2xpY2spPVwiaGFuZGxlcj8uY2xvc2UoKVwiXG4gICAgPlxuICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+e3sgZHJvcGRvd24/LnRleHRzPy5jbG9zZSB9fTwvc3Bhbj5cbiAgICAgIDxpPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgICA8dWwgcm9sZT1cImxpc3Rib3hcIiAqbmdJZj1cIiFkcm9wZG93bj8uaXNNdWx0aVNlbGVjdFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlYXJjaElucHV0XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bGlcbiAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgbGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9ucztcbiAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleDtcbiAgICAgICAgICB0cmFja0J5OiB0cmFja0J5S2V5XG4gICAgICAgIFwiXG4gICAgICAgIFtpZF09XCJvcHRpb24uYXR0cmlidXRlcy5pZFwiXG4gICAgICAgIFthdHRyLnJvbGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMucm9sZVwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgIFtzdHlsZV09XCJvcHRpb24uYXR0cmlidXRlcy5zdHlsZVwiXG4gICAgICAgIFtjbGFzc109XCJvcHRpb24uY2xhc3Nlc1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVyPy5zZWxlY3Qob3B0aW9uKVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICA/IGN1c3RvbU9wdGlvbiEudGVtcGxhdGVSZWZcbiAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICBcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gICAgPGRpdiAqbmdJZj1cImRyb3Bkb3duPy5pc011bHRpU2VsZWN0XCIgY2xhc3M9XCJzZy1maWVsZHNldC1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWFyY2hJbnB1dFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPCEtLVRPRE86IEltcHJvdmUgY2hlY2tib3hlcyBpbiBkcm9wZG93biBhbmd1bGFyLS0+XG4gICAgICA8ZmllbGRzZXRcbiAgICAgICAgI2ZpZWxkc2V0UmVmXG4gICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICB0YWJJbmRleD1cIi0xXCJcbiAgICAgICAgYXJpYS1tdWx0aXNlbGVjdGFibGU9XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGxlZ2VuZCBjbGFzcz1cInNyLW9ubHlcIiBbaWRdPVwiZmllbGRzZXQ/LmF0dHJpYnV0ZXM/LmlkXCI+T3B0aW9uczwvbGVnZW5kPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgW2F0dHIucm9sZV09XCJvcHRpb24uYXR0cmlidXRlcy5yb2xlXCJcbiAgICAgICAgICAgIFtpZF09XCJvcHRpb24uYXR0cmlidXRlcy5pZFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cIm9wdGlvbi5hdHRyaWJ1dGVzWydhcmlhLXNlbGVjdGVkJ11cIlxuICAgICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbi5jbGFzc2VzXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9ucztcbiAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgdHJhY2tCeTogdHJhY2tCeUtleVxuICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlcj8uc2VsZWN0KG9wdGlvbiwgZmFsc2UpXCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwib3B0aW9uLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgdGFiSW5kZXg9XCItMVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgICBjdXN0b21PcHRpb24/LnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgPyBjdXN0b21PcHRpb24hLnRlbXBsYXRlUmVmXG4gICAgICAgICAgICAgICAgOiBkZWZhdWx0T3B0aW9uO1xuICAgICAgICAgICAgICBjb250ZXh0OiB7IG9wdGlvbjogb3B0aW9uLCBpbmRleDogaW5kZXggfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxpPjwvaT5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbiBsZXQtb3B0aW9uPVwib3B0aW9uXCI+XG4gIHt7IG9wdGlvbltkcm9wZG93biEuZGlzcGxheV0gfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2VhcmNoSW5wdXQ+XG4gIDxpbnB1dFxuICAgICpuZ0lmPVwiZHJvcGRvd24/LmlzU2VhcmNoYWJsZVwiXG4gICAgW2lkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LmlkICsgJ19zZWFyY2gtaW5wdXQnXCJcbiAgICB0eXBlPVwic2VhcmNoXCJcbiAgICAoaW5wdXQpPVwic2VhcmNoKCRldmVudClcIlxuICAgIHBsYWNlaG9sZGVyPVwie3sgZHJvcGRvd24/LnRleHRzPy5zZWFyY2hQbGFjZWhvbGRlciB9fVwiXG4gICAgY2xhc3M9XCJyb3VuZGVkLTAgcm91bmRlZC10b3AgYm9yZGVyLTAgYm9yZGVyLWJvdHRvbSBib3JkZXItaW5mb1wiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,18 +1,19 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NggDropdownComponent } from './dropdown.component';
4
+ import { NggDropdownOptionDirective } from './dropdown-option.directive';
4
5
  import * as i0 from "@angular/core";
5
6
  export class NggDropdownModule {
6
7
  }
7
- NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent], imports: [CommonModule], exports: [NggDropdownComponent] });
9
- NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggDropdownModule, decorators: [{
8
+ NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent, NggDropdownOptionDirective], imports: [CommonModule], exports: [NggDropdownComponent, NggDropdownOptionDirective] });
10
+ NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggDropdownModule, decorators: [{
11
12
  type: NgModule,
12
13
  args: [{
13
- declarations: [NggDropdownComponent],
14
+ declarations: [NggDropdownComponent, NggDropdownOptionDirective],
14
15
  imports: [CommonModule],
15
- exports: [NggDropdownComponent],
16
+ exports: [NggDropdownComponent, NggDropdownOptionDirective],
16
17
  }]
17
18
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBOztBQU8zRCxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksYUFDWixvQkFBb0I7K0dBRW5CLGlCQUFpQixZQUhuQixDQUFDLFlBQVksQ0FBQzsyRkFHWixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmdnRHJvcGRvd25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0Ryb3Bkb3duQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBOztBQU94RSxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLEVBQUUsMEJBQTBCLGFBQ3JELFlBQVksYUFDWixvQkFBb0IsRUFBRSwwQkFBMEI7K0dBRS9DLGlCQUFpQixZQUhuQixDQUFDLFlBQVksQ0FBQzsyRkFHWixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7aUJBQzVEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9kcm9wZG93bi1vcHRpb24uZGlyZWN0aXZlJ1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ2dEcm9wZG93bkNvbXBvbmVudCwgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0Ryb3Bkb3duQ29tcG9uZW50LCBOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './dropdown.component';
2
+ export * from './dropdown.module';
3
+ export * from './dropdown-option.directive';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kcm9wZG93bi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyw2QkFBNkIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZHJvcGRvd24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG4iXX0=
@@ -1,20 +1,48 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
- import { NggSegmentedControlModule } from './segmented-control/segmented-control.module';
4
- import { NggDropdownModule } from './dropdown/dropdown.module';
3
+ import { NggAccordionModule } from './accordion';
4
+ import { NggBadgeModule } from './badge/badge.module';
5
5
  import { NggDatepickerModule } from './datepicker/datepicker.module';
6
+ import { NggDropdownModule } from './dropdown/dropdown.module';
7
+ import { NggModalModule } from './modal';
8
+ import { NggProgressCircleModule } from './progress-circle/progress-circle.module';
9
+ import { NggSegmentedControlModule } from './segmented-control/segmented-control.module';
10
+ import { NggButtonModule } from './button/button.module';
6
11
  import * as i0 from "@angular/core";
7
12
  export class NggModule {
8
13
  }
9
- NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule] });
11
- NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggModule, imports: [[CommonModule], NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: NggModule, decorators: [{
14
+ NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggAccordionModule,
16
+ NggBadgeModule,
17
+ NggButtonModule,
18
+ NggDatepickerModule,
19
+ NggDropdownModule,
20
+ NggModalModule,
21
+ NggProgressCircleModule,
22
+ NggSegmentedControlModule] });
23
+ NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, imports: [[CommonModule], NggAccordionModule,
24
+ NggBadgeModule,
25
+ NggButtonModule,
26
+ NggDatepickerModule,
27
+ NggDropdownModule,
28
+ NggModalModule,
29
+ NggProgressCircleModule,
30
+ NggSegmentedControlModule] });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: NggModule, decorators: [{
13
32
  type: NgModule,
14
33
  args: [{
15
34
  declarations: [],
16
35
  imports: [CommonModule],
17
- exports: [NggSegmentedControlModule, NggDropdownModule, NggDatepickerModule],
36
+ exports: [
37
+ NggAccordionModule,
38
+ NggBadgeModule,
39
+ NggButtonModule,
40
+ NggDatepickerModule,
41
+ NggDropdownModule,
42
+ NggModalModule,
43
+ NggProgressCircleModule,
44
+ NggSegmentedControlModule,
45
+ ],
18
46
  }]
19
47
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZW4tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9ncmVlbi1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTs7QUFPcEUsTUFBTSxPQUFPLFNBQVM7O3NHQUFULFNBQVM7dUdBQVQsU0FBUyxZQUhWLFlBQVksYUFDWix5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUI7dUdBRWhFLFNBQVMsWUFIWCxDQUFDLFlBQVksQ0FBQyxFQUNiLHlCQUF5QixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQjsyRkFFaEUsU0FBUztrQkFMckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQztpQkFDN0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ2dTZWdtZW50ZWRDb250cm9sTW9kdWxlIH0gZnJvbSAnLi9zZWdtZW50ZWQtY29udHJvbC9zZWdtZW50ZWQtY29udHJvbC5tb2R1bGUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJ1xuaW1wb3J0IHsgTmdnRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJy4vZGF0ZXBpY2tlci9kYXRlcGlja2VyLm1vZHVsZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dTZWdtZW50ZWRDb250cm9sTW9kdWxlLCBOZ2dEcm9wZG93bk1vZHVsZSwgTmdnRGF0ZXBpY2tlck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZHVsZSB7fVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JlZW4tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9ncmVlbi1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUE7QUFDbEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOENBQThDLENBQUE7QUFDeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFBOztBQWdCeEQsTUFBTSxPQUFPLFNBQVM7O3NHQUFULFNBQVM7dUdBQVQsU0FBUyxZQVpWLFlBQVksYUFFcEIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsdUJBQXVCO1FBQ3ZCLHlCQUF5Qjt1R0FHaEIsU0FBUyxZQVpYLENBQUMsWUFBWSxDQUFDLEVBRXJCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2QsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7MkZBR2hCLFNBQVM7a0JBZHJCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLHVCQUF1Qjt3QkFDdkIseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nZ0FjY29yZGlvbk1vZHVsZSB9IGZyb20gJy4vYWNjb3JkaW9uJ1xuaW1wb3J0IHsgTmdnQmFkZ2VNb2R1bGUgfSBmcm9tICcuL2JhZGdlL2JhZGdlLm1vZHVsZSdcbmltcG9ydCB7IE5nZ0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICcuL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci5tb2R1bGUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJ1xuaW1wb3J0IHsgTmdnTW9kYWxNb2R1bGUgfSBmcm9tICcuL21vZGFsJ1xuaW1wb3J0IHsgTmdnUHJvZ3Jlc3NDaXJjbGVNb2R1bGUgfSBmcm9tICcuL3Byb2dyZXNzLWNpcmNsZS9wcm9ncmVzcy1jaXJjbGUubW9kdWxlJ1xuaW1wb3J0IHsgTmdnU2VnbWVudGVkQ29udHJvbE1vZHVsZSB9IGZyb20gJy4vc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wubW9kdWxlJ1xuaW1wb3J0IHsgTmdnQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLm1vZHVsZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBOZ2dBY2NvcmRpb25Nb2R1bGUsXG4gICAgTmdnQmFkZ2VNb2R1bGUsXG4gICAgTmdnQnV0dG9uTW9kdWxlLFxuICAgIE5nZ0RhdGVwaWNrZXJNb2R1bGUsXG4gICAgTmdnRHJvcGRvd25Nb2R1bGUsXG4gICAgTmdnTW9kYWxNb2R1bGUsXG4gICAgTmdnUHJvZ3Jlc3NDaXJjbGVNb2R1bGUsXG4gICAgTmdnU2VnbWVudGVkQ29udHJvbE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './modal.component';
2
+ export * from './modal.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vZGFsLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwubW9kdWxlJ1xuIl19