@ionic/angular 8.8.19 → 8.8.20-dev.11787158518.168a2fea

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 (600) hide show
  1. package/README.md +9 -7
  2. package/dist/common/directives/control-value-accessors/index.js +2 -0
  3. package/dist/common/directives/control-value-accessors/index.js.map +1 -0
  4. package/{common → dist/common}/directives/control-value-accessors/value-accessor.d.ts +1 -1
  5. package/dist/common/directives/control-value-accessors/value-accessor.js +152 -0
  6. package/dist/common/directives/control-value-accessors/value-accessor.js.map +1 -0
  7. package/{common → dist/common}/directives/navigation/back-button.d.ts +1 -1
  8. package/dist/common/directives/navigation/back-button.js +61 -0
  9. package/dist/common/directives/navigation/back-button.js.map +1 -0
  10. package/dist/common/directives/navigation/nav-params.js +47 -0
  11. package/dist/common/directives/navigation/nav-params.js.map +1 -0
  12. package/{common → dist/common}/directives/navigation/nav.d.ts +1 -1
  13. package/dist/common/directives/navigation/nav.js +49 -0
  14. package/dist/common/directives/navigation/nav.js.map +1 -0
  15. package/{common → dist/common}/directives/navigation/router-link-delegate.d.ts +2 -2
  16. package/dist/common/directives/navigation/router-link-delegate.js +188 -0
  17. package/dist/common/directives/navigation/router-link-delegate.js.map +1 -0
  18. package/{common → dist/common}/directives/navigation/router-outlet.d.ts +1 -1
  19. package/dist/common/directives/navigation/router-outlet.js +476 -0
  20. package/dist/common/directives/navigation/router-outlet.js.map +1 -0
  21. package/dist/common/directives/navigation/stack-controller.js +282 -0
  22. package/dist/common/directives/navigation/stack-controller.js.map +1 -0
  23. package/dist/common/directives/navigation/stack-utils.js +73 -0
  24. package/dist/common/directives/navigation/stack-utils.js.map +1 -0
  25. package/{common → dist/common}/directives/navigation/tabs.d.ts +9 -1
  26. package/dist/common/directives/navigation/tabs.js +290 -0
  27. package/dist/common/directives/navigation/tabs.js.map +1 -0
  28. package/{common → dist/common}/index.d.ts +1 -1
  29. package/dist/common/index.js +20 -0
  30. package/dist/common/index.js.map +1 -0
  31. package/{common → dist/common}/overlays/modal.d.ts +1 -1
  32. package/dist/common/overlays/modal.js +96 -0
  33. package/dist/common/overlays/modal.js.map +1 -0
  34. package/{common → dist/common}/overlays/popover.d.ts +1 -1
  35. package/dist/common/overlays/popover.js +84 -0
  36. package/dist/common/overlays/popover.js.map +1 -0
  37. package/{common → dist/common}/providers/angular-delegate.d.ts +2 -2
  38. package/dist/common/providers/angular-delegate.js +229 -0
  39. package/dist/common/providers/angular-delegate.js.map +1 -0
  40. package/dist/common/providers/config.js +44 -0
  41. package/dist/common/providers/config.js.map +1 -0
  42. package/dist/common/providers/dom-controller.js +44 -0
  43. package/dist/common/providers/dom-controller.js.map +1 -0
  44. package/dist/common/providers/menu-controller.js +114 -0
  45. package/dist/common/providers/menu-controller.js.map +1 -0
  46. package/dist/common/providers/nav-controller.js +232 -0
  47. package/dist/common/providers/nav-controller.js.map +1 -0
  48. package/dist/common/providers/platform.js +256 -0
  49. package/dist/common/providers/platform.js.map +1 -0
  50. package/dist/common/types/interfaces.js +2 -0
  51. package/dist/common/types/interfaces.js.map +1 -0
  52. package/dist/common/types/ionic-lifecycle-hooks.js +5 -0
  53. package/dist/common/types/ionic-lifecycle-hooks.js.map +1 -0
  54. package/dist/common/types/overlay-options.js +2 -0
  55. package/dist/common/types/overlay-options.js.map +1 -0
  56. package/dist/common/utils/overlay.js +26 -0
  57. package/dist/common/utils/overlay.js.map +1 -0
  58. package/dist/common/utils/proxy.js +47 -0
  59. package/dist/common/utils/proxy.js.map +1 -0
  60. package/dist/common/utils/routing.js +55 -0
  61. package/dist/common/utils/routing.js.map +1 -0
  62. package/dist/common/utils/util.js +10 -0
  63. package/dist/common/utils/util.js.map +1 -0
  64. package/dist/lazy/app-initialize.js +29 -0
  65. package/dist/lazy/app-initialize.js.map +1 -0
  66. package/dist/lazy/directives/angular-component-lib/utils.js +59 -0
  67. package/dist/lazy/directives/angular-component-lib/utils.js.map +1 -0
  68. package/{directives → dist/lazy/directives}/control-value-accessors/boolean-value-accessor.d.ts +1 -1
  69. package/dist/lazy/directives/control-value-accessors/boolean-value-accessor.js +47 -0
  70. package/dist/lazy/directives/control-value-accessors/boolean-value-accessor.js.map +1 -0
  71. package/dist/lazy/directives/control-value-accessors/index.js +5 -0
  72. package/dist/lazy/directives/control-value-accessors/index.js.map +1 -0
  73. package/{directives → dist/lazy/directives}/control-value-accessors/numeric-value-accessor.d.ts +1 -1
  74. package/dist/lazy/directives/control-value-accessors/numeric-value-accessor.js +55 -0
  75. package/dist/lazy/directives/control-value-accessors/numeric-value-accessor.js.map +1 -0
  76. package/{directives → dist/lazy/directives}/control-value-accessors/select-value-accessor.d.ts +1 -1
  77. package/dist/lazy/directives/control-value-accessors/select-value-accessor.js +44 -0
  78. package/dist/lazy/directives/control-value-accessors/select-value-accessor.js.map +1 -0
  79. package/{directives → dist/lazy/directives}/control-value-accessors/text-value-accessor.d.ts +1 -1
  80. package/dist/lazy/directives/control-value-accessors/text-value-accessor.js +43 -0
  81. package/dist/lazy/directives/control-value-accessors/text-value-accessor.js.map +1 -0
  82. package/dist/lazy/directives/navigation/ion-back-button.js +24 -0
  83. package/dist/lazy/directives/navigation/ion-back-button.js.map +1 -0
  84. package/dist/lazy/directives/navigation/ion-nav.js +21 -0
  85. package/dist/lazy/directives/navigation/ion-nav.js.map +1 -0
  86. package/dist/lazy/directives/navigation/ion-router-outlet.js +52 -0
  87. package/dist/lazy/directives/navigation/ion-router-outlet.js.map +1 -0
  88. package/dist/lazy/directives/navigation/ion-tabs.js +58 -0
  89. package/dist/lazy/directives/navigation/ion-tabs.js.map +1 -0
  90. package/dist/lazy/directives/navigation/router-link-delegate.js +32 -0
  91. package/dist/lazy/directives/navigation/router-link-delegate.js.map +1 -0
  92. package/dist/lazy/directives/overlays/modal.js +22 -0
  93. package/dist/lazy/directives/overlays/modal.js.map +1 -0
  94. package/dist/lazy/directives/overlays/popover.js +18 -0
  95. package/dist/lazy/directives/overlays/popover.js.map +1 -0
  96. package/{directives → dist/lazy/directives}/proxies-list.d.ts +1 -1
  97. package/dist/lazy/directives/proxies-list.js +89 -0
  98. package/dist/lazy/directives/proxies-list.js.map +1 -0
  99. package/{directives → dist/lazy/directives}/proxies.d.ts +290 -191
  100. package/dist/lazy/directives/proxies.js +2759 -0
  101. package/dist/lazy/directives/proxies.js.map +1 -0
  102. package/dist/lazy/directives/validators/index.js +3 -0
  103. package/dist/lazy/directives/validators/index.js.map +1 -0
  104. package/dist/lazy/directives/validators/max-validator.js +26 -0
  105. package/dist/lazy/directives/validators/max-validator.js.map +1 -0
  106. package/dist/lazy/directives/validators/min-validator.js +26 -0
  107. package/dist/lazy/directives/validators/min-validator.js.map +1 -0
  108. package/{index.d.ts → dist/lazy/index.d.ts} +1 -2
  109. package/dist/lazy/index.js +34 -0
  110. package/dist/lazy/index.js.map +1 -0
  111. package/dist/lazy/ionic-module.d.ts +38 -0
  112. package/dist/lazy/ionic-module.js +121 -0
  113. package/dist/lazy/ionic-module.js.map +1 -0
  114. package/dist/lazy/providers/action-sheet-controller.js +18 -0
  115. package/dist/lazy/providers/action-sheet-controller.js.map +1 -0
  116. package/dist/lazy/providers/alert-controller.js +18 -0
  117. package/dist/lazy/providers/alert-controller.js.map +1 -0
  118. package/dist/lazy/providers/animation-controller.js +37 -0
  119. package/dist/lazy/providers/animation-controller.js.map +1 -0
  120. package/dist/lazy/providers/gesture-controller.js +32 -0
  121. package/dist/lazy/providers/gesture-controller.js.map +1 -0
  122. package/dist/lazy/providers/loading-controller.js +18 -0
  123. package/dist/lazy/providers/loading-controller.js.map +1 -0
  124. package/dist/lazy/providers/menu-controller.js +18 -0
  125. package/dist/lazy/providers/menu-controller.js.map +1 -0
  126. package/dist/lazy/providers/modal-controller.js +25 -0
  127. package/dist/lazy/providers/modal-controller.js.map +1 -0
  128. package/dist/lazy/providers/popover-controller.js +19 -0
  129. package/dist/lazy/providers/popover-controller.js.map +1 -0
  130. package/dist/lazy/providers/toast-controller.js +18 -0
  131. package/dist/lazy/providers/toast-controller.js.map +1 -0
  132. package/{schematics → dist/schematics}/add/index.js +6 -6
  133. package/dist/schematics/utils/ast.js +64 -0
  134. package/{schematics → dist/schematics}/utils/config.js +10 -11
  135. package/{schematics → dist/schematics}/utils/package.js +6 -4
  136. package/dist/standalone/directives/angular-component-lib/utils.js +59 -0
  137. package/dist/standalone/directives/angular-component-lib/utils.js.map +1 -0
  138. package/dist/standalone/directives/checkbox.js +75 -0
  139. package/dist/standalone/directives/checkbox.js.map +1 -0
  140. package/dist/standalone/directives/datetime.js +93 -0
  141. package/dist/standalone/directives/datetime.js.map +1 -0
  142. package/dist/standalone/directives/icon.js +35 -0
  143. package/dist/standalone/directives/icon.js.map +1 -0
  144. package/dist/standalone/directives/index.js +13 -0
  145. package/dist/standalone/directives/index.js.map +1 -0
  146. package/dist/standalone/directives/input-otp.js +89 -0
  147. package/dist/standalone/directives/input-otp.js.map +1 -0
  148. package/dist/standalone/directives/input.js +112 -0
  149. package/dist/standalone/directives/input.js.map +1 -0
  150. package/dist/standalone/directives/ion-accordion-group.d.ts +21 -0
  151. package/dist/standalone/directives/ion-accordion-group.js +40 -0
  152. package/dist/standalone/directives/ion-accordion-group.js.map +1 -0
  153. package/dist/standalone/directives/ion-accordion.d.ts +12 -0
  154. package/dist/standalone/directives/ion-accordion.js +36 -0
  155. package/dist/standalone/directives/ion-accordion.js.map +1 -0
  156. package/dist/standalone/directives/ion-action-sheet.d.ts +58 -0
  157. package/dist/standalone/directives/ion-action-sheet.js +62 -0
  158. package/dist/standalone/directives/ion-action-sheet.js.map +1 -0
  159. package/dist/standalone/directives/ion-alert.d.ts +58 -0
  160. package/dist/standalone/directives/ion-alert.js +62 -0
  161. package/dist/standalone/directives/ion-alert.js.map +1 -0
  162. package/dist/standalone/directives/ion-app.d.ts +12 -0
  163. package/dist/standalone/directives/ion-app.js +36 -0
  164. package/dist/standalone/directives/ion-app.js.map +1 -0
  165. package/dist/standalone/directives/ion-avatar.d.ts +12 -0
  166. package/dist/standalone/directives/ion-avatar.js +35 -0
  167. package/dist/standalone/directives/ion-avatar.js.map +1 -0
  168. package/dist/standalone/directives/ion-backdrop.d.ts +18 -0
  169. package/dist/standalone/directives/ion-backdrop.js +40 -0
  170. package/dist/standalone/directives/ion-backdrop.js.map +1 -0
  171. package/dist/standalone/directives/ion-badge.d.ts +12 -0
  172. package/dist/standalone/directives/ion-badge.js +36 -0
  173. package/dist/standalone/directives/ion-badge.js.map +1 -0
  174. package/dist/standalone/directives/ion-breadcrumb.d.ts +23 -0
  175. package/dist/standalone/directives/ion-breadcrumb.js +43 -0
  176. package/dist/standalone/directives/ion-breadcrumb.js.map +1 -0
  177. package/dist/standalone/directives/ion-breadcrumbs.d.ts +19 -0
  178. package/dist/standalone/directives/ion-breadcrumbs.js +40 -0
  179. package/dist/standalone/directives/ion-breadcrumbs.js.map +1 -0
  180. package/dist/standalone/directives/ion-button.d.ts +23 -0
  181. package/dist/standalone/directives/ion-button.js +43 -0
  182. package/dist/standalone/directives/ion-button.js.map +1 -0
  183. package/dist/standalone/directives/ion-buttons.d.ts +12 -0
  184. package/dist/standalone/directives/ion-buttons.js +36 -0
  185. package/dist/standalone/directives/ion-buttons.js.map +1 -0
  186. package/dist/standalone/directives/ion-card-content.d.ts +12 -0
  187. package/dist/standalone/directives/ion-card-content.js +36 -0
  188. package/dist/standalone/directives/ion-card-content.js.map +1 -0
  189. package/dist/standalone/directives/ion-card-header.d.ts +12 -0
  190. package/dist/standalone/directives/ion-card-header.js +36 -0
  191. package/dist/standalone/directives/ion-card-header.js.map +1 -0
  192. package/dist/standalone/directives/ion-card-subtitle.d.ts +12 -0
  193. package/dist/standalone/directives/ion-card-subtitle.js +36 -0
  194. package/dist/standalone/directives/ion-card-subtitle.js.map +1 -0
  195. package/dist/standalone/directives/ion-card-title.d.ts +12 -0
  196. package/dist/standalone/directives/ion-card-title.js +36 -0
  197. package/dist/standalone/directives/ion-card-title.js.map +1 -0
  198. package/dist/standalone/directives/ion-card.d.ts +12 -0
  199. package/dist/standalone/directives/ion-card.js +36 -0
  200. package/dist/standalone/directives/ion-card.js.map +1 -0
  201. package/dist/standalone/directives/ion-chip.d.ts +12 -0
  202. package/dist/standalone/directives/ion-chip.js +36 -0
  203. package/dist/standalone/directives/ion-chip.js.map +1 -0
  204. package/dist/standalone/directives/ion-col.d.ts +12 -0
  205. package/dist/standalone/directives/ion-col.js +36 -0
  206. package/dist/standalone/directives/ion-col.js.map +1 -0
  207. package/dist/standalone/directives/ion-content.d.ts +33 -0
  208. package/dist/standalone/directives/ion-content.js +47 -0
  209. package/dist/standalone/directives/ion-content.js.map +1 -0
  210. package/dist/standalone/directives/ion-datetime-button.d.ts +12 -0
  211. package/dist/standalone/directives/ion-datetime-button.js +36 -0
  212. package/dist/standalone/directives/ion-datetime-button.js.map +1 -0
  213. package/dist/standalone/directives/ion-fab-button.d.ts +23 -0
  214. package/dist/standalone/directives/ion-fab-button.js +43 -0
  215. package/dist/standalone/directives/ion-fab-button.js.map +1 -0
  216. package/dist/standalone/directives/ion-fab-list.d.ts +12 -0
  217. package/dist/standalone/directives/ion-fab-list.js +36 -0
  218. package/dist/standalone/directives/ion-fab-list.js.map +1 -0
  219. package/dist/standalone/directives/ion-fab.d.ts +12 -0
  220. package/dist/standalone/directives/ion-fab.js +37 -0
  221. package/dist/standalone/directives/ion-fab.js.map +1 -0
  222. package/dist/standalone/directives/ion-footer.d.ts +12 -0
  223. package/dist/standalone/directives/ion-footer.js +36 -0
  224. package/dist/standalone/directives/ion-footer.js.map +1 -0
  225. package/dist/standalone/directives/ion-grid.d.ts +12 -0
  226. package/dist/standalone/directives/ion-grid.js +36 -0
  227. package/dist/standalone/directives/ion-grid.js.map +1 -0
  228. package/dist/standalone/directives/ion-header.d.ts +12 -0
  229. package/dist/standalone/directives/ion-header.js +36 -0
  230. package/dist/standalone/directives/ion-header.js.map +1 -0
  231. package/dist/standalone/directives/ion-img.d.ts +28 -0
  232. package/dist/standalone/directives/ion-img.js +46 -0
  233. package/dist/standalone/directives/ion-img.js.map +1 -0
  234. package/dist/standalone/directives/ion-infinite-scroll-content.d.ts +12 -0
  235. package/dist/standalone/directives/ion-infinite-scroll-content.js +36 -0
  236. package/dist/standalone/directives/ion-infinite-scroll-content.js.map +1 -0
  237. package/dist/standalone/directives/ion-infinite-scroll.d.ts +21 -0
  238. package/dist/standalone/directives/ion-infinite-scroll.js +41 -0
  239. package/dist/standalone/directives/ion-infinite-scroll.js.map +1 -0
  240. package/dist/standalone/directives/ion-input-password-toggle.d.ts +12 -0
  241. package/dist/standalone/directives/ion-input-password-toggle.js +36 -0
  242. package/dist/standalone/directives/ion-input-password-toggle.js.map +1 -0
  243. package/dist/standalone/directives/ion-item-divider.d.ts +12 -0
  244. package/dist/standalone/directives/ion-item-divider.js +36 -0
  245. package/dist/standalone/directives/ion-item-divider.js.map +1 -0
  246. package/dist/standalone/directives/ion-item-group.d.ts +12 -0
  247. package/dist/standalone/directives/ion-item-group.js +35 -0
  248. package/dist/standalone/directives/ion-item-group.js.map +1 -0
  249. package/dist/standalone/directives/ion-item-option.d.ts +12 -0
  250. package/dist/standalone/directives/ion-item-option.js +36 -0
  251. package/dist/standalone/directives/ion-item-option.js.map +1 -0
  252. package/dist/standalone/directives/ion-item-options.d.ts +18 -0
  253. package/dist/standalone/directives/ion-item-options.js +40 -0
  254. package/dist/standalone/directives/ion-item-options.js.map +1 -0
  255. package/dist/standalone/directives/ion-item-sliding.d.ts +18 -0
  256. package/dist/standalone/directives/ion-item-sliding.js +41 -0
  257. package/dist/standalone/directives/ion-item-sliding.js.map +1 -0
  258. package/dist/standalone/directives/ion-item.d.ts +12 -0
  259. package/dist/standalone/directives/ion-item.js +36 -0
  260. package/dist/standalone/directives/ion-item.js.map +1 -0
  261. package/dist/standalone/directives/ion-label.d.ts +12 -0
  262. package/dist/standalone/directives/ion-label.js +36 -0
  263. package/dist/standalone/directives/ion-label.js.map +1 -0
  264. package/dist/standalone/directives/ion-list-header.d.ts +12 -0
  265. package/dist/standalone/directives/ion-list-header.js +36 -0
  266. package/dist/standalone/directives/ion-list-header.js.map +1 -0
  267. package/dist/standalone/directives/ion-list.d.ts +12 -0
  268. package/dist/standalone/directives/ion-list.js +37 -0
  269. package/dist/standalone/directives/ion-list.js.map +1 -0
  270. package/dist/standalone/directives/ion-loading.d.ts +58 -0
  271. package/dist/standalone/directives/ion-loading.js +62 -0
  272. package/dist/standalone/directives/ion-loading.js.map +1 -0
  273. package/dist/standalone/directives/ion-menu-button.d.ts +12 -0
  274. package/dist/standalone/directives/ion-menu-button.js +36 -0
  275. package/dist/standalone/directives/ion-menu-button.js.map +1 -0
  276. package/dist/standalone/directives/ion-menu-toggle.d.ts +12 -0
  277. package/dist/standalone/directives/ion-menu-toggle.js +36 -0
  278. package/dist/standalone/directives/ion-menu-toggle.js.map +1 -0
  279. package/dist/standalone/directives/ion-menu.d.ts +34 -0
  280. package/dist/standalone/directives/ion-menu.js +50 -0
  281. package/dist/standalone/directives/ion-menu.js.map +1 -0
  282. package/dist/standalone/directives/ion-nav-link.d.ts +12 -0
  283. package/dist/standalone/directives/ion-nav-link.js +36 -0
  284. package/dist/standalone/directives/ion-nav-link.js.map +1 -0
  285. package/dist/standalone/directives/ion-note.d.ts +12 -0
  286. package/dist/standalone/directives/ion-note.js +36 -0
  287. package/dist/standalone/directives/ion-note.js.map +1 -0
  288. package/dist/standalone/directives/ion-picker-column-option.d.ts +12 -0
  289. package/dist/standalone/directives/ion-picker-column-option.js +36 -0
  290. package/dist/standalone/directives/ion-picker-column-option.js.map +1 -0
  291. package/dist/standalone/directives/ion-picker-column.d.ts +21 -0
  292. package/dist/standalone/directives/ion-picker-column.js +41 -0
  293. package/dist/standalone/directives/ion-picker-column.js.map +1 -0
  294. package/dist/standalone/directives/ion-picker.d.ts +12 -0
  295. package/dist/standalone/directives/ion-picker.js +36 -0
  296. package/dist/standalone/directives/ion-picker.js.map +1 -0
  297. package/dist/standalone/directives/ion-progress-bar.d.ts +12 -0
  298. package/dist/standalone/directives/ion-progress-bar.js +36 -0
  299. package/dist/standalone/directives/ion-progress-bar.js.map +1 -0
  300. package/dist/standalone/directives/ion-radio.d.ts +23 -0
  301. package/dist/standalone/directives/ion-radio.js +43 -0
  302. package/dist/standalone/directives/ion-radio.js.map +1 -0
  303. package/dist/standalone/directives/ion-refresher-content.d.ts +12 -0
  304. package/dist/standalone/directives/ion-refresher-content.js +36 -0
  305. package/dist/standalone/directives/ion-refresher-content.js.map +1 -0
  306. package/dist/standalone/directives/ion-refresher.d.ts +45 -0
  307. package/dist/standalone/directives/ion-refresher.js +53 -0
  308. package/dist/standalone/directives/ion-refresher.js.map +1 -0
  309. package/dist/standalone/directives/ion-reorder-group.d.ts +44 -0
  310. package/dist/standalone/directives/ion-reorder-group.js +50 -0
  311. package/dist/standalone/directives/ion-reorder-group.js.map +1 -0
  312. package/dist/standalone/directives/ion-reorder.d.ts +12 -0
  313. package/dist/standalone/directives/ion-reorder.js +35 -0
  314. package/dist/standalone/directives/ion-reorder.js.map +1 -0
  315. package/dist/standalone/directives/ion-ripple-effect.d.ts +12 -0
  316. package/dist/standalone/directives/ion-ripple-effect.js +37 -0
  317. package/dist/standalone/directives/ion-ripple-effect.js.map +1 -0
  318. package/dist/standalone/directives/ion-row.d.ts +12 -0
  319. package/dist/standalone/directives/ion-row.js +35 -0
  320. package/dist/standalone/directives/ion-row.js.map +1 -0
  321. package/dist/standalone/directives/ion-segment-button.d.ts +12 -0
  322. package/dist/standalone/directives/ion-segment-button.js +36 -0
  323. package/dist/standalone/directives/ion-segment-button.js.map +1 -0
  324. package/dist/standalone/directives/ion-segment-content.d.ts +12 -0
  325. package/dist/standalone/directives/ion-segment-content.js +35 -0
  326. package/dist/standalone/directives/ion-segment-content.js.map +1 -0
  327. package/dist/standalone/directives/ion-segment-view.d.ts +19 -0
  328. package/dist/standalone/directives/ion-segment-view.js +40 -0
  329. package/dist/standalone/directives/ion-segment-view.js.map +1 -0
  330. package/dist/standalone/directives/ion-select-modal.d.ts +12 -0
  331. package/dist/standalone/directives/ion-select-modal.js +36 -0
  332. package/dist/standalone/directives/ion-select-modal.js.map +1 -0
  333. package/dist/standalone/directives/ion-select-option.d.ts +12 -0
  334. package/dist/standalone/directives/ion-select-option.js +36 -0
  335. package/dist/standalone/directives/ion-select-option.js.map +1 -0
  336. package/dist/standalone/directives/ion-skeleton-text.d.ts +12 -0
  337. package/dist/standalone/directives/ion-skeleton-text.js +36 -0
  338. package/dist/standalone/directives/ion-skeleton-text.js.map +1 -0
  339. package/dist/standalone/directives/ion-spinner.d.ts +12 -0
  340. package/dist/standalone/directives/ion-spinner.js +36 -0
  341. package/dist/standalone/directives/ion-spinner.js.map +1 -0
  342. package/dist/standalone/directives/ion-split-pane.d.ts +22 -0
  343. package/dist/standalone/directives/ion-split-pane.js +40 -0
  344. package/dist/standalone/directives/ion-split-pane.js.map +1 -0
  345. package/dist/standalone/directives/ion-tab-bar.d.ts +12 -0
  346. package/dist/standalone/directives/ion-tab-bar.js +36 -0
  347. package/dist/standalone/directives/ion-tab-bar.js.map +1 -0
  348. package/dist/standalone/directives/ion-tab-button.d.ts +12 -0
  349. package/dist/standalone/directives/ion-tab-button.js +36 -0
  350. package/dist/standalone/directives/ion-tab-button.js.map +1 -0
  351. package/dist/standalone/directives/ion-tab.d.ts +12 -0
  352. package/dist/standalone/directives/ion-tab.js +37 -0
  353. package/dist/standalone/directives/ion-tab.js.map +1 -0
  354. package/dist/standalone/directives/ion-text.d.ts +12 -0
  355. package/dist/standalone/directives/ion-text.js +36 -0
  356. package/dist/standalone/directives/ion-text.js.map +1 -0
  357. package/dist/standalone/directives/ion-thumbnail.d.ts +12 -0
  358. package/dist/standalone/directives/ion-thumbnail.js +35 -0
  359. package/dist/standalone/directives/ion-thumbnail.js.map +1 -0
  360. package/dist/standalone/directives/ion-title.d.ts +12 -0
  361. package/dist/standalone/directives/ion-title.js +36 -0
  362. package/dist/standalone/directives/ion-title.js.map +1 -0
  363. package/dist/standalone/directives/ion-toast.d.ts +58 -0
  364. package/dist/standalone/directives/ion-toast.js +62 -0
  365. package/dist/standalone/directives/ion-toast.js.map +1 -0
  366. package/dist/standalone/directives/ion-toolbar.d.ts +12 -0
  367. package/dist/standalone/directives/ion-toolbar.js +36 -0
  368. package/dist/standalone/directives/ion-toolbar.js.map +1 -0
  369. package/dist/standalone/directives/proxies.d.ts +77 -0
  370. package/dist/standalone/directives/proxies.js +79 -0
  371. package/dist/standalone/directives/proxies.js.map +1 -0
  372. package/dist/standalone/directives/radio-group.js +59 -0
  373. package/dist/standalone/directives/radio-group.js.map +1 -0
  374. package/dist/standalone/directives/range.js +77 -0
  375. package/dist/standalone/directives/range.js.map +1 -0
  376. package/dist/standalone/directives/searchbar.js +81 -0
  377. package/dist/standalone/directives/searchbar.js.map +1 -0
  378. package/dist/standalone/directives/segment.js +59 -0
  379. package/dist/standalone/directives/segment.js.map +1 -0
  380. package/dist/standalone/directives/select.js +83 -0
  381. package/dist/standalone/directives/select.js.map +1 -0
  382. package/dist/standalone/directives/textarea.js +90 -0
  383. package/dist/standalone/directives/textarea.js.map +1 -0
  384. package/dist/standalone/directives/toggle.js +75 -0
  385. package/dist/standalone/directives/toggle.js.map +1 -0
  386. package/{standalone → dist/standalone}/index.d.ts +1 -2
  387. package/dist/standalone/index.js +24 -0
  388. package/dist/standalone/index.js.map +1 -0
  389. package/dist/standalone/navigation/back-button.js +32 -0
  390. package/dist/standalone/navigation/back-button.js.map +1 -0
  391. package/dist/standalone/navigation/nav.js +28 -0
  392. package/dist/standalone/navigation/nav.js.map +1 -0
  393. package/dist/standalone/navigation/router-link-delegate.js +26 -0
  394. package/dist/standalone/navigation/router-link-delegate.js.map +1 -0
  395. package/dist/standalone/navigation/router-outlet.js +60 -0
  396. package/dist/standalone/navigation/router-outlet.js.map +1 -0
  397. package/dist/standalone/navigation/tabs.js +57 -0
  398. package/dist/standalone/navigation/tabs.js.map +1 -0
  399. package/dist/standalone/overlays/modal.js +32 -0
  400. package/dist/standalone/overlays/modal.js.map +1 -0
  401. package/dist/standalone/overlays/popover.js +28 -0
  402. package/dist/standalone/overlays/popover.js.map +1 -0
  403. package/dist/standalone/providers/action-sheet-controller.js +20 -0
  404. package/dist/standalone/providers/action-sheet-controller.js.map +1 -0
  405. package/dist/standalone/providers/alert-controller.js +20 -0
  406. package/dist/standalone/providers/alert-controller.js.map +1 -0
  407. package/dist/standalone/providers/animation-controller.js +37 -0
  408. package/dist/standalone/providers/animation-controller.js.map +1 -0
  409. package/dist/standalone/providers/gesture-controller.js +32 -0
  410. package/dist/standalone/providers/gesture-controller.js.map +1 -0
  411. package/dist/standalone/providers/ionic-angular.js +38 -0
  412. package/dist/standalone/providers/ionic-angular.js.map +1 -0
  413. package/dist/standalone/providers/loading-controller.js +20 -0
  414. package/dist/standalone/providers/loading-controller.js.map +1 -0
  415. package/dist/standalone/providers/menu-controller.js +18 -0
  416. package/dist/standalone/providers/menu-controller.js.map +1 -0
  417. package/dist/standalone/providers/modal-controller.js +27 -0
  418. package/dist/standalone/providers/modal-controller.js.map +1 -0
  419. package/dist/standalone/providers/popover-controller.js +21 -0
  420. package/dist/standalone/providers/popover-controller.js.map +1 -0
  421. package/dist/standalone/providers/toast-controller.js +20 -0
  422. package/dist/standalone/providers/toast-controller.js.map +1 -0
  423. package/package.json +172 -30
  424. package/esm2022/app-initialize.mjs +0 -29
  425. package/esm2022/common/directives/control-value-accessors/index.mjs +0 -2
  426. package/esm2022/common/directives/control-value-accessors/value-accessor.mjs +0 -153
  427. package/esm2022/common/directives/navigation/back-button.mjs +0 -61
  428. package/esm2022/common/directives/navigation/nav-params.mjs +0 -47
  429. package/esm2022/common/directives/navigation/nav.mjs +0 -49
  430. package/esm2022/common/directives/navigation/router-link-delegate.mjs +0 -190
  431. package/esm2022/common/directives/navigation/router-outlet.mjs +0 -480
  432. package/esm2022/common/directives/navigation/stack-controller.mjs +0 -283
  433. package/esm2022/common/directives/navigation/stack-utils.mjs +0 -73
  434. package/esm2022/common/directives/navigation/tabs.mjs +0 -279
  435. package/esm2022/common/index.mjs +0 -20
  436. package/esm2022/common/ionic-angular-common.mjs +0 -5
  437. package/esm2022/common/overlays/modal.mjs +0 -103
  438. package/esm2022/common/overlays/popover.mjs +0 -91
  439. package/esm2022/common/providers/angular-delegate.mjs +0 -210
  440. package/esm2022/common/providers/config.mjs +0 -45
  441. package/esm2022/common/providers/dom-controller.mjs +0 -45
  442. package/esm2022/common/providers/menu-controller.mjs +0 -114
  443. package/esm2022/common/providers/nav-controller.mjs +0 -235
  444. package/esm2022/common/providers/platform.mjs +0 -258
  445. package/esm2022/common/types/interfaces.mjs +0 -2
  446. package/esm2022/common/types/ionic-lifecycle-hooks.mjs +0 -5
  447. package/esm2022/common/types/overlay-options.mjs +0 -2
  448. package/esm2022/common/utils/overlay.mjs +0 -26
  449. package/esm2022/common/utils/proxy.mjs +0 -47
  450. package/esm2022/common/utils/routing.mjs +0 -55
  451. package/esm2022/common/utils/util.mjs +0 -10
  452. package/esm2022/directives/angular-component-lib/utils.mjs +0 -59
  453. package/esm2022/directives/control-value-accessors/boolean-value-accessor.mjs +0 -42
  454. package/esm2022/directives/control-value-accessors/index.mjs +0 -5
  455. package/esm2022/directives/control-value-accessors/numeric-value-accessor.mjs +0 -50
  456. package/esm2022/directives/control-value-accessors/select-value-accessor.mjs +0 -39
  457. package/esm2022/directives/control-value-accessors/text-value-accessor.mjs +0 -38
  458. package/esm2022/directives/navigation/ion-back-button.mjs +0 -24
  459. package/esm2022/directives/navigation/ion-nav.mjs +0 -21
  460. package/esm2022/directives/navigation/ion-router-outlet.mjs +0 -52
  461. package/esm2022/directives/navigation/ion-tabs.mjs +0 -59
  462. package/esm2022/directives/navigation/router-link-delegate.mjs +0 -32
  463. package/esm2022/directives/overlays/modal.mjs +0 -22
  464. package/esm2022/directives/overlays/popover.mjs +0 -18
  465. package/esm2022/directives/proxies-list.mjs +0 -90
  466. package/esm2022/directives/proxies.mjs +0 -2373
  467. package/esm2022/directives/validators/index.mjs +0 -3
  468. package/esm2022/directives/validators/max-validator.mjs +0 -27
  469. package/esm2022/directives/validators/min-validator.mjs +0 -27
  470. package/esm2022/index.mjs +0 -32
  471. package/esm2022/ionic-angular.mjs +0 -5
  472. package/esm2022/ionic-module.mjs +0 -111
  473. package/esm2022/providers/action-sheet-controller.mjs +0 -19
  474. package/esm2022/providers/alert-controller.mjs +0 -19
  475. package/esm2022/providers/animation-controller.mjs +0 -38
  476. package/esm2022/providers/gesture-controller.mjs +0 -33
  477. package/esm2022/providers/loading-controller.mjs +0 -19
  478. package/esm2022/providers/menu-controller.mjs +0 -19
  479. package/esm2022/providers/modal-controller.mjs +0 -26
  480. package/esm2022/providers/picker-controller.mjs +0 -22
  481. package/esm2022/providers/popover-controller.mjs +0 -19
  482. package/esm2022/providers/toast-controller.mjs +0 -19
  483. package/esm2022/standalone/directives/angular-component-lib/utils.mjs +0 -59
  484. package/esm2022/standalone/directives/checkbox.mjs +0 -76
  485. package/esm2022/standalone/directives/datetime.mjs +0 -95
  486. package/esm2022/standalone/directives/icon.mjs +0 -35
  487. package/esm2022/standalone/directives/index.mjs +0 -13
  488. package/esm2022/standalone/directives/input-otp.mjs +0 -90
  489. package/esm2022/standalone/directives/input.mjs +0 -113
  490. package/esm2022/standalone/directives/proxies.mjs +0 -2260
  491. package/esm2022/standalone/directives/radio-group.mjs +0 -60
  492. package/esm2022/standalone/directives/range.mjs +0 -78
  493. package/esm2022/standalone/directives/searchbar.mjs +0 -82
  494. package/esm2022/standalone/directives/segment.mjs +0 -60
  495. package/esm2022/standalone/directives/select.mjs +0 -84
  496. package/esm2022/standalone/directives/textarea.mjs +0 -91
  497. package/esm2022/standalone/directives/toggle.mjs +0 -76
  498. package/esm2022/standalone/index.mjs +0 -25
  499. package/esm2022/standalone/ionic-angular-standalone.mjs +0 -5
  500. package/esm2022/standalone/navigation/back-button.mjs +0 -32
  501. package/esm2022/standalone/navigation/nav.mjs +0 -28
  502. package/esm2022/standalone/navigation/router-link-delegate.mjs +0 -28
  503. package/esm2022/standalone/navigation/router-outlet.mjs +0 -60
  504. package/esm2022/standalone/navigation/tabs.mjs +0 -58
  505. package/esm2022/standalone/overlays/modal.mjs +0 -32
  506. package/esm2022/standalone/overlays/popover.mjs +0 -28
  507. package/esm2022/standalone/providers/action-sheet-controller.mjs +0 -21
  508. package/esm2022/standalone/providers/alert-controller.mjs +0 -21
  509. package/esm2022/standalone/providers/animation-controller.mjs +0 -38
  510. package/esm2022/standalone/providers/gesture-controller.mjs +0 -33
  511. package/esm2022/standalone/providers/ionic-angular.mjs +0 -38
  512. package/esm2022/standalone/providers/loading-controller.mjs +0 -21
  513. package/esm2022/standalone/providers/menu-controller.mjs +0 -19
  514. package/esm2022/standalone/providers/modal-controller.mjs +0 -28
  515. package/esm2022/standalone/providers/picker-controller.mjs +0 -24
  516. package/esm2022/standalone/providers/popover-controller.mjs +0 -21
  517. package/esm2022/standalone/providers/toast-controller.mjs +0 -21
  518. package/fesm2022/ionic-angular-common.mjs +0 -2791
  519. package/fesm2022/ionic-angular-common.mjs.map +0 -1
  520. package/fesm2022/ionic-angular-standalone.mjs +0 -3562
  521. package/fesm2022/ionic-angular-standalone.mjs.map +0 -1
  522. package/fesm2022/ionic-angular.mjs +0 -3139
  523. package/fesm2022/ionic-angular.mjs.map +0 -1
  524. package/ionic-module.d.ts +0 -28
  525. package/providers/picker-controller.d.ts +0 -11
  526. package/schematics/utils/ast.js +0 -32
  527. package/standalone/directives/proxies.d.ts +0 -1035
  528. package/standalone/providers/picker-controller.d.ts +0 -11
  529. /package/{common → dist/common}/directives/control-value-accessors/index.d.ts +0 -0
  530. /package/{common → dist/common}/directives/navigation/nav-params.d.ts +0 -0
  531. /package/{common → dist/common}/directives/navigation/stack-controller.d.ts +0 -0
  532. /package/{common → dist/common}/directives/navigation/stack-utils.d.ts +0 -0
  533. /package/{common → dist/common}/providers/config.d.ts +0 -0
  534. /package/{common → dist/common}/providers/dom-controller.d.ts +0 -0
  535. /package/{common → dist/common}/providers/menu-controller.d.ts +0 -0
  536. /package/{common → dist/common}/providers/nav-controller.d.ts +0 -0
  537. /package/{common → dist/common}/providers/platform.d.ts +0 -0
  538. /package/{common → dist/common}/types/interfaces.d.ts +0 -0
  539. /package/{common → dist/common}/types/ionic-lifecycle-hooks.d.ts +0 -0
  540. /package/{common → dist/common}/types/overlay-options.d.ts +0 -0
  541. /package/{common → dist/common}/utils/overlay.d.ts +0 -0
  542. /package/{common → dist/common}/utils/proxy.d.ts +0 -0
  543. /package/{common → dist/common}/utils/routing.d.ts +0 -0
  544. /package/{common → dist/common}/utils/util.d.ts +0 -0
  545. /package/{app-initialize.d.ts → dist/lazy/app-initialize.d.ts} +0 -0
  546. /package/{directives → dist/lazy/directives}/angular-component-lib/utils.d.ts +0 -0
  547. /package/{directives → dist/lazy/directives}/control-value-accessors/index.d.ts +0 -0
  548. /package/{directives → dist/lazy/directives}/navigation/ion-back-button.d.ts +0 -0
  549. /package/{directives → dist/lazy/directives}/navigation/ion-nav.d.ts +0 -0
  550. /package/{directives → dist/lazy/directives}/navigation/ion-router-outlet.d.ts +0 -0
  551. /package/{directives → dist/lazy/directives}/navigation/ion-tabs.d.ts +0 -0
  552. /package/{directives → dist/lazy/directives}/navigation/router-link-delegate.d.ts +0 -0
  553. /package/{directives → dist/lazy/directives}/overlays/modal.d.ts +0 -0
  554. /package/{directives → dist/lazy/directives}/overlays/popover.d.ts +0 -0
  555. /package/{directives → dist/lazy/directives}/validators/index.d.ts +0 -0
  556. /package/{directives → dist/lazy/directives}/validators/max-validator.d.ts +0 -0
  557. /package/{directives → dist/lazy/directives}/validators/min-validator.d.ts +0 -0
  558. /package/{providers → dist/lazy/providers}/action-sheet-controller.d.ts +0 -0
  559. /package/{providers → dist/lazy/providers}/alert-controller.d.ts +0 -0
  560. /package/{providers → dist/lazy/providers}/animation-controller.d.ts +0 -0
  561. /package/{providers → dist/lazy/providers}/gesture-controller.d.ts +0 -0
  562. /package/{providers → dist/lazy/providers}/loading-controller.d.ts +0 -0
  563. /package/{providers → dist/lazy/providers}/menu-controller.d.ts +0 -0
  564. /package/{providers → dist/lazy/providers}/modal-controller.d.ts +0 -0
  565. /package/{providers → dist/lazy/providers}/popover-controller.d.ts +0 -0
  566. /package/{providers → dist/lazy/providers}/toast-controller.d.ts +0 -0
  567. /package/{schematics → dist/schematics}/add/files/root/theme/variables.css +0 -0
  568. /package/{schematics → dist/schematics}/add/schema.json +0 -0
  569. /package/{schematics → dist/schematics}/collection.json +0 -0
  570. /package/{standalone → dist/standalone}/directives/angular-component-lib/utils.d.ts +0 -0
  571. /package/{standalone → dist/standalone}/directives/checkbox.d.ts +0 -0
  572. /package/{standalone → dist/standalone}/directives/datetime.d.ts +0 -0
  573. /package/{standalone → dist/standalone}/directives/icon.d.ts +0 -0
  574. /package/{standalone → dist/standalone}/directives/index.d.ts +0 -0
  575. /package/{standalone → dist/standalone}/directives/input-otp.d.ts +0 -0
  576. /package/{standalone → dist/standalone}/directives/input.d.ts +0 -0
  577. /package/{standalone → dist/standalone}/directives/radio-group.d.ts +0 -0
  578. /package/{standalone → dist/standalone}/directives/range.d.ts +0 -0
  579. /package/{standalone → dist/standalone}/directives/searchbar.d.ts +0 -0
  580. /package/{standalone → dist/standalone}/directives/segment.d.ts +0 -0
  581. /package/{standalone → dist/standalone}/directives/select.d.ts +0 -0
  582. /package/{standalone → dist/standalone}/directives/textarea.d.ts +0 -0
  583. /package/{standalone → dist/standalone}/directives/toggle.d.ts +0 -0
  584. /package/{standalone → dist/standalone}/navigation/back-button.d.ts +0 -0
  585. /package/{standalone → dist/standalone}/navigation/nav.d.ts +0 -0
  586. /package/{standalone → dist/standalone}/navigation/router-link-delegate.d.ts +0 -0
  587. /package/{standalone → dist/standalone}/navigation/router-outlet.d.ts +0 -0
  588. /package/{standalone → dist/standalone}/navigation/tabs.d.ts +0 -0
  589. /package/{standalone → dist/standalone}/overlays/modal.d.ts +0 -0
  590. /package/{standalone → dist/standalone}/overlays/popover.d.ts +0 -0
  591. /package/{standalone → dist/standalone}/providers/action-sheet-controller.d.ts +0 -0
  592. /package/{standalone → dist/standalone}/providers/alert-controller.d.ts +0 -0
  593. /package/{standalone → dist/standalone}/providers/animation-controller.d.ts +0 -0
  594. /package/{standalone → dist/standalone}/providers/gesture-controller.d.ts +0 -0
  595. /package/{standalone → dist/standalone}/providers/ionic-angular.d.ts +0 -0
  596. /package/{standalone → dist/standalone}/providers/loading-controller.d.ts +0 -0
  597. /package/{standalone → dist/standalone}/providers/menu-controller.d.ts +0 -0
  598. /package/{standalone → dist/standalone}/providers/modal-controller.d.ts +0 -0
  599. /package/{standalone → dist/standalone}/providers/popover-controller.d.ts +0 -0
  600. /package/{standalone → dist/standalone}/providers/toast-controller.d.ts +0 -0
