mis-crystal-design-system 2.1.3 → 2.2.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 (78) hide show
  1. package/async-search-dropdown/async-dropdown.component.d.ts +60 -0
  2. package/async-search-dropdown/async-dropdown.module.d.ts +2 -0
  3. package/async-search-dropdown/index.d.ts +1 -0
  4. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.d.ts +4 -0
  5. package/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.metadata.json +1 -0
  6. package/async-search-dropdown/package.json +11 -0
  7. package/async-search-dropdown/public_api.d.ts +2 -0
  8. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js +211 -0
  9. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.js.map +1 -0
  10. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js +2 -0
  11. package/bundles/mis-crystal-design-system-async-search-dropdown.umd.min.js.map +1 -0
  12. package/bundles/mis-crystal-design-system-button.umd.js +60 -2
  13. package/bundles/mis-crystal-design-system-button.umd.js.map +1 -1
  14. package/bundles/mis-crystal-design-system-button.umd.min.js +1 -1
  15. package/bundles/mis-crystal-design-system-button.umd.min.js.map +1 -1
  16. package/bundles/mis-crystal-design-system-input.umd.js +111 -0
  17. package/bundles/mis-crystal-design-system-input.umd.js.map +1 -0
  18. package/bundles/mis-crystal-design-system-input.umd.min.js +2 -0
  19. package/bundles/mis-crystal-design-system-input.umd.min.js.map +1 -0
  20. package/bundles/mis-crystal-design-system-modal.umd.js +165 -0
  21. package/bundles/mis-crystal-design-system-modal.umd.js.map +1 -0
  22. package/bundles/mis-crystal-design-system-modal.umd.min.js +2 -0
  23. package/bundles/mis-crystal-design-system-modal.umd.min.js.map +1 -0
  24. package/button/button.directive.d.ts +12 -0
  25. package/button/mis-crystal-design-system-button.d.ts +1 -0
  26. package/button/mis-crystal-design-system-button.metadata.json +1 -1
  27. package/esm2015/async-search-dropdown/async-dropdown.component.js +176 -0
  28. package/esm2015/async-search-dropdown/async-dropdown.module.js +15 -0
  29. package/esm2015/async-search-dropdown/index.js +2 -0
  30. package/esm2015/async-search-dropdown/mis-crystal-design-system-async-search-dropdown.js +5 -0
  31. package/esm2015/async-search-dropdown/public_api.js +3 -0
  32. package/esm2015/button/button.directive.js +57 -0
  33. package/esm2015/button/button.module.js +4 -3
  34. package/esm2015/button/mis-crystal-design-system-button.js +2 -1
  35. package/esm2015/input/directives/input/input.directive.js +38 -0
  36. package/esm2015/input/index.js +2 -0
  37. package/esm2015/input/mis-crystal-design-system-input.js +5 -0
  38. package/esm2015/input/mis-input.component.js +40 -0
  39. package/esm2015/input/mis-input.module.js +15 -0
  40. package/esm2015/input/public_api.js +4 -0
  41. package/esm2015/modal/index.js +2 -0
  42. package/esm2015/modal/mis-crystal-design-system-modal.js +6 -0
  43. package/esm2015/modal/modal-constants.js +4 -0
  44. package/esm2015/modal/modal-ref.js +16 -0
  45. package/esm2015/modal/modal.module.js +32 -0
  46. package/esm2015/modal/modal.service.js +72 -0
  47. package/esm2015/modal/module-wrapper/module-wrapper.component.js +33 -0
  48. package/esm2015/modal/public_api.js +5 -0
  49. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js +194 -0
  50. package/fesm2015/mis-crystal-design-system-async-search-dropdown.js.map +1 -0
  51. package/fesm2015/mis-crystal-design-system-button.js +60 -4
  52. package/fesm2015/mis-crystal-design-system-button.js.map +1 -1
  53. package/fesm2015/mis-crystal-design-system-input.js +94 -0
  54. package/fesm2015/mis-crystal-design-system-input.js.map +1 -0
  55. package/fesm2015/mis-crystal-design-system-modal.js +151 -0
  56. package/fesm2015/mis-crystal-design-system-modal.js.map +1 -0
  57. package/input/directives/input/input.directive.d.ts +15 -0
  58. package/input/index.d.ts +1 -0
  59. package/input/mis-crystal-design-system-input.d.ts +4 -0
  60. package/input/mis-crystal-design-system-input.metadata.json +1 -0
  61. package/input/mis-input.component.d.ts +15 -0
  62. package/input/mis-input.module.d.ts +2 -0
  63. package/input/package.json +11 -0
  64. package/input/public_api.d.ts +3 -0
  65. package/modal/index.d.ts +1 -0
  66. package/modal/mis-crystal-design-system-modal.d.ts +5 -0
  67. package/modal/mis-crystal-design-system-modal.metadata.json +1 -0
  68. package/modal/modal-constants.d.ts +3 -0
  69. package/modal/modal-ref.d.ts +9 -0
  70. package/modal/modal.module.d.ts +5 -0
  71. package/modal/modal.service.d.ts +22 -0
  72. package/modal/module-wrapper/module-wrapper.component.d.ts +9 -0
  73. package/modal/package.json +11 -0
  74. package/modal/public_api.d.ts +4 -0
  75. package/package.json +1 -1
  76. package/projects/mis-components/button/button.directive.scss +69 -0
  77. package/{drawer → projects/mis-components/drawer}/drawer.scss +0 -0
  78. package/projects/mis-components/modal/modal.scss +9 -0
