design-angular-kit 0.13.0 → 1.0.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/README.md +61 -31
  2. package/esm2020/design-angular-kit.mjs +5 -0
  3. package/esm2020/lib/badge/badge.directive.mjs +83 -0
  4. package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +66 -0
  5. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +89 -0
  6. package/esm2020/lib/button/button.directive.mjs +185 -0
  7. package/esm2020/lib/button/button.module.mjs +18 -0
  8. package/esm2020/lib/checkbox/checkbox.component.mjs +138 -0
  9. package/esm2020/lib/collapse/collapse-group.component.mjs +57 -0
  10. package/esm2020/lib/collapse/collapse-item.component.mjs +79 -0
  11. package/esm2020/lib/collapse/collapse.config.mjs +12 -0
  12. package/esm2020/lib/collapse/collapse.directive.mjs +55 -0
  13. package/esm2020/lib/collapse/collapse.module.mjs +22 -0
  14. package/esm2020/lib/design-angular-kit.module.mjs +142 -0
  15. package/esm2020/lib/dropdown/dropdown-divider.component.mjs +11 -0
  16. package/esm2020/lib/dropdown/dropdown-item.component.mjs +97 -0
  17. package/esm2020/lib/dropdown/dropdown.component.mjs +143 -0
  18. package/esm2020/lib/dropdown/dropdown.config.mjs +12 -0
  19. package/esm2020/lib/dropdown/dropdown.directive.mjs +156 -0
  20. package/esm2020/lib/dropdown/dropdown.module.mjs +25 -0
  21. package/esm2020/lib/enums/icons.enum.mjs +27 -0
  22. package/esm2020/lib/form-input/form-input-password.utils.mjs +154 -0
  23. package/esm2020/lib/form-input/form-input.component.mjs +495 -0
  24. package/esm2020/lib/form-input/it-prefix.directive.mjs +13 -0
  25. package/esm2020/lib/form-input/it-suffix.directive.mjs +13 -0
  26. package/esm2020/lib/form-input/it-text-prefix.directive.mjs +13 -0
  27. package/esm2020/lib/form-input/it-text-suffix.directive.mjs +13 -0
  28. package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +36 -0
  29. package/esm2020/lib/icon/icon.component.mjs +87 -0
  30. package/esm2020/lib/icon/icon.module.mjs +18 -0
  31. package/esm2020/lib/models/Alignment.mjs +15 -0
  32. package/esm2020/lib/models/ButtonSize.mjs +15 -0
  33. package/esm2020/lib/models/InputType.mjs +44 -0
  34. package/esm2020/lib/models/ThemeColor.mjs +30 -0
  35. package/esm2020/lib/popover/popover.config.mjs +17 -0
  36. package/esm2020/lib/popover/popover.directive.mjs +33 -0
  37. package/esm2020/lib/popover/popover.module.mjs +19 -0
  38. package/esm2020/lib/progress-bar/progress-bar.component.mjs +98 -0
  39. package/esm2020/lib/radio/radio.component.mjs +287 -0
  40. package/esm2020/lib/radio/unique-selection-dispatcher.mjs +55 -0
  41. package/esm2020/lib/tabs/tab-group.component.mjs +177 -0
  42. package/esm2020/lib/tabs/tab.component.mjs +73 -0
  43. package/esm2020/lib/tabs/tabs.module.mjs +20 -0
  44. package/esm2020/lib/toggle/toggle.component.mjs +86 -0
  45. package/esm2020/lib/tooltip/tooltip.config.mjs +17 -0
  46. package/esm2020/lib/tooltip/tooltip.directive.mjs +43 -0
  47. package/esm2020/lib/tooltip/tooltip.module.mjs +19 -0
  48. package/esm2020/lib/util/focus-mouse.directive.mjs +32 -0
  49. package/esm2020/lib/util/util.mjs +12 -0
  50. package/esm2020/lib/util/utils.module.mjs +16 -0
  51. package/esm2020/public_api.mjs +40 -0
  52. package/fesm2015/design-angular-kit.mjs +3181 -0
  53. package/fesm2015/design-angular-kit.mjs.map +1 -0
  54. package/fesm2020/design-angular-kit.mjs +3160 -0
  55. package/fesm2020/design-angular-kit.mjs.map +1 -0
  56. package/index.d.ts +5 -0
  57. package/lib/badge/badge.directive.d.ts +11 -5
  58. package/lib/breadcrumb/breadcrumb-item.component.d.ts +16 -5
  59. package/lib/breadcrumb/breadcrumb.component.d.ts +12 -5
  60. package/lib/button/button.directive.d.ts +72 -0
  61. package/lib/button/button.module.d.ts +8 -0
  62. package/lib/checkbox/checkbox.component.d.ts +25 -5
  63. package/lib/collapse/collapse-group.component.d.ts +6 -2
  64. package/lib/collapse/collapse-item.component.d.ts +16 -8
  65. package/lib/collapse/collapse.config.d.ts +6 -0
  66. package/lib/collapse/collapse.directive.d.ts +13 -28
  67. package/lib/collapse/collapse.module.d.ts +12 -0
  68. package/lib/design-angular-kit.module.d.ts +27 -0
  69. package/lib/dropdown/dropdown-divider.component.d.ts +3 -0
  70. package/lib/dropdown/dropdown-item.component.d.ts +22 -8
  71. package/lib/dropdown/dropdown.component.d.ts +34 -26
  72. package/lib/dropdown/dropdown.config.d.ts +6 -0
  73. package/lib/dropdown/dropdown.directive.d.ts +77 -0
  74. package/lib/dropdown/dropdown.module.d.ts +15 -0
  75. package/lib/enums/icons.enum.d.ts +23 -0
  76. package/lib/form-input/form-input-password.utils.d.ts +45 -0
  77. package/lib/form-input/form-input.component.d.ts +202 -20
  78. package/lib/form-input/it-prefix.directive.d.ts +5 -0
  79. package/lib/form-input/it-suffix.directive.d.ts +5 -0
  80. package/lib/form-input/it-text-prefix.directive.d.ts +5 -0
  81. package/lib/form-input/it-text-suffix.directive.d.ts +5 -0
  82. package/lib/form-input/mark-matching-text.pipe.d.ts +10 -0
  83. package/lib/icon/icon.component.d.ts +34 -0
  84. package/lib/icon/icon.module.d.ts +8 -0
  85. package/lib/models/Alignment.d.ts +12 -0
  86. package/lib/models/ButtonSize.d.ts +1 -1
  87. package/lib/models/InputType.d.ts +22 -1
  88. package/lib/models/ThemeColor.d.ts +1 -1
  89. package/lib/popover/popover.config.d.ts +5 -6
  90. package/lib/popover/popover.directive.d.ts +13 -108
  91. package/lib/popover/popover.module.d.ts +9 -0
  92. package/lib/progress-bar/progress-bar.component.d.ts +25 -19
  93. package/lib/radio/radio.component.d.ts +22 -10
  94. package/lib/radio/unique-selection-dispatcher.d.ts +3 -0
  95. package/lib/tabs/tab-group.component.d.ts +17 -11
  96. package/lib/tabs/tab.component.d.ts +6 -2
  97. package/lib/tabs/tabs.module.d.ts +10 -0
  98. package/lib/toggle/toggle.component.d.ts +9 -4
  99. package/lib/tooltip/tooltip.config.d.ts +7 -7
  100. package/lib/tooltip/tooltip.directive.d.ts +12 -92
  101. package/lib/tooltip/tooltip.module.d.ts +9 -0
  102. package/lib/util/focus-mouse.directive.d.ts +13 -0
  103. package/lib/util/utils.module.d.ts +7 -0
  104. package/package.json +36 -21
  105. package/public_api.d.ts +16 -2
  106. package/bundles/design-angular-kit.umd.js +0 -6258
  107. package/bundles/design-angular-kit.umd.js.map +0 -1
  108. package/bundles/design-angular-kit.umd.min.js +0 -31
  109. package/bundles/design-angular-kit.umd.min.js.map +0 -1
  110. package/design-angular-kit.d.ts +0 -8
  111. package/design-angular-kit.metadata.json +0 -1
  112. package/esm2015/design-angular-kit.js +0 -14
  113. package/esm2015/lib/badge/badge.directive.js +0 -116
  114. package/esm2015/lib/breadcrumb/breadcrumb-item.component.js +0 -117
  115. package/esm2015/lib/breadcrumb/breadcrumb.component.js +0 -128
  116. package/esm2015/lib/button/button.component.js +0 -165
  117. package/esm2015/lib/checkbox/checkbox.component.js +0 -170
  118. package/esm2015/lib/collapse/collapse-group.component.js +0 -87
  119. package/esm2015/lib/collapse/collapse-item.component.js +0 -148
  120. package/esm2015/lib/collapse/collapse.directive.js +0 -153
  121. package/esm2015/lib/design-angular-kit.module.js +0 -90
  122. package/esm2015/lib/dropdown/dropdown-divider.component.js +0 -18
  123. package/esm2015/lib/dropdown/dropdown-header.component.js +0 -29
  124. package/esm2015/lib/dropdown/dropdown-item.component.js +0 -157
  125. package/esm2015/lib/dropdown/dropdown.component.js +0 -248
  126. package/esm2015/lib/form-input/form-input.component.js +0 -489
  127. package/esm2015/lib/models/ButtonSize.js +0 -25
  128. package/esm2015/lib/models/IconPosition.js +0 -21
  129. package/esm2015/lib/models/InputType.js +0 -33
  130. package/esm2015/lib/models/InteractionTrigger.js +0 -35
  131. package/esm2015/lib/models/ThemeColor.js +0 -45
  132. package/esm2015/lib/popover/popover.component.js +0 -134
  133. package/esm2015/lib/popover/popover.config.js +0 -35
  134. package/esm2015/lib/popover/popover.directive.js +0 -433
  135. package/esm2015/lib/popover/popup.js +0 -105
  136. package/esm2015/lib/popover/positioning.js +0 -349
  137. package/esm2015/lib/popover/triggers.js +0 -99
  138. package/esm2015/lib/progress-bar/progress-bar.component.js +0 -170
  139. package/esm2015/lib/radio/radio.component.js +0 -526
  140. package/esm2015/lib/radio/unique-selection-dispatcher.js +0 -70
  141. package/esm2015/lib/tabs/tab-group.component.js +0 -339
  142. package/esm2015/lib/tabs/tab.component.js +0 -143
  143. package/esm2015/lib/toggle/toggle.component.js +0 -173
  144. package/esm2015/lib/tooltip/popup.js +0 -105
  145. package/esm2015/lib/tooltip/positioning.js +0 -349
  146. package/esm2015/lib/tooltip/tooltip.component.js +0 -77
  147. package/esm2015/lib/tooltip/tooltip.config.js +0 -31
  148. package/esm2015/lib/tooltip/tooltip.directive.js +0 -384
  149. package/esm2015/lib/tooltip/triggers.js +0 -99
  150. package/esm2015/lib/util/util.js +0 -30
  151. package/esm2015/public_api.js +0 -31
  152. package/esm5/design-angular-kit.js +0 -14
  153. package/esm5/lib/badge/badge.directive.js +0 -145
  154. package/esm5/lib/breadcrumb/breadcrumb-item.component.js +0 -135
  155. package/esm5/lib/breadcrumb/breadcrumb.component.js +0 -164
  156. package/esm5/lib/button/button.component.js +0 -221
  157. package/esm5/lib/checkbox/checkbox.component.js +0 -200
  158. package/esm5/lib/collapse/collapse-group.component.js +0 -102
  159. package/esm5/lib/collapse/collapse-item.component.js +0 -183
  160. package/esm5/lib/collapse/collapse.directive.js +0 -210
  161. package/esm5/lib/design-angular-kit.module.js +0 -94
  162. package/esm5/lib/dropdown/dropdown-divider.component.js +0 -20
  163. package/esm5/lib/dropdown/dropdown-header.component.js +0 -27
  164. package/esm5/lib/dropdown/dropdown-item.component.js +0 -197
  165. package/esm5/lib/dropdown/dropdown.component.js +0 -309
  166. package/esm5/lib/form-input/form-input.component.js +0 -582
  167. package/esm5/lib/models/ButtonSize.js +0 -25
  168. package/esm5/lib/models/IconPosition.js +0 -21
  169. package/esm5/lib/models/InputType.js +0 -33
  170. package/esm5/lib/models/InteractionTrigger.js +0 -35
  171. package/esm5/lib/models/ThemeColor.js +0 -45
  172. package/esm5/lib/popover/popover.component.js +0 -144
  173. package/esm5/lib/popover/popover.config.js +0 -37
  174. package/esm5/lib/popover/popover.directive.js +0 -573
  175. package/esm5/lib/popover/popup.js +0 -116
  176. package/esm5/lib/popover/positioning.js +0 -446
  177. package/esm5/lib/popover/triggers.js +0 -115
  178. package/esm5/lib/progress-bar/progress-bar.component.js +0 -218
  179. package/esm5/lib/radio/radio.component.js +0 -610
  180. package/esm5/lib/radio/unique-selection-dispatcher.js +0 -108
  181. package/esm5/lib/tabs/tab-group.component.js +0 -401
  182. package/esm5/lib/tabs/tab.component.js +0 -156
  183. package/esm5/lib/toggle/toggle.component.js +0 -200
  184. package/esm5/lib/tooltip/popup.js +0 -116
  185. package/esm5/lib/tooltip/positioning.js +0 -446
  186. package/esm5/lib/tooltip/tooltip.component.js +0 -80
  187. package/esm5/lib/tooltip/tooltip.config.js +0 -33
  188. package/esm5/lib/tooltip/tooltip.directive.js +0 -516
  189. package/esm5/lib/tooltip/triggers.js +0 -115
  190. package/esm5/lib/util/util.js +0 -48
  191. package/esm5/public_api.js +0 -31
  192. package/fesm2015/design-angular-kit.js +0 -5094
  193. package/fesm2015/design-angular-kit.js.map +0 -1
  194. package/fesm5/design-angular-kit.js +0 -6314
  195. package/fesm5/design-angular-kit.js.map +0 -1
  196. package/lib/button/button.component.d.ts +0 -50
  197. package/lib/dropdown/dropdown-header.component.d.ts +0 -3
  198. package/lib/models/IconPosition.d.ts +0 -9
  199. package/lib/models/InteractionTrigger.d.ts +0 -19
  200. package/lib/popover/popover.component.d.ts +0 -25
  201. package/lib/popover/popup.d.ts +0 -27
  202. package/lib/popover/positioning.d.ts +0 -32
  203. package/lib/popover/triggers.d.ts +0 -18
  204. package/lib/tooltip/popup.d.ts +0 -27
  205. package/lib/tooltip/positioning.d.ts +0 -32
  206. package/lib/tooltip/tooltip.component.d.ts +0 -20
  207. package/lib/tooltip/triggers.d.ts +0 -18
