@ionic/angular 8.8.9-dev.11781013468.1ed93da9 → 8.8.9-dev.11781024903.1e4268e5

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 (244) hide show
  1. package/README.md +1 -1
  2. package/app-initialize.d.ts +3 -0
  3. package/common/directives/control-value-accessors/index.d.ts +1 -0
  4. package/common/directives/control-value-accessors/value-accessor.d.ts +36 -0
  5. package/common/directives/navigation/back-button.d.ts +23 -0
  6. package/common/directives/navigation/nav-params.d.ts +45 -0
  7. package/common/directives/navigation/nav.d.ts +21 -0
  8. package/common/directives/navigation/router-link-delegate.d.ts +60 -0
  9. package/common/directives/navigation/router-outlet.d.ts +104 -0
  10. package/common/directives/navigation/stack-controller.d.ts +42 -0
  11. package/common/directives/navigation/stack-utils.d.ts +38 -0
  12. package/common/directives/navigation/tabs.d.ts +83 -0
  13. package/common/index.d.ts +22 -0
  14. package/common/overlays/modal.d.ts +62 -0
  15. package/common/overlays/popover.d.ts +46 -0
  16. package/common/providers/angular-delegate.d.ts +28 -0
  17. package/common/providers/config.d.ts +11 -0
  18. package/common/providers/dom-controller.d.ts +16 -0
  19. package/common/providers/menu-controller.d.ts +78 -0
  20. package/common/providers/nav-controller.d.ts +116 -0
  21. package/common/providers/platform.d.ts +174 -0
  22. package/common/types/interfaces.d.ts +8 -0
  23. package/common/types/ionic-lifecycle-hooks.d.ts +27 -0
  24. package/common/types/overlay-options.d.ts +16 -0
  25. package/common/utils/overlay.d.ts +21 -0
  26. package/common/utils/proxy.d.ts +8 -0
  27. package/common/utils/routing.d.ts +28 -0
  28. package/common/utils/util.d.ts +1 -0
  29. package/css/core.css +1 -1
  30. package/css/core.css.map +1 -1
  31. package/css/display.css +1 -1
  32. package/css/display.css.map +1 -1
  33. package/css/flex-utils.css +1 -1
  34. package/css/flex-utils.css.map +1 -1
  35. package/css/float-elements.css.map +1 -1
  36. package/css/global.bundle.css.map +1 -1
  37. package/css/ionic/bundle.ionic.css +1 -0
  38. package/css/ionic/bundle.ionic.css.map +1 -0
  39. package/css/ionic/core.ionic.css +1 -0
  40. package/css/ionic/core.ionic.css.map +1 -0
  41. package/css/ionic/global.bundle.ionic.css +1 -0
  42. package/css/ionic/global.bundle.ionic.css.map +1 -0
  43. package/css/ionic/ionic-swiper.ionic.css +1 -0
  44. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  45. package/css/ionic/link.ionic.css +1 -0
  46. package/css/ionic/link.ionic.css.map +1 -0
  47. package/css/ionic/structure.ionic.css +1 -0
  48. package/css/ionic/structure.ionic.css.map +1 -0
  49. package/css/ionic/typography.ionic.css +1 -0
  50. package/css/ionic/typography.ionic.css.map +1 -0
  51. package/css/ionic/utils.bundle.ionic.css +1 -0
  52. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  53. package/css/ionic-swiper.css +1 -1
  54. package/css/ionic-swiper.css.map +1 -1
  55. package/css/ionic.bundle.css +1 -1
  56. package/css/ionic.bundle.css.map +1 -1
  57. package/css/normalize.css.map +1 -1
  58. package/css/padding.css.map +1 -1
  59. package/css/palettes/dark.always.css.map +1 -1
  60. package/css/palettes/dark.class.css.map +1 -1
  61. package/css/palettes/dark.system.css.map +1 -1
  62. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  63. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  64. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  65. package/css/palettes/high-contrast.always.css.map +1 -1
  66. package/css/palettes/high-contrast.class.css.map +1 -1
  67. package/css/palettes/high-contrast.system.css.map +1 -1
  68. package/css/structure.css.map +1 -1
  69. package/css/text-alignment.css.map +1 -1
  70. package/css/text-transformation.css.map +1 -1
  71. package/css/typography.css.map +1 -1
  72. package/css/utils.bundle.css +1 -1
  73. package/css/utils.bundle.css.map +1 -1
  74. package/directives/angular-component-lib/utils.d.ts +9 -0
  75. package/directives/control-value-accessors/boolean-value-accessor.d.ts +10 -0
  76. package/directives/control-value-accessors/index.d.ts +4 -0
  77. package/directives/control-value-accessors/numeric-value-accessor.d.ts +11 -0
  78. package/directives/control-value-accessors/select-value-accessor.d.ts +9 -0
  79. package/directives/control-value-accessors/text-value-accessor.d.ts +9 -0
  80. package/directives/navigation/ion-back-button.d.ts +9 -0
  81. package/directives/navigation/ion-nav.d.ts +8 -0
  82. package/directives/navigation/ion-router-outlet.d.ts +25 -0
  83. package/directives/navigation/ion-tabs.d.ts +13 -0
  84. package/directives/navigation/router-link-delegate.d.ts +16 -0
  85. package/directives/overlays/modal.d.ts +6 -0
  86. package/directives/overlays/popover.d.ts +6 -0
  87. package/directives/proxies-list.d.ts +2 -0
  88. package/{types/ionic-angular.d.ts → directives/proxies.d.ts} +469 -703
  89. package/directives/validators/index.d.ts +2 -0
  90. package/directives/validators/max-validator.d.ts +12 -0
  91. package/directives/validators/min-validator.d.ts +12 -0
  92. package/esm2022/app-initialize.mjs +29 -0
  93. package/esm2022/common/directives/control-value-accessors/index.mjs +2 -0
  94. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +153 -0
  95. package/esm2022/common/directives/navigation/back-button.mjs +61 -0
  96. package/esm2022/common/directives/navigation/nav-params.mjs +47 -0
  97. package/esm2022/common/directives/navigation/nav.mjs +49 -0
  98. package/esm2022/common/directives/navigation/router-link-delegate.mjs +156 -0
  99. package/esm2022/common/directives/navigation/router-outlet.mjs +480 -0
  100. package/esm2022/common/directives/navigation/stack-controller.mjs +280 -0
  101. package/esm2022/common/directives/navigation/stack-utils.mjs +73 -0
  102. package/esm2022/common/directives/navigation/tabs.mjs +279 -0
  103. package/esm2022/common/index.mjs +20 -0
  104. package/esm2022/common/ionic-angular-common.mjs +5 -0
  105. package/esm2022/common/overlays/modal.mjs +103 -0
  106. package/esm2022/common/overlays/popover.mjs +91 -0
  107. package/esm2022/common/providers/angular-delegate.mjs +203 -0
  108. package/esm2022/common/providers/config.mjs +45 -0
  109. package/esm2022/common/providers/dom-controller.mjs +45 -0
  110. package/esm2022/common/providers/menu-controller.mjs +114 -0
  111. package/esm2022/common/providers/nav-controller.mjs +235 -0
  112. package/esm2022/common/providers/platform.mjs +258 -0
  113. package/esm2022/common/types/interfaces.mjs +2 -0
  114. package/esm2022/common/types/ionic-lifecycle-hooks.mjs +5 -0
  115. package/esm2022/common/types/overlay-options.mjs +2 -0
  116. package/esm2022/common/utils/overlay.mjs +26 -0
  117. package/esm2022/common/utils/proxy.mjs +47 -0
  118. package/esm2022/common/utils/routing.mjs +55 -0
  119. package/esm2022/common/utils/util.mjs +10 -0
  120. package/esm2022/directives/angular-component-lib/utils.mjs +59 -0
  121. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +42 -0
  122. package/esm2022/directives/control-value-accessors/index.mjs +5 -0
  123. package/esm2022/directives/control-value-accessors/numeric-value-accessor.mjs +50 -0
  124. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +39 -0
  125. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +38 -0
  126. package/esm2022/directives/navigation/ion-back-button.mjs +24 -0
  127. package/esm2022/directives/navigation/ion-nav.mjs +21 -0
  128. package/esm2022/directives/navigation/ion-router-outlet.mjs +52 -0
  129. package/esm2022/directives/navigation/ion-tabs.mjs +59 -0
  130. package/esm2022/directives/navigation/router-link-delegate.mjs +32 -0
  131. package/esm2022/directives/overlays/modal.mjs +22 -0
  132. package/esm2022/directives/overlays/popover.mjs +18 -0
  133. package/esm2022/directives/proxies-list.mjs +92 -0
  134. package/esm2022/directives/proxies.mjs +2438 -0
  135. package/esm2022/directives/validators/index.mjs +3 -0
  136. package/esm2022/directives/validators/max-validator.mjs +27 -0
  137. package/esm2022/directives/validators/min-validator.mjs +27 -0
  138. package/esm2022/index.mjs +32 -0
  139. package/esm2022/ionic-angular.mjs +5 -0
  140. package/esm2022/ionic-module.mjs +111 -0
  141. package/esm2022/providers/action-sheet-controller.mjs +19 -0
  142. package/esm2022/providers/alert-controller.mjs +19 -0
  143. package/esm2022/providers/animation-controller.mjs +38 -0
  144. package/esm2022/providers/gesture-controller.mjs +33 -0
  145. package/esm2022/providers/loading-controller.mjs +19 -0
  146. package/esm2022/providers/menu-controller.mjs +19 -0
  147. package/esm2022/providers/modal-controller.mjs +26 -0
  148. package/esm2022/providers/picker-controller.mjs +22 -0
  149. package/esm2022/providers/popover-controller.mjs +19 -0
  150. package/esm2022/providers/toast-controller.mjs +19 -0
  151. package/esm2022/standalone/directives/angular-component-lib/utils.mjs +59 -0
  152. package/esm2022/standalone/directives/checkbox.mjs +76 -0
  153. package/esm2022/standalone/directives/datetime.mjs +95 -0
  154. package/esm2022/standalone/directives/icon.mjs +35 -0
  155. package/esm2022/standalone/directives/index.mjs +13 -0
  156. package/esm2022/standalone/directives/input-otp.mjs +90 -0
  157. package/esm2022/standalone/directives/input.mjs +113 -0
  158. package/esm2022/standalone/directives/proxies.mjs +2326 -0
  159. package/esm2022/standalone/directives/radio-group.mjs +60 -0
  160. package/esm2022/standalone/directives/range.mjs +78 -0
  161. package/esm2022/standalone/directives/searchbar.mjs +82 -0
  162. package/esm2022/standalone/directives/segment.mjs +60 -0
  163. package/esm2022/standalone/directives/select.mjs +84 -0
  164. package/esm2022/standalone/directives/textarea.mjs +91 -0
  165. package/esm2022/standalone/directives/toggle.mjs +76 -0
  166. package/esm2022/standalone/index.mjs +25 -0
  167. package/esm2022/standalone/ionic-angular-standalone.mjs +5 -0
  168. package/esm2022/standalone/navigation/back-button.mjs +32 -0
  169. package/esm2022/standalone/navigation/nav.mjs +28 -0
  170. package/esm2022/standalone/navigation/router-link-delegate.mjs +28 -0
  171. package/esm2022/standalone/navigation/router-outlet.mjs +60 -0
  172. package/esm2022/standalone/navigation/tabs.mjs +58 -0
  173. package/esm2022/standalone/overlays/modal.mjs +32 -0
  174. package/esm2022/standalone/overlays/popover.mjs +28 -0
  175. package/esm2022/standalone/providers/action-sheet-controller.mjs +21 -0
  176. package/esm2022/standalone/providers/alert-controller.mjs +21 -0
  177. package/esm2022/standalone/providers/animation-controller.mjs +38 -0
  178. package/esm2022/standalone/providers/gesture-controller.mjs +33 -0
  179. package/esm2022/standalone/providers/ionic-angular.mjs +38 -0
  180. package/esm2022/standalone/providers/loading-controller.mjs +21 -0
  181. package/esm2022/standalone/providers/menu-controller.mjs +19 -0
  182. package/esm2022/standalone/providers/modal-controller.mjs +28 -0
  183. package/esm2022/standalone/providers/picker-controller.mjs +24 -0
  184. package/esm2022/standalone/providers/popover-controller.mjs +21 -0
  185. package/esm2022/standalone/providers/toast-controller.mjs +21 -0
  186. package/fesm2022/ionic-angular-common.mjs +84 -96
  187. package/fesm2022/ionic-angular-common.mjs.map +1 -1
  188. package/fesm2022/ionic-angular-standalone.mjs +882 -903
  189. package/fesm2022/ionic-angular-standalone.mjs.map +1 -1
  190. package/fesm2022/ionic-angular.mjs +744 -1065
  191. package/fesm2022/ionic-angular.mjs.map +1 -1
  192. package/index.d.ts +27 -0
  193. package/ionic-module.d.ts +28 -0
  194. package/package.json +16 -16
  195. package/providers/action-sheet-controller.d.ts +8 -0
  196. package/providers/alert-controller.d.ts +8 -0
  197. package/providers/animation-controller.d.ts +25 -0
  198. package/providers/gesture-controller.d.ts +13 -0
  199. package/providers/loading-controller.d.ts +8 -0
  200. package/providers/menu-controller.d.ts +7 -0
  201. package/providers/modal-controller.d.ts +12 -0
  202. package/providers/picker-controller.d.ts +11 -0
  203. package/providers/popover-controller.d.ts +9 -0
  204. package/providers/toast-controller.d.ts +8 -0
  205. package/schematics/add/index.js +1 -1
  206. package/schematics/utils/ast.js +2 -1
  207. package/schematics/utils/config.js +11 -10
  208. package/schematics/utils/package.js +2 -1
  209. package/standalone/directives/angular-component-lib/utils.d.ts +9 -0
  210. package/standalone/directives/checkbox.d.ts +30 -0
  211. package/standalone/directives/datetime.d.ts +30 -0
  212. package/standalone/directives/icon.d.ts +9 -0
  213. package/standalone/directives/index.d.ts +12 -0
  214. package/standalone/directives/input-otp.d.ts +49 -0
  215. package/standalone/directives/input.d.ts +47 -0
  216. package/standalone/directives/proxies.d.ts +1053 -0
  217. package/standalone/directives/radio-group.d.ts +18 -0
  218. package/standalone/directives/range.d.ts +47 -0
  219. package/standalone/directives/searchbar.d.ts +45 -0
  220. package/standalone/directives/segment.d.ts +19 -0
  221. package/standalone/directives/select.d.ts +34 -0
  222. package/standalone/directives/textarea.d.ts +37 -0
  223. package/standalone/directives/toggle.d.ts +28 -0
  224. package/standalone/index.d.ts +23 -0
  225. package/standalone/navigation/back-button.d.ts +9 -0
  226. package/standalone/navigation/nav.d.ts +8 -0
  227. package/standalone/navigation/router-link-delegate.d.ts +10 -0
  228. package/standalone/navigation/router-outlet.d.ts +25 -0
  229. package/standalone/navigation/tabs.d.ts +13 -0
  230. package/standalone/overlays/modal.d.ts +6 -0
  231. package/standalone/overlays/popover.d.ts +6 -0
  232. package/standalone/providers/action-sheet-controller.d.ts +8 -0
  233. package/standalone/providers/alert-controller.d.ts +8 -0
  234. package/standalone/providers/animation-controller.d.ts +25 -0
  235. package/standalone/providers/gesture-controller.d.ts +13 -0
  236. package/standalone/providers/ionic-angular.d.ts +7 -0
  237. package/standalone/providers/loading-controller.d.ts +8 -0
  238. package/standalone/providers/menu-controller.d.ts +7 -0
  239. package/standalone/providers/modal-controller.d.ts +12 -0
  240. package/standalone/providers/picker-controller.d.ts +11 -0
  241. package/standalone/providers/popover-controller.d.ts +9 -0
  242. package/standalone/providers/toast-controller.d.ts +8 -0
  243. package/types/ionic-angular-common.d.ts +0 -1013
  244. package/types/ionic-angular-standalone.d.ts +0 -1560