@@ -0,0 +1,176 @@
1
+ import { ConnectionPositionPair, Overlay, OverlayConfig, } from '@angular/cdk/overlay';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { Component, ContentChild, EventEmitter, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
4
+ import { FormControl } from '@angular/forms';
5
+ import { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';
6
+ export class AsyncDropdownComponent {
7
+ constructor(overlay, viewContainerRef) {
8
+ this.overlay = overlay;
9
+ this.viewContainerRef = viewContainerRef;
10
+ this.placeholder = 'Select'; // placeholder for input
11
+ this.debounceTime = 400; // wait time till which API call is paused
12
+ this.minInputLength = 2; // min length after which API call is made
13
+ this.multi = false; // maintain a list or emit value
14
+ // tslint:disable-next-line
15
+ this.onSelect = new EventEmitter(true); // emit selected values
16
+ this.searchInput = new FormControl();
17
+ this.data = [];
18
+ this.opened = false;
19
+ // tslint:disable-next-line
20
+ this.selections = new Map();
21
+ this.handleControlChanges = (values) => {
22
+ values.forEach((el) => {
23
+ this.selectData(el, true);
24
+ });
25
+ // tslint:disable-next-line
26
+ };
27
+ }
28
+ ngOnInit() {
29
+ var _a, _b;
30
+ if (this.multi && !this.uniqueKey) {
31
+ throw new Error('[uniqueKey] required in multi mode.');
32
+ }
33
+ if (this.disabled) {
34
+ this.searchInput.disable();
35
+ }
36
+ this.searchSubscription = this.searchInput.valueChanges
37
+ .pipe(filter((val) => val && val.length >= this.minInputLength), debounceTime(this.debounceTime), distinctUntilChanged())
38
+ .subscribe((res) => {
39
+ this.httpStream(res).subscribe((list) => {
40
+ var _a;
41
+ this.data = list;
42
+ if (!((_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.hasAttached()) && list.length > 0) {
43
+ this.openDropdown(this.dd, this.origin.nativeElement);
44
+ }
45
+ });
46
+ });
47
+ if ((_a = this.control) === null || _a === void 0 ? void 0 : _a.value) {
48
+ this.handleControlChanges(this.control.value);
49
+ }
50
+ this.controlSubscription = (_b = this.control) === null || _b === void 0 ? void 0 : _b.valueChanges.subscribe(this.handleControlChanges);
51
+ }
52
+ ngOnChanges(changes) {
53
+ if (changes && changes.disabled) {
54
+ this.searchInput.enable();
55
+ if (this.disabled) {
56
+ this.searchInput.disable();
57
+ }
58
+ }
59
+ }
60
+ ngOnDestroy() {
61
+ var _a;
62
+ (_a = this.searchSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
63
+ }
64
+ openDropdown(template, origin) {
65
+ const positionStrategy = this.overlay
66
+ .position()
67
+ .flexibleConnectedTo(origin)
68
+ .withPositions([
69
+ new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }),
70
+ new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }),
71
+ ])
72
+ .withPush(true);
73
+ const configs = new OverlayConfig({
74
+ hasBackdrop: true,
75
+ backdropClass: 'cdk-overlay-transparent-backdrop',
76
+ scrollStrategy: this.overlay.scrollStrategies.reposition(),
77
+ positionStrategy,
78
+ width: origin.clientWidth,
79
+ });
80
+ this.overlayRef = this.overlay.create(configs);
81
+ this.overlayRef.attach(new TemplatePortal(template, this.viewContainerRef));
82
+ this.overlayRef.backdropClick().subscribe((res) => {
83
+ this.closeDropdown();
84
+ });
85
+ }
86
+ /**
87
+ * closes the dropdown
88
+ */
89
+ closeDropdown() {
90
+ var _a;
91
+ this.opened = false;
92
+ (_a = this.overlayRef) === null || _a === void 0 ? void 0 : _a.detach();
93
+ this.data = [];
94
+ }
95
+ /**
96
+ *
97
+ * @param item item to select
98
+ * if item property disabled is set to true, selection will be disabled
99
+ * @param effectedFromOutside set to true if calling from parent component, if true will focus on search input
100
+ */
101
+ selectData(item, effectedFromOutside = true) {
102
+ if (item.disabled) {
103
+ return;
104
+ }
105
+ if (!this.multi) {
106
+ this.searchInput.patchValue(item[this.displayKey], { emitEvent: false });
107
+ this.setControlValue(item);
108
+ }
109
+ else {
110
+ if (!this.selections.has(item[this.uniqueKey])) {
111
+ this.selections.set(item[this.uniqueKey], item);
112
+ }
113
+ this.setControlValue(this.selectedItems);
114
+ if (!effectedFromOutside) {
115
+ setTimeout(() => {
116
+ this.input.nativeElement.focus();
117
+ this.input.nativeElement.scrollIntoView();
118
+ }, 10);
119
+ }
120
+ this.searchInput.patchValue('');
121
+ this.data = [];
122
+ }
123
+ this.closeDropdown();
124
+ }
125
+ /**
126
+ *
127
+ * @param item remove item from selected list
128
+ */
129
+ removeItem(item) {
130
+ this.selections.delete(item[this.uniqueKey]);
131
+ this.setControlValue(this.selectedItems);
132
+ // tslint:disable-next-line
133
+ this.input['nativeElement'].focus();
134
+ }
135
+ setControlValue(value) {
136
+ var _a;
137
+ this.onSelect.emit(value);
138
+ (_a = this.control) === null || _a === void 0 ? void 0 : _a.patchValue(value, { emitEvent: false });
139
+ }
140
+ /**
141
+ * @returns list of selected items
142
+ */
143
+ get selectedItems() {
144
+ return Array.from(this.selections.values());
145
+ }
146
+ }
147
+ AsyncDropdownComponent.decorators = [
148
+ { type: Component, args: [{
149
+ selector: 'mis-async-search-dropdown',
150
+ template: "<div\n class=\"dd-wrapper\"\n [ngClass]=\"{ opened: opened, disabled: disabled, readonly: readonly }\"\n #ddBtn\n>\n <div class=\"selected-list\" *ngIf=\"multi && selections.size > 0\">\n <span *ngFor=\"let item of selectedItems\" (click)=\"removeItem(item)\">{{item[displayKey]}} <span class=\"ic-navigation-cancel-24\"></span> </span>\n </div>\n <div class=\"search-input\">\n <span class=\"ic-action-search-24\"></span>\n <input\n tabindex=\"0\"\n type=\"text\"\n class=\"black-text\"\n #input\n [placeholder]=\"placeholder\"\n [formControl]=\"searchInput\"\n />\n </div>\n</div>\n\n<ng-template #dd>\n <div class=\"dd-list\" *ngIf=\"data.length\">\n <ng-container *ngFor=\"let item of data\">\n <div (click)=\"selectData(item, false)\">\n <ng-container *ngIf=\"customItem; else standardItem\" [ngTemplateOutlet]=\"customItem\" [ngTemplateOutletContext]=\"{$implicit:item}\"></ng-container>\n <ng-template #standardItem>\n <div class=\"item\">\n <div class=\"value\">\n <div class=\"primary\">\n {{ item[displayKey] }}\n </div>\n <div class=\"secondary\">\n {{item[secondaryDisplayKey]}}\n </div>\n </div>\n </div>\n </ng-template>\n </div>\n </ng-container>\n </div>\n</ng-template>\n",
151
+ styles: [".dd-wrapper{background:#fff;border:1px solid #e0e0e0;box-sizing:border-box;border-radius:4px;display:block;cursor:pointer;outline:none}.dd-wrapper.opened,.dd-wrapper:hover{background:#f5f5f5}.dd-wrapper .selected-list{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:4px;padding:8px 16px}.dd-wrapper .selected-list>span{display:inline-block;background:#e0e0e0;border-radius:16px;padding:6px 12px;cursor:pointer;vertical-align:middle}.dd-wrapper:focus-within{border-color:#0937b2;background:#f5f5f5}.dd-wrapper.disabled,.dd-wrapper.readonly{pointer-events:none}.search-input{position:relative;border-radius:8px}.search-input input{outline:none;padding:10px 12px 10px 48px;background-color:transparent;font-size:15px;line-height:20px;color:#181f33;border-radius:inherit;border:1px solid transparent;width:100%}.search-input span{position:absolute;top:50%;transform:translateY(-50%);font-size:24px;width:24;line-height:24px;height:24px;left:10px}.dd-list{padding:8px 0;max-height:200px;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.12);border-radius:8px;min-width:100%;overflow-y:auto}.dd-list::-webkit-scrollbar{width:8px;border-radius:4px}.dd-list::-webkit-scrollbar-track{background:#fff;border-radius:4px}.dd-list::-webkit-scrollbar-thumb{background:#929dab;border-radius:4px}.dd-list::-webkit-scrollbar-thumb:hover{background:#929dab}.dd-list .item{padding:8px 16px;cursor:pointer}.dd-list .item .disabled{color:#6a737d!important;pointer-events:none}.dd-list .item .value{display:flex;justify-content:space-between;align-items:center}.dd-list .item .value .primary,.dd-list .item .value .secondary{font-style:normal;font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#181f33}.dd-list .item .reason{font-weight:400;font-size:14px;line-height:20px;letter-spacing:.2px;color:#6a737d}.dd-list .item:hover:not(.disabled){background:#f5f7fc}"]
152
+ },] }
153
+ ];
154
+ AsyncDropdownComponent.ctorParameters = () => [
155
+ { type: Overlay },
156
+ { type: ViewContainerRef }
157
+ ];
158
+ AsyncDropdownComponent.propDecorators = {
159
+ httpStream: [{ type: Input }],
160
+ displayKey: [{ type: Input }],
161
+ secondaryDisplayKey: [{ type: Input }],
162
+ placeholder: [{ type: Input }],
163
+ debounceTime: [{ type: Input }],
164
+ minInputLength: [{ type: Input }],
165
+ multi: [{ type: Input }],
166
+ uniqueKey: [{ type: Input }],
167
+ control: [{ type: Input }],
168
+ disabled: [{ type: Input }],
169
+ readonly: [{ type: Input }],
170
+ origin: [{ type: ViewChild, args: ['ddBtn', { static: false },] }],
171
+ input: [{ type: ViewChild, args: ['input', { static: false },] }],
172
+ dd: [{ type: ViewChild, args: ['dd', { static: false },] }],
173
+ customItem: [{ type: ContentChild, args: ['misCustomItem', { static: false },] }],
174
+ onSelect: [{ type: Output }]
175
+ };
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLE9BQU8sRUFDUCxhQUFhLEdBRWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEVBR04sU0FBUyxFQUNULGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFVNUUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUNVLE9BQWdCLEVBQ2hCLGdCQUFrQztRQURsQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFNbkMsZ0JBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyx3QkFBd0I7UUFDaEQsaUJBQVksR0FBRyxHQUFHLENBQUMsQ0FBQywwQ0FBMEM7UUFDOUQsbUJBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQywwQ0FBMEM7UUFDOUQsVUFBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLGdDQUFnQztRQVV4RCwyQkFBMkI7UUFDakIsYUFBUSxHQUEwQyxJQUFJLFlBQVksQ0FDMUUsSUFBSSxDQUNMLENBQUMsQ0FBQyx1QkFBdUI7UUFDMUIsZ0JBQVcsR0FBZ0IsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUM3QyxTQUFJLEdB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QUN6QywyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWdCOztRQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixNQUFBLElBQUksQ0FBQyxPQUFPLDBDQUFFLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUU7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxhQUFhO1FBQ2YsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUF0TEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLHcyQ0FBOEM7O2FBRS9DOzs7WUEvQkMsT0FBTztZQWtCUCxnQkFBZ0I7Ozt5QkFvQmYsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzZCQUNMLEtBQUs7b0JBQ0wsS0FBSzt3QkFDTCxLQUFLO3NCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3FCQUNMLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQUNwQyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtpQkFDcEMsU0FBUyxTQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBQ2pDLFlBQVksU0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3VCQUcvQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGlvblBvc2l0aW9uUGFpcixcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbnR5cGUgSUxpc3REYXRhID0gYW55O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaXMtYXN5bmMtc2VhcmNoLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FzeW5jLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXN5bmMtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQXN5bmNEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge31cblxuICBASW5wdXQoKSBodHRwU3RyZWFtITogKHNlYXJjaEtleTogc3RyaW5nKSA9PiBPYnNlcnZhYmxlPElMaXN0RGF0YT47IC8vIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBodHRwb2JzZXJ2YWJsZVxuICBASW5wdXQoKSBkaXNwbGF5S2V5ITogc3RyaW5nOyAvLyBzdHJpbmcgdG8gc2hvdyB2YWx1ZSBpbiBsaXN0XG4gIEBJbnB1dCgpIHNlY29uZGFyeURpc3BsYXlLZXkhOiBzdHJpbmc7IC8vIHN0cmluZyB0byBkaXNwbGF5IHNlY29uZGFyeSB2YWx1ZVxuICBASW5wdXQoKSBwbGFjZWhvbGRlciA9ICdTZWxlY3QnOyAvLyBwbGFjZWhvbGRlciBmb3IgaW5wdXRcbiAgQElucHV0KCkgZGVib3VuY2VUaW1lID0gNDAwOyAvLyB3YWl0IHRpbWUgdGlsbCB3aGljaCBBUEkgY2FsbCBpcyBwYXVzZWRcbiAgQElucHV0KCkgbWluSW5wdXRMZW5ndGggPSAyOyAvLyBtaW4gbGVuZ3RoIGFmdGVyIHdoaWNoIEFQSSBjYWxsIGlzIG1hZGVcbiAgQElucHV0KCkgbXVsdGkgPSBmYWxzZTsgLy8gbWFpbnRhaW4gYSBsaXN0IG9yIGVtaXQgdmFsdWVcbiAgQElucHV0KCkgdW5pcXVlS2V5OiBzdHJpbmc7IC8vIGZvciBpZGVudGlmeWluZyB1bmlxdWUgdmFsdWVzXG4gIEBJbnB1dCgpIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGw7IC8vIGZvcm0gY29udHJvbCBmb3IgcmVhY3RpdmUgZm9ybXNcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47IC8vIGRpc2FibGUgYWN0aW9ucyBvbiBjb21wb25lbnRcbiAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47IC8vIG1ha2UgY29tcG9uZW50IHJlYWRvbmx5XG4gIEBWaWV3Q2hpbGQoJ2RkQnRuJywgeyBzdGF0aWM6IGZhbHNlIH0pIG9yaWdpbjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2RkJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRkOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgQENvbnRlbnRDaGlsZCgnbWlzQ3VzdG9tSXRlbScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBjdXN0b21JdGVtOiBUZW1wbGF0ZVJlZjxFbGVtZW50PjtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPElMaXN0RGF0YSB8IElMaXN0RGF0YVtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdHJ1ZVxuICApOyAvLyBlbWl0IHNlbGVjdGVkIHZhbHVlc1xuICBzZWFyY2hJbnB1dDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgZGF0YTogSUxpc3REYXRhW10gPSBbXTtcbiAgb3BlbmVkID0gZmFsc2U7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3Rpb25zOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIHNlYXJjaFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG4gIGNvbnRyb2xTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tdWx0aSAmJiAhdGhpcy51bmlxdWVLZXkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignW3VuaXF1ZUtleV0gcmVxdWlyZWQgaW4gbXVsdGkgbW9kZS4nKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQuZGlzYWJsZSgpO1xuICAgIH1cbiAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbiA9IHRoaXMuc2VhcmNoSW5wdXQudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCh2YWwpID0+IHZhbCAmJiB2YWwubGVuZ3RoID49IHRoaXMubWluSW5wdXRMZW5ndGgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5odHRwU3RyZWFtKHJlcykuc3Vic2NyaWJlKChsaXN0KSA9PiB7XG4gICAgICAgICAgdGhpcy5kYXRhID0gbGlzdDtcbiAgICAgICAgICBpZiAoIXRoaXMub3ZlcmxheVJlZj8uaGFzQXR0YWNoZWQoKSAmJiBsaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkRyb3Bkb3duKHRoaXMuZGQsIHRoaXMub3JpZ2luLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICBpZiAodGhpcy5jb250cm9sPy52YWx1ZSkge1xuICAgICAgdGhpcy5oYW5kbGVDb250cm9sQ2hhbmdlcyh0aGlzLmNvbnRyb2wudmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNvbnRyb2xTdWJzY3JpcHRpb24gPSB0aGlzLmNvbnRyb2w/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoXG4gICAgICB0aGlzLmhhbmRsZUNvbnRyb2xDaGFuZ2VzXG4gICAgKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNlYXJjaElucHV0LmVuYWJsZSgpO1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dC5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNvbnRyb2xDaGFuZ2VzID0gKHZhbHVlczogSUxpc3REYXRhW10pID0+IHtcbiAgICB2YWx1ZXMuZm9yRWFjaCgoZWwpID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0RGF0YShlbCwgdHJ1ZSk7XG4gICAgfSk7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIH07XG5cbiAgcHJpdmF0ZSBvcGVuRHJvcGRvd24oXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnQ+LFxuICAgIG9yaWdpbjogSFRNTEVsZW1lbnRcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKG9yaWdpbilcbiAgICAgIC53aXRoUG9zaXRpb25zKFtcbiAgICAgICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJyB9LFxuICAgICAgICAgIHsgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9XG4gICAgICAgICksXG4gICAgICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcgfSxcbiAgICAgICAgICB7IG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfVxuICAgICAgICApLFxuICAgICAgXSlcbiAgICAgIC53aXRoUHVzaCh0cnVlKTtcblxuICAgIGNvbnN0IGNvbmZpZ3MgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHdpZHRoOiBvcmlnaW4uY2xpZW50V2lkdGgsXG4gICAgfSk7XG4gICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWdzKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogY2xvc2VzIHRoZSBkcm9wZG93blxuICAgKi9cbiAgY2xvc2VEcm9wZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gICAgdGhpcy5kYXRhID0gW107XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gaXRlbSB0byBzZWxlY3RcbiAgICogaWYgaXRlbSBwcm9wZXJ0eSBkaXNhYmxlZCBpcyBzZXQgdG8gdHJ1ZSwgc2VsZWN0aW9uIHdpbGwgYmUgZGlzYWJsZWRcbiAgICogQHBhcmFtIGVmZmVjdGVkRnJvbU91dHNpZGUgc2V0IHRvIHRydWUgaWYgY2FsbGluZyBmcm9tIHBhcmVudCBjb21wb25lbnQsIGlmIHRydWUgd2lsbCBmb2N1cyBvbiBzZWFyY2ggaW5wdXRcbiAgICovXG4gIHNlbGVjdERhdGEoaXRlbTogSUxpc3REYXRhLCBlZmZlY3RlZEZyb21PdXRzaWRlID0gdHJ1ZSk6IHZvaWQge1xuICAgIGlmIChpdGVtLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghdGhpcy5tdWx0aSkge1xuICAgICAgdGhpcy5zZWFyY2hJbnB1dC5wYXRjaFZhbHVlKGl0ZW1bdGhpcy5kaXNwbGF5S2V5XSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3Rpb25zLmhhcyhpdGVtW3RoaXMudW5pcXVlS2V5XSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25zLnNldChpdGVtW3RoaXMudW5pcXVlS2V5XSwgaXRlbSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldENvbnRyb2xWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgICAgaWYgKCFlZmZlY3RlZEZyb21PdXRzaWRlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICB9LCAxMCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNlYXJjaElucHV0LnBhdGNoVmFsdWUoJycpO1xuICAgICAgdGhpcy5kYXRhID0gW107XG4gICAgfVxuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIHJlbW92ZSBpdGVtIGZyb20gc2VsZWN0ZWQgbGlzdFxuICAgKi9cbiAgcmVtb3ZlSXRlbShpdGVtOiBJTGlzdERhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGlvbnMuZGVsZXRlKGl0ZW1bdGhpcy51bmlxdWVLZXldKTtcbiAgICB0aGlzLnNldENvbnRyb2xWYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbXMpO1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgIHRoaXMuaW5wdXRbJ25hdGl2ZUVsZW1lbnQnXS5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250cm9sVmFsdWUodmFsdWU6IElMaXN0RGF0YSk6IHZvaWQge1xuICAgIHRoaXMub25TZWxlY3QuZW1pdCh2YWx1ZSk7XG4gICAgdGhpcy5jb250cm9sPy5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgbGlzdCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKi9cbiAgZ2V0IHNlbGVjdGVkSXRlbXMoKTogQXJyYXk8SUxpc3REYXRhPiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zZWxlY3Rpb25zLnZhbHVlcygpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { OverlayModule } from '@angular/cdk/overlay';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { AsyncDropdownComponent } from './async-dropdown.component';
6
+ export class AsyncDropdownModule {
7
+ }
8
+ AsyncDropdownModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ declarations: [AsyncDropdownComponent],
11
+ imports: [CommonModule, OverlayModule, ReactiveFormsModule, FormsModule],
12
+ exports: [AsyncDropdownComponent],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvYXN5bmMtc2VhcmNoLWRyb3Bkb3duL2FzeW5jLWRyb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBT3BFLE1BQU0sT0FBTyxtQkFBbUI7OztZQUwvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDO2dCQUN4RSxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQXN5bmNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vYXN5bmMtZHJvcGRvd24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQXN5bmNEcm9wZG93bkNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE92ZXJsYXlNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1zTW9kdWxlXSxcbiAgZXhwb3J0czogW0FzeW5jRHJvcGRvd25Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Ryb3Bkb3duTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hc3luYy1zZWFyY2gtZHJvcGRvd24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1hc3luYy1zZWFyY2gtZHJvcGRvd24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hc3luYy1zZWFyY2gtZHJvcGRvd24vbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1hc3luYy1zZWFyY2gtZHJvcGRvd24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './async-dropdown.component';
2
+ export * from './async-dropdown.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FzeW5jLXNlYXJjaC1kcm9wZG93bi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXN5bmMtZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXN5bmMtZHJvcGRvd24ubW9kdWxlJzsiXX0=
@@ -0,0 +1,57 @@
1
+ import { Directive, ElementRef, HostBinding, Input, Renderer2, } from '@angular/core';
2
+ export class ButtonDirective {
3
+ constructor(el, renderer) {
4
+ this.el = el;
5
+ this.renderer = renderer;
6
+ this.type = 'none';
7
+ this.size = 'md';
8
+ this.elementClass = 'mis-btn';
9
+ }
10
+ ngAfterViewInit() {
11
+ this.bindTypeClass();
12
+ this.bindSizeClass();
13
+ }
14
+ bindTypeClass() {
15
+ let className = '';
16
+ switch (this.type) {
17
+ case 'primary':
18
+ className = 'mis-primary';
19
+ break;
20
+ case 'outline':
21
+ className = 'mis-outline';
22
+ break;
23
+ default:
24
+ className = 'mis-none';
25
+ }
26
+ this.renderer.addClass(this.el.nativeElement, className);
27
+ }
28
+ bindSizeClass() {
29
+ let className = '';
30
+ switch (this.size) {
31
+ case 'lg':
32
+ className = 'mis-btn-lg';
33
+ break;
34
+ case 'sm':
35
+ className = 'mis-btn-sm';
36
+ break;
37
+ default:
38
+ className = 'mis-btn-md';
39
+ }
40
+ this.renderer.addClass(this.el.nativeElement, className);
41
+ }
42
+ }
43
+ ButtonDirective.decorators = [
44
+ { type: Directive, args: [{
45
+ selector: '[mis-button]',
46
+ },] }
47
+ ];
48
+ ButtonDirective.ctorParameters = () => [
49
+ { type: ElementRef },
50
+ { type: Renderer2 }
51
+ ];
52
+ ButtonDirective.propDecorators = {
53
+ type: [{ type: Input }],
54
+ size: [{ type: Input }],
55
+ elementClass: [{ type: HostBinding, args: ['class',] }]
56
+ };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE1BQU0sT0FBTyxlQUFlO0lBSzFCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUp0RCxTQUFJLEdBQW1DLE1BQU0sQ0FBQztRQUM5QyxTQUFJLEdBQXVCLElBQUksQ0FBQztRQUNuQixpQkFBWSxHQUFHLFNBQVMsQ0FBQztJQUVvQixDQUFDO0lBRXBFLGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTO2dCQUNaLFNBQVMsR0FBRyxhQUFhLENBQUM7Z0JBQzFCLE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osU0FBUyxHQUFHLGFBQWEsQ0FBQztnQkFDMUIsTUFBTTtZQUNSO2dCQUNFLFNBQVMsR0FBRyxVQUFVLENBQUM7U0FDMUI7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2pCLEtBQUssSUFBSTtnQkFDUCxTQUFTLEdBQUcsWUFBWSxDQUFDO2dCQUN6QixNQUFNO1lBQ1IsS0FBSyxJQUFJO2dCQUNQLFNBQVMsR0FBRyxZQUFZLENBQUM7Z0JBQ3pCLE1BQU07WUFDUjtnQkFDRSxTQUFTLEdBQUcsWUFBWSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0QsQ0FBQzs7O1lBM0NGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYzthQUN6Qjs7O1lBUkMsVUFBVTtZQUdWLFNBQVM7OzttQkFPUixLQUFLO21CQUNMLEtBQUs7MkJBQ0wsV0FBVyxTQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21pcy1idXR0b25dJyxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIHR5cGU6ICdwcmltYXJ5JyB8ICdvdXRsaW5lJyB8ICdub25lJyA9ICdub25lJztcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdtZCcgfCAnbGcnID0gJ21kJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGVsZW1lbnRDbGFzcyA9ICdtaXMtYnRuJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJpbmRUeXBlQ2xhc3MoKTtcbiAgICB0aGlzLmJpbmRTaXplQ2xhc3MoKTtcbiAgfVxuXG4gIHByaXZhdGUgYmluZFR5cGVDbGFzcygpOiB2b2lkIHtcbiAgICBsZXQgY2xhc3NOYW1lID0gJyc7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICBjbGFzc05hbWUgPSAnbWlzLXByaW1hcnknO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ291dGxpbmUnOlxuICAgICAgICBjbGFzc05hbWUgPSAnbWlzLW91dGxpbmUnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNsYXNzTmFtZSA9ICdtaXMtbm9uZSc7XG4gICAgfVxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBiaW5kU2l6ZUNsYXNzKCk6IHZvaWQge1xuICAgIGxldCBjbGFzc05hbWUgPSAnJztcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAnbGcnOlxuICAgICAgICBjbGFzc05hbWUgPSAnbWlzLWJ0bi1sZyc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc20nOlxuICAgICAgICBjbGFzc05hbWUgPSAnbWlzLWJ0bi1zbSc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY2xhc3NOYW1lID0gJ21pcy1idG4tbWQnO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
+ import { ButtonDirective } from './button.directive';
3
4
  import { ButtonComponent } from './button.component';