@@ -1,235 +0,0 @@
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
@@ -1,258 +0,0 @@
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=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvbW1vbi9zcmMvdHlwZXMvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJb25pY0dsb2JhbCB7XG4gIGNvbmZpZz86IGFueTsgLy8gVE9ETyhGVy0yODI3KTogdHlwZVxuICBhc3luY1F1ZXVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJb25pY1dpbmRvdyBleHRlbmRzIFdpbmRvdyB7XG4gIElvbmljOiBJb25pY0dsb2JhbDtcbiAgX196b25lX3N5bWJvbF9fcmVxdWVzdEFuaW1hdGlvbkZyYW1lPzogKHRzOiBGcmFtZVJlcXVlc3RDYWxsYmFjaykgPT4gbnVtYmVyO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * https://ionicframework.com/docs/api/router-outlet#life-cycle-hooks
3
- */
4
- export {};
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtbGlmZWN5Y2xlLWhvb2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy90eXBlcy9pb25pYy1saWZlY3ljbGUtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBodHRwczovL2lvbmljZnJhbWV3b3JrLmNvbS9kb2NzL2FwaS9yb3V0ZXItb3V0bGV0I2xpZmUtY3ljbGUtaG9va3NcbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIFZpZXdXaWxsRW50ZXIge1xuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgY29tcG9uZW50IHJvdXRpbmcgdG8gaXMgYWJvdXQgdG8gYW5pbWF0ZSBpbnRvIHZpZXcuXG4gICAqL1xuICBpb25WaWV3V2lsbEVudGVyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlld0RpZEVudGVyIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGNvbXBvbmVudCByb3V0aW5nIHRvIGhhcyBmaW5pc2hlZCBhbmltYXRpbmcuXG4gICAqL1xuICBpb25WaWV3RGlkRW50ZXIoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3V2lsbExlYXZlIHtcbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIGNvbXBvbmVudCByb3V0aW5nIGZyb20gaXMgYWJvdXQgdG8gYW5pbWF0ZS5cbiAgICovXG4gIGlvblZpZXdXaWxsTGVhdmUoKTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3RGlkTGVhdmUge1xuICAvKipcbiAgICogRmlyZWQgd2hlbiB0aGUgY29tcG9uZW50IHJvdXRpbmcgdG8gaGFzIGZpbmlzaGVkIGFuaW1hdGluZy5cbiAgICovXG4gIGlvblZpZXdEaWRMZWF2ZSgpOiB2b2lkO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tbW9uL3NyYy90eXBlcy9vdmVybGF5LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQ29tcG9uZW50UmVmLFxuICBNb2RhbE9wdGlvbnMgYXMgQ29yZU1vZGFsT3B0aW9ucyxcbiAgUG9wb3Zlck9wdGlvbnMgYXMgQ29yZVBvcG92ZXJPcHRpb25zLFxufSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcblxuLyoqXG4gKiBNb2RhbCBvcHRpb25zIHdpdGggQW5ndWxhci1zcGVjaWZpYyBpbmplY3RvciBzdXBwb3J0LlxuICogRXh0ZW5kcyBAaW9uaWMvY29yZSBNb2RhbE9wdGlvbnMgd2l0aCBhbiBvcHRpb25hbCBpbmplY3RvciBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IHR5cGUgTW9kYWxPcHRpb25zPFQgZXh0ZW5kcyBDb21wb25lbnRSZWYgPSBDb21wb25lbnRSZWY+ID0gQ29yZU1vZGFsT3B0aW9uczxUPiAmIHtcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn07XG5cbi8qKlxuICogUG9wb3ZlciBvcHRpb25zIHdpdGggQW5ndWxhci1zcGVjaWZpYyBpbmplY3RvciBzdXBwb3J0LlxuICogRXh0ZW5kcyBAaW9uaWMvY29yZSBQb3BvdmVyT3B0aW9ucyB3aXRoIGFuIG9wdGlvbmFsIGluamVjdG9yIHByb3BlcnR5LlxuICovXG5leHBvcnQgdHlwZSBQb3BvdmVyT3B0aW9uczxUIGV4dGVuZHMgQ29tcG9uZW50UmVmID0gQ29tcG9uZW50UmVmPiA9IENvcmVQb3BvdmVyT3B0aW9uczxUPiAmIHtcbiAgaW5qZWN0b3I/OiBJbmplY3Rvcjtcbn07XG4iXX0=
@@ -1,26 +0,0 @@
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