@huntsman-cancer-institute/input 16.0.0 → 17.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 (54) hide show
  1. package/date/date-base.d.ts +65 -65
  2. package/date/date-date-range.component.d.ts +32 -32
  3. package/date/date-date.component.d.ts +53 -53
  4. package/date/date-validator.d.ts +17 -17
  5. package/date/date.module.d.ts +16 -16
  6. package/dropdown/dropdown-index.d.ts +6 -6
  7. package/dropdown/dropdown-select-result.component.d.ts +23 -23
  8. package/dropdown/dropdown-select.component.d.ts +76 -76
  9. package/dropdown/dropdown.component.d.ts +40 -40
  10. package/dropdown/dropdown.module.d.ts +13 -13
  11. package/dropdown/dropdown.service.d.ts +51 -51
  12. package/dropdown/messages.d.ts +11 -11
  13. package/dropdown/select-item.d.ts +16 -16
  14. package/dropdown/template-dropdown.directive.d.ts +12 -12
  15. package/esm2022/date/date-base.mjs +114 -114
  16. package/esm2022/date/date-date-range.component.mjs +92 -92
  17. package/esm2022/date/date-date.component.mjs +189 -189
  18. package/esm2022/date/date-validator.mjs +40 -40
  19. package/esm2022/date/date.module.mjs +60 -60
  20. package/esm2022/dropdown/dropdown-index.mjs +5 -5
  21. package/esm2022/dropdown/dropdown-select-result.component.mjs +85 -85
  22. package/esm2022/dropdown/dropdown-select.component.mjs +360 -360
  23. package/esm2022/dropdown/dropdown.component.mjs +170 -170
  24. package/esm2022/dropdown/dropdown.module.mjs +50 -50
  25. package/esm2022/dropdown/dropdown.service.mjs +133 -133
  26. package/esm2022/dropdown/messages.mjs +9 -9
  27. package/esm2022/dropdown/select-item.mjs +11 -11
  28. package/esm2022/dropdown/template-dropdown.directive.mjs +26 -26
  29. package/esm2022/huntsman-cancer-institute-input.mjs +4 -4
  30. package/esm2022/index.mjs +19 -19
  31. package/esm2022/inline/inline.component.mjs +179 -179
  32. package/esm2022/inline/inline.module.mjs +28 -28
  33. package/esm2022/search/search.component.mjs +157 -157
  34. package/esm2022/search/search.module.mjs +32 -32
  35. package/esm2022/select/custom-combobox.component.mjs +531 -531
  36. package/esm2022/select/custom-multi-combobox.component.mjs +232 -232
  37. package/esm2022/select/md-multi-select.component.mjs +127 -127
  38. package/esm2022/select/md-select.component.mjs +107 -107
  39. package/esm2022/select/native-select.component.mjs +188 -188
  40. package/esm2022/select/select.module.mjs +83 -83
  41. package/fesm2022/huntsman-cancer-institute-input.mjs +2797 -2797
  42. package/fesm2022/huntsman-cancer-institute-input.mjs.map +1 -1
  43. package/index.d.ts +20 -20
  44. package/inline/inline.component.d.ts +66 -66
  45. package/inline/inline.module.d.ts +9 -9
  46. package/package.json +16 -8
  47. package/search/search.component.d.ts +42 -42
  48. package/search/search.module.d.ts +10 -10
  49. package/select/custom-combobox.component.d.ts +98 -98
  50. package/select/custom-multi-combobox.component.d.ts +50 -50
  51. package/select/md-multi-select.component.d.ts +32 -32
  52. package/select/md-select.component.d.ts +30 -30
  53. package/select/native-select.component.d.ts +37 -37
  54. package/select/select.module.d.ts +21 -21
