@sebgroup/green-angular 1.0.0-beta.3 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm2020/index.mjs CHANGED
@@ -1,10 +1,6 @@
1
1
  export * from './lib/green-angular.module';
2
2
  export * from './lib/dropdown/dropdown.module';
3
3
  export * from './lib/dropdown/dropdown.component';
4
- export * from './lib/dropdown/popover.directive';
5
- export * from './lib/dropdown/popover-element.directive';
6
- export * from './lib/dropdown/popover-option.directive';
7
- export * from './lib/dropdown/popover-trigger.directive';
8
4
  export * from './lib/segmented-control/segmented-control.module';
9
5
  export * from './lib/segmented-control/segmented-control.component';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsa0NBQWtDLENBQUE7QUFDaEQsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLHlDQUF5QyxDQUFBO0FBQ3ZELGNBQWMsMENBQTBDLENBQUE7QUFDeEQsY0FBYyxrREFBa0QsQ0FBQTtBQUNoRSxjQUFjLHFEQUFxRCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JlZW4tYW5ndWxhci5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9wb3BvdmVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Ryb3Bkb3duL3BvcG92ZXItZWxlbWVudC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9wb3BvdmVyLW9wdGlvbi5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kcm9wZG93bi9wb3BvdmVyLXRyaWdnZXIuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50J1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQTtBQUM5QyxjQUFjLG1DQUFtQyxDQUFBO0FBQ2pELGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxxREFBcUQsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2dyZWVuLWFuZ3VsYXIubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wubW9kdWxlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudGVkLWNvbnRyb2wvc2VnbWVudGVkLWNvbnRyb2wuY29tcG9uZW50J1xuIl19