4
5
  export class ButtonModule {
5
6
  static forRoot() {
@@ -8,9 +9,9 @@ export class ButtonModule {
8
9
  }
9
10
  ButtonModule.decorators = [
10
11
  { type: NgModule, args: [{
11
- declarations: [ButtonComponent],
12
+ declarations: [ButtonComponent, ButtonDirective],
12
13
  imports: [CommonModule],
13
- exports: [ButtonComponent]
14
+ exports: [ButtonComponent, ButtonDirective]
14
15
  },] }
15
16
  ];
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPckQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbkQsQ0FBQzs7O1lBUkYsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7YUFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbQnV0dG9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtCdXR0b25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QnV0dG9uTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEJ1dHRvbk1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3JELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ25ELENBQUM7OztZQVJGLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDO2dCQUNoRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUM7YUFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtCdXR0b25Db21wb25lbnQsIEJ1dHRvbkRpcmVjdGl2ZV0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBCdXR0b25EaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QnV0dG9uTW9kdWxlPiB7XG4gICAgcmV0dXJuIHsgbmdNb2R1bGU6IEJ1dHRvbk1vZHVsZSwgcHJvdmlkZXJzOiBbXSB9O1xuICB9XG59XG4iXX0=
@@ -2,4 +2,5 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9idXR0b24vbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
5
+ export { ButtonDirective as ɵa } from './button.directive';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9idXR0b24vbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcblxuZXhwb3J0IHtCdXR0b25EaXJlY3RpdmUgYXMgybVhfSBmcm9tICcuL2J1dHRvbi5kaXJlY3RpdmUnOyJdfQ==
@@ -0,0 +1,38 @@
1
+ import { Directive, ElementRef, Optional, Self, } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { ReplaySubject, Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ export class MisInputDirective {
6
+ constructor(el, control) {
7
+ this.el = el;
8
+ this.control = control;
9
+ this.validityChange = new ReplaySubject(1);
10
+ this.validity = this.validityChange.asObservable();
11
+ this.endObs = new Subject();
12
+ this.focus = false;
13
+ this.hasValue = false;
14
+ }
15
+ ngOnInit() {
16
+ var _a, _b;
17
+ (_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.statusChanges.pipe(takeUntil(this.endObs)).subscribe(() => {
18
+ var _a;
19
+ this.validityChange.next((_a = this.control.control) === null || _a === void 0 ? void 0 : _a.valid);
20
+ });
21
+ this.el.nativeElement.placeholder += ' ';
22
+ }
23
+ ngOnDestroy() {
24
+ this.endObs.next();
25
+ this.endObs.complete();
26
+ }
27
+ }
28
+ MisInputDirective.decorators = [
29
+ { type: Directive, args: [{
30
+ // tslint:disable-next-line
31
+ selector: 'input[misInput]',
32
+ },] }
33
+ ];
34
+ MisInputDirective.ctorParameters = () => [
35
+ { type: ElementRef },
36
+ { type: NgControl, decorators: [{ type: Self }, { type: Optional }] }
37
+ ];
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvaW5wdXQvZGlyZWN0aXZlcy9pbnB1dC9pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBR1YsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1MsRUFBYyxFQUNPLE9BQWtCO1FBRHZDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDTyxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBRXhDLG1CQUFjLEdBQTJCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzlDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUxkLENBQUM7SUFPSixRQUFROztRQUNOLFlBQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTywwQ0FBRSxhQUFhLENBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUMzQixTQUFTLENBQUMsR0FBRyxFQUFFOztZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTywwQ0FBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDLEVBQUU7UUFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDO0lBQzNDLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7OztZQTFCRixTQUFTLFNBQUM7Z0JBQ1QsMkJBQTJCO2dCQUMzQixRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzs7WUFiQyxVQUFVO1lBTUgsU0FBUyx1QkFXYixJQUFJLFlBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAnaW5wdXRbbWlzSW5wdXRdJyxcbn0pXG5leHBvcnQgY2xhc3MgTWlzSW5wdXREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sXG4gICkge31cbiAgcHJpdmF0ZSB2YWxpZGl0eUNoYW5nZTogUmVwbGF5U3ViamVjdDxib29sZWFuPiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICB2YWxpZGl0eSA9IHRoaXMudmFsaWRpdHlDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIGVuZE9iczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIGZvY3VzID0gZmFsc2U7XG4gIGhhc1ZhbHVlID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250cm9sPy5jb250cm9sPy5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5lbmRPYnMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudmFsaWRpdHlDaGFuZ2UubmV4dCh0aGlzLmNvbnRyb2wuY29udHJvbD8udmFsaWQpO1xuICAgICAgfSk7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyICs9ICcgJztcbiAgfVxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVuZE9icy5uZXh0KCk7XG4gICAgdGhpcy5lbmRPYnMuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2lucHV0L21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0taW5wdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Component, ContentChild, Input, } from '@angular/core';
2
+ import { MisInputDirective } from './directives/input/input.directive';
3
+ export class MisInputComponent {
4
+ constructor() {
5
+ this.type = 'floating';
6
+ this.noHints = false;
7
+ this.hasError = false; // show input in error state
8
+ this.inputValidity = true;
9
+ }
10
+ set formInput(input) {
11
+ var _a;
12
+ if (!this.placeholder) {
13
+ this.placeholder = input.el.nativeElement.placeholder;
14
+ }
15
+ (_a = this.inputSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
16
+ this.inputSubscription = input === null || input === void 0 ? void 0 : input.validity.subscribe((res) => (this.inputValidity = res));
17
+ this.placeholder += ' ';
18
+ }
19
+ ngOnInit() { }
20
+ ngOnDestroy() {
21
+ var _a;
22
+ (_a = this.inputSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
23
+ }
24
+ }
25
+ MisInputComponent.decorators = [
26
+ { type: Component, args: [{
27
+ selector: 'mis-input',
28
+ template: "<div class=\"input-container\" [ngClass]=\"{'rounded': type === 'rounded', 'floating': type === 'floating', 'has-error': !inputValidity || hasError, 'no-hint': noHints}\">\n <div class=\"input-wrapper\">\n <ng-content select=\"[mis-input-icon]\"></ng-content>\n <div class=\"mis-input\">\n <ng-content select=\"input\"></ng-content>\n <span class=\"mis-placeholder\">{{placeholder}}</span>\n </div>\n <ng-content select=\"[mis-input-act]\"></ng-content>\n </div>\n <ng-content select=\"[mis-input-hint]\"></ng-content>\n <ng-content select=\"[mis-input-error]\"></ng-content>\n</div>",
29
+ styles: [".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0}.input-container.rounded .input-wrapper:focus-within,.input-container.rounded .input-wrapper:hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]
30
+ },] }
31
+ ];
32
+ MisInputComponent.ctorParameters = () => [];
33
+ MisInputComponent.propDecorators = {
34
+ type: [{ type: Input }],
35
+ placeholder: [{ type: Input }],
36
+ noHints: [{ type: Input }],
37
+ hasError: [{ type: Input }],
38
+ formInput: [{ type: ContentChild, args: [MisInputDirective,] }]
39
+ };
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2lucHV0L21pcy1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBT3ZFLE1BQU0sT0FBTyxpQkFBaUI7SUFpQjVCO1FBaEJTLFNBQUksR0FBMkIsVUFBVSxDQUFDO1FBRTFDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLDRCQUE0QjtRQVl2RCxrQkFBYSxHQUFZLElBQUksQ0FBQztJQUNmLENBQUM7SUFaaEIsSUFBcUMsU0FBUyxDQUFDLEtBQXdCOztRQUNyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztTQUN2RDtRQUNELE1BQUEsSUFBSSxDQUFDLGlCQUFpQiwwQ0FBRSxXQUFXLEdBQUc7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxRQUFRLENBQUMsU0FBUyxDQUNoRCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxDQUNwQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUM7SUFDMUIsQ0FBQztJQUtELFFBQVEsS0FBVSxDQUFDO0lBQ25CLFdBQVc7O1FBQ1QsTUFBQSxJQUFJLENBQUMsaUJBQWlCLDBDQUFFLFdBQVcsR0FBRztJQUN4QyxDQUFDOzs7WUEzQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQiw2bUJBQXlDOzthQUUxQzs7OzttQkFFRSxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLFlBQVksU0FBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1pc0lucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2lucHV0L2lucHV0LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pcy1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9taXMtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9taXMtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTWlzSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHR5cGU6ICdyb3VuZGVkJyB8ICdmbG9hdGluZycgPSAnZmxvYXRpbmcnO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nOyAvLyBmbG9hdGluZyBwbGFjZWhvbGRlciB0ZXh0XG4gIEBJbnB1dCgpIG5vSGludHMgPSBmYWxzZTtcbiAgQElucHV0KCkgaGFzRXJyb3IgPSBmYWxzZTsgLy8gc2hvdyBpbnB1dCBpbiBlcnJvciBzdGF0ZVxuICBAQ29udGVudENoaWxkKE1pc0lucHV0RGlyZWN0aXZlKSBzZXQgZm9ybUlucHV0KGlucHV0OiBNaXNJbnB1dERpcmVjdGl2ZSkge1xuICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGlucHV0LmVsLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIHRoaXMuaW5wdXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5pbnB1dFN1YnNjcmlwdGlvbiA9IGlucHV0Py52YWxpZGl0eS5zdWJzY3JpYmUoXG4gICAgICAocmVzKSA9PiAodGhpcy5pbnB1dFZhbGlkaXR5ID0gcmVzKVxuICAgICk7XG4gICAgdGhpcy5wbGFjZWhvbGRlciArPSAnICc7XG4gIH1cbiAgaW5wdXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgaW5wdXRWYWxpZGl0eTogYm9vbGVhbiA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MisInputDirective } from './directives/input/input.directive';
5
+ import { MisInputComponent } from './mis-input.component';
6
+ export class MisInputModule {
7
+ }
8
+ MisInputModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ declarations: [MisInputComponent, MisInputDirective],
11
+ imports: [CommonModule, FormsModule],
12
+ exports: [MisInputComponent, MisInputDirective],
13
+ },] }
14
+ ];
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2lucHV0L21pcy1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTzFELE1BQU0sT0FBTyxjQUFjOzs7WUFMMUIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO2dCQUNwRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO2dCQUNwQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQzthQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNaXNJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbnB1dC9pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWlzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL21pcy1pbnB1dC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtNaXNJbnB1dENvbXBvbmVudCwgTWlzSW5wdXREaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtNaXNJbnB1dENvbXBvbmVudCwgTWlzSW5wdXREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBNaXNJbnB1dE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,4 @@
1
+ export { MisInputDirective } from './directives/input/input.directive';
2
+ export { MisInputComponent } from './mis-input.component';
3
+ export { MisInputModule } from './mis-input.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2lucHV0L3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWlzSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IE1pc0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9taXMtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7IE1pc0lucHV0TW9kdWxlIH0gZnJvbSAnLi9taXMtaW5wdXQubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9tb2RhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ export { ModuleWrapperComponent as ɵa } from './module-wrapper/module-wrapper.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL21vZGFsL21pcy1jcnlzdGFsLWRlc2lnbi1zeXN0ZW0tbW9kYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQztBQUV4QixPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge01vZHVsZVdyYXBwZXJDb21wb25lbnQgYXMgybVhfSBmcm9tICcuL21vZHVsZS13cmFwcGVyL21vZHVsZS13cmFwcGVyLmNvbXBvbmVudCc7Il19
@@ -0,0 +1,4 @@
1
+ /** @format */
2
+ import { InjectionToken } from "@angular/core";
3
+ export const MODAL_DATA_VAR = new InjectionToken("MISModalDataInjectionToken");
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwtY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFFZCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw0QkFBNEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmb3JtYXQgKi9cblxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgTU9EQUxfREFUQV9WQVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PihcIk1JU01vZGFsRGF0YUluamVjdGlvblRva2VuXCIpO1xuIl19
@@ -0,0 +1,16 @@
1
+ /** @format */
2
+ import { Subject } from "rxjs";
3
+ export class ModalRef {
4
+ constructor(overlay) {
5
+ this.overlay = overlay;
6
+ this.afterClosed$ = new Subject();
7
+ this.afterClosed = this.afterClosed$.asObservable();
8
+ }
9
+ close(data) {
10
+ this.overlay.detach();
11
+ this.overlay.dispose();
12
+ this.afterClosed$.next(data);
13
+ this.afterClosed$.complete();
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtcmVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFJZCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE1BQU0sT0FBTyxRQUFRO0lBSW5CLFlBQW1CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFIOUIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzlDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVOLENBQUM7SUFFMUMsS0FBSyxDQUFDLElBQWM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmb3JtYXQgKi9cblxuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGNsYXNzIE1vZGFsUmVmIHtcbiAgcHJpdmF0ZSBhZnRlckNsb3NlZCQgPSBuZXcgU3ViamVjdDx1bmtub3duPigpO1xuICBhZnRlckNsb3NlZCA9IHRoaXMuYWZ0ZXJDbG9zZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5UmVmKSB7fVxuXG4gIGNsb3NlKGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5vdmVybGF5LmRldGFjaCgpO1xuICAgIHRoaXMub3ZlcmxheS5kaXNwb3NlKCk7XG4gICAgdGhpcy5hZnRlckNsb3NlZCQubmV4dChkYXRhKTtcbiAgICB0aGlzLmFmdGVyQ2xvc2VkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { OverlayModule } from '@angular/cdk/overlay';
4
+ import { PortalModule } from '@angular/cdk/portal';
5
+ import { ModuleWrapperComponent } from './module-wrapper/module-wrapper.component';
6
+ import { ModalService } from './modal.service';
7
+ export class ModalModule {
8
+ static forRoot() {
9
+ return {
10
+ ngModule: ModalModule,
11
+ providers: [ModalService],
12
+ };
13
+ }
14
+ static forChild() {
15
+ return {
16
+ ngModule: ModalModule,
17
+ providers: [ModalService],
18
+ };
19
+ }
20
+ }
21
+ ModalModule.decorators = [
22
+ { type: NgModule, args: [{
23
+ declarations: [ModuleWrapperComponent],
24
+ imports: [
25
+ CommonModule,
26
+ OverlayModule,
27
+ PortalModule
28
+ ],
29
+ entryComponents: [ModuleWrapperComponent]
30
+ },] }
31
+ ];
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWEvQyxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUTtRQUNiLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7OztZQXRCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsWUFBWTtpQkFDYjtnQkFDRCxlQUFlLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQzthQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgTW9kdWxlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vbW9kdWxlLXdyYXBwZXIvbW9kdWxlLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4vbW9kYWwuc2VydmljZSc7XG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtNb2R1bGVXcmFwcGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLCBcbiAgICBQb3J0YWxNb2R1bGVcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbTW9kdWxlV3JhcHBlckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxNb2R1bGUgeyBcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNb2RhbE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTW9kYWxNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtNb2RhbFNlcnZpY2VdLFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZm9yQ2hpbGQoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxNb2RhbE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTW9kYWxNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtNb2RhbFNlcnZpY2VdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==