@@ -0,0 +1,235 @@
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { NavigationStart, NavigationCancel, NavigationError, } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./platform";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/router";
7
+ class NavController {
8
+ location;
9
+ serializer;
10
+ router;
11
+ topOutlet;
12
+ direction = DEFAULT_DIRECTION;
13
+ animated = DEFAULT_ANIMATED;
14
+ animationBuilder;
15
+ guessDirection = 'forward';
16
+ guessAnimation;
17
+ lastNavId = -1;
18
+ constructor(platform, location, serializer, router) {
19
+ this.location = location;
20
+ this.serializer = serializer;
21
+ this.router = router;
22
+ // Subscribe to router events to detect direction
23
+ if (router) {
24
+ router.events.subscribe((ev) => {
25
+ if (ev instanceof NavigationStart) {
26
+ // restoredState is set if the browser back/forward button is used
27
+ const id = ev.restoredState ? ev.restoredState.navigationId : ev.id;
28
+ this.guessDirection = this.guessAnimation = id < this.lastNavId ? 'back' : 'forward';
29
+ this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;
30
+ }
31
+ // Reset explicit direction when navigation is canceled (e.g., guard rejection)
32
+ // to prevent stale direction from leaking into the next navigation
33
+ if (ev instanceof NavigationCancel || ev instanceof NavigationError) {
34
+ this.direction = DEFAULT_DIRECTION;
35
+ this.animated = DEFAULT_ANIMATED;
36
+ this.animationBuilder = undefined;
37
+ }
38
+ });
39
+ }
40
+ // Subscribe to backButton events
41
+ platform.backButton.subscribeWithPriority(0, (processNextHandler) => {
42
+ this.pop();
43
+ processNextHandler();
44
+ });
45
+ }
46
+ /**
47
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
48
+ * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.
49
+ *
50
+ * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),
51
+ * and that it will show a "forward" animation by default.
52
+ *
53
+ * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:
54
+ *
55
+ * ```html
56
+ * <a routerLink="/path/to/page" routerDirection="forward">Link</a>
57
+ * ```
58
+ */
59
+ navigateForward(url, options = {}) {
60
+ this.setDirection('forward', options.animated, options.animationDirection, options.animation);
61
+ return this.navigate(url, options);
62
+ }
63
+ /**
64
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
65
+ * it's equivalent to calling:
66
+ *
67
+ * ```ts
68
+ * this.navController.setDirection('back');
69
+ * this.router.navigateByUrl(path);
70
+ * ```
71
+ *
72
+ * Going **back** means that all the pages in the stack until the navigated page is found will be popped,
73
+ * and that it will show a "back" animation by default.
74
+ *
75
+ * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:
76
+ *
77
+ * ```html
78
+ * <a routerLink="/path/to/page" routerDirection="back">Link</a>
79
+ * ```
80
+ */
81
+ navigateBack(url, options = {}) {
82
+ this.setDirection('back', options.animated, options.animationDirection, options.animation);
83
+ return this.navigate(url, options);
84
+ }
85
+ /**
86
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
87
+ * it's equivalent to calling:
88
+ *
89
+ * ```ts
90
+ * this.navController.setDirection('root');
91
+ * this.router.navigateByUrl(path);
92
+ * ```
93
+ *
94
+ * Going **root** means that all existing pages in the stack will be removed,
95
+ * and the navigated page will become the single page in the stack.
96
+ *
97
+ * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:
98
+ *
99
+ * ```html
100
+ * <a routerLink="/path/to/page" routerDirection="root">Link</a>
101
+ * ```
102
+ */
103
+ navigateRoot(url, options = {}) {
104
+ this.setDirection('root', options.animated, options.animationDirection, options.animation);
105
+ return this.navigate(url, options);
106
+ }
107
+ /**
108
+ * Same as [Location](https://angular.io/api/common/Location)'s back() method.
109
+ * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation
110
+ * by default.
111
+ */
112
+ back(options = { animated: true, animationDirection: 'back' }) {
113
+ this.setDirection('back', options.animated, options.animationDirection, options.animation);
114
+ return this.location.back();
115
+ }
116
+ /**
117
+ * This methods goes back in the context of Ionic's stack navigation.
118
+ *
119
+ * It recursively finds the top active `ion-router-outlet` and calls `pop()`.
120
+ * This is the recommended way to go back when you are using `ion-router-outlet`.
121
+ *
122
+ * Resolves to `true` if it was able to pop.
123
+ */
124
+ async pop() {
125
+ let outlet = this.topOutlet;
126
+ while (outlet) {
127
+ if (await outlet.pop()) {
128
+ return true;
129
+ }
130
+ else {
131
+ outlet = outlet.parentOutlet;
132
+ }
133
+ }
134
+ return false;
135
+ }
136
+ /**
137
+ * This methods specifies the direction of the next navigation performed by the Angular router.
138
+ *
139
+ * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.
140
+ *
141
+ * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.
142
+ */
143
+ setDirection(direction, animated, animationDirection, animationBuilder) {
144
+ this.direction = direction;
145
+ this.animated = getAnimation(direction, animated, animationDirection);
146
+ this.animationBuilder = animationBuilder;
147
+ }
148
+ /**
149
+ * @internal
150
+ */
151
+ setTopOutlet(outlet) {
152
+ this.topOutlet = outlet;
153
+ }
154
+ /**
155
+ * @internal
156
+ */
157
+ consumeTransition() {
158
+ let direction = 'root';
159
+ let animation;
160
+ const animationBuilder = this.animationBuilder;
161
+ if (this.direction === 'auto') {
162
+ direction = this.guessDirection;
163
+ animation = this.guessAnimation;
164
+ }
165
+ else {
166
+ animation = this.animated;
167
+ direction = this.direction;
168
+ }
169
+ this.direction = DEFAULT_DIRECTION;
170
+ this.animated = DEFAULT_ANIMATED;
171
+ this.animationBuilder = undefined;
172
+ return {
173
+ direction,
174
+ animation,
175
+ animationBuilder,
176
+ };
177
+ }
178
+ navigate(url, options) {
179
+ if (Array.isArray(url)) {
180
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
181
+ return this.router.navigate(url, options);
182
+ }
183
+ else {
184
+ /**
185
+ * navigateByUrl ignores any properties that
186
+ * would change the url, so things like queryParams
187
+ * would be ignored unless we create a url tree
188
+ * More Info: https://github.com/angular/angular/issues/18798
189
+ */
190
+ const urlTree = this.serializer.parse(url.toString());
191
+ if (options.queryParams !== undefined) {
192
+ urlTree.queryParams = { ...options.queryParams };
193
+ }
194
+ if (options.fragment !== undefined) {
195
+ urlTree.fragment = options.fragment;
196
+ }
197
+ /**
198
+ * `navigateByUrl` will still apply `NavigationExtras` properties
199
+ * that do not modify the url, such as `replaceUrl` which is why
200
+ * `options` is passed in here.
201
+ */
202
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
203
+ return this.router.navigateByUrl(urlTree, options);
204
+ }
205
+ }
206
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, deps: [{ token: i1.Platform }, { token: i2.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
207
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, providedIn: 'root' });
208
+ }
209
+ export { NavController };
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavController, decorators: [{
211
+ type: Injectable,
212
+ args: [{
213
+ providedIn: 'root',
214
+ }]
215
+ }], ctorParameters: function () { return [{ type: i1.Platform }, { type: i2.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{
216
+ type: Optional
217
+ }] }]; } });
218
+ const getAnimation = (direction, animated, animationDirection) => {
219
+ if (animated === false) {
220
+ return undefined;
221
+ }
222
+ if (animationDirection !== undefined) {
223
+ return animationDirection;
224
+ }
225
+ if (direction === 'forward' || direction === 'back') {
226
+ return direction;
227
+ }
228
+ else if (direction === 'root' && animated === true) {
229
+ return 'forward';
230
+ }
231
+ return undefined;
232
+ };
233
+ const DEFAULT_DIRECTION = 'auto';
234
+ const DEFAULT_ANIMATED = undefined;
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21tb24vc3JjL3Byb3ZpZGVycy9uYXYtY29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBS0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBZXpCLE1BR2EsYUFBYTtJQVdkO0lBQ0E7SUFDWTtJQVpkLFNBQVMsQ0FBbUI7SUFDNUIsU0FBUyxHQUF5QyxpQkFBaUIsQ0FBQztJQUNwRSxRQUFRLEdBQWtCLGdCQUFnQixDQUFDO0lBQzNDLGdCQUFnQixDQUFvQjtJQUNwQyxjQUFjLEdBQW9CLFNBQVMsQ0FBQztJQUM1QyxjQUFjLENBQWdCO0lBQzlCLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV2QixZQUNFLFFBQWtCLEVBQ1YsUUFBa0IsRUFDbEIsVUFBeUIsRUFDYixNQUFlO1FBRjNCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBZTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVM7UUFFbkMsaURBQWlEO1FBQ2pELElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxFQUFFLFlBQVksZUFBZSxFQUFFO29CQUNqQyxrRUFBa0U7b0JBQ2xFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUNwRSxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHLElBQUks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QVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOYXZpZ2F0aW9uRXh0cmFzLFxuICBSb3V0ZXIsXG4gIFVybFNlcmlhbGl6ZXIsXG4gIFVybFRyZWUsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgTmF2aWdhdGlvbkNhbmNlbCxcbiAgTmF2aWdhdGlvbkVycm9yLFxufSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHR5cGUgeyBBbmltYXRpb25CdWlsZGVyLCBOYXZEaXJlY3Rpb24sIFJvdXRlckRpcmVjdGlvbiB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBJb25Sb3V0ZXJPdXRsZXQgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25hdmlnYXRpb24vcm91dGVyLW91dGxldCc7XG5cbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnLi9wbGF0Zm9ybSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5pbWF0aW9uT3B0aW9ucyB7XG4gIGFuaW1hdGVkPzogYm9vbGVhbjtcbiAgYW5pbWF0aW9uPzogQW5pbWF0aW9uQnVpbGRlcjtcbiAgYW5pbWF0aW9uRGlyZWN0aW9uPzogJ2ZvcndhcmQnIHwgJ2JhY2snO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIGV4dGVuZHMgTmF2aWdhdGlvbkV4dHJhcywgQW5pbWF0aW9uT3B0aW9ucyB7fVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2Q29udHJvbGxlciB7XG4gIHByaXZhdGUgdG9wT3V0bGV0PzogSW9uUm91dGVyT3V0bGV0O1xuICBwcml2YXRlIGRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2snIHwgJ3Jvb3QnIHwgJ2F1dG8nID0gREVGQVVMVF9ESVJFQ1RJT047XG4gIHByaXZhdGUgYW5pbWF0ZWQ/OiBOYXZEaXJlY3Rpb24gPSBERUZBVUxUX0FOSU1BVEVEO1xuICBwcml2YXRlIGFuaW1hdGlvbkJ1aWxkZXI/OiBBbmltYXRpb25CdWlsZGVyO1xuICBwcml2YXRlIGd1ZXNzRGlyZWN0aW9uOiBSb3V0ZXJEaXJlY3Rpb24gPSAnZm9yd2FyZCc7XG4gIHByaXZhdGUgZ3Vlc3NBbmltYXRpb24/OiBOYXZEaXJlY3Rpb247XG4gIHByaXZhdGUgbGFzdE5hdklkID0gLTE7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgc2VyaWFsaXplcjogVXJsU2VyaWFsaXplcixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcj86IFJvdXRlclxuICApIHtcbiAgICAvLyBTdWJzY3JpYmUgdG8gcm91dGVyIGV2ZW50cyB0byBkZXRlY3QgZGlyZWN0aW9uXG4gICAgaWYgKHJvdXRlcikge1xuICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICAgIGlmIChldiBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICAgIC8vIHJlc3RvcmVkU3RhdGUgaXMgc2V0IGlmIHRoZSBicm93c2VyIGJhY2svZm9yd2FyZCBidXR0b24gaXMgdXNlZFxuICAgICAgICAgIGNvbnN0IGlkID0gZXYucmVzdG9yZWRTdGF0ZSA/IGV2LnJlc3RvcmVkU3RhdGUubmF2aWdhdGlvbklkIDogZXYuaWQ7XG4gICAgICAgICAgdGhpcy5ndWVzc0RpcmVjdGlvbiA9IHRoaXMuZ3Vlc3NBbmltYXRpb24gPSBpZCA8IHRoaXMubGFzdE5hdklkID8gJ2JhY2snIDogJ2ZvcndhcmQnO1xuICAgICAgICAgIHRoaXMubGFzdE5hdklkID0gdGhpcy5ndWVzc0RpcmVjdGlvbiA9PT0gJ2ZvcndhcmQnID8gZXYuaWQgOiBpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlc2V0IGV4cGxpY2l0IGRpcmVjdGlvbiB3aGVuIG5hdmlnYXRpb24gaXMgY2FuY2VsZWQgKGUuZy4sIGd1YXJkIHJlamVjdGlvbilcbiAgICAgICAgLy8gdG8gcHJldmVudCBzdGFsZSBkaXJlY3Rpb24gZnJvbSBsZWFraW5nIGludG8gdGhlIG5leHQgbmF2aWdhdGlvblxuICAgICAgICBpZiAoZXYgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsIHx8IGV2IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVycm9yKSB7XG4gICAgICAgICAgdGhpcy5kaXJlY3Rpb24gPSBERUZBVUxUX0RJUkVDVElPTjtcbiAgICAgICAgICB0aGlzLmFuaW1hdGVkID0gREVGQVVMVF9BTklNQVRFRDtcbiAgICAgICAgICB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFN1YnNjcmliZSB0byBiYWNrQnV0dG9uIGV2ZW50c1xuICAgIHBsYXRmb3JtLmJhY2tCdXR0b24uc3Vic2NyaWJlV2l0aFByaW9yaXR5KDAsIChwcm9jZXNzTmV4dEhhbmRsZXIpID0+IHtcbiAgICAgIHRoaXMucG9wKCk7XG4gICAgICBwcm9jZXNzTmV4dEhhbmRsZXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB1c2VzIEFuZ3VsYXIncyBbUm91dGVyXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL3JvdXRlci9Sb3V0ZXIpIHVuZGVyIHRoZSBob29kLFxuICAgKiBpdCdzIGVxdWl2YWxlbnQgdG8gY2FsbGluZyBgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgpYCwgYnV0IGl0J3MgZXhwbGljaXQgYWJvdXQgdGhlICoqZGlyZWN0aW9uKiogb2YgdGhlIHRyYW5zaXRpb24uXG4gICAqXG4gICAqIEdvaW5nICoqZm9yd2FyZCoqIG1lYW5zIHRoYXQgYSBuZXcgcGFnZSBpcyBnb2luZyB0byBiZSBwdXNoZWQgdG8gdGhlIHN0YWNrIG9mIHRoZSBvdXRsZXQgKGlvbi1yb3V0ZXItb3V0bGV0KSxcbiAgICogYW5kIHRoYXQgaXQgd2lsbCBzaG93IGEgXCJmb3J3YXJkXCIgYW5pbWF0aW9uIGJ5IGRlZmF1bHQuXG4gICAqXG4gICAqIE5hdmlnYXRpbmcgZm9yd2FyZCBjYW4gYWxzbyBiZSB0cmlnZ2VyZWQgaW4gYSBkZWNsYXJhdGl2ZSBtYW5uZXIgYnkgdXNpbmcgdGhlIGBbcm91dGVyRGlyZWN0aW9uXWAgZGlyZWN0aXZlOlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqIDxhIHJvdXRlckxpbms9XCIvcGF0aC90by9wYWdlXCIgcm91dGVyRGlyZWN0aW9uPVwiZm9yd2FyZFwiPkxpbms8L2E+XG4gICAqIGBgYFxuICAgKi9cbiAgbmF2aWdhdGVGb3J3YXJkKHVybDogc3RyaW5nIHwgVXJsVHJlZSB8IGFueVtdLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucyA9IHt9KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdGhpcy5zZXREaXJlY3Rpb24oJ2ZvcndhcmQnLCBvcHRpb25zLmFuaW1hdGVkLCBvcHRpb25zLmFuaW1hdGlvbkRpcmVjdGlvbiwgb3B0aW9ucy5hbmltYXRpb24pO1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRlKHVybCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgdXNlcyBBbmd1bGFyJ3MgW1JvdXRlcl0oaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9yb3V0ZXIvUm91dGVyKSB1bmRlciB0aGUgaG9vZCxcbiAgICogaXQncyBlcXVpdmFsZW50IHRvIGNhbGxpbmc6XG4gICAqXG4gICAqIGBgYHRzXG4gICAqIHRoaXMubmF2Q29udHJvbGxlci5zZXREaXJlY3Rpb24oJ2JhY2snKTtcbiAgICogdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChwYXRoKTtcbiAgICogYGBgXG4gICAqXG4gICAqIEdvaW5nICoqYmFjayoqIG1lYW5zIHRoYXQgYWxsIHRoZSBwYWdlcyBpbiB0aGUgc3RhY2sgdW50aWwgdGhlIG5hdmlnYXRlZCBwYWdlIGlzIGZvdW5kIHdpbGwgYmUgcG9wcGVkLFxuICAgKiBhbmQgdGhhdCBpdCB3aWxsIHNob3cgYSBcImJhY2tcIiBhbmltYXRpb24gYnkgZGVmYXVsdC5cbiAgICpcbiAgICogTmF2aWdhdGluZyBiYWNrIGNhbiBhbHNvIGJlIHRyaWdnZXJlZCBpbiBhIGRlY2xhcmF0aXZlIG1hbm5lciBieSB1c2luZyB0aGUgYFtyb3V0ZXJEaXJlY3Rpb25dYCBkaXJlY3RpdmU6XG4gICAqXG4gICAqIGBgYGh0bWxcbiAgICogPGEgcm91dGVyTGluaz1cIi9wYXRoL3RvL3BhZ2VcIiByb3V0ZXJEaXJlY3Rpb249XCJiYWNrXCI+TGluazwvYT5cbiAgICogYGBgXG4gICAqL1xuICBuYXZpZ2F0ZUJhY2sodXJsOiBzdHJpbmcgfCBVcmxUcmVlIHwgYW55W10sIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zID0ge30pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICB0aGlzLnNldERpcmVjdGlvbignYmFjaycsIG9wdGlvbnMuYW5pbWF0ZWQsIG9wdGlvbnMuYW5pbWF0aW9uRGlyZWN0aW9uLCBvcHRpb25zLmFuaW1hdGlvbik7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGUodXJsLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZCB1c2VzIEFuZ3VsYXIncyBbUm91dGVyXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL3JvdXRlci9Sb3V0ZXIpIHVuZGVyIHRoZSBob29kLFxuICAgKiBpdCdzIGVxdWl2YWxlbnQgdG8gY2FsbGluZzpcbiAgICpcbiAgICogYGBgdHNcbiAgICogdGhpcy5uYXZDb250cm9sbGVyLnNldERpcmVjdGlvbigncm9vdCcpO1xuICAgKiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHBhdGgpO1xuICAgKiBgYGBcbiAgICpcbiAgICogR29pbmcgKipyb290KiogbWVhbnMgdGhhdCBhbGwgZXhpc3RpbmcgcGFnZXMgaW4gdGhlIHN0YWNrIHdpbGwgYmUgcmVtb3ZlZCxcbiAgICogYW5kIHRoZSBuYXZpZ2F0ZWQgcGFnZSB3aWxsIGJlY29tZSB0aGUgc2luZ2xlIHBhZ2UgaW4gdGhlIHN0YWNrLlxuICAgKlxuICAgKiBOYXZpZ2F0aW5nIHJvb3QgY2FuIGFsc28gYmUgdHJpZ2dlcmVkIGluIGEgZGVjbGFyYXRpdmUgbWFubmVyIGJ5IHVzaW5nIHRoZSBgW3JvdXRlckRpcmVjdGlvbl1gIGRpcmVjdGl2ZTpcbiAgICpcbiAgICogYGBgaHRtbFxuICAgKiA8YSByb3V0ZXJMaW5rPVwiL3BhdGgvdG8vcGFnZVwiIHJvdXRlckRpcmVjdGlvbj1cInJvb3RcIj5MaW5rPC9hPlxuICAgKiBgYGBcbiAgICovXG4gIG5hdmlnYXRlUm9vdCh1cmw6IHN0cmluZyB8IFVybFRyZWUgfCBhbnlbXSwgb3B0aW9uczogTmF2aWdhdGlvbk9wdGlvbnMgPSB7fSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHRoaXMuc2V0RGlyZWN0aW9uKCdyb290Jywgb3B0aW9ucy5hbmltYXRlZCwgb3B0aW9ucy5hbmltYXRpb25EaXJlY3Rpb24sIG9wdGlvbnMuYW5pbWF0aW9uKTtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0ZSh1cmwsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhbWUgYXMgW0xvY2F0aW9uXShodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9Mb2NhdGlvbikncyBiYWNrKCkgbWV0aG9kLlxuICAgKiBJdCB3aWxsIHVzZSB0aGUgc3RhbmRhcmQgYHdpbmRvdy5oaXN0b3J5LmJhY2soKWAgdW5kZXIgdGhlIGhvb2QsIGJ1dCBmZWF0dXJpbmcgYSBgYmFja2AgYW5pbWF0aW9uXG4gICAqIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBiYWNrKG9wdGlvbnM6IEFuaW1hdGlvbk9wdGlvbnMgPSB7IGFuaW1hdGVkOiB0cnVlLCBhbmltYXRpb25EaXJlY3Rpb246ICdiYWNrJyB9KTogdm9pZCB7XG4gICAgdGhpcy5zZXREaXJlY3Rpb24oJ2JhY2snLCBvcHRpb25zLmFuaW1hdGVkLCBvcHRpb25zLmFuaW1hdGlvbkRpcmVjdGlvbiwgb3B0aW9ucy5hbmltYXRpb24pO1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uLmJhY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIG1ldGhvZHMgZ29lcyBiYWNrIGluIHRoZSBjb250ZXh0IG9mIElvbmljJ3Mgc3RhY2sgbmF2aWdhdGlvbi5cbiAgICpcbiAgICogSXQgcmVjdXJzaXZlbHkgZmluZHMgdGhlIHRvcCBhY3RpdmUgYGlvbi1yb3V0ZXItb3V0bGV0YCBhbmQgY2FsbHMgYHBvcCgpYC5cbiAgICogVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGdvIGJhY2sgd2hlbiB5b3UgYXJlIHVzaW5nIGBpb24tcm91dGVyLW91dGxldGAuXG4gICAqXG4gICAqIFJlc29sdmVzIHRvIGB0cnVlYCBpZiBpdCB3YXMgYWJsZSB0byBwb3AuXG4gICAqL1xuICBhc3luYyBwb3AoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgbGV0IG91dGxldCA9IHRoaXMudG9wT3V0bGV0O1xuXG4gICAgd2hpbGUgKG91dGxldCkge1xuICAgICAgaWYgKGF3YWl0IG91dGxldC5wb3AoKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dGxldCA9IG91dGxldC5wYXJlbnRPdXRsZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kcyBzcGVjaWZpZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgbmV4dCBuYXZpZ2F0aW9uIHBlcmZvcm1lZCBieSB0aGUgQW5ndWxhciByb3V0ZXIuXG4gICAqXG4gICAqIGBzZXREaXJlY3Rpb24oKWAgZG9lcyBub3QgdHJpZ2dlciBhbnkgdHJhbnNpdGlvbiwgaXQganVzdCBzZXRzIHNvbWUgZmxhZ3MgdG8gYmUgY29uc3VtZWQgYnkgYGlvbi1yb3V0ZXItb3V0bGV0YC5cbiAgICpcbiAgICogSXQncyByZWNvbW1lbmRlZCB0byB1c2UgYG5hdmlnYXRlRm9yd2FyZCgpYCwgYG5hdmlnYXRlQmFjaygpYCBhbmQgYG5hdmlnYXRlUm9vdCgpYCBpbnN0ZWFkIG9mIGBzZXREaXJlY3Rpb24oKWAuXG4gICAqL1xuICBzZXREaXJlY3Rpb24oXG4gICAgZGlyZWN0aW9uOiBSb3V0ZXJEaXJlY3Rpb24sXG4gICAgYW5pbWF0ZWQ/OiBib29sZWFuLFxuICAgIGFuaW1hdGlvbkRpcmVjdGlvbj86ICdmb3J3YXJkJyB8ICdiYWNrJyxcbiAgICBhbmltYXRpb25CdWlsZGVyPzogQW5pbWF0aW9uQnVpbGRlclxuICApOiB2b2lkIHtcbiAgICB0aGlzLmRpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgICB0aGlzLmFuaW1hdGVkID0gZ2V0QW5pbWF0aW9uKGRpcmVjdGlvbiwgYW5pbWF0ZWQsIGFuaW1hdGlvbkRpcmVjdGlvbik7XG4gICAgdGhpcy5hbmltYXRpb25CdWlsZGVyID0gYW5pbWF0aW9uQnVpbGRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNldFRvcE91dGxldChvdXRsZXQ6IElvblJvdXRlck91dGxldCk6IHZvaWQge1xuICAgIHRoaXMudG9wT3V0bGV0ID0gb3V0bGV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3VtZVRyYW5zaXRpb24oKToge1xuICAgIGRpcmVjdGlvbjogUm91dGVyRGlyZWN0aW9uO1xuICAgIGFuaW1hdGlvbjogTmF2RGlyZWN0aW9uIHwgdW5kZWZpbmVkO1xuICAgIGFuaW1hdGlvbkJ1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXIgfCB1bmRlZmluZWQ7XG4gIH0ge1xuICAgIGxldCBkaXJlY3Rpb246IFJvdXRlckRpcmVjdGlvbiA9ICdyb290JztcbiAgICBsZXQgYW5pbWF0aW9uOiBOYXZEaXJlY3Rpb24gfCB1bmRlZmluZWQ7XG4gICAgY29uc3QgYW5pbWF0aW9uQnVpbGRlciA9IHRoaXMuYW5pbWF0aW9uQnVpbGRlcjtcblxuICAgIGlmICh0aGlzLmRpcmVjdGlvbiA9PT0gJ2F1dG8nKSB7XG4gICAgICBkaXJlY3Rpb24gPSB0aGlzLmd1ZXNzRGlyZWN0aW9uO1xuICAgICAgYW5pbWF0aW9uID0gdGhpcy5ndWVzc0FuaW1hdGlvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgYW5pbWF0aW9uID0gdGhpcy5hbmltYXRlZDtcbiAgICAgIGRpcmVjdGlvbiA9IHRoaXMuZGlyZWN0aW9uO1xuICAgIH1cbiAgICB0aGlzLmRpcmVjdGlvbiA9IERFRkFVTFRfRElSRUNUSU9OO1xuICAgIHRoaXMuYW5pbWF0ZWQgPSBERUZBVUxUX0FOSU1BVEVEO1xuICAgIHRoaXMuYW5pbWF0aW9uQnVpbGRlciA9IHVuZGVmaW5lZDtcblxuICAgIHJldHVybiB7XG4gICAgICBkaXJlY3Rpb24sXG4gICAgICBhbmltYXRpb24sXG4gICAgICBhbmltYXRpb25CdWlsZGVyLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlKHVybDogc3RyaW5nIHwgVXJsVHJlZSB8IGFueVtdLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucykge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHVybCkpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIhLm5hdmlnYXRlKHVybCwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8qKlxuICAgICAgICogbmF2aWdhdGVCeVVybCBpZ25vcmVzIGFueSBwcm9wZXJ0aWVzIHRoYXRcbiAgICAgICAqIHdvdWxkIGNoYW5nZSB0aGUgdXJsLCBzbyB0aGluZ3MgbGlrZSBxdWVyeVBhcmFtc1xuICAgICAgICogd291bGQgYmUgaWdub3JlZCB1bmxlc3Mgd2UgY3JlYXRlIGEgdXJsIHRyZWVcbiAgICAgICAqIE1vcmUgSW5mbzogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTg3OThcbiAgICAgICAqL1xuICAgICAgY29uc3QgdXJsVHJlZSA9IHRoaXMuc2VyaWFsaXplci5wYXJzZSh1cmwudG9TdHJpbmcoKSk7XG5cbiAgICAgIGlmIChvcHRpb25zLnF1ZXJ5UGFyYW1zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdXJsVHJlZS5xdWVyeVBhcmFtcyA9IHsgLi4ub3B0aW9ucy5xdWVyeVBhcmFtcyB9O1xuICAgICAgfVxuXG4gICAgICBpZiAob3B0aW9ucy5mcmFnbWVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVybFRyZWUuZnJhZ21lbnQgPSBvcHRpb25zLmZyYWdtZW50O1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIGBuYXZpZ2F0ZUJ5VXJsYCB3aWxsIHN0aWxsIGFwcGx5IGBOYXZpZ2F0aW9uRXh0cmFzYCBwcm9wZXJ0aWVzXG4gICAgICAgKiB0aGF0IGRvIG5vdCBtb2RpZnkgdGhlIHVybCwgc3VjaCBhcyBgcmVwbGFjZVVybGAgd2hpY2ggaXMgd2h5XG4gICAgICAgKiBgb3B0aW9uc2AgaXMgcGFzc2VkIGluIGhlcmUuXG4gICAgICAgKi9cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIhLm5hdmlnYXRlQnlVcmwodXJsVHJlZSwgb3B0aW9ucyk7XG4gICAgfVxuICB9XG59XG5cbmNvbnN0IGdldEFuaW1hdGlvbiA9IChcbiAgZGlyZWN0aW9uOiBSb3V0ZXJEaXJlY3Rpb24sXG4gIGFuaW1hdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICBhbmltYXRpb25EaXJlY3Rpb246ICdmb3J3YXJkJyB8ICdiYWNrJyB8IHVuZGVmaW5lZFxuKTogTmF2RGlyZWN0aW9uIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKGFuaW1hdGVkID09PSBmYWxzZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKGFuaW1hdGlvbkRpcmVjdGlvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGFuaW1hdGlvbkRpcmVjdGlvbjtcbiAgfVxuICBpZiAoZGlyZWN0aW9uID09PSAnZm9yd2FyZCcgfHwgZGlyZWN0aW9uID09PSAnYmFjaycpIHtcbiAgICByZXR1cm4gZGlyZWN0aW9uO1xuICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3Jvb3QnICYmIGFuaW1hdGVkID09PSB0cnVlKSB7XG4gICAgcmV0dXJuICdmb3J3YXJkJztcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuY29uc3QgREVGQVVMVF9ESVJFQ1RJT04gPSAnYXV0byc7XG5jb25zdCBERUZBVUxUX0FOSU1BVEVEID0gdW5kZWZpbmVkO1xuIl19
@@ -0,0 +1,258 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { getPlatforms, isPlatform } from '@ionic/core/components';
4
+ import { Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ class Platform {
7
+ doc;
8
+ _readyPromise;
9
+ win;
10
+ /**
11
+ * @hidden
12
+ */
13
+ backButton = new Subject();
14
+ /**
15
+ * The keyboardDidShow event emits when the
16
+ * on-screen keyboard is presented.
17
+ */
18
+ keyboardDidShow = new Subject();
19
+ /**
20
+ * The keyboardDidHide event emits when the
21
+ * on-screen keyboard is hidden.
22
+ */
23
+ keyboardDidHide = new Subject();
24
+ /**
25
+ * The pause event emits when the native platform puts the application
26
+ * into the background, typically when the user switches to a different
27
+ * application. This event would emit when a Cordova app is put into
28
+ * the background, however, it would not fire on a standard web browser.
29
+ */
30
+ pause = new Subject();
31
+ /**
32
+ * The resume event emits when the native platform pulls the application
33
+ * out from the background. This event would emit when a Cordova app comes
34
+ * out from the background, however, it would not fire on a standard web browser.
35
+ */
36
+ resume = new Subject();
37
+ /**
38
+ * The resize event emits when the browser window has changed dimensions. This
39
+ * could be from a browser window being physically resized, or from a device
40
+ * changing orientation.
41
+ */
42
+ resize = new Subject();
43
+ constructor(doc, zone) {
44
+ this.doc = doc;
45
+ zone.run(() => {
46
+ this.win = doc.defaultView;
47
+ this.backButton.subscribeWithPriority = function (priority, callback) {
48
+ return this.subscribe((ev) => {
49
+ return ev.register(priority, (processNextHandler) => zone.run(() => callback(processNextHandler)));
50
+ });
51
+ };
52
+ proxyEvent(this.pause, doc, 'pause', zone);
53
+ proxyEvent(this.resume, doc, 'resume', zone);
54
+ proxyEvent(this.backButton, doc, 'ionBackButton', zone);
55
+ proxyEvent(this.resize, this.win, 'resize', zone);
56
+ proxyEvent(this.keyboardDidShow, this.win, 'ionKeyboardDidShow', zone);
57
+ proxyEvent(this.keyboardDidHide, this.win, 'ionKeyboardDidHide', zone);
58
+ let readyResolve;
59
+ this._readyPromise = new Promise((res) => {
60
+ readyResolve = res;
61
+ });
62
+ if (this.win?.['cordova']) {
63
+ doc.addEventListener('deviceready', () => {
64
+ readyResolve('cordova');
65
+ }, { once: true });
66
+ }
67
+ else {
68
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
69
+ readyResolve('dom');
70
+ }
71
+ });
72
+ }
73
+ /**
74
+ * @returns returns true/false based on platform.
75
+ * @description
76
+ * Depending on the platform the user is on, `is(platformName)` will
77
+ * return `true` or `false`. Note that the same app can return `true`
78
+ * for more than one platform name. For example, an app running from
79
+ * an iPad would return `true` for the platform names: `mobile`,
80
+ * `ios`, `ipad`, and `tablet`. Additionally, if the app was running
81
+ * from Cordova then `cordova` would be true, and if it was running
82
+ * from a web browser on the iPad then `mobileweb` would be `true`.
83
+ *
84
+ * ```
85
+ * import { Platform } from 'ionic-angular';
86
+ *
87
+ * @Component({...})
88
+ * export MyPage {
89
+ * constructor(public platform: Platform) {
90
+ * if (this.platform.is('ios')) {
91
+ * // This will only print when on iOS
92
+ * console.log('I am an iOS device!');
93
+ * }
94
+ * }
95
+ * }
96
+ * ```
97
+ *
98
+ * | Platform Name | Description |
99
+ * |-----------------|------------------------------------|
100
+ * | android | on a device running Android. |
101
+ * | capacitor | on a device running Capacitor. |
102
+ * | cordova | on a device running Cordova. |
103
+ * | ios | on a device running iOS. |
104
+ * | ipad | on an iPad device. |
105
+ * | iphone | on an iPhone device. |
106
+ * | phablet | on a phablet device. |
107
+ * | tablet | on a tablet device. |
108
+ * | electron | in Electron on a desktop device. |
109
+ * | pwa | as a PWA app. |
110
+ * | mobile | on a mobile device. |
111
+ * | mobileweb | on a mobile device in a browser. |
112
+ * | desktop | on a desktop device. |
113
+ * | hybrid | is a cordova or capacitor app. |
114
+ *
115
+ */
116
+ is(platformName) {
117
+ return isPlatform(this.win, platformName);
118
+ }
119
+ /**
120
+ * @returns the array of platforms
121
+ * @description
122
+ * Depending on what device you are on, `platforms` can return multiple values.
123
+ * Each possible value is a hierarchy of platforms. For example, on an iPhone,
124
+ * it would return `mobile`, `ios`, and `iphone`.
125
+ *
126
+ * ```
127
+ * import { Platform } from 'ionic-angular';
128
+ *
129
+ * @Component({...})
130
+ * export MyPage {
131
+ * constructor(public platform: Platform) {
132
+ * // This will print an array of the current platforms
133
+ * console.log(this.platform.platforms());
134
+ * }
135
+ * }
136
+ * ```
137
+ */
138
+ platforms() {
139
+ return getPlatforms(this.win);
140
+ }
141
+ /**
142
+ * Returns a promise when the platform is ready and native functionality
143
+ * can be called. If the app is running from within a web browser, then
144
+ * the promise will resolve when the DOM is ready. When the app is running
145
+ * from an application engine such as Cordova, then the promise will
146
+ * resolve when Cordova triggers the `deviceready` event.
147
+ *
148
+ * The resolved value is the `readySource`, which states which platform
149
+ * ready was used. For example, when Cordova is ready, the resolved ready
150
+ * source is `cordova`. The default ready source value will be `dom`. The
151
+ * `readySource` is useful if different logic should run depending on the
152
+ * platform the app is running from. For example, only Cordova can execute
153
+ * the status bar plugin, so the web should not run status bar plugin logic.
154
+ *
155
+ * ```
156
+ * import { Component } from '@angular/core';
157
+ * import { Platform } from 'ionic-angular';
158
+ *
159
+ * @Component({...})
160
+ * export MyApp {
161
+ * constructor(public platform: Platform) {
162
+ * this.platform.ready().then((readySource) => {
163
+ * console.log('Platform ready from', readySource);
164
+ * // Platform now ready, execute any required native code
165
+ * });
166
+ * }
167
+ * }
168
+ * ```
169
+ */
170
+ ready() {
171
+ return this._readyPromise;
172
+ }
173
+ /**
174
+ * Returns if this app is using right-to-left language direction or not.
175
+ * We recommend the app's `index.html` file already has the correct `dir`
176
+ * attribute value set, such as `<html dir="ltr">` or `<html dir="rtl">`.
177
+ * [W3C: Structural markup and right-to-left text in HTML](http://www.w3.org/International/questions/qa-html-dir)
178
+ */
179
+ get isRTL() {
180
+ return this.doc.dir === 'rtl';
181
+ }
182
+ /**
183
+ * Get the query string parameter
184
+ */
185
+ getQueryParam(key) {
186
+ return readQueryParam(this.win.location.href, key);
187
+ }
188
+ /**
189
+ * Returns `true` if the app is in landscape mode.
190
+ */
191
+ isLandscape() {
192
+ return !this.isPortrait();
193
+ }
194
+ /**
195
+ * Returns `true` if the app is in portrait mode.
196
+ */
197
+ isPortrait() {
198
+ return this.win.matchMedia?.('(orientation: portrait)').matches;
199
+ }
200
+ testUserAgent(expression) {
201
+ const nav = this.win.navigator;
202
+ return !!(nav?.userAgent && nav.userAgent.indexOf(expression) >= 0);
203
+ }
204
+ /**
205
+ * Get the current url.
206
+ */
207
+ url() {
208
+ return this.win.location.href;
209
+ }
210
+ /**
211
+ * Gets the width of the platform's viewport using `window.innerWidth`.
212
+ */
213
+ width() {
214
+ return this.win.innerWidth;
215
+ }
216
+ /**
217
+ * Gets the height of the platform's viewport using `window.innerHeight`.
218
+ */
219
+ height() {
220
+ return this.win.innerHeight;
221
+ }
222
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
223
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, providedIn: 'root' });
224
+ }
225
+ export { Platform };
226
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Platform, decorators: [{
227
+ type: Injectable,
228
+ args: [{
229
+ providedIn: 'root',
230
+ }]
231
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
232
+ type: Inject,
233
+ args: [DOCUMENT]
234
+ }] }, { type: i0.NgZone }]; } });
235
+ const readQueryParam = (url, key) => {
236
+ key = key.replace(/[[\]\\]/g, '\\$&');
237
+ const regex = new RegExp('[\\?&]' + key + '=([^&#]*)');
238
+ const results = regex.exec(url);
239
+ return results ? decodeURIComponent(results[1].replace(/\+/g, ' ')) : null;
240
+ };
241
+ const proxyEvent = (emitter, el, eventName, zone) => {
242
+ if (el) {
243
+ el.addEventListener(eventName, (ev) => {
244
+ /**
245
+ * `zone.run` is required to make sure that we are running inside the Angular zone
246
+ * at all times. This is necessary since an app that has Capacitor will
247
+ * override the `document.addEventListener` with its own implementation.
248
+ * The override causes the event to no longer be in the Angular zone.
249
+ */
250
+ zone.run(() => {
251
+ // ?? cordova might emit "null" events
252
+ const value = ev != null ? ev.detail : undefined;
253
+ emitter.next(value);
254
+ });
255
+ });
256
+ }
257
+ };
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21tb24vc3JjL3Byb3ZpZGVycy9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFVLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRSxPQUFPLEVBQWdCLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFXN0MsTUFHYSxRQUFRO0lBMkNtQjtJQTFDOUIsYUFBYSxDQUFrQjtJQUMvQixHQUFHLENBQU07SUFFakI7O09BRUc7SUFDSCxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQThDLENBQUM7SUFFdkU7OztPQUdHO0lBQ0gsZUFBZSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0lBRXJEOzs7T0FHRztJQUNILGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXRDOzs7OztPQUtHO0lBQ0gsS0FBSyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFNUI7Ozs7T0FJRztJQUNILE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRTdCOzs7O09BSUc7SUFDSCxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU3QixZQUFzQyxHQUFRLEVBQUUsSUFBWTtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFLO1FBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLEdBQUcsVUFBVSxRQUFRLEVBQUUsUUFBUTtnQkFDbEUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMs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QUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBSSxPQUFtQixFQUFFLEVBQWUsRUFBRSxTQUFpQixFQUFFLElBQVksRUFBRSxFQUFFO0lBQzlGLElBQUksRUFBRSxFQUFFO1FBQ04sRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFO1lBQ3BDOzs7OztlQUtHO1lBQ0gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osc0NBQXNDO2dCQUN0QyxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBRSxFQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFELE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdab25lLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFBsYXRmb3JtcywgaXNQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHR5cGUgeyBCYWNrQnV0dG9uRXZlbnREZXRhaWwsIEtleWJvYXJkRXZlbnREZXRhaWwsIFBsYXRmb3JtcyB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8vIFRPRE8oRlctMjgyNyk6IHR5cGVzXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja0J1dHRvbkVtaXR0ZXIgZXh0ZW5kcyBTdWJqZWN0PEJhY2tCdXR0b25FdmVudERldGFpbD4ge1xuICBzdWJzY3JpYmVXaXRoUHJpb3JpdHkoXG4gICAgcHJpb3JpdHk6IG51bWJlcixcbiAgICBjYWxsYmFjazogKHByb2Nlc3NOZXh0SGFuZGxlcjogKCkgPT4gdm9pZCkgPT4gUHJvbWlzZTxhbnk+IHwgdm9pZFxuICApOiBTdWJzY3JpcHRpb247XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQbGF0Zm9ybSB7XG4gIHByaXZhdGUgX3JlYWR5UHJvbWlzZTogUHJvbWlzZTxzdHJpbmc+O1xuICBwcml2YXRlIHdpbjogYW55O1xuXG4gIC8qKlxuICAgKiBAaGlkZGVuXG4gICAqL1xuICBiYWNrQnV0dG9uID0gbmV3IFN1YmplY3Q8QmFja0J1dHRvbkV2ZW50RGV0YWlsPigpIGFzIEJhY2tCdXR0b25FbWl0dGVyO1xuXG4gIC8qKlxuICAgKiBUaGUga2V5Ym9hcmREaWRTaG93IGV2ZW50IGVtaXRzIHdoZW4gdGhlXG4gICAqIG9uLXNjcmVlbiBrZXlib2FyZCBpcyBwcmVzZW50ZWQuXG4gICAqL1xuICBrZXlib2FyZERpZFNob3cgPSBuZXcgU3ViamVjdDxLZXlib2FyZEV2ZW50RGV0YWlsPigpO1xuXG4gIC8qKlxuICAgKiBUaGUga2V5Ym9hcmREaWRIaWRlIGV2ZW50IGVtaXRzIHdoZW4gdGhlXG4gICAqIG9uLXNjcmVlbiBrZXlib2FyZCBpcyBoaWRkZW4uXG4gICAqL1xuICBrZXlib2FyZERpZEhpZGUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF1c2UgZXZlbnQgZW1pdHMgd2hlbiB0aGUgbmF0aXZlIHBsYXRmb3JtIHB1dHMgdGhlIGFwcGxpY2F0aW9uXG4gICAqIGludG8gdGhlIGJhY2tncm91bmQsIHR5cGljYWxseSB3aGVuIHRoZSB1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50XG4gICAqIGFwcGxpY2F0aW9uLiBUaGlzIGV2ZW50IHdvdWxkIGVtaXQgd2hlbiBhIENvcmRvdmEgYXBwIGlzIHB1dCBpbnRvXG4gICAqIHRoZSBiYWNrZ3JvdW5kLCBob3dldmVyLCBpdCB3b3VsZCBub3QgZmlyZSBvbiBhIHN0YW5kYXJkIHdlYiBicm93c2VyLlxuICAgKi9cbiAgcGF1c2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzdW1lIGV2ZW50IGVtaXRzIHdoZW4gdGhlIG5hdGl2ZSBwbGF0Zm9ybSBwdWxscyB0aGUgYXBwbGljYXRpb25cbiAgICogb3V0IGZyb20gdGhlIGJhY2tncm91bmQuIFRoaXMgZXZlbnQgd291bGQgZW1pdCB3aGVuIGEgQ29yZG92YSBhcHAgY29tZXNcbiAgICogb3V0IGZyb20gdGhlIGJhY2tncm91bmQsIGhvd2V2ZXIsIGl0IHdvdWxkIG5vdCBmaXJlIG9uIGEgc3RhbmRhcmQgd2ViIGJyb3dzZXIuXG4gICAqL1xuICByZXN1bWUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzaXplIGV2ZW50IGVtaXRzIHdoZW4gdGhlIGJyb3dzZXIgd2luZG93IGhhcyBjaGFuZ2VkIGRpbWVuc2lvbnMuIFRoaXNcbiAgICogY291bGQgYmUgZnJvbSBhIGJyb3dzZXIgd2luZG93IGJlaW5nIHBoeXNpY2FsbHkgcmVzaXplZCwgb3IgZnJvbSBhIGRldmljZVxuICAgKiBjaGFuZ2luZyBvcmllbnRhdGlvbi5cbiAgICovXG4gIHJlc2l6ZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IGFueSwgem9uZTogTmdab25lKSB7XG4gICAgem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy53aW4gPSBkb2MuZGVmYXVsdFZpZXc7XG4gICAgICB0aGlzLmJhY2tCdXR0b24uc3Vic2NyaWJlV2l0aFByaW9yaXR5ID0gZnVuY3Rpb24gKHByaW9yaXR5LCBjYWxsYmFjaykge1xuICAgICAgICByZXR1cm4gdGhpcy5zdWJzY3JpYmUoKGV2KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGV2LnJlZ2lzdGVyKHByaW9yaXR5LCAocHJvY2Vzc05leHRIYW5kbGVyKSA9PiB6b25lLnJ1bigoKSA9PiBjYWxsYmFjayhwcm9jZXNzTmV4dEhhbmRsZXIpKSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgcHJveHlFdmVudCh0aGlzLnBhdXNlLCBkb2MsICdwYXVzZScsIHpvbmUpO1xuICAgICAgcHJveHlFdmVudCh0aGlzLnJlc3VtZSwgZG9jLCAncmVzdW1lJywgem9uZSk7XG4gICAgICBwcm94eUV2ZW50KHRoaXMuYmFja0J1dHRvbiwgZG9jLCAnaW9uQmFja0J1dHRvbicsIHpvbmUpO1xuICAgICAgcHJveHlFdmVudCh0aGlzLnJlc2l6ZSwgdGhpcy53aW4sICdyZXNpemUnLCB6b25lKTtcbiAgICAgIHByb3h5RXZlbnQodGhpcy5rZXlib2FyZERpZFNob3csIHRoaXMud2luLCAnaW9uS2V5Ym9hcmREaWRTaG93Jywgem9uZSk7XG4gICAgICBwcm94eUV2ZW50KHRoaXMua2V5Ym9hcmREaWRIaWRlLCB0aGlzLndpbiwgJ2lvbktleWJvYXJkRGlkSGlkZScsIHpvbmUpO1xuXG4gICAgICBsZXQgcmVhZHlSZXNvbHZlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIHRoaXMuX3JlYWR5UHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXMpID0+IHtcbiAgICAgICAgcmVhZHlSZXNvbHZlID0gcmVzO1xuICAgICAgfSk7XG4gICAgICBpZiAodGhpcy53aW4/LlsnY29yZG92YSddKSB7XG4gICAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICdkZXZpY2VyZWFkeScsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgcmVhZHlSZXNvbHZlKCdjb3Jkb3ZhJyk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IG9uY2U6IHRydWUgfVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgcmVhZHlSZXNvbHZlISgnZG9tJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgcmV0dXJucyB0cnVlL2ZhbHNlIGJhc2VkIG9uIHBsYXRmb3JtLlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogRGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSB0aGUgdXNlciBpcyBvbiwgYGlzKHBsYXRmb3JtTmFtZSlgIHdpbGxcbiAgICogcmV0dXJuIGB0cnVlYCBvciBgZmFsc2VgLiBOb3RlIHRoYXQgdGhlIHNhbWUgYXBwIGNhbiByZXR1cm4gYHRydWVgXG4gICAqIGZvciBtb3JlIHRoYW4gb25lIHBsYXRmb3JtIG5hbWUuIEZvciBleGFtcGxlLCBhbiBhcHAgcnVubmluZyBmcm9tXG4gICAqIGFuIGlQYWQgd291bGQgcmV0dXJuIGB0cnVlYCBmb3IgdGhlIHBsYXRmb3JtIG5hbWVzOiBgbW9iaWxlYCxcbiAgICogYGlvc2AsIGBpcGFkYCwgYW5kIGB0YWJsZXRgLiBBZGRpdGlvbmFsbHksIGlmIHRoZSBhcHAgd2FzIHJ1bm5pbmdcbiAgICogZnJvbSBDb3Jkb3ZhIHRoZW4gYGNvcmRvdmFgIHdvdWxkIGJlIHRydWUsIGFuZCBpZiBpdCB3YXMgcnVubmluZ1xuICAgKiBmcm9tIGEgd2ViIGJyb3dzZXIgb24gdGhlIGlQYWQgdGhlbiBgbW9iaWxld2ViYCB3b3VsZCBiZSBgdHJ1ZWAuXG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ2lvbmljLWFuZ3VsYXInO1xuICAgKlxuICAgKiBAQ29tcG9uZW50KHsuLi59KVxuICAgKiBleHBvcnQgTXlQYWdlIHtcbiAgICogICBjb25zdHJ1Y3RvcihwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtKSB7XG4gICAqICAgICBpZiAodGhpcy5wbGF0Zm9ybS5pcygnaW9zJykpIHtcbiAgICogICAgICAgLy8gVGhpcyB3aWxsIG9ubHkgcHJpbnQgd2hlbiBvbiBpT1NcbiAgICogICAgICAgY29uc29sZS5sb2coJ0kgYW0gYW4gaU9TIGRldmljZSEnKTtcbiAgICogICAgIH1cbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqXG4gICAqIHwgUGxhdGZvcm0gTmFtZSAgIHwgRGVzY3JpcHRpb24gICAgICAgICAgICAgICAgICAgICAgICB8XG4gICAqIHwtLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gICAqIHwgYW5kcm9pZCAgICAgICAgIHwgb24gYSBkZXZpY2UgcnVubmluZyBBbmRyb2lkLiAgICAgICB8XG4gICAqIHwgY2FwYWNpdG9yICAgICAgIHwgb24gYSBkZXZpY2UgcnVubmluZyBDYXBhY2l0b3IuICAgICB8XG4gICAqIHwgY29yZG92YSAgICAgICAgIHwgb24gYSBkZXZpY2UgcnVubmluZyBDb3Jkb3ZhLiAgICAgICB8XG4gICAqIHwgaW9zICAgICAgICAgICAgIHwgb24gYSBkZXZpY2UgcnVubmluZyBpT1MuICAgICAgICAgICB8XG4gICAqIHwgaXBhZCAgICAgICAgICAgIHwgb24gYW4gaVBhZCBkZXZpY2UuICAgICAgICAgICAgICAgICB8XG4gICAqIHwgaXBob25lICAgICAgICAgIHwgb24gYW4gaVBob25lIGRldmljZS4gICAgICAgICAgICAgICB8XG4gICAqIHwgcGhhYmxldCAgICAgICAgIHwgb24gYSBwaGFibGV0IGRldmljZS4gICAgICAgICAgICAgICB8XG4gICAqIHwgdGFibGV0ICAgICAgICAgIHwgb24gYSB0YWJsZXQgZGV2aWNlLiAgICAgICAgICAgICAgICB8XG4gICAqIHwgZWxlY3Ryb24gICAgICAgIHwgaW4gRWxlY3Ryb24gb24gYSBkZXNrdG9wIGRldmljZS4gICB8XG4gICAqIHwgcHdhICAgICAgICAgICAgIHwgYXMgYSBQV0EgYXBwLiAgICAgICAgICAgICAgICAgICAgICB8XG4gICAqIHwgbW9iaWxlICAgICAgICAgIHwgb24gYSBtb2JpbGUgZGV2aWNlLiAgICAgICAgICAgICAgICB8XG4gICAqIHwgbW9iaWxld2ViICAgICAgIHwgb24gYSBtb2JpbGUgZGV2aWNlIGluIGEgYnJvd3Nlci4gICB8XG4gICAqIHwgZGVza3RvcCAgICAgICAgIHwgb24gYSBkZXNrdG9wIGRldmljZS4gICAgICAgICAgICAgICB8XG4gICAqIHwgaHlicmlkICAgICAgICAgIHwgaXMgYSBjb3Jkb3ZhIG9yIGNhcGFjaXRvciBhcHAuICAgICB8XG4gICAqXG4gICAqL1xuICBpcyhwbGF0Zm9ybU5hbWU6IFBsYXRmb3Jtcyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1BsYXRmb3JtKHRoaXMud2luLCBwbGF0Zm9ybU5hbWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHRoZSBhcnJheSBvZiBwbGF0Zm9ybXNcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERlcGVuZGluZyBvbiB3aGF0IGRldmljZSB5b3UgYXJlIG9uLCBgcGxhdGZvcm1zYCBjYW4gcmV0dXJuIG11bHRpcGxlIHZhbHVlcy5cbiAgICogRWFjaCBwb3NzaWJsZSB2YWx1ZSBpcyBhIGhpZXJhcmNoeSBvZiBwbGF0Zm9ybXMuIEZvciBleGFtcGxlLCBvbiBhbiBpUGhvbmUsXG4gICAqIGl0IHdvdWxkIHJldHVybiBgbW9iaWxlYCwgYGlvc2AsIGFuZCBgaXBob25lYC5cbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnaW9uaWMtYW5ndWxhcic7XG4gICAqXG4gICAqIEBDb21wb25lbnQoey4uLn0pXG4gICAqIGV4cG9ydCBNeVBhZ2Uge1xuICAgKiAgIGNvbnN0cnVjdG9yKHB1YmxpYyBwbGF0Zm9ybTogUGxhdGZvcm0pIHtcbiAgICogICAgIC8vIFRoaXMgd2lsbCBwcmludCBhbiBhcnJheSBvZiB0aGUgY3VycmVudCBwbGF0Zm9ybXNcbiAgICogICAgIGNvbnNvbGUubG9nKHRoaXMucGxhdGZvcm0ucGxhdGZvcm1zKCkpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHBsYXRmb3JtcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGdldFBsYXRmb3Jtcyh0aGlzLndpbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb21pc2Ugd2hlbiB0aGUgcGxhdGZvcm0gaXMgcmVhZHkgYW5kIG5hdGl2ZSBmdW5jdGlvbmFsaXR5XG4gICAqIGNhbiBiZSBjYWxsZWQuIElmIHRoZSBhcHAgaXMgcnVubmluZyBmcm9tIHdpdGhpbiBhIHdlYiBicm93c2VyLCB0aGVuXG4gICAqIHRoZSBwcm9taXNlIHdpbGwgcmVzb2x2ZSB3aGVuIHRoZSBET00gaXMgcmVhZHkuIFdoZW4gdGhlIGFwcCBpcyBydW5uaW5nXG4gICAqIGZyb20gYW4gYXBwbGljYXRpb24gZW5naW5lIHN1Y2ggYXMgQ29yZG92YSwgdGhlbiB0aGUgcHJvbWlzZSB3aWxsXG4gICAqIHJlc29sdmUgd2hlbiBDb3Jkb3ZhIHRyaWdnZXJzIHRoZSBgZGV2aWNlcmVhZHlgIGV2ZW50LlxuICAgKlxuICAgKiBUaGUgcmVzb2x2ZWQgdmFsdWUgaXMgdGhlIGByZWFkeVNvdXJjZWAsIHdoaWNoIHN0YXRlcyB3aGljaCBwbGF0Zm9ybVxuICAgKiByZWFkeSB3YXMgdXNlZC4gRm9yIGV4YW1wbGUsIHdoZW4gQ29yZG92YSBpcyByZWFkeSwgdGhlIHJlc29sdmVkIHJlYWR5XG4gICAqIHNvdXJjZSBpcyBgY29yZG92YWAuIFRoZSBkZWZhdWx0IHJlYWR5IHNvdXJjZSB2YWx1ZSB3aWxsIGJlIGBkb21gLiBUaGVcbiAgICogYHJlYWR5U291cmNlYCBpcyB1c2VmdWwgaWYgZGlmZmVyZW50IGxvZ2ljIHNob3VsZCBydW4gZGVwZW5kaW5nIG9uIHRoZVxuICAgKiBwbGF0Zm9ybSB0aGUgYXBwIGlzIHJ1bm5pbmcgZnJvbS4gRm9yIGV4YW1wbGUsIG9ubHkgQ29yZG92YSBjYW4gZXhlY3V0ZVxuICAgKiB0aGUgc3RhdHVzIGJhciBwbHVnaW4sIHNvIHRoZSB3ZWIgc2hvdWxkIG5vdCBydW4gc3RhdHVzIGJhciBwbHVnaW4gbG9naWMuXG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbiAgICogaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdpb25pYy1hbmd1bGFyJztcbiAgICpcbiAgICogQENvbXBvbmVudCh7Li4ufSlcbiAgICogZXhwb3J0IE15QXBwIHtcbiAgICogICBjb25zdHJ1Y3RvcihwdWJsaWMgcGxhdGZvcm06IFBsYXRmb3JtKSB7XG4gICAqICAgICB0aGlzLnBsYXRmb3JtLnJlYWR5KCkudGhlbigocmVhZHlTb3VyY2UpID0+IHtcbiAgICogICAgICAgY29uc29sZS5sb2coJ1BsYXRmb3JtIHJlYWR5IGZyb20nLCByZWFkeVNvdXJjZSk7XG4gICAqICAgICAgIC8vIFBsYXRmb3JtIG5vdyByZWFkeSwgZXhlY3V0ZSBhbnkgcmVxdWlyZWQgbmF0aXZlIGNvZGVcbiAgICogICAgIH0pO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIHJlYWR5KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5UHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGlmIHRoaXMgYXBwIGlzIHVzaW5nIHJpZ2h0LXRvLWxlZnQgbGFuZ3VhZ2UgZGlyZWN0aW9uIG9yIG5vdC5cbiAgICogV2UgcmVjb21tZW5kIHRoZSBhcHAncyBgaW5kZXguaHRtbGAgZmlsZSBhbHJlYWR5IGhhcyB0aGUgY29ycmVjdCBgZGlyYFxuICAgKiBhdHRyaWJ1dGUgdmFsdWUgc2V0LCBzdWNoIGFzIGA8aHRtbCBkaXI9XCJsdHJcIj5gIG9yIGA8aHRtbCBkaXI9XCJydGxcIj5gLlxuICAgKiBbVzNDOiBTdHJ1Y3R1cmFsIG1hcmt1cCBhbmQgcmlnaHQtdG8tbGVmdCB0ZXh0IGluIEhUTUxdKGh0dHA6Ly93d3cudzMub3JnL0ludGVybmF0aW9uYWwvcXVlc3Rpb25zL3FhLWh0bWwtZGlyKVxuICAgKi9cbiAgZ2V0IGlzUlRMKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvYy5kaXIgPT09ICdydGwnO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcXVlcnkgc3RyaW5nIHBhcmFtZXRlclxuICAgKi9cbiAgZ2V0UXVlcnlQYXJhbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiByZWFkUXVlcnlQYXJhbSh0aGlzLndpbi5sb2NhdGlvbi5ocmVmLCBrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYHRydWVgIGlmIHRoZSBhcHAgaXMgaW4gbGFuZHNjYXBlIG1vZGUuXG4gICAqL1xuICBpc0xhbmRzY2FwZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNQb3J0cmFpdCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYHRydWVgIGlmIHRoZSBhcHAgaXMgaW4gcG9ydHJhaXQgbW9kZS5cbiAgICovXG4gIGlzUG9ydHJhaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMud2luLm1hdGNoTWVkaWE/LignKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknKS5tYXRjaGVzO1xuICB9XG5cbiAgdGVzdFVzZXJBZ2VudChleHByZXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBuYXYgPSB0aGlzLndpbi5uYXZpZ2F0b3I7XG4gICAgcmV0dXJuICEhKG5hdj8udXNlckFnZW50ICYmIG5hdi51c2VyQWdlbnQuaW5kZXhPZihleHByZXNzaW9uKSA+PSAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgdXJsLlxuICAgKi9cbiAgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMud2luLmxvY2F0aW9uLmhyZWY7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgd2lkdGggb2YgdGhlIHBsYXRmb3JtJ3Mgdmlld3BvcnQgdXNpbmcgYHdpbmRvdy5pbm5lcldpZHRoYC5cbiAgICovXG4gIHdpZHRoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMud2luLmlubmVyV2lkdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgaGVpZ2h0IG9mIHRoZSBwbGF0Zm9ybSdzIHZpZXdwb3J0IHVzaW5nIGB3aW5kb3cuaW5uZXJIZWlnaHRgLlxuICAgKi9cbiAgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMud2luLmlubmVySGVpZ2h0O1xuICB9XG59XG5cbmNvbnN0IHJlYWRRdWVyeVBhcmFtID0gKHVybDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xuICBrZXkgPSBrZXkucmVwbGFjZSgvW1tcXF1cXFxcXS9nLCAnXFxcXCQmJyk7XG4gIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnW1xcXFw/Jl0nICsga2V5ICsgJz0oW14mI10qKScpO1xuICBjb25zdCByZXN1bHRzID0gcmVnZXguZXhlYyh1cmwpO1xuICByZXR1cm4gcmVzdWx0cyA/IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHRzWzFdLnJlcGxhY2UoL1xcKy9nLCAnICcpKSA6IG51bGw7XG59O1xuXG5jb25zdCBwcm94eUV2ZW50ID0gPFQ+KGVtaXR0ZXI6IFN1YmplY3Q8VD4sIGVsOiBFdmVudFRhcmdldCwgZXZlbnROYW1lOiBzdHJpbmcsIHpvbmU6IE5nWm9uZSkgPT4ge1xuICBpZiAoZWwpIHtcbiAgICBlbC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgKGV2KSA9PiB7XG4gICAgICAvKipcbiAgICAgICAqIGB6b25lLnJ1bmAgaXMgcmVxdWlyZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2UgYXJlIHJ1bm5pbmcgaW5zaWRlIHRoZSBBbmd1bGFyIHpvbmVcbiAgICAgICAqIGF0IGFsbCB0aW1lcy4gVGhpcyBpcyBuZWNlc3Nhcnkgc2luY2UgYW4gYXBwIHRoYXQgaGFzIENhcGFjaXRvciB3aWxsXG4gICAgICAgKiBvdmVycmlkZSB0aGUgYGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXJgIHdpdGggaXRzIG93biBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAqIFRoZSBvdmVycmlkZSBjYXVzZXMgdGhlIGV2ZW50IHRvIG5vIGxvbmdlciBiZSBpbiB0aGUgQW5ndWxhciB6b25lLlxuICAgICAgICovXG4gICAgICB6b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIC8vID8/IGNvcmRvdmEgbWlnaHQgZW1pdCBcIm51bGxcIiBldmVudHNcbiAgICAgICAgY29uc3QgdmFsdWUgPSBldiAhPSBudWxsID8gKGV2IGFzIGFueSkuZGV0YWlsIDogdW5kZWZpbmVkO1xuICAgICAgICBlbWl0dGVyLm5leHQodmFsdWUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdHlwZXMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJb25pY0dsb2JhbCB7XG4gIGNvbmZpZz86IGFueTsgLy8gVE9ETyhGVy0yODI3KTogdHlwZVxuICBhc3luY1F1ZXVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb25pY1dpbmRvdyBleHRlbmRzIFdpbmRvdyB7XG4gIElvbmljOiBJb25pY0dsb2JhbDtcbiAgX196b25lX3N5bWJvbF9fcmVxdWVzdEFuaW1hdGlvbkZyYW1lPzogKHRzOiBGcmFtZVJlcXVlc3RDYWxsYmFjaykgPT4gbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * https://ionicframework.com/docs/api/router-outlet#life-cycle-hooks
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtbGlmZWN5Y2xlLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy90eXBlcy9pb25pYy1saWZlY3ljbGUtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBodHRwczovL2lvbmljZnJhbWV3b3JrLmNvbS9kb2NzL2FwaS9yb3V0ZXItb3V0bGV0I2xpZmUtY3ljbGUtaG9va3NcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdXaWxsRW50ZXIge1xuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgY29tcG9uZW50IHJvdXRpbmcgdG8gaXMgYWJvdXQgdG8gYW5pbWF0ZSBpbnRvIHZpZXcuXG4gICAqL1xuICBpb25WaWV3V2lsbEVudGVyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0RpZEVudGVyIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGNvbXBvbmVudCByb3V0aW5nIHRvIGhhcyBmaW5pc2hlZCBhbmltYXRpbmcuXG4gICAqL1xuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3V2lsbExlYXZlIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGNvbXBvbmVudCByb3V0aW5nIGZyb20gaXMgYWJvdXQgdG8gYW5pbWF0ZS5cbiAgICovXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3RGlkTGVhdmUge1xuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgY29tcG9uZW50IHJvdXRpbmcgdG8gaGFzIGZpbmlzaGVkIGFuaW1hdGluZy5cbiAgICovXG4gIGlvblZpZXdEaWRMZWF2ZSgpOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy90eXBlcy9vdmVybGF5LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQ29tcG9uZW50UmVmLFxuICBNb2RhbE9wdGlvbnMgYXMgQ29yZU1vZGFsT3B0aW9ucyxcbiAgUG9wb3Zlck9wdGlvbnMgYXMgQ29yZVBvcG92ZXJPcHRpb25zLFxufSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcblxuLyoqXG4gKiBNb2RhbCBvcHRpb25zIHdpdGggQW5ndWxhci1zcGVjaWZpYyBpbmplY3RvciBzdXBwb3J0LlxuICogRXh0ZW5kcyBAaW9uaWMvY29yZSBNb2RhbE9wdGlvbnMgd2l0aCBhbiBvcHRpb25hbCBpbmplY3RvciBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IHR5cGUgTW9kYWxPcHRpb25zPFQgZXh0ZW5kcyBDb21wb25lbnRSZWYgPSBDb21wb25lbnRSZWY+ID0gQ29yZU1vZGFsT3B0aW9uczxUPiAmIHtcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn07XG5cbi8qKlxuICogUG9wb3ZlciBvcHRpb25zIHdpdGggQW5ndWxhci1zcGVjaWZpYyBpbmplY3RvciBzdXBwb3J0LlxuICogRXh0ZW5kcyBAaW9uaWMvY29yZSBQb3BvdmVyT3B0aW9ucyB3aXRoIGFuIG9wdGlvbmFsIGluamVjdG9yIHByb3BlcnR5LlxuICovXG5leHBvcnQgdHlwZSBQb3BvdmVyT3B0aW9uczxUIGV4dGVuZHMgQ29tcG9uZW50UmVmID0gQ29tcG9uZW50UmVmPiA9IENvcmVQb3BvdmVyT3B0aW9uczxUPiAmIHtcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn07XG4iXX0=
@@ -0,0 +1,26 @@
1
+ // TODO(FW-2827): types
2
+ export class OverlayBaseController {
3
+ ctrl;
4
+ constructor(ctrl) {
5
+ this.ctrl = ctrl;
6
+ }
7
+ /**
8
+ * Creates a new overlay
9
+ */
10
+ create(opts) {
11
+ return this.ctrl.create((opts || {}));
12
+ }
13
+ /**
14
+ * When `id` is not provided, it dismisses the top overlay.
15
+ */
16
+ dismiss(data, role, id) {
17
+ return this.ctrl.dismiss(data, role, id);
18
+ }
19
+ /**
20
+ * Returns the top overlay.
21
+ */
22
+ getTop() {
23
+ return this.ctrl.getTop();
24
+ }
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdXRpbHMvb3ZlcmxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUI7QUFRdkIsTUFBTSxPQUFPLHFCQUFxQjtJQUNaO0lBQXBCLFlBQW9CLElBQW9DO1FBQXBDLFNBQUksR0FBSixJQUFJLENBQWdDO0lBQUcsQ0FBQztJQUU1RDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFRLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsSUFBVSxFQUFFLElBQWEsRUFBRSxFQUFXO1FBQzVDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE8oRlctMjgyNyk6IHR5cGVzXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbGxlclNoYXBlPE9wdHMsIEhUTUxFbG0+IHtcbiAgY3JlYXRlKG9wdGlvbnM6IE9wdHMpOiBQcm9taXNlPEhUTUxFbG0+O1xuICBkaXNtaXNzKGRhdGE/OiBhbnksIHJvbGU/OiBzdHJpbmcsIGlkPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgZ2V0VG9wKCk6IFByb21pc2U8SFRNTEVsbSB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBjbGFzcyBPdmVybGF5QmFzZUNvbnRyb2xsZXI8T3B0cywgT3ZlcmxheT4gaW1wbGVtZW50cyBDb250cm9sbGVyU2hhcGU8T3B0cywgT3ZlcmxheT4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGN0cmw6IENvbnRyb2xsZXJTaGFwZTxPcHRzLCBPdmVybGF5Pikge31cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBvdmVybGF5XG4gICAqL1xuICBjcmVhdGUob3B0cz86IE9wdHMpOiBQcm9taXNlPE92ZXJsYXk+IHtcbiAgICByZXR1cm4gdGhpcy5jdHJsLmNyZWF0ZSgob3B0cyB8fCB7fSkgYXMgYW55KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGBpZGAgaXMgbm90IHByb3ZpZGVkLCBpdCBkaXNtaXNzZXMgdGhlIHRvcCBvdmVybGF5LlxuICAgKi9cbiAgZGlzbWlzcyhkYXRhPzogYW55LCByb2xlPzogc3RyaW5nLCBpZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmN0cmwuZGlzbWlzcyhkYXRhLCByb2xlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdG9wIG92ZXJsYXkuXG4gICAqL1xuICBnZXRUb3AoKTogUHJvbWlzZTxPdmVybGF5IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuY3RybC5nZXRUb3AoKTtcbiAgfVxufVxuIl19