@@ -1,30 +1,39 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { createDropdown, } from '@sebgroup/extract';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "./popover.directive";
5
- import * as i2 from "./popover-trigger.directive";
6
- import * as i3 from "./popover-element.directive";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "./popover-option.directive";
5
+ import * as i1 from "@angular/common";
9
6
  export class NggDropdownComponent {
10
- constructor() {
11
- this._options = [];
12
- this._config = {};
7
+ constructor(cd) {
8
+ this.cd = cd;
9
+ this.options = [];
10
+ this.value = undefined;
11
+ this.trackByKey = (index, option) => {
12
+ return option.key;
13
+ };
13
14
  }
14
- get options() {
15
- return this._options;
15
+ ngAfterViewInit() {
16
+ if (this.togglerRef?.nativeElement && this.listboxRef?.nativeElement) {
17
+ this.handler = createDropdown(this.props, this.togglerRef.nativeElement, this.listboxRef.nativeElement, (dropdown) => {
18
+ this.dropdown = dropdown;
19
+ this.toggler = dropdown.elements.toggler;
20
+ this.listbox = dropdown.elements.listbox;
21
+ this.cd.detectChanges();
22
+ });
23
+ this.selectFromValue(this.value);
24
+ }
16
25
  }
17
- set options(value) {
18
- this._options = value;
26
+ ngOnDestroy() {
27
+ this.handler?.destroy();
19
28
  }
20
- get config() {
21
- return this._config;
22
- }
23
- set config(value) {
24
- this._config = value;
29
+ ngOnChanges() {
30
+ if (this.handler && this.dropdown) {
31
+ this.handler.update(this.props);
32
+ }
25
33
  }
26
34
  writeValue(obj) {
27
35
  this.value = obj;
36
+ this.selectFromValue(this.value);
28
37
  }
29
38
  registerOnChange(fn) {
30
39
  this.onChangeFn = fn;
@@ -32,61 +41,127 @@ export class NggDropdownComponent {
32
41
  registerOnTouched(fn) {
33
42
  this.onTouchedFn = fn;
34
43
  }
35
- select(value) {
36
- this.onChangeFn(value);
37
- this.value = value;
44
+ select(option) {
45
+ this.handler?.select(option);
46
+ this.onChangeFn && this.onChangeFn(option.value);
47
+ this.onTouchedFn && this.onTouchedFn();
48
+ }
49
+ get props() {
50
+ return {
51
+ id: this.id,
52
+ text: this.text,
53
+ options: this.options,
54
+ loop: this.loop,
55
+ };
56
+ }
57
+ selectFromValue(value) {
58
+ if (this.handler && value !== undefined) {
59
+ const option = this.handler.dropdown.options.find((option) => option.value === value);
60
+ if (option)
61
+ this.handler?.select(option);
62
+ }
38
63
  }
39
64
  }
40
- NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
- NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { options: "options", config: "config" }, providers: [
65
+ NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
66
+ NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", text: "text", loop: "loop", options: "options" }, providers: [
42
67
  {
43
68
  provide: NG_VALUE_ACCESSOR,
44
69
  useExisting: NggDropdownComponent,
45
70
  multi: true,
46
71
  },
47
- ], ngImport: i0, template: `
48
- <div nggPopover [config]="config">
49
- <button type="button" nggPopoverTrigger>
50
- {{ value }}
72
+ ], viewQueries: [{ propertyName: "togglerRef", first: true, predicate: ["togglerRef"], descendants: true }, { propertyName: "listboxRef", first: true, predicate: ["listboxRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
73
+ <div>
74
+ <button
75
+ #togglerRef
76
+ [id]="toggler?.attributes?.id"
77
+ [attr.aria-haspopup]="toggler?.attributes?.['aria-haspopup']"
78
+ [attr.aria-expanded]="toggler?.attributes?.['aria-expanded']"
79
+ [attr.aria-owns]="toggler?.attributes?.['aria-owns']"
80
+ [tabindex]="toggler?.attributes?.tabIndex"
81
+ [style]="toggler?.attributes?.style"
82
+ [class]="toggler?.classes"
83
+ (click)="handler?.toggle()"
84
+ >
85
+ {{ dropdown?.text }}
51
86
  </button>
52
- <div nggPopoverElement tabindex="-1" autofocus>
53
- <button class="close m-4 m-sm-2 d-block d-sm-none ">
87
+ <div
88
+ #listboxRef
89
+ [id]="listbox?.attributes?.id"
90
+ [attr.role]="listbox?.attributes?.role"
91
+ [attr.aria-activedescendant]="
92
+ listbox?.attributes?.['aria-activedescendant']
93
+ "
94
+ [tabindex]="listbox?.attributes?.tabIndex"
95
+ [style]="listbox?.attributes?.style"
96
+ [class]="listbox?.classes"
97
+ >
98
+ <button
99
+ class="close m-4 m-sm-2 d-block d-sm-none"
100
+ (click)="handler?.close()"
101
+ >
54
102
  <span class="sr-only">Close</span>
55
103
  </button>
56
104
  <ul role="listbox">
57
105
  <li
58
- *ngFor="let option of options; let i = index"
59
- [nggPopoverOption]="option.value"
60
- [index]="i"
61
- [selected]="value === option.value"
62
- (selectedChanged)="select($event)"
106
+ *ngFor="let option of dropdown?.options; trackBy: trackByKey"
107
+ [id]="option.attributes.id"
108
+ [attr.role]="option.attributes.role"
109
+ [attr.aria-selected]="option.attributes['aria-selected']"
110
+ [style]="option.attributes.style"
111
+ [class]="option.classes"
112
+ (click)="select(option)"
63
113
  >
64
114
  {{ option.key }}
65
115
  </li>
66
116
  </ul>
67
117
  </div>
68
118
  </div>
69
- `, isInline: true, directives: [{ type: i1.NggPopoverDirective, selector: "[nggPopover]", inputs: ["config"] }, { type: i2.NggPopoverTriggerDirective, selector: "[nggPopoverTrigger]" }, { type: i3.NggPopoverElementDirective, selector: "[nggPopoverElement]" }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NggPopoverOptionDirective, selector: "[nggPopoverOption]", inputs: ["nggPopoverOption", "index", "selected"], outputs: ["selectedChanged"] }] });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownComponent, decorators: [{
119
+ `, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownComponent, decorators: [{
71
121
  type: Component,
72
122
  args: [{
73
123
  selector: 'ngg-dropdown',
74
124
  template: `
75
- <div nggPopover [config]="config">
76
- <button type="button" nggPopoverTrigger>
77
- {{ value }}
125
+ <div>
126
+ <button
127
+ #togglerRef
128
+ [id]="toggler?.attributes?.id"
129
+ [attr.aria-haspopup]="toggler?.attributes?.['aria-haspopup']"
130
+ [attr.aria-expanded]="toggler?.attributes?.['aria-expanded']"
131
+ [attr.aria-owns]="toggler?.attributes?.['aria-owns']"
132
+ [tabindex]="toggler?.attributes?.tabIndex"
133
+ [style]="toggler?.attributes?.style"
134
+ [class]="toggler?.classes"
135
+ (click)="handler?.toggle()"
136
+ >
137
+ {{ dropdown?.text }}
78
138
  </button>
79
- <div nggPopoverElement tabindex="-1" autofocus>
80
- <button class="close m-4 m-sm-2 d-block d-sm-none ">
139
+ <div
140
+ #listboxRef
141
+ [id]="listbox?.attributes?.id"
142
+ [attr.role]="listbox?.attributes?.role"
143
+ [attr.aria-activedescendant]="
144
+ listbox?.attributes?.['aria-activedescendant']
145
+ "
146
+ [tabindex]="listbox?.attributes?.tabIndex"
147
+ [style]="listbox?.attributes?.style"
148
+ [class]="listbox?.classes"
149
+ >
150
+ <button
151
+ class="close m-4 m-sm-2 d-block d-sm-none"
152
+ (click)="handler?.close()"
153
+ >
81
154
  <span class="sr-only">Close</span>
82
155
  </button>
83
156
  <ul role="listbox">
84
157
  <li
85
- *ngFor="let option of options; let i = index"
86
- [nggPopoverOption]="option.value"
87
- [index]="i"
88
- [selected]="value === option.value"
89
- (selectedChanged)="select($event)"
158
+ *ngFor="let option of dropdown?.options; trackBy: trackByKey"
159
+ [id]="option.attributes.id"
160
+ [attr.role]="option.attributes.role"
161
+ [attr.aria-selected]="option.attributes['aria-selected']"
162
+ [style]="option.attributes.style"
163
+ [class]="option.classes"
164
+ (click)="select(option)"
90
165
  >
91
166
  {{ option.key }}
92
167
  </li>
@@ -101,11 +176,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
101
176
  multi: true,
102
177
  },
103
178
  ],
104
- //changeDetection: ChangeDetectionStrategy.OnPush
179
+ changeDetection: ChangeDetectionStrategy.OnPush,
105
180
  }]
106
- }], propDecorators: { options: [{
181
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
182
+ type: Input
183
+ }], text: [{
184
+ type: Input
185
+ }], loop: [{
107
186
  type: Input
108
- }], config: [{
187
+ }], options: [{
109
188
  type: Input
189
+ }], togglerRef: [{
190
+ type: ViewChild,
191
+ args: ['togglerRef']
192
+ }], listboxRef: [{
193
+ type: ViewChild,
194
+ args: ['listboxRef']
110
195
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7Ozs7OztBQW9DeEUsTUFBTSxPQUFPLG9CQUFvQjtJQWxDakM7UUFxRFUsYUFBUSxHQUFlLEVBQUUsQ0FBQTtRQUV6QixZQUFPLEdBQVMsRUFBRSxDQUFBO0tBa0IzQjtJQXRDQyxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUVELElBQWEsT0FBTyxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQztJQUNELElBQWEsTUFBTSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7SUFDdEIsQ0FBQztJQVVELFVBQVUsQ0FBQyxHQUFRO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFBO0lBQ2xCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7SUFDcEIsQ0FBQzs7aUhBdENVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHlGQVRwQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsb0JBQW9CO1lBQ2pDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkE3QlM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7MkZBVVUsb0JBQW9CO2tCQWxDaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JUO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLHNCQUFzQjs0QkFDakMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsaURBQWlEO2lCQUNsRDs4QkFNYyxPQUFPO3NCQUFuQixLQUFLO2dCQU1PLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZHJvcGRvd24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgbmdnUG9wb3ZlciBbY29uZmlnXT1cImNvbmZpZ1wiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbmdnUG9wb3ZlclRyaWdnZXI+XG4gICAgICAgIHt7IHZhbHVlIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXYgbmdnUG9wb3ZlckVsZW1lbnQgdGFiaW5kZXg9XCItMVwiIGF1dG9mb2N1cz5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlIG0tNCBtLXNtLTIgZC1ibG9jayBkLXNtLW5vbmUgXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8dWwgcm9sZT1cImxpc3Rib3hcIj5cbiAgICAgICAgICA8bGlcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICBbbmdnUG9wb3Zlck9wdGlvbl09XCJvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZhbHVlID09PSBvcHRpb24udmFsdWVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlZCk9XCJzZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgb3B0aW9uLmtleSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICAvL2NoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5nZ0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBnZXQgb3B0aW9ucygpOiBBcnJheTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uc1xuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IEFycmF5PGFueT4pIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWVcbiAgfVxuICBnZXQgY29uZmlnKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ1xuICB9XG4gIEBJbnB1dCgpIHNldCBjb25maWcodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlXG4gIH1cblxuICB2YWx1ZTogYW55XG4gIG9uQ2hhbmdlRm46IGFueVxuICBvblRvdWNoZWRGbjogYW55XG5cbiAgcHJpdmF0ZSBfb3B0aW9uczogQXJyYXk8YW55PiA9IFtdXG5cbiAgcHJpdmF0ZSBfY29uZmlnPzogYW55ID0ge31cblxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG9ialxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm5cbiAgfVxuXG4gIHNlbGVjdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZVxuICB9XG59XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxLQUFLLEVBR0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RSxPQUFPLEVBQ0wsY0FBYyxHQU9mLE1BQU0sbUJBQW1CLENBQUE7OztBQTZEMUIsTUFBTSxPQUFPLG9CQUFvQjtJQXlCL0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFuQmhDLFlBQU8sR0FBcUIsRUFBRSxDQUFBO1FBVXZDLFVBQUssR0FBUSxTQUFTLENBQUE7UUEwRHRCLGVBQVUsR0FBRyxDQUFDLEtBQWEsRUFBRSxNQUE4QixFQUFVLEVBQUU7WUFDckUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFBO1FBQ25CLENBQUMsQ0FBQTtJQW5EMkMsQ0FBQztJQUU3QyxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRTtZQUNwRSxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FDM0IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQzdCLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7Z0JBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUE7Z0JBQ3hDLElBQUks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QkFBZixLQUFLO2dCQUUwQixVQUFVO3NCQUF6QyxTQUFTO3VCQUFDLFlBQVk7Z0JBSVMsVUFBVTtzQkFBekMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQge1xuICBjcmVhdGVEcm9wZG93bixcbiAgQWJzdHJhY3REcm9wZG93bixcbiAgRHJvcGRvd25IYW5kbGVyLFxuICBEcm9wZG93bk9wdGlvbixcbiAgRXh0ZW5kZWREcm9wZG93bk9wdGlvbixcbiAgRWxlbWVudFByb3BzLFxuICBEcm9wZG93bkFyZ3MsXG59IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZHJvcGRvd24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICN0b2dnbGVyUmVmXG4gICAgICAgIFtpZF09XCJ0b2dnbGVyPy5hdHRyaWJ1dGVzPy5pZFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGFzcG9wdXBdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uWydhcmlhLWhhc3BvcHVwJ11cIlxuICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LlsnYXJpYS1leHBhbmRlZCddXCJcbiAgICAgICAgW2F0dHIuYXJpYS1vd25zXT1cInRvZ2dsZXI/LmF0dHJpYnV0ZXM/LlsnYXJpYS1vd25zJ11cIlxuICAgICAgICBbdGFiaW5kZXhdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8udGFiSW5kZXhcIlxuICAgICAgICBbc3R5bGVdPVwidG9nZ2xlcj8uYXR0cmlidXRlcz8uc3R5bGVcIlxuICAgICAgICBbY2xhc3NdPVwidG9nZ2xlcj8uY2xhc3Nlc1wiXG4gICAgICAgIChjbGljayk9XCJoYW5kbGVyPy50b2dnbGUoKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGRyb3Bkb3duPy50ZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXZcbiAgICAgICAgI2xpc3Rib3hSZWZcbiAgICAgICAgW2lkXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LmlkXCJcbiAgICAgICAgW2F0dHIucm9sZV09XCJsaXN0Ym94Py5hdHRyaWJ1dGVzPy5yb2xlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIlxuICAgICAgICAgIGxpc3Rib3g/LmF0dHJpYnV0ZXM/LlsnYXJpYS1hY3RpdmVkZXNjZW5kYW50J11cbiAgICAgICAgXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnRhYkluZGV4XCJcbiAgICAgICAgW3N0eWxlXT1cImxpc3Rib3g/LmF0dHJpYnV0ZXM/LnN0eWxlXCJcbiAgICAgICAgW2NsYXNzXT1cImxpc3Rib3g/LmNsYXNzZXNcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJjbG9zZSBtLTQgbS1zbS0yIGQtYmxvY2sgZC1zbS1ub25lXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlcj8uY2xvc2UoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDx1bCByb2xlPVwibGlzdGJveFwiPlxuICAgICAgICAgIDxsaVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBkcm9wZG93bj8ub3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUtleVwiXG4gICAgICAgICAgICBbaWRdPVwib3B0aW9uLmF0dHJpYnV0ZXMuaWRcIlxuICAgICAgICAgICAgW2F0dHIucm9sZV09XCJvcHRpb24uYXR0cmlidXRlcy5yb2xlXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwib3B0aW9uLmF0dHJpYnV0ZXNbJ2FyaWEtc2VsZWN0ZWQnXVwiXG4gICAgICAgICAgICBbc3R5bGVdPVwib3B0aW9uLmF0dHJpYnV0ZXMuc3R5bGVcIlxuICAgICAgICAgICAgW2NsYXNzXT1cIm9wdGlvbi5jbGFzc2VzXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3Qob3B0aW9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgb3B0aW9uLmtleSB9fVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXNcbntcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dD86IHN0cmluZ1xuICBASW5wdXQoKSBsb29wPzogYm9vbGVhblxuICBASW5wdXQoKSBvcHRpb25zOiBEcm9wZG93bk9wdGlvbltdID0gW11cblxuICBAVmlld0NoaWxkKCd0b2dnbGVyUmVmJykgcHVibGljIHRvZ2dsZXJSZWY6XG4gICAgfCBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICAgIHwgdW5kZWZpbmVkXG5cbiAgQFZpZXdDaGlsZCgnbGlzdGJveFJlZicpIHB1YmxpYyBsaXN0Ym94UmVmOlxuICAgIHwgRWxlbWVudFJlZjxIVE1MRWxlbWVudD5cbiAgICB8IHVuZGVmaW5lZFxuXG4gIHZhbHVlOiBhbnkgPSB1bmRlZmluZWRcbiAgb25DaGFuZ2VGbj86IGFueVxuICBvblRvdWNoZWRGbj86IGFueVxuXG4gIGRyb3Bkb3duPzogQWJzdHJhY3REcm9wZG93blxuICBoYW5kbGVyPzogRHJvcGRvd25IYW5kbGVyXG4gIHRvZ2dsZXI/OiBQYXJ0aWFsPEVsZW1lbnRQcm9wcz5cbiAgbGlzdGJveD86IFBhcnRpYWw8RWxlbWVudFByb3BzPlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2dnbGVyUmVmPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMubGlzdGJveFJlZj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgdGhpcy5oYW5kbGVyID0gY3JlYXRlRHJvcGRvd24oXG4gICAgICAgIHRoaXMucHJvcHMsXG4gICAgICAgIHRoaXMudG9nZ2xlclJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICB0aGlzLmxpc3Rib3hSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgKGRyb3Bkb3duKSA9PiB7XG4gICAgICAgICAgdGhpcy5kcm9wZG93biA9IGRyb3Bkb3duXG4gICAgICAgICAgdGhpcy50b2dnbGVyID0gZHJvcGRvd24uZWxlbWVudHMudG9nZ2xlclxuICAgICAgICAgIHRoaXMubGlzdGJveCA9IGRyb3Bkb3duLmVsZW1lbnRzLmxpc3Rib3hcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKVxuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIHRoaXMuc2VsZWN0RnJvbVZhbHVlKHRoaXMudmFsdWUpXG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVyPy5kZXN0cm95KClcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhbmRsZXIgJiYgdGhpcy5kcm9wZG93bikge1xuICAgICAgdGhpcy5oYW5kbGVyLnVwZGF0ZSh0aGlzLnByb3BzKVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gb2JqXG4gICAgdGhpcy5zZWxlY3RGcm9tVmFsdWUodGhpcy52YWx1ZSlcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuXG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICBzZWxlY3Qob3B0aW9uOiBFeHRlbmRlZERyb3Bkb3duT3B0aW9uKSB7XG4gICAgdGhpcy5oYW5kbGVyPy5zZWxlY3Qob3B0aW9uKVxuICAgIHRoaXMub25DaGFuZ2VGbiAmJiB0aGlzLm9uQ2hhbmdlRm4ob3B0aW9uLnZhbHVlKVxuICAgIHRoaXMub25Ub3VjaGVkRm4gJiYgdGhpcy5vblRvdWNoZWRGbigpXG4gIH1cblxuICB0cmFja0J5S2V5ID0gKGluZGV4OiBudW1iZXIsIG9wdGlvbjogRXh0ZW5kZWREcm9wZG93bk9wdGlvbik6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbi5rZXlcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHByb3BzKCk6IERyb3Bkb3duQXJncyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgdGV4dDogdGhpcy50ZXh0LFxuICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgbG9vcDogdGhpcy5sb29wLFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0RnJvbVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodGhpcy5oYW5kbGVyICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuaGFuZGxlci5kcm9wZG93bi5vcHRpb25zLmZpbmQoXG4gICAgICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWVcbiAgICAgIClcbiAgICAgIGlmIChvcHRpb24pIHRoaXMuaGFuZGxlcj8uc2VsZWN0KG9wdGlvbilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,42 +1,18 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NggDropdownComponent } from './dropdown.component';
4
- import { NggPopoverElementDirective } from './popover-element.directive';
5
- import { NggPopoverOptionDirective } from './popover-option.directive';
6
- import { NggPopoverTriggerDirective } from './popover-trigger.directive';
7
- import { NggPopoverDirective } from './popover.directive';
8
4
  import * as i0 from "@angular/core";
9
5
  export class NggDropdownModule {
10
6
  }
11
- NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownModule, declarations: [NggPopoverDirective,
13
- NggPopoverOptionDirective,
14
- NggPopoverElementDirective,
15
- NggPopoverTriggerDirective,
16
- NggDropdownComponent], imports: [CommonModule], exports: [NggPopoverDirective,
17
- NggPopoverOptionDirective,
18
- NggPopoverElementDirective,
19
- NggPopoverTriggerDirective,
20
- NggDropdownComponent] });
21
- NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggDropdownModule, decorators: [{
7
+ NggDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ NggDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownModule, declarations: [NggDropdownComponent], imports: [CommonModule], exports: [NggDropdownComponent] });
9
+ NggDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggDropdownModule, decorators: [{
23
11
  type: NgModule,
24
12
  args: [{
25
- declarations: [
26
- NggPopoverDirective,
27
- NggPopoverOptionDirective,
28
- NggPopoverElementDirective,
29
- NggPopoverTriggerDirective,
30
- NggDropdownComponent,
31
- ],
13
+ declarations: [NggDropdownComponent],
32
14
  imports: [CommonModule],
33
- exports: [
34
- NggPopoverDirective,
35
- NggPopoverOptionDirective,
36
- NggPopoverElementDirective,
37
- NggPopoverTriggerDirective,
38
- NggDropdownComponent,
39
- ],
15
+ exports: [NggDropdownComponent],
40
16
  }]
41
17
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFBOztBQW1CekQsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQWYxQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsb0JBQW9CLGFBRVosWUFBWSxhQUVwQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsb0JBQW9COytHQUdYLGlCQUFpQixZQVRuQixDQUFDLFlBQVksQ0FBQzsyRkFTWixpQkFBaUI7a0JBakI3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixvQkFBb0I7cUJBQ3JCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCdcbmltcG9ydCB7IE5nZ1BvcG92ZXJFbGVtZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWVsZW1lbnQuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdnUG9wb3Zlck9wdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci1vcHRpb24uZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdnUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmdnUG9wb3ZlckRpcmVjdGl2ZSxcbiAgICBOZ2dQb3BvdmVyT3B0aW9uRGlyZWN0aXZlLFxuICAgIE5nZ1BvcG92ZXJFbGVtZW50RGlyZWN0aXZlLFxuICAgIE5nZ1BvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlLFxuICAgIE5nZ0Ryb3Bkb3duQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIE5nZ1BvcG92ZXJEaXJlY3RpdmUsXG4gICAgTmdnUG9wb3Zlck9wdGlvbkRpcmVjdGl2ZSxcbiAgICBOZ2dQb3BvdmVyRWxlbWVudERpcmVjdGl2ZSxcbiAgICBOZ2dQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBOZ2dEcm9wZG93bkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFBOztBQU8zRCxNQUFNLE9BQU8saUJBQWlCOzs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBQ3pCLFlBQVksYUFDWixvQkFBb0I7K0dBRW5CLGlCQUFpQixZQUhuQixDQUFDLFlBQVksQ0FBQzsyRkFHWixpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdnRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbXBvbmVudCdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTmdnRHJvcGRvd25Db21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW05nZ0Ryb3Bkb3duQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
@@ -5,10 +5,10 @@ import { NggDropdownModule } from './dropdown/dropdown.module';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NggModule {
7
7
  }
8
- NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggSegmentedControlModule, NggDropdownModule] });
10
- NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggModule, imports: [[CommonModule], NggSegmentedControlModule, NggDropdownModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggModule, decorators: [{
8
+ NggModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NggModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggModule, imports: [CommonModule], exports: [NggSegmentedControlModule, NggDropdownModule] });
10
+ NggModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggModule, imports: [[CommonModule], NggSegmentedControlModule, NggDropdownModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [],
@@ -4,8 +4,8 @@ import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/router";
5
5
  export class NggSegmentedControlComponent {
6
6
  }
7
- NggSegmentedControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
- NggSegmentedControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NggSegmentedControlComponent, selector: "ngg-segmented-control", inputs: { $controls: "$controls" }, ngImport: i0, template: `
7
+ NggSegmentedControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ NggSegmentedControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.2", type: NggSegmentedControlComponent, selector: "ngg-segmented-control", inputs: { $controls: "$controls" }, ngImport: i0, template: `
9
9
  <div class="group">
10
10
  <a
11
11
  *ngFor="let control of $controls | async"
@@ -16,7 +16,7 @@ NggSegmentedControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
16
16
  >
17
17
  </div>
18
18
  `, isInline: true, directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], pipes: { "async": i1.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{
22
22
  selector: 'ngg-segmented-control',
@@ -5,10 +5,10 @@ import { RouterModule } from '@angular/router';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NggSegmentedControlModule {
7
7
  }
8
- NggSegmentedControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- NggSegmentedControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlModule, declarations: [NggSegmentedControlComponent], imports: [RouterModule, CommonModule], exports: [NggSegmentedControlComponent] });
10
- NggSegmentedControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlModule, imports: [[RouterModule, CommonModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NggSegmentedControlModule, decorators: [{
8
+ NggSegmentedControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ NggSegmentedControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlModule, declarations: [NggSegmentedControlComponent], imports: [RouterModule, CommonModule], exports: [NggSegmentedControlComponent] });
10
+ NggSegmentedControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlModule, imports: [[RouterModule, CommonModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImport: i0, type: NggSegmentedControlModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  declarations: [NggSegmentedControlComponent],