@@ -1,154 +1,154 @@
1
- import { Component, ContentChild, forwardRef, HostListener, Input, isDevMode, SimpleChange, TemplateRef } from "@angular/core";
2
- import { NG_VALUE_ACCESSOR, NgModel } from "@angular/forms";
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- /**
6
- * This component is designed to take any input as ng-content and wrap it such that it renders as a string. When hovering
7
- * over, a border and edit icon is shown. Upon clicking, it enters edit mode and the passed in input is rendered. The
8
- * bound ngModel is wrapped in an intermediary. This component binds a separate internal value to the wrapped component.
9
- * This allows the user to cancel out and not update the ngModel bound to this component.
10
- */
11
- export class InlineComponent {
12
- constructor() {
13
- this.noValueMessage = "Click to Add";
14
- // View state
15
- this.editMode = false;
16
- }
17
- /**
18
- * Called when the model updates and we need to up the view.
19
- *
20
- * @param value
21
- */
22
- writeValue(value) {
23
- if (isDevMode()) {
24
- console.debug("InlineComponent: writeValue");
25
- console.debug("InlineComponent: " + value);
26
- }
27
- // Update the internal values.
28
- this.value = value;
29
- this.modifiedValue = this.value;
30
- if (this.ngModelRef !== undefined) {
31
- if (isDevMode()) {
32
- console.debug("InlineComponent: update ngModelRef: " + this.modifiedValue);
33
- }
34
- // Update the model, then tell the directive that it has been updated.
35
- this.ngModelRef.model = this.modifiedValue;
36
- this.ngModelRef.ngOnChanges({
37
- model: new SimpleChange(undefined, this.modifiedValue, false)
38
- });
39
- }
40
- }
41
- /**
42
- * Register the function that is called when the value changes in the value.
43
- *
44
- * @param {(value: any) => void} fn
45
- */
46
- registerOnChange(fn) {
47
- if (isDevMode()) {
48
- console.debug("InlineComponent: registerOnChange");
49
- console.debug(fn);
50
- }
51
- this.onChange = () => {
52
- if (isDevMode()) {
53
- console.debug("InlineComponent: onChange Function" + this.value);
54
- }
55
- fn(this.value);
56
- };
57
- }
58
- /**
59
- * Register the function called to update the model on blur.
60
- *
61
- * @param {() => void} fn
62
- */
63
- registerOnTouched(fn) {
64
- if (isDevMode()) {
65
- console.debug("InlineComponent: registerOnTouched");
66
- console.debug(fn);
67
- }
68
- this.onTouched = fn;
69
- }
70
- /**
71
- * Set the editMode. If true then tell the passed in input to bind the current modified value.
72
- *
73
- * @param {boolean} editMode
74
- */
75
- setEditMode(event, editMode) {
76
- event.stopPropagation();
77
- this.editMode = editMode;
78
- if (this.editMode) {
79
- this.onTouched();
80
- this.ngModelRef.model = this.modifiedValue;
81
- this.ngModelRef.ngOnChanges({
82
- model: new SimpleChange(undefined, this.modifiedValue, false)
83
- });
84
- }
85
- }
86
- /**
87
- * Cancel edit mode which resets the modified value.
88
- */
89
- cancel() {
90
- this.editMode = false;
91
- this.modifiedValue = this.value;
92
- }
93
- /**
94
- * Update the value with the modified value and call the onChange function so two way binding is updated with this component.
95
- */
96
- save() {
97
- if (isDevMode()) {
98
- console.debug("InlineComponent: save modifiedValue: " + this.modifiedValue + ", value: " + this.value);
99
- }
100
- this.value = this.modifiedValue;
101
- this.onChange(this.value);
102
- this.editMode = false;
103
- }
104
- /**
105
- * The component to wrap must be named with #input and have a ngModel directive. When the content is set here, we
106
- * read the ngModel and set the model as well as listen to changes.
107
- *
108
- * @param {NgModel} ngModel
109
- */
110
- set contentChild(ngModel) {
111
- if (isDevMode()) {
112
- console.debug("InlineComponent: set contentChild: " + this.modifiedValue);
113
- console.debug(ngModel);
114
- }
115
- this.ngModelRef = ngModel;
116
- if (this.ngModelRef) {
117
- this.ngModelRef.model = this.modifiedValue;
118
- this.ngModelRef.ngOnChanges({
119
- model: new SimpleChange(undefined, this.modifiedValue, false)
120
- });
121
- this.ngModelRef.update.subscribe((value) => {
122
- if (isDevMode()) {
123
- console.debug("InlineComponent: cmpt model change: " + value);
124
- }
125
- this.modifiedValue = value;
126
- });
127
- }
128
- }
129
- /**
130
- * If the click target is outside the inline input then cancel it.
131
- *
132
- * @param {MouseEvent} event
133
- */
134
- documentClick(event) {
135
- if (this.editMode) {
136
- if (isDevMode()) {
137
- console.debug("InlineComponent: documentClick");
138
- }
139
- let e = event.target.closest("hci-inline-input");
140
- if (!e) {
141
- this.save();
142
- }
143
- }
144
- }
145
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: InlineComponent, selector: "hci-inline-input", inputs: { noValueMessage: "noValueMessage" }, host: { listeners: { "document:click": "documentClick($event)" } }, providers: [
147
- {
148
- provide: NG_VALUE_ACCESSOR,
149
- useExisting: forwardRef(() => InlineComponent),
150
- multi: true
151
- }
1
+ import { Component, ContentChild, forwardRef, HostListener, Input, isDevMode, SimpleChange, TemplateRef } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR, NgModel } from "@angular/forms";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * This component is designed to take any input as ng-content and wrap it such that it renders as a string. When hovering
7
+ * over, a border and edit icon is shown. Upon clicking, it enters edit mode and the passed in input is rendered. The
8
+ * bound ngModel is wrapped in an intermediary. This component binds a separate internal value to the wrapped component.
9
+ * This allows the user to cancel out and not update the ngModel bound to this component.
10
+ */
11
+ export class InlineComponent {
12
+ constructor() {
13
+ this.noValueMessage = "Click to Add";
14
+ // View state
15
+ this.editMode = false;
16
+ }
17
+ /**
18
+ * Called when the model updates and we need to up the view.
19
+ *
20
+ * @param value
21
+ */
22
+ writeValue(value) {
23
+ if (isDevMode()) {
24
+ console.debug("InlineComponent: writeValue");
25
+ console.debug("InlineComponent: " + value);
26
+ }
27
+ // Update the internal values.
28
+ this.value = value;
29
+ this.modifiedValue = this.value;
30
+ if (this.ngModelRef !== undefined) {
31
+ if (isDevMode()) {
32
+ console.debug("InlineComponent: update ngModelRef: " + this.modifiedValue);
33
+ }
34
+ // Update the model, then tell the directive that it has been updated.
35
+ this.ngModelRef.model = this.modifiedValue;
36
+ this.ngModelRef.ngOnChanges({
37
+ model: new SimpleChange(undefined, this.modifiedValue, false)
38
+ });
39
+ }
40
+ }
41
+ /**
42
+ * Register the function that is called when the value changes in the value.
43
+ *
44
+ * @param {(value: any) => void} fn
45
+ */
46
+ registerOnChange(fn) {
47
+ if (isDevMode()) {
48
+ console.debug("InlineComponent: registerOnChange");
49
+ console.debug(fn);
50
+ }
51
+ this.onChange = () => {
52
+ if (isDevMode()) {
53
+ console.debug("InlineComponent: onChange Function" + this.value);
54
+ }
55
+ fn(this.value);
56
+ };
57
+ }
58
+ /**
59
+ * Register the function called to update the model on blur.
60
+ *
61
+ * @param {() => void} fn
62
+ */
63
+ registerOnTouched(fn) {
64
+ if (isDevMode()) {
65
+ console.debug("InlineComponent: registerOnTouched");
66
+ console.debug(fn);
67
+ }
68
+ this.onTouched = fn;
69
+ }
70
+ /**
71
+ * Set the editMode. If true then tell the passed in input to bind the current modified value.
72
+ *
73
+ * @param {boolean} editMode
74
+ */
75
+ setEditMode(event, editMode) {
76
+ event.stopPropagation();
77
+ this.editMode = editMode;
78
+ if (this.editMode) {
79
+ this.onTouched();
80
+ this.ngModelRef.model = this.modifiedValue;
81
+ this.ngModelRef.ngOnChanges({
82
+ model: new SimpleChange(undefined, this.modifiedValue, false)
83
+ });
84
+ }
85
+ }
86
+ /**
87
+ * Cancel edit mode which resets the modified value.
88
+ */
89
+ cancel() {
90
+ this.editMode = false;
91
+ this.modifiedValue = this.value;
92
+ }
93
+ /**
94
+ * Update the value with the modified value and call the onChange function so two way binding is updated with this component.
95
+ */
96
+ save() {
97
+ if (isDevMode()) {
98
+ console.debug("InlineComponent: save modifiedValue: " + this.modifiedValue + ", value: " + this.value);
99
+ }
100
+ this.value = this.modifiedValue;
101
+ this.onChange(this.value);
102
+ this.editMode = false;
103
+ }
104
+ /**
105
+ * The component to wrap must be named with #input and have a ngModel directive. When the content is set here, we
106
+ * read the ngModel and set the model as well as listen to changes.
107
+ *
108
+ * @param {NgModel} ngModel
109
+ */
110
+ set contentChild(ngModel) {
111
+ if (isDevMode()) {
112
+ console.debug("InlineComponent: set contentChild: " + this.modifiedValue);
113
+ console.debug(ngModel);
114
+ }
115
+ this.ngModelRef = ngModel;
116
+ if (this.ngModelRef) {
117
+ this.ngModelRef.model = this.modifiedValue;
118
+ this.ngModelRef.ngOnChanges({
119
+ model: new SimpleChange(undefined, this.modifiedValue, false)
120
+ });
121
+ this.ngModelRef.update.subscribe((value) => {
122
+ if (isDevMode()) {
123
+ console.debug("InlineComponent: cmpt model change: " + value);
124
+ }
125
+ this.modifiedValue = value;
126
+ });
127
+ }
128
+ }
129
+ /**
130
+ * If the click target is outside the inline input then cancel it.
131
+ *
132
+ * @param {MouseEvent} event
133
+ */
134
+ documentClick(event) {
135
+ if (this.editMode) {
136
+ if (isDevMode()) {
137
+ console.debug("InlineComponent: documentClick");
138
+ }
139
+ let e = event.target.closest("hci-inline-input");
140
+ if (!e) {
141
+ this.save();
142
+ }
143
+ }
144
+ }
145
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InlineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
146
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: InlineComponent, selector: "hci-inline-input", inputs: { noValueMessage: "noValueMessage" }, host: { listeners: { "document:click": "documentClick($event)" } }, providers: [
147
+ {
148
+ provide: NG_VALUE_ACCESSOR,
149
+ useExisting: forwardRef(() => InlineComponent),
150
+ multi: true
151
+ }
152
152
  ], queries: [{ propertyName: "renderTemplate", first: true, predicate: ["renderTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "contentChild", first: true, predicate: ["input"], descendants: true, read: NgModel }], ngImport: i0, template: `
153
153
  <div *ngIf="!editMode; else editTemplate"
154
154
  (click)="setEditMode($event, true)"
@@ -184,12 +184,12 @@ export class InlineComponent {
184
184
  </div>
185
185
  </div>
186
186
  </ng-template>
187
- `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
188
- }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InlineComponent, decorators: [{
190
- type: Component,
191
- args: [{
192
- selector: "hci-inline-input",
187
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InlineComponent, decorators: [{
190
+ type: Component,
191
+ args: [{
192
+ selector: "hci-inline-input",
193
193
  template: `
194
194
  <div *ngIf="!editMode; else editTemplate"
195
195
  (click)="setEditMode($event, true)"
@@ -225,25 +225,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
225
225
  </div>
226
226
  </div>
227
227
  </ng-template>
228
- `,
229
- providers: [
230
- {
231
- provide: NG_VALUE_ACCESSOR,
232
- useExisting: forwardRef(() => InlineComponent),
233
- multi: true
234
- }
235
- ]
236
- }]
237
- }], propDecorators: { renderTemplate: [{
238
- type: ContentChild,
239
- args: ["renderTemplate", { read: TemplateRef, static: true }]
240
- }], noValueMessage: [{
241
- type: Input
242
- }], contentChild: [{
243
- type: ContentChild,
244
- args: ["input", { read: NgModel, static: false }]
245
- }], documentClick: [{
246
- type: HostListener,
247
- args: ["document:click", ["$event"]]
248
- }] } });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9pbmxpbmUvaW5saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUNqRixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRWhGOzs7OztHQUtHO0FBK0NILE1BQU0sT0FBTyxlQUFlO0lBOUM1QjtRQWtEVyxtQkFBYyxHQUFXLGNBQWMsQ0FBQztRQUVqRCxhQUFhO1FBQ2IsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWdLM0I7SUFqSkM7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsQ0FBQztTQUM1QztRQUVELDhCQUE4QjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxJQUFJLFNBQVMsRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsc0NBQXNDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzVFO1lBRUQsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDM0Ms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O29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQzs0QkFDOUMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0Y7OEJBR29FLGNBQWM7c0JBQWhGLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBRXhELGNBQWM7c0JBQXRCLEtBQUs7Z0JBNEhxRCxZQUFZO3NCQUF0RSxZQUFZO3VCQUFDLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQztnQkEyQnJELGFBQWE7c0JBRFosWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGlzRGV2TW9kZSwgU2ltcGxlQ2hhbmdlLFxyXG4gIFRlbXBsYXRlUmVmXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWx9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIGRlc2lnbmVkIHRvIHRha2UgYW55IGlucHV0IGFzIG5nLWNvbnRlbnQgYW5kIHdyYXAgaXQgc3VjaCB0aGF0IGl0IHJlbmRlcnMgYXMgYSBzdHJpbmcuICBXaGVuIGhvdmVyaW5nXHJcbiAqIG92ZXIsIGEgYm9yZGVyIGFuZCBlZGl0IGljb24gaXMgc2hvd24uICBVcG9uIGNsaWNraW5nLCBpdCBlbnRlcnMgZWRpdCBtb2RlIGFuZCB0aGUgcGFzc2VkIGluIGlucHV0IGlzIHJlbmRlcmVkLiAgVGhlXHJcbiAqIGJvdW5kIG5nTW9kZWwgaXMgd3JhcHBlZCBpbiBhbiBpbnRlcm1lZGlhcnkuICBUaGlzIGNvbXBvbmVudCBiaW5kcyBhIHNlcGFyYXRlIGludGVybmFsIHZhbHVlIHRvIHRoZSB3cmFwcGVkIGNvbXBvbmVudC5cclxuICogVGhpcyBhbGxvd3MgdGhlIHVzZXIgdG8gY2FuY2VsIG91dCBhbmQgbm90IHVwZGF0ZSB0aGUgbmdNb2RlbCBib3VuZCB0byB0aGlzIGNvbXBvbmVudC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1pbmxpbmUtaW5wdXRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiAqbmdJZj1cIiFlZGl0TW9kZTsgZWxzZSBlZGl0VGVtcGxhdGVcIlxyXG4gICAgICAgICAoY2xpY2spPVwic2V0RWRpdE1vZGUoJGV2ZW50LCB0cnVlKVwiXHJcbiAgICAgICAgIGNsYXNzPVwiZWRpdC1mYWxzZSBwbC0xXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZW5kZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0UmVuZGVyVGVtcGxhdGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVuZGVyVGVtcGxhdGU7IGNvbnRleHQ6IHt2YWx1ZTogdmFsdWV9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRSZW5kZXJUZW1wbGF0ZT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidmFsdWVcIj5cclxuICAgICAgICAgIHt7dmFsdWV9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdmFsdWVcIj5cclxuICAgICAgICAgIHt7bm9WYWx1ZU1lc3NhZ2V9fVxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG1sLWF1dG9cIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wZW5jaWxcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlZGl0VGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlZGl0LXRydWVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tZ3JlZW5cIiAoY2xpY2spPVwic2F2ZSgpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrXCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1yZWQgZC1mbGV4XCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzIG1sLWF1dG8gbXItYXV0b1wiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElubGluZUNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5saW5lQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBAQ29udGVudENoaWxkKFwicmVuZGVyVGVtcGxhdGVcIiwge3JlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWV9KSByZW5kZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KCkgbm9WYWx1ZU1lc3NhZ2U6IHN0cmluZyA9IFwiQ2xpY2sgdG8gQWRkXCI7XHJcblxyXG4gIC8vIFZpZXcgc3RhdGVcclxuICBlZGl0TW9kZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyBWYWx1ZSB0aGF0IHVwZGF0ZXMgYmFzZWQgb24gdGhpcyBuZ01vZGVsLlxyXG4gIHZhbHVlOiBhbnk7XHJcblxyXG4gIC8vIFRoZSB2YWx1ZSB3ZSBiaW5kIHRvIHRoZSBwYXNzZWQgaW4gaW5wdXQgY29tcG9uZW50LlxyXG4gIG1vZGlmaWVkVmFsdWU6IGFueTtcclxuXHJcbiAgLy8gU3RvcmUgdGhlIG5nTW9kZWwgZGlyZWN0aXZlIG9uIHRoZSBwYXNzZWQgaW4gaW5wdXQgY29tcG9uZW50LlxyXG4gIG5nTW9kZWxSZWY6IE5nTW9kZWw7XHJcblxyXG4gIC8vIEZ1bmN0aW9ucyB0byByZWdpc3RlciBmcm9tIEFuZ3VsYXJcclxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XHJcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgd2hlbiB0aGUgbW9kZWwgdXBkYXRlcyBhbmQgd2UgbmVlZCB0byB1cCB0aGUgdmlldy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB2YWx1ZVxyXG4gICAqL1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IHdyaXRlVmFsdWVcIik7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IFwiICsgdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVwZGF0ZSB0aGUgaW50ZXJuYWwgdmFsdWVzLlxyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5tb2RpZmllZFZhbHVlID0gdGhpcy52YWx1ZTtcclxuXHJcbiAgICBpZiAodGhpcy5uZ01vZGVsUmVmICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhcIklubGluZUNvbXBvbmVudDogdXBkYXRlIG5nTW9kZWxSZWY6IFwiICsgdGhpcy5tb2RpZmllZFZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gVXBkYXRlIHRoZSBtb2RlbCwgdGhlbiB0ZWxsIHRoZSBkaXJlY3RpdmUgdGhhdCBpdCBoYXMgYmVlbiB1cGRhdGVkLlxyXG4gICAgICB0aGlzLm5nTW9kZWxSZWYubW9kZWwgPSB0aGlzLm1vZGlmaWVkVmFsdWU7XHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi5uZ09uQ2hhbmdlcyh7XHJcbiAgICAgICAgbW9kZWw6IG5ldyBTaW1wbGVDaGFuZ2UodW5kZWZpbmVkLCB0aGlzLm1vZGlmaWVkVmFsdWUsIGZhbHNlKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZ2lzdGVyIHRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzIGluIHRoZSB2YWx1ZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7KHZhbHVlOiBhbnkpID0+IHZvaWR9IGZuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiByZWdpc3Rlck9uQ2hhbmdlXCIpO1xyXG4gICAgICBjb25zb2xlLmRlYnVnKGZuKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiBvbkNoYW5nZSBGdW5jdGlvblwiICsgdGhpcy52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgZm4odGhpcy52YWx1ZSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgdGhlIGZ1bmN0aW9uIGNhbGxlZCB0byB1cGRhdGUgdGhlIG1vZGVsIG9uIGJsdXIuXHJcbiAgICpcclxuICAgKiBAcGFyYW0geygpID0+IHZvaWR9IGZuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiByZWdpc3Rlck9uVG91Y2hlZFwiKTtcclxuICAgICAgY29uc29sZS5kZWJ1Zyhmbik7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IHRoZSBlZGl0TW9kZS4gIElmIHRydWUgdGhlbiB0ZWxsIHRoZSBwYXNzZWQgaW4gaW5wdXQgdG8gYmluZCB0aGUgY3VycmVudCBtb2RpZmllZCB2YWx1ZS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZWRpdE1vZGVcclxuICAgKi9cclxuICBzZXRFZGl0TW9kZShldmVudDogTW91c2VFdmVudCwgZWRpdE1vZGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIHRoaXMuZWRpdE1vZGUgPSBlZGl0TW9kZTtcclxuICAgIGlmICh0aGlzLmVkaXRNb2RlKSB7XHJcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcblxyXG4gICAgICB0aGlzLm5nTW9kZWxSZWYubW9kZWwgPSB0aGlzLm1vZGlmaWVkVmFsdWU7XHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi5uZ09uQ2hhbmdlcyh7XHJcbiAgICAgICAgbW9kZWw6IG5ldyBTaW1wbGVDaGFuZ2UodW5kZWZpbmVkLCB0aGlzLm1vZGlmaWVkVmFsdWUsIGZhbHNlKVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbCBlZGl0IG1vZGUgd2hpY2ggcmVzZXRzIHRoZSBtb2RpZmllZCB2YWx1ZS5cclxuICAgKi9cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XHJcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSB2YWx1ZSB3aXRoIHRoZSBtb2RpZmllZCB2YWx1ZSBhbmQgY2FsbCB0aGUgb25DaGFuZ2UgZnVuY3Rpb24gc28gdHdvIHdheSBiaW5kaW5nIGlzIHVwZGF0ZWQgd2l0aCB0aGlzIGNvbXBvbmVudC5cclxuICAgKi9cclxuICBzYXZlKCk6IHZvaWQge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IHNhdmUgbW9kaWZpZWRWYWx1ZTogXCIgKyB0aGlzLm1vZGlmaWVkVmFsdWUgKyBcIiwgdmFsdWU6IFwiICsgdGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMubW9kaWZpZWRWYWx1ZTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmVkaXRNb2RlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUaGUgY29tcG9uZW50IHRvIHdyYXAgbXVzdCBiZSBuYW1lZCB3aXRoICNpbnB1dCBhbmQgaGF2ZSBhIG5nTW9kZWwgZGlyZWN0aXZlLiAgV2hlbiB0aGUgY29udGVudCBpcyBzZXQgaGVyZSwgd2VcclxuICAgKiByZWFkIHRoZSBuZ01vZGVsIGFuZCBzZXQgdGhlIG1vZGVsIGFzIHdlbGwgYXMgbGlzdGVuIHRvIGNoYW5nZXMuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge05nTW9kZWx9IG5nTW9kZWxcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKFwiaW5wdXRcIiwge3JlYWQ6IE5nTW9kZWwsIHN0YXRpYzogZmFsc2V9KSBzZXQgY29udGVudENoaWxkKG5nTW9kZWw6IE5nTW9kZWwpIHtcclxuICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiBzZXQgY29udGVudENoaWxkOiBcIiArIHRoaXMubW9kaWZpZWRWYWx1ZSk7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcobmdNb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5uZ01vZGVsUmVmID0gbmdNb2RlbDtcclxuICAgIGlmICh0aGlzLm5nTW9kZWxSZWYpIHtcclxuICAgICAgdGhpcy5uZ01vZGVsUmVmLm1vZGVsID0gdGhpcy5tb2RpZmllZFZhbHVlO1xyXG4gICAgICB0aGlzLm5nTW9kZWxSZWYubmdPbkNoYW5nZXMoe1xyXG4gICAgICAgIG1vZGVsOiBuZXcgU2ltcGxlQ2hhbmdlKHVuZGVmaW5lZCwgdGhpcy5tb2RpZmllZFZhbHVlLCBmYWxzZSlcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi51cGRhdGUuc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiBjbXB0IG1vZGVsIGNoYW5nZTogXCIgKyB2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kaWZpZWRWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIGNsaWNrIHRhcmdldCBpcyBvdXRzaWRlIHRoZSBpbmxpbmUgaW5wdXQgdGhlbiBjYW5jZWwgaXQuXHJcbiAgICpcclxuICAgKiBAcGFyYW0ge01vdXNlRXZlbnR9IGV2ZW50XHJcbiAgICovXHJcbiAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmNsaWNrXCIsIFtcIiRldmVudFwiXSlcclxuICBkb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lZGl0TW9kZSkge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiBkb2N1bWVudENsaWNrXCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgZTogRWxlbWVudCA9ICg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5jbG9zZXN0KFwiaGNpLWlubGluZS1pbnB1dFwiKTtcclxuICAgICAgaWYgKCFlKSB7XHJcbiAgICAgICAgdGhpcy5zYXZlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
228
+ `,
229
+ providers: [
230
+ {
231
+ provide: NG_VALUE_ACCESSOR,
232
+ useExisting: forwardRef(() => InlineComponent),
233
+ multi: true
234
+ }
235
+ ]
236
+ }]
237
+ }], propDecorators: { renderTemplate: [{
238
+ type: ContentChild,
239
+ args: ["renderTemplate", { read: TemplateRef, static: true }]
240
+ }], noValueMessage: [{
241
+ type: Input
242
+ }], contentChild: [{
243
+ type: ContentChild,
244
+ args: ["input", { read: NgModel, static: false }]
245
+ }], documentClick: [{
246
+ type: HostListener,
247
+ args: ["document:click", ["$event"]]
248
+ }] } });
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9pbmxpbmUvaW5saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUNqRixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxPQUFPLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBRWhGOzs7OztHQUtHO0FBK0NILE1BQU0sT0FBTyxlQUFlO0lBOUM1QjtRQWtEVyxtQkFBYyxHQUFXLGNBQWMsQ0FBQztRQUVqRCxhQUFhO1FBQ2IsYUFBUSxHQUFZLEtBQUssQ0FBQztLQWdLM0I7SUFqSkM7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7WUFDN0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDbEMsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBRUQsc0VBQXNFO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFH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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1Q7OzJGQVNVLGVBQWU7a0JBOUMzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQ1Q7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs4QkFHb0UsY0FBYztzQkFBaEYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQztnQkFFeEQsY0FBYztzQkFBdEIsS0FBSztnQkE0SHFELFlBQVk7c0JBQXRFLFlBQVk7dUJBQUMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDO2dCQTJCckQsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgaXNEZXZNb2RlLCBTaW1wbGVDaGFuZ2UsXHJcbiAgVGVtcGxhdGVSZWZcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdNb2RlbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgaXMgZGVzaWduZWQgdG8gdGFrZSBhbnkgaW5wdXQgYXMgbmctY29udGVudCBhbmQgd3JhcCBpdCBzdWNoIHRoYXQgaXQgcmVuZGVycyBhcyBhIHN0cmluZy4gIFdoZW4gaG92ZXJpbmdcclxuICogb3ZlciwgYSBib3JkZXIgYW5kIGVkaXQgaWNvbiBpcyBzaG93bi4gIFVwb24gY2xpY2tpbmcsIGl0IGVudGVycyBlZGl0IG1vZGUgYW5kIHRoZSBwYXNzZWQgaW4gaW5wdXQgaXMgcmVuZGVyZWQuICBUaGVcclxuICogYm91bmQgbmdNb2RlbCBpcyB3cmFwcGVkIGluIGFuIGludGVybWVkaWFyeS4gIFRoaXMgY29tcG9uZW50IGJpbmRzIGEgc2VwYXJhdGUgaW50ZXJuYWwgdmFsdWUgdG8gdGhlIHdyYXBwZWQgY29tcG9uZW50LlxyXG4gKiBUaGlzIGFsbG93cyB0aGUgdXNlciB0byBjYW5jZWwgb3V0IGFuZCBub3QgdXBkYXRlIHRoZSBuZ01vZGVsIGJvdW5kIHRvIHRoaXMgY29tcG9uZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiaGNpLWlubGluZS1pbnB1dFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWVkaXRNb2RlOyBlbHNlIGVkaXRUZW1wbGF0ZVwiXHJcbiAgICAgICAgIChjbGljayk9XCJzZXRFZGl0TW9kZSgkZXZlbnQsIHRydWUpXCJcclxuICAgICAgICAgY2xhc3M9XCJlZGl0LWZhbHNlIHBsLTFcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbmRlclRlbXBsYXRlOyBlbHNlIGRlZmF1bHRSZW5kZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZW5kZXJUZW1wbGF0ZTsgY29udGV4dDoge3ZhbHVlOiB2YWx1ZX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFJlbmRlclRlbXBsYXRlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAge3t2YWx1ZX19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF2YWx1ZVwiPlxyXG4gICAgICAgICAge3tub1ZhbHVlTWVzc2FnZX19XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWwtYXV0b1wiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBlbmNpbFwiPjwvaT5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2VkaXRUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImVkaXQtdHJ1ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1ncmVlblwiIChjbGljayk9XCJzYXZlKClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtY2hlY2tcIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXJlZCBkLWZsZXhcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtdGltZXMgbWwtYXV0byBtci1hdXRvXCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5saW5lQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmxpbmVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoXCJyZW5kZXJUZW1wbGF0ZVwiLCB7cmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZX0pIHJlbmRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKSBub1ZhbHVlTWVzc2FnZTogc3RyaW5nID0gXCJDbGljayB0byBBZGRcIjtcclxuXHJcbiAgLy8gVmlldyBzdGF0ZVxyXG4gIGVkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIFZhbHVlIHRoYXQgdXBkYXRlcyBiYXNlZCBvbiB0aGlzIG5nTW9kZWwuXHJcbiAgdmFsdWU6IGFueTtcclxuXHJcbiAgLy8gVGhlIHZhbHVlIHdlIGJpbmQgdG8gdGhlIHBhc3NlZCBpbiBpbnB1dCBjb21wb25lbnQuXHJcbiAgbW9kaWZpZWRWYWx1ZTogYW55O1xyXG5cclxuICAvLyBTdG9yZSB0aGUgbmdNb2RlbCBkaXJlY3RpdmUgb24gdGhlIHBhc3NlZCBpbiBpbnB1dCBjb21wb25lbnQuXHJcbiAgbmdNb2RlbFJlZjogTmdNb2RlbDtcclxuXHJcbiAgLy8gRnVuY3Rpb25zIHRvIHJlZ2lzdGVyIGZyb20gQW5ndWxhclxyXG4gIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZDtcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCB3aGVuIHRoZSBtb2RlbCB1cGRhdGVzIGFuZCB3ZSBuZWVkIHRvIHVwIHRoZSB2aWV3LlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHZhbHVlXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIklubGluZUNvbXBvbmVudDogd3JpdGVWYWx1ZVwiKTtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIklubGluZUNvbXBvbmVudDogXCIgKyB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVXBkYXRlIHRoZSBpbnRlcm5hbCB2YWx1ZXMuXHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLm1vZGlmaWVkVmFsdWUgPSB0aGlzLnZhbHVlO1xyXG5cclxuICAgIGlmICh0aGlzLm5nTW9kZWxSZWYgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiSW5saW5lQ29tcG9uZW50OiB1cGRhdGUgbmdNb2RlbFJlZjogXCIgKyB0aGlzLm1vZGlmaWVkVmFsdWUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBVcGRhdGUgdGhlIG1vZGVsLCB0aGVuIHRlbGwgdGhlIGRpcmVjdGl2ZSB0aGF0IGl0IGhhcyBiZWVuIHVwZGF0ZWQuXHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi5tb2RlbCA9IHRoaXMubW9kaWZpZWRWYWx1ZTtcclxuICAgICAgdGhpcy5uZ01vZGVsUmVmLm5nT25DaGFuZ2VzKHtcclxuICAgICAgICBtb2RlbDogbmV3IFNpbXBsZUNoYW5nZSh1bmRlZmluZWQsIHRoaXMubW9kaWZpZWRWYWx1ZSwgZmFsc2UpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVnaXN0ZXIgdGhlIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMgaW4gdGhlIHZhbHVlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHsodmFsdWU6IGFueSkgPT4gdm9pZH0gZm5cclxuICAgKi9cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IHJlZ2lzdGVyT25DaGFuZ2VcIik7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoZm4pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25DaGFuZ2UgPSAoKSA9PiB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IG9uQ2hhbmdlIEZ1bmN0aW9uXCIgKyB0aGlzLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICBmbih0aGlzLnZhbHVlKTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWdpc3RlciB0aGUgZnVuY3Rpb24gY2FsbGVkIHRvIHVwZGF0ZSB0aGUgbW9kZWwgb24gYmx1ci5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gZm5cclxuICAgKi9cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IHJlZ2lzdGVyT25Ub3VjaGVkXCIpO1xyXG4gICAgICBjb25zb2xlLmRlYnVnKGZuKTtcclxuICAgIH1cclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXQgdGhlIGVkaXRNb2RlLiAgSWYgdHJ1ZSB0aGVuIHRlbGwgdGhlIHBhc3NlZCBpbiBpbnB1dCB0byBiaW5kIHRoZSBjdXJyZW50IG1vZGlmaWVkIHZhbHVlLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBlZGl0TW9kZVxyXG4gICAqL1xyXG4gIHNldEVkaXRNb2RlKGV2ZW50OiBNb3VzZUV2ZW50LCBlZGl0TW9kZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgdGhpcy5lZGl0TW9kZSA9IGVkaXRNb2RlO1xyXG4gICAgaWYgKHRoaXMuZWRpdE1vZGUpIHtcclxuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuXHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi5tb2RlbCA9IHRoaXMubW9kaWZpZWRWYWx1ZTtcclxuICAgICAgdGhpcy5uZ01vZGVsUmVmLm5nT25DaGFuZ2VzKHtcclxuICAgICAgICBtb2RlbDogbmV3IFNpbXBsZUNoYW5nZSh1bmRlZmluZWQsIHRoaXMubW9kaWZpZWRWYWx1ZSwgZmFsc2UpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuY2VsIGVkaXQgbW9kZSB3aGljaCByZXNldHMgdGhlIG1vZGlmaWVkIHZhbHVlLlxyXG4gICAqL1xyXG4gIGNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSBmYWxzZTtcclxuICAgIHRoaXMubW9kaWZpZWRWYWx1ZSA9IHRoaXMudmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgdGhlIHZhbHVlIHdpdGggdGhlIG1vZGlmaWVkIHZhbHVlIGFuZCBjYWxsIHRoZSBvbkNoYW5nZSBmdW5jdGlvbiBzbyB0d28gd2F5IGJpbmRpbmcgaXMgdXBkYXRlZCB3aXRoIHRoaXMgY29tcG9uZW50LlxyXG4gICAqL1xyXG4gIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhcIklubGluZUNvbXBvbmVudDogc2F2ZSBtb2RpZmllZFZhbHVlOiBcIiArIHRoaXMubW9kaWZpZWRWYWx1ZSArIFwiLCB2YWx1ZTogXCIgKyB0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5tb2RpZmllZFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuZWRpdE1vZGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBjb21wb25lbnQgdG8gd3JhcCBtdXN0IGJlIG5hbWVkIHdpdGggI2lucHV0IGFuZCBoYXZlIGEgbmdNb2RlbCBkaXJlY3RpdmUuICBXaGVuIHRoZSBjb250ZW50IGlzIHNldCBoZXJlLCB3ZVxyXG4gICAqIHJlYWQgdGhlIG5nTW9kZWwgYW5kIHNldCB0aGUgbW9kZWwgYXMgd2VsbCBhcyBsaXN0ZW4gdG8gY2hhbmdlcy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7TmdNb2RlbH0gbmdNb2RlbFxyXG4gICAqL1xyXG4gIEBDb250ZW50Q2hpbGQoXCJpbnB1dFwiLCB7cmVhZDogTmdNb2RlbCwgc3RhdGljOiBmYWxzZX0pIHNldCBjb250ZW50Q2hpbGQobmdNb2RlbDogTmdNb2RlbCkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IHNldCBjb250ZW50Q2hpbGQ6IFwiICsgdGhpcy5tb2RpZmllZFZhbHVlKTtcclxuICAgICAgY29uc29sZS5kZWJ1ZyhuZ01vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm5nTW9kZWxSZWYgPSBuZ01vZGVsO1xyXG4gICAgaWYgKHRoaXMubmdNb2RlbFJlZikge1xyXG4gICAgICB0aGlzLm5nTW9kZWxSZWYubW9kZWwgPSB0aGlzLm1vZGlmaWVkVmFsdWU7XHJcbiAgICAgIHRoaXMubmdNb2RlbFJlZi5uZ09uQ2hhbmdlcyh7XHJcbiAgICAgICAgbW9kZWw6IG5ldyBTaW1wbGVDaGFuZ2UodW5kZWZpbmVkLCB0aGlzLm1vZGlmaWVkVmFsdWUsIGZhbHNlKVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5uZ01vZGVsUmVmLnVwZGF0ZS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IGNtcHQgbW9kZWwgY2hhbmdlOiBcIiArIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5tb2RpZmllZFZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgY2xpY2sgdGFyZ2V0IGlzIG91dHNpZGUgdGhlIGlubGluZSBpbnB1dCB0aGVuIGNhbmNlbCBpdC5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7TW91c2VFdmVudH0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIGRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVkaXRNb2RlKSB7XHJcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkge1xyXG4gICAgICAgIGNvbnNvbGUuZGVidWcoXCJJbmxpbmVDb21wb25lbnQ6IGRvY3VtZW50Q2xpY2tcIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBlOiBFbGVtZW50ID0gKDxIVE1MRWxlbWVudD5ldmVudC50YXJnZXQpLmNsb3Nlc3QoXCJoY2ktaW5saW5lLWlucHV0XCIpO1xyXG4gICAgICBpZiAoIWUpIHtcclxuICAgICAgICB0aGlzLnNhdmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,28 +1,28 @@
1
- import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
3
- import { FormsModule } from "@angular/forms";
4
- import { InlineComponent } from "./inline.component";
5
- import * as i0 from "@angular/core";
6
- export class InlineModule {
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: InlineModule, declarations: [InlineComponent], imports: [CommonModule,
9
- FormsModule], exports: [InlineComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InlineModule, imports: [CommonModule,
11
- FormsModule] }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: InlineModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [
17
- CommonModule,
18
- FormsModule
19
- ],
20
- declarations: [
21
- InlineComponent
22
- ],
23
- exports: [
24
- InlineComponent
25
- ]
26
- }]
27
- }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9pbmxpbmUvaW5saW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sWUFBWTsrR0FBWixZQUFZO2dIQUFaLFlBQVksaUJBTnJCLGVBQWUsYUFKZixZQUFZO1lBQ1osV0FBVyxhQU1YLGVBQWU7Z0hBR04sWUFBWSxZQVZyQixZQUFZO1lBQ1osV0FBVzs7NEZBU0YsWUFBWTtrQkFaeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7SW5saW5lQ29tcG9uZW50fSBmcm9tIFwiLi9pbmxpbmUuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIElubGluZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW5saW5lQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5saW5lTW9kdWxlIHt9XHJcbiJdfQ==
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { FormsModule } from "@angular/forms";
4
+ import { InlineComponent } from "./inline.component";
5
+ import * as i0 from "@angular/core";
6
+ export class InlineModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: InlineModule, declarations: [InlineComponent], imports: [CommonModule,
9
+ FormsModule], exports: [InlineComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InlineModule, imports: [CommonModule,
11
+ FormsModule] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: InlineModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [
17
+ CommonModule,
18
+ FormsModule
19
+ ],
20
+ declarations: [
21
+ InlineComponent
22
+ ],
23
+ exports: [
24
+ InlineComponent
25
+ ]
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0L3NyYy9pbmxpbmUvaW5saW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQWNuRCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBTnJCLGVBQWUsYUFKZixZQUFZO1lBQ1osV0FBVyxhQU1YLGVBQWU7K0dBR04sWUFBWSxZQVZyQixZQUFZO1lBQ1osV0FBVzs7MkZBU0YsWUFBWTtrQkFaeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBRTt3QkFDWixlQUFlO3FCQUNoQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbmltcG9ydCB7SW5saW5lQ29tcG9uZW50fSBmcm9tIFwiLi9pbmxpbmUuY29tcG9uZW50XCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIElubGluZUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSW5saW5lQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5saW5lTW9kdWxlIHt9XHJcbiJdfQ==