@@ -1,173 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import { Component, Input, Output, EventEmitter, ChangeDetectorRef, forwardRef, ChangeDetectionStrategy } from '@angular/core';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- /** @type {?} */
8
- let identifier = 0;
9
- export class ToggleChange {
10
- }
11
- if (false) {
12
- /** @type {?} */
13
- ToggleChange.prototype.source;
14
- /** @type {?} */
15
- ToggleChange.prototype.checked;
16
- }
17
- /**
18
- * Una toggle con design bootstrap italia. Supporta tutte le funzionalità di una checkbox HTML5,
19
- * ed espone una API simile. Una `<it-toggle>` può essere checked, unchecked, o disabled.
20
- */
21
- export class ToggleComponent {
22
- /**
23
- * @param {?} _changeDetectorRef
24
- */
25
- constructor(_changeDetectorRef) {
26
- this._changeDetectorRef = _changeDetectorRef;
27
- this._checked = false;
28
- this._disabled = false;
29
- /**
30
- * Evento emesso quando il valore `checked` della toggle cambia.
31
- */
32
- this.change = new EventEmitter();
33
- this.inputId = `toggle-${identifier++}`;
34
- this._onTouched = () => { };
35
- this._controlValueAccessorChangeFn = () => { };
36
- }
37
- /**
38
- * Se la toggle è selezionata.
39
- * @return {?}
40
- */
41
- get checked() { return this._checked; }
42
- /**
43
- * @param {?} value
44
- * @return {?}
45
- */
46
- set checked(value) {
47
- if (value !== this.checked) {
48
- this._checked = value;
49
- this._changeDetectorRef.markForCheck();
50
- }
51
- }
52
- /**
53
- * Se la toggle è disabilitata.
54
- * @return {?}
55
- */
56
- get disabled() { return this._disabled; }
57
- /**
58
- * @param {?} value
59
- * @return {?}
60
- */
61
- set disabled(value) {
62
- if (value !== this.disabled) {
63
- this._disabled = value;
64
- this._changeDetectorRef.markForCheck();
65
- }
66
- }
67
- /**
68
- * @param {?} value
69
- * @return {?}
70
- */
71
- writeValue(value) {
72
- this.checked = !!value;
73
- }
74
- /**
75
- * @param {?} fn
76
- * @return {?}
77
- */
78
- registerOnChange(fn) {
79
- this._controlValueAccessorChangeFn = fn;
80
- }
81
- /**
82
- * @param {?} fn
83
- * @return {?}
84
- */
85
- registerOnTouched(fn) {
86
- this._onTouched = fn;
87
- }
88
- /**
89
- * @param {?} event
90
- * @return {?}
91
- */
92
- handleChange(event) {
93
- event.stopPropagation();
94
- if (!this.disabled) {
95
- this._toggle();
96
- this._emitChangeEvent();
97
- }
98
- }
99
- /**
100
- * @return {?}
101
- */
102
- _toggle() {
103
- this.checked = !this.checked;
104
- }
105
- /**
106
- * @return {?}
107
- */
108
- _emitChangeEvent() {
109
- /** @type {?} */
110
- const event = new ToggleChange();
111
- event.source = this;
112
- event.checked = this.checked;
113
- this._controlValueAccessorChangeFn(this.checked);
114
- this.change.emit(event);
115
- }
116
- }
117
- ToggleComponent.decorators = [
118
- { type: Component, args: [{
119
- selector: 'it-toggle',
120
- template: `<div class="form-check">
121
- <div class="toggles">
122
- <label [attr.for]=inputId>
123
- {{label}}
124
- <input type=checkbox
125
- [id]=inputId
126
- [checked]=checked
127
- [disabled]=disabled
128
- (change)=handleChange($event)>
129
- <span class="lever"></span>
130
- </label>
131
- </div>
132
- </div>`,
133
- styles: [``],
134
- providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => ToggleComponent), multi: true }],
135
- changeDetection: ChangeDetectionStrategy.OnPush
136
- },] },
137
- ];
138
- /** @nocollapse */
139
- ToggleComponent.ctorParameters = () => [
140
- { type: ChangeDetectorRef }
141
- ];
142
- ToggleComponent.propDecorators = {
143
- checked: [{ type: Input }],
144
- label: [{ type: Input }],
145
- disabled: [{ type: Input }],
146
- change: [{ type: Output }]
147
- };
148
- if (false) {
149
- /** @type {?} */
150
- ToggleComponent.prototype._checked;
151
- /**
152
- * L'etichetta della toggle.
153
- * @type {?}
154
- */
155
- ToggleComponent.prototype.label;
156
- /** @type {?} */
157
- ToggleComponent.prototype._disabled;
158
- /**
159
- * Evento emesso quando il valore `checked` della toggle cambia.
160
- * @type {?}
161
- */
162
- ToggleComponent.prototype.change;
163
- /** @type {?} */
164
- ToggleComponent.prototype.inputId;
165
- /** @type {?} */
166
- ToggleComponent.prototype._onTouched;
167
- /** @type {?} */
168
- ToggleComponent.prototype._controlValueAccessorChangeFn;
169
- /** @type {?} */
170
- ToggleComponent.prototype._changeDetectorRef;
171
- }
172
-
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Rlc2lnbi1hbmd1bGFyLWtpdC8iLCJzb3VyY2VzIjpbImxpYi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOztBQUV6RSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFFbkIsTUFBTTtDQUdMOzs7Ozs7Ozs7OztBQXlCRCxNQUFNOzs7O0lBNkNKLFlBQ1U7UUFBQSx1QkFBa0IsR0FBbEIsa0JBQWtCO3dCQWxDVCxLQUFLO3lCQW1CSixLQUFLOzs7O3NCQU12QixJQUFJLFlBQVksRUFBZ0I7dUJBRXRCLFVBQVUsVUFBVSxFQUFFLEVBQUU7MEJBRUosR0FBRyxFQUFFLElBQUc7NkNBRXNCLEdBQUcsRUFBRSxJQUFJO0tBSWxFOzs7OztJQTNDTCxJQUNJLE9BQU8sS0FBYyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFOzs7OztJQUNoRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7S0FDRjs7Ozs7SUFZRCxJQUNJLFFBQVEsS0FBYyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFOzs7OztJQUNsRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLEVBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7S0FDRjs7Ozs7SUFtQkQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0tBQ3hCOzs7OztJQUVELGdCQUFnQixDQUFDLEVBQXdCO1FBQ3ZDLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxFQUFFLENBQUM7S0FDekM7Ozs7O0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztLQUN0Qjs7Ozs7SUFFRCxZQUFZLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtLQUNGOzs7O0lBRU8sT0FBTztRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDOzs7OztJQUd2QixnQkFBZ0I7O1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDcEIsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRTdCLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Ozs7WUFsRzNCLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7T0FZTDtnQkFDTCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQ3hHLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7O1lBaENnRCxpQkFBaUI7OztzQkFxQy9ELEtBQUs7b0JBYUwsS0FBSzt1QkFNTCxLQUFLO3FCQWFMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0b3JSZWYsIGZvcndhcmRSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCBpZGVudGlmaWVyID0gMDtcblxuZXhwb3J0IGNsYXNzIFRvZ2dsZUNoYW5nZSB7XG4gIHNvdXJjZTogVG9nZ2xlQ29tcG9uZW50O1xuICBjaGVja2VkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVuYSB0b2dnbGUgY29uIGRlc2lnbiBib290c3RyYXAgaXRhbGlhLiBTdXBwb3J0YSB0dXR0ZSBsZSBmdW56aW9uYWxpdMOgIGRpIHVuYSBjaGVja2JveCBIVE1MNSxcbiAqIGVkIGVzcG9uZSB1bmEgQVBJIHNpbWlsZS4gVW5hIGA8aXQtdG9nZ2xlPmAgcHXDsiBlc3NlcmUgY2hlY2tlZCwgdW5jaGVja2VkLCBvIGRpc2FibGVkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC10b2dnbGUnLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XG4gIDxkaXYgY2xhc3M9XCJ0b2dnbGVzXCI+XG4gICAgPGxhYmVsIFthdHRyLmZvcl09aW5wdXRJZD5cbiAgICAgIHt7bGFiZWx9fVxuICAgICAgPGlucHV0IHR5cGU9Y2hlY2tib3hcbiAgICAgICAgW2lkXT1pbnB1dElkXG4gICAgICAgIFtjaGVja2VkXT1jaGVja2VkXG4gICAgICAgIFtkaXNhYmxlZF09ZGlzYWJsZWRcbiAgICAgICAgKGNoYW5nZSk9aGFuZGxlQ2hhbmdlKCRldmVudCk+XG4gICAgICA8c3BhbiBjbGFzcz1cImxldmVyXCI+PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9kaXY+YCxcbiAgc3R5bGVzOiBbYGBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUb2dnbGVDb21wb25lbnQpLCBtdWx0aTogdHJ1ZSB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKipcbiAgICogU2UgbGEgdG9nZ2xlIMOoIHNlbGV6aW9uYXRhLlxuICAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9jaGVja2VkOyB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuX2NoZWNrZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9jaGVja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEwnZXRpY2hldHRhIGRlbGxhIHRvZ2dsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlIGxhIHRvZ2dsZSDDqCBkaXNhYmlsaXRhdGEuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRXZlbnRvIGVtZXNzbyBxdWFuZG8gaWwgdmFsb3JlIGBjaGVja2VkYCBkZWxsYSB0b2dnbGUgY2FtYmlhLlxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZTogRXZlbnRFbWl0dGVyPFRvZ2dsZUNoYW5nZT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8VG9nZ2xlQ2hhbmdlPigpO1xuXG4gICAgaW5wdXRJZCA9IGB0b2dnbGUtJHtpZGVudGlmaWVyKyt9YDtcblxuICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4geyB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHsgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMuX2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4gPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZShldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuX3RvZ2dsZSgpO1xuICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQoKSB7XG4gICAgY29uc3QgZXZlbnQgPSBuZXcgVG9nZ2xlQ2hhbmdlKCk7XG4gICAgZXZlbnQuc291cmNlID0gdGhpcztcbiAgICBldmVudC5jaGVja2VkID0gdGhpcy5jaGVja2VkO1xuXG4gICAgdGhpcy5fY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLmNoZWNrZWQpO1xuICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=
@@ -1,105 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
4
- */
5
- import { TemplateRef } from '@angular/core';
6
- export class ContentRef {
7
- /**
8
- * @param {?} nodes
9
- * @param {?=} viewRef
10
- * @param {?=} componentRef
11
- */
12
- constructor(nodes, viewRef, componentRef) {
13
- this.nodes = nodes;
14
- this.viewRef = viewRef;
15
- this.componentRef = componentRef;
16
- }
17
- }
18
- if (false) {
19
- /** @type {?} */
20
- ContentRef.prototype.nodes;
21
- /** @type {?} */
22
- ContentRef.prototype.viewRef;
23
- /** @type {?} */
24
- ContentRef.prototype.componentRef;
25
- }
26
- /**
27
- * @template T
28
- */
29
- export class PopupService {
30
- /**
31
- * @param {?} _type
32
- * @param {?} _injector
33
- * @param {?} _viewContainerRef
34
- * @param {?} _renderer
35
- * @param {?} _componentFactoryResolver
36
- */
37
- constructor(_type, _injector, _viewContainerRef, _renderer, _componentFactoryResolver) {
38
- this._type = _type;
39
- this._injector = _injector;
40
- this._viewContainerRef = _viewContainerRef;
41
- this._renderer = _renderer;
42
- this._componentFactoryResolver = _componentFactoryResolver;
43
- }
44
- /**
45
- * @param {?=} content
46
- * @param {?=} context
47
- * @return {?}
48
- */
49
- open(content, context) {
50
- if (!this._windowRef) {
51
- this._contentRef = this._getContentRef(content, context);
52
- this._windowRef = this._viewContainerRef.createComponent(this._componentFactoryResolver.resolveComponentFactory(this._type), 0, this._injector, this._contentRef.nodes);
53
- }
54
- return this._windowRef;
55
- }
56
- /**
57
- * @return {?}
58
- */
59
- close() {
60
- if (this._windowRef) {
61
- this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._windowRef.hostView));
62
- this._windowRef = null;
63
- if (this._contentRef.viewRef) {
64
- this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef));
65
- this._contentRef = null;
66
- }
67
- }
68
- }
69
- /**
70
- * @param {?} content
71
- * @param {?=} context
72
- * @return {?}
73
- */
74
- _getContentRef(content, context) {
75
- if (!content) {
76
- return new ContentRef([]);
77
- }
78
- else if (content instanceof TemplateRef) {
79
- /** @type {?} */
80
- const viewRef = this._viewContainerRef.createEmbeddedView(/** @type {?} */ (content), context);
81
- return new ContentRef([viewRef.rootNodes], viewRef);
82
- }
83
- else {
84
- return new ContentRef([[this._renderer.createText(`${content}`)]]);
85
- }
86
- }
87
- }
88
- if (false) {
89
- /** @type {?} */
90
- PopupService.prototype._windowRef;
91
- /** @type {?} */
92
- PopupService.prototype._contentRef;
93
- /** @type {?} */
94
- PopupService.prototype._type;
95
- /** @type {?} */
96
- PopupService.prototype._injector;
97
- /** @type {?} */
98
- PopupService.prototype._viewContainerRef;
99
- /** @type {?} */
100
- PopupService.prototype._renderer;
101
- /** @type {?} */
102
- PopupService.prototype._componentFactoryResolver;
103
- }
104
-
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXNpZ24tYW5ndWxhci1raXQvIiwic291cmNlcyI6WyJsaWIvdG9vbHRpcC9wb3B1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBT0EsT0FBTyxFQUVILFdBQVcsRUFNZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNOzs7Ozs7SUFDRixZQUFtQixLQUFZLEVBQVMsT0FBaUIsRUFBUyxZQUFnQztRQUEvRSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBVTtRQUFTLGlCQUFZLEdBQVosWUFBWSxDQUFvQjtLQUFLO0NBQzFHOzs7Ozs7Ozs7Ozs7QUFFRCxNQUFNOzs7Ozs7OztJQUlGLFlBQ1ksT0FBb0IsU0FBbUIsRUFBVSxpQkFBbUMsRUFDcEYsV0FBOEIseUJBQW1EO1FBRGpGLFVBQUssR0FBTCxLQUFLO1FBQWUsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUFDcEYsY0FBUyxHQUFULFNBQVM7UUFBcUIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtLQUFLOzs7Ozs7SUFFbEcsSUFBSSxDQUFDLE9BQW1DLEVBQUUsT0FBYTtRQUNuRCxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwRCxJQUFJLENBQUMseUJBQXlCLENBQUMsdUJBQXVCLENBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUN4RixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDMUI7Ozs7SUFFRCxLQUFLO1FBQ0QsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUV2QixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ3hGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2FBQzNCO1NBQ0o7S0FDSjs7Ozs7O0lBRU8sY0FBYyxDQUFDLE9BQWtDLEVBQUUsT0FBYTtRQUNwRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDWCxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDN0I7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUM7O1lBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsbUJBQWlCLE9BQU8sR0FBRSxPQUFPLENBQUMsQ0FBQztZQUM1RixNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdkQ7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RFOztDQUVSIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZ3VsYXIgbmctYm9vdHN0cmFwIHRlYW0gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcC9tYXN0ZXIvTElDRU5TRVxuICovXG5pbXBvcnQge1xuICAgIEluamVjdG9yLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBSZW5kZXJlcjIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIENvbnRlbnRSZWYge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBub2RlczogYW55W10sIHB1YmxpYyB2aWV3UmVmPzogVmlld1JlZiwgcHVibGljIGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxhbnk+KSB7IH1cbn1cblxuZXhwb3J0IGNsYXNzIFBvcHVwU2VydmljZTxUPiB7XG4gICAgcHJpdmF0ZSBfd2luZG93UmVmOiBDb21wb25lbnRSZWY8VD47XG4gICAgcHJpdmF0ZSBfY29udGVudFJlZjogQ29udGVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF90eXBlOiBhbnksIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHsgfVxuXG4gICAgb3Blbihjb250ZW50Pzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8YW55PiwgY29udGV4dD86IGFueSk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgICAgIGlmICghdGhpcy5fd2luZG93UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50UmVmID0gdGhpcy5fZ2V0Q29udGVudFJlZihjb250ZW50LCBjb250ZXh0KTtcbiAgICAgICAgICAgIHRoaXMuX3dpbmRvd1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeTxUPih0aGlzLl90eXBlKSwgMCwgdGhpcy5faW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgdGhpcy5fY29udGVudFJlZi5ub2Rlcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fd2luZG93UmVmO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICBpZiAodGhpcy5fd2luZG93UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLnJlbW92ZSh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluZGV4T2YodGhpcy5fd2luZG93UmVmLmhvc3RWaWV3KSk7XG4gICAgICAgICAgICB0aGlzLl93aW5kb3dSZWYgPSBudWxsO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5fY29udGVudFJlZi52aWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5yZW1vdmUodGhpcy5fdmlld0NvbnRhaW5lclJlZi5pbmRleE9mKHRoaXMuX2NvbnRlbnRSZWYudmlld1JlZikpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRlbnRSZWYgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0Q29udGVudFJlZihjb250ZW50OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+LCBjb250ZXh0PzogYW55KTogQ29udGVudFJlZiB7XG4gICAgICAgIGlmICghY29udGVudCkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDb250ZW50UmVmKFtdKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZW50IGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyg8VGVtcGxhdGVSZWY8VD4+Y29udGVudCwgY29udGV4dCk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRSZWYoW3ZpZXdSZWYucm9vdE5vZGVzXSwgdmlld1JlZik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENvbnRlbnRSZWYoW1t0aGlzLl9yZW5kZXJlci5jcmVhdGVUZXh0KGAke2NvbnRlbnR9YCldXSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=