@ionic/angular 8.8.19-dev.11786735826.1fad7c0a → 8.8.19-dev.11786832241.150538c7

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 (502) hide show
  1. package/README.md +0 -1
  2. package/dist/common/directives/control-value-accessors/index.d.ts +1 -0
  3. package/dist/common/directives/control-value-accessors/index.js +2 -0
  4. package/dist/common/directives/control-value-accessors/index.js.map +1 -0
  5. package/dist/common/directives/control-value-accessors/value-accessor.d.ts +36 -0
  6. package/dist/common/directives/control-value-accessors/value-accessor.js +152 -0
  7. package/dist/common/directives/control-value-accessors/value-accessor.js.map +1 -0
  8. package/dist/common/directives/navigation/back-button.d.ts +23 -0
  9. package/dist/common/directives/navigation/back-button.js +61 -0
  10. package/dist/common/directives/navigation/back-button.js.map +1 -0
  11. package/dist/common/directives/navigation/nav-params.d.ts +45 -0
  12. package/dist/common/directives/navigation/nav-params.js +47 -0
  13. package/dist/common/directives/navigation/nav-params.js.map +1 -0
  14. package/dist/common/directives/navigation/nav.d.ts +21 -0
  15. package/dist/common/directives/navigation/nav.js +49 -0
  16. package/dist/common/directives/navigation/nav.js.map +1 -0
  17. package/dist/common/directives/navigation/router-link-delegate.d.ts +70 -0
  18. package/dist/common/directives/navigation/router-link-delegate.js +188 -0
  19. package/dist/common/directives/navigation/router-link-delegate.js.map +1 -0
  20. package/dist/common/directives/navigation/router-outlet.d.ts +104 -0
  21. package/dist/common/directives/navigation/router-outlet.js +476 -0
  22. package/dist/common/directives/navigation/router-outlet.js.map +1 -0
  23. package/dist/common/directives/navigation/stack-controller.d.ts +42 -0
  24. package/dist/common/directives/navigation/stack-controller.js +282 -0
  25. package/dist/common/directives/navigation/stack-controller.js.map +1 -0
  26. package/dist/common/directives/navigation/stack-utils.d.ts +38 -0
  27. package/dist/common/directives/navigation/stack-utils.js +73 -0
  28. package/dist/common/directives/navigation/stack-utils.js.map +1 -0
  29. package/dist/common/directives/navigation/tabs.d.ts +91 -0
  30. package/dist/common/directives/navigation/tabs.js +290 -0
  31. package/dist/common/directives/navigation/tabs.js.map +1 -0
  32. package/dist/common/index.d.ts +22 -0
  33. package/dist/common/index.js +20 -0
  34. package/dist/common/index.js.map +1 -0
  35. package/dist/common/overlays/modal.d.ts +62 -0
  36. package/dist/common/overlays/modal.js +96 -0
  37. package/dist/common/overlays/modal.js.map +1 -0
  38. package/dist/common/overlays/popover.d.ts +46 -0
  39. package/dist/common/overlays/popover.js +84 -0
  40. package/dist/common/overlays/popover.js.map +1 -0
  41. package/dist/common/providers/angular-delegate.d.ts +28 -0
  42. package/dist/common/providers/angular-delegate.js +229 -0
  43. package/dist/common/providers/angular-delegate.js.map +1 -0
  44. package/dist/common/providers/config.d.ts +11 -0
  45. package/dist/common/providers/config.js +44 -0
  46. package/dist/common/providers/config.js.map +1 -0
  47. package/dist/common/providers/dom-controller.d.ts +16 -0
  48. package/dist/common/providers/dom-controller.js +44 -0
  49. package/dist/common/providers/dom-controller.js.map +1 -0
  50. package/dist/common/providers/menu-controller.d.ts +78 -0
  51. package/dist/common/providers/menu-controller.js +114 -0
  52. package/dist/common/providers/menu-controller.js.map +1 -0
  53. package/dist/common/providers/nav-controller.d.ts +116 -0
  54. package/dist/common/providers/nav-controller.js +232 -0
  55. package/dist/common/providers/nav-controller.js.map +1 -0
  56. package/dist/common/providers/platform.d.ts +174 -0
  57. package/dist/common/providers/platform.js +256 -0
  58. package/dist/common/providers/platform.js.map +1 -0
  59. package/dist/common/types/interfaces.d.ts +8 -0
  60. package/dist/common/types/interfaces.js +2 -0
  61. package/dist/common/types/interfaces.js.map +1 -0
  62. package/dist/common/types/ionic-lifecycle-hooks.d.ts +27 -0
  63. package/dist/common/types/ionic-lifecycle-hooks.js +5 -0
  64. package/dist/common/types/ionic-lifecycle-hooks.js.map +1 -0
  65. package/dist/common/types/overlay-options.d.ts +16 -0
  66. package/dist/common/types/overlay-options.js +2 -0
  67. package/dist/common/types/overlay-options.js.map +1 -0
  68. package/dist/common/utils/overlay.d.ts +21 -0
  69. package/dist/common/utils/overlay.js +26 -0
  70. package/dist/common/utils/overlay.js.map +1 -0
  71. package/dist/common/utils/proxy.d.ts +8 -0
  72. package/dist/common/utils/proxy.js +47 -0
  73. package/dist/common/utils/proxy.js.map +1 -0
  74. package/dist/common/utils/routing.d.ts +28 -0
  75. package/dist/common/utils/routing.js +55 -0
  76. package/dist/common/utils/routing.js.map +1 -0
  77. package/dist/common/utils/util.d.ts +1 -0
  78. package/dist/common/utils/util.js +10 -0
  79. package/dist/common/utils/util.js.map +1 -0
  80. package/dist/lazy/app-initialize.d.ts +3 -0
  81. package/dist/lazy/app-initialize.js +29 -0
  82. package/dist/lazy/app-initialize.js.map +1 -0
  83. package/dist/lazy/directives/angular-component-lib/utils.d.ts +9 -0
  84. package/dist/lazy/directives/angular-component-lib/utils.js +59 -0
  85. package/dist/lazy/directives/angular-component-lib/utils.js.map +1 -0
  86. package/dist/lazy/directives/control-value-accessors/boolean-value-accessor.d.ts +10 -0
  87. package/dist/lazy/directives/control-value-accessors/boolean-value-accessor.js +47 -0
  88. package/dist/lazy/directives/control-value-accessors/boolean-value-accessor.js.map +1 -0
  89. package/dist/lazy/directives/control-value-accessors/index.d.ts +4 -0
  90. package/dist/lazy/directives/control-value-accessors/index.js +5 -0
  91. package/dist/lazy/directives/control-value-accessors/index.js.map +1 -0
  92. package/dist/lazy/directives/control-value-accessors/numeric-value-accessor.d.ts +11 -0
  93. package/dist/lazy/directives/control-value-accessors/numeric-value-accessor.js +55 -0
  94. package/dist/lazy/directives/control-value-accessors/numeric-value-accessor.js.map +1 -0
  95. package/dist/lazy/directives/control-value-accessors/select-value-accessor.d.ts +9 -0
  96. package/dist/lazy/directives/control-value-accessors/select-value-accessor.js +44 -0
  97. package/dist/lazy/directives/control-value-accessors/select-value-accessor.js.map +1 -0
  98. package/dist/lazy/directives/control-value-accessors/text-value-accessor.d.ts +9 -0
  99. package/dist/lazy/directives/control-value-accessors/text-value-accessor.js +43 -0
  100. package/dist/lazy/directives/control-value-accessors/text-value-accessor.js.map +1 -0
  101. package/dist/lazy/directives/navigation/ion-back-button.d.ts +9 -0
  102. package/dist/lazy/directives/navigation/ion-back-button.js +24 -0
  103. package/dist/lazy/directives/navigation/ion-back-button.js.map +1 -0
  104. package/dist/lazy/directives/navigation/ion-nav.d.ts +8 -0
  105. package/dist/lazy/directives/navigation/ion-nav.js +21 -0
  106. package/dist/lazy/directives/navigation/ion-nav.js.map +1 -0
  107. package/dist/lazy/directives/navigation/ion-router-outlet.d.ts +25 -0
  108. package/dist/lazy/directives/navigation/ion-router-outlet.js +52 -0
  109. package/dist/lazy/directives/navigation/ion-router-outlet.js.map +1 -0
  110. package/dist/lazy/directives/navigation/ion-tabs.d.ts +13 -0
  111. package/dist/lazy/directives/navigation/ion-tabs.js +58 -0
  112. package/dist/lazy/directives/navigation/ion-tabs.js.map +1 -0
  113. package/dist/lazy/directives/navigation/router-link-delegate.d.ts +16 -0
  114. package/dist/lazy/directives/navigation/router-link-delegate.js +32 -0
  115. package/dist/lazy/directives/navigation/router-link-delegate.js.map +1 -0
  116. package/dist/lazy/directives/overlays/modal.d.ts +6 -0
  117. package/dist/lazy/directives/overlays/modal.js +22 -0
  118. package/dist/lazy/directives/overlays/modal.js.map +1 -0
  119. package/dist/lazy/directives/overlays/popover.d.ts +6 -0
  120. package/dist/lazy/directives/overlays/popover.js +18 -0
  121. package/dist/lazy/directives/overlays/popover.js.map +1 -0
  122. package/dist/lazy/directives/proxies-list.d.ts +2 -0
  123. package/dist/lazy/directives/proxies-list.js +89 -0
  124. package/dist/lazy/directives/proxies-list.js.map +1 -0
  125. package/{types/ionic-angular-lazy.d.ts → dist/lazy/directives/proxies.d.ts} +339 -503
  126. package/{fesm2022/ionic-angular-lazy.mjs → dist/lazy/directives/proxies.js} +91 -882
  127. package/dist/lazy/directives/proxies.js.map +1 -0
  128. package/dist/lazy/directives/validators/index.d.ts +2 -0
  129. package/dist/lazy/directives/validators/index.js +3 -0
  130. package/dist/lazy/directives/validators/index.js.map +1 -0
  131. package/dist/lazy/directives/validators/max-validator.d.ts +12 -0
  132. package/dist/lazy/directives/validators/max-validator.js +26 -0
  133. package/dist/lazy/directives/validators/max-validator.js.map +1 -0
  134. package/dist/lazy/directives/validators/min-validator.d.ts +12 -0
  135. package/dist/lazy/directives/validators/min-validator.js +26 -0
  136. package/dist/lazy/directives/validators/min-validator.js.map +1 -0
  137. package/dist/lazy/index.d.ts +26 -0
  138. package/dist/lazy/index.js +34 -0
  139. package/dist/lazy/index.js.map +1 -0
  140. package/dist/lazy/ionic-module.d.ts +38 -0
  141. package/dist/lazy/ionic-module.js +121 -0
  142. package/dist/lazy/ionic-module.js.map +1 -0
  143. package/dist/lazy/providers/action-sheet-controller.d.ts +8 -0
  144. package/dist/lazy/providers/action-sheet-controller.js +18 -0
  145. package/dist/lazy/providers/action-sheet-controller.js.map +1 -0
  146. package/dist/lazy/providers/alert-controller.d.ts +8 -0
  147. package/dist/lazy/providers/alert-controller.js +18 -0
  148. package/dist/lazy/providers/alert-controller.js.map +1 -0
  149. package/dist/lazy/providers/animation-controller.d.ts +25 -0
  150. package/dist/lazy/providers/animation-controller.js +37 -0
  151. package/dist/lazy/providers/animation-controller.js.map +1 -0
  152. package/dist/lazy/providers/gesture-controller.d.ts +13 -0
  153. package/dist/lazy/providers/gesture-controller.js +32 -0
  154. package/dist/lazy/providers/gesture-controller.js.map +1 -0
  155. package/dist/lazy/providers/loading-controller.d.ts +8 -0
  156. package/dist/lazy/providers/loading-controller.js +18 -0
  157. package/dist/lazy/providers/loading-controller.js.map +1 -0
  158. package/dist/lazy/providers/menu-controller.d.ts +7 -0
  159. package/dist/lazy/providers/menu-controller.js +18 -0
  160. package/dist/lazy/providers/menu-controller.js.map +1 -0
  161. package/dist/lazy/providers/modal-controller.d.ts +12 -0
  162. package/dist/lazy/providers/modal-controller.js +25 -0
  163. package/dist/lazy/providers/modal-controller.js.map +1 -0
  164. package/dist/lazy/providers/popover-controller.d.ts +9 -0
  165. package/dist/lazy/providers/popover-controller.js +19 -0
  166. package/dist/lazy/providers/popover-controller.js.map +1 -0
  167. package/dist/lazy/providers/toast-controller.d.ts +8 -0
  168. package/dist/lazy/providers/toast-controller.js +18 -0
  169. package/dist/lazy/providers/toast-controller.js.map +1 -0
  170. package/dist/standalone/directives/angular-component-lib/utils.d.ts +9 -0
  171. package/dist/standalone/directives/angular-component-lib/utils.js +59 -0
  172. package/dist/standalone/directives/angular-component-lib/utils.js.map +1 -0
  173. package/dist/standalone/directives/checkbox.d.ts +30 -0
  174. package/dist/standalone/directives/checkbox.js +75 -0
  175. package/dist/standalone/directives/checkbox.js.map +1 -0
  176. package/dist/standalone/directives/datetime.d.ts +30 -0
  177. package/dist/standalone/directives/datetime.js +93 -0
  178. package/dist/standalone/directives/datetime.js.map +1 -0
  179. package/dist/standalone/directives/icon.d.ts +9 -0
  180. package/dist/standalone/directives/icon.js +35 -0
  181. package/dist/standalone/directives/icon.js.map +1 -0
  182. package/dist/standalone/directives/index.d.ts +12 -0
  183. package/dist/standalone/directives/index.js +13 -0
  184. package/dist/standalone/directives/index.js.map +1 -0
  185. package/dist/standalone/directives/input-otp.d.ts +49 -0
  186. package/dist/standalone/directives/input-otp.js +89 -0
  187. package/dist/standalone/directives/input-otp.js.map +1 -0
  188. package/dist/standalone/directives/input.d.ts +47 -0
  189. package/dist/standalone/directives/input.js +112 -0
  190. package/dist/standalone/directives/input.js.map +1 -0
  191. package/dist/standalone/directives/ion-accordion-group.d.ts +21 -0
  192. package/dist/standalone/directives/ion-accordion-group.js +40 -0
  193. package/dist/standalone/directives/ion-accordion-group.js.map +1 -0
  194. package/dist/standalone/directives/ion-accordion.d.ts +12 -0
  195. package/dist/standalone/directives/ion-accordion.js +36 -0
  196. package/dist/standalone/directives/ion-accordion.js.map +1 -0
  197. package/dist/standalone/directives/ion-action-sheet.d.ts +58 -0
  198. package/dist/standalone/directives/ion-action-sheet.js +62 -0
  199. package/dist/standalone/directives/ion-action-sheet.js.map +1 -0
  200. package/dist/standalone/directives/ion-alert.d.ts +58 -0
  201. package/dist/standalone/directives/ion-alert.js +62 -0
  202. package/dist/standalone/directives/ion-alert.js.map +1 -0
  203. package/dist/standalone/directives/ion-app.d.ts +12 -0
  204. package/dist/standalone/directives/ion-app.js +36 -0
  205. package/dist/standalone/directives/ion-app.js.map +1 -0
  206. package/dist/standalone/directives/ion-avatar.d.ts +12 -0
  207. package/dist/standalone/directives/ion-avatar.js +35 -0
  208. package/dist/standalone/directives/ion-avatar.js.map +1 -0
  209. package/dist/standalone/directives/ion-backdrop.d.ts +18 -0
  210. package/dist/standalone/directives/ion-backdrop.js +40 -0
  211. package/dist/standalone/directives/ion-backdrop.js.map +1 -0
  212. package/dist/standalone/directives/ion-badge.d.ts +12 -0
  213. package/dist/standalone/directives/ion-badge.js +36 -0
  214. package/dist/standalone/directives/ion-badge.js.map +1 -0
  215. package/dist/standalone/directives/ion-breadcrumb.d.ts +23 -0
  216. package/dist/standalone/directives/ion-breadcrumb.js +43 -0
  217. package/dist/standalone/directives/ion-breadcrumb.js.map +1 -0
  218. package/dist/standalone/directives/ion-breadcrumbs.d.ts +19 -0
  219. package/dist/standalone/directives/ion-breadcrumbs.js +40 -0
  220. package/dist/standalone/directives/ion-breadcrumbs.js.map +1 -0
  221. package/dist/standalone/directives/ion-button.d.ts +23 -0
  222. package/dist/standalone/directives/ion-button.js +43 -0
  223. package/dist/standalone/directives/ion-button.js.map +1 -0
  224. package/dist/standalone/directives/ion-buttons.d.ts +12 -0
  225. package/dist/standalone/directives/ion-buttons.js +36 -0
  226. package/dist/standalone/directives/ion-buttons.js.map +1 -0
  227. package/dist/standalone/directives/ion-card-content.d.ts +12 -0
  228. package/dist/standalone/directives/ion-card-content.js +36 -0
  229. package/dist/standalone/directives/ion-card-content.js.map +1 -0
  230. package/dist/standalone/directives/ion-card-header.d.ts +12 -0
  231. package/dist/standalone/directives/ion-card-header.js +36 -0
  232. package/dist/standalone/directives/ion-card-header.js.map +1 -0
  233. package/dist/standalone/directives/ion-card-subtitle.d.ts +12 -0
  234. package/dist/standalone/directives/ion-card-subtitle.js +36 -0
  235. package/dist/standalone/directives/ion-card-subtitle.js.map +1 -0
  236. package/dist/standalone/directives/ion-card-title.d.ts +12 -0
  237. package/dist/standalone/directives/ion-card-title.js +36 -0
  238. package/dist/standalone/directives/ion-card-title.js.map +1 -0
  239. package/dist/standalone/directives/ion-card.d.ts +12 -0
  240. package/dist/standalone/directives/ion-card.js +36 -0
  241. package/dist/standalone/directives/ion-card.js.map +1 -0
  242. package/dist/standalone/directives/ion-chip.d.ts +12 -0
  243. package/dist/standalone/directives/ion-chip.js +36 -0
  244. package/dist/standalone/directives/ion-chip.js.map +1 -0
  245. package/dist/standalone/directives/ion-col.d.ts +12 -0
  246. package/dist/standalone/directives/ion-col.js +36 -0
  247. package/dist/standalone/directives/ion-col.js.map +1 -0
  248. package/dist/standalone/directives/ion-content.d.ts +33 -0
  249. package/dist/standalone/directives/ion-content.js +47 -0
  250. package/dist/standalone/directives/ion-content.js.map +1 -0
  251. package/dist/standalone/directives/ion-datetime-button.d.ts +12 -0
  252. package/dist/standalone/directives/ion-datetime-button.js +36 -0
  253. package/dist/standalone/directives/ion-datetime-button.js.map +1 -0
  254. package/dist/standalone/directives/ion-fab-button.d.ts +23 -0
  255. package/dist/standalone/directives/ion-fab-button.js +43 -0
  256. package/dist/standalone/directives/ion-fab-button.js.map +1 -0
  257. package/dist/standalone/directives/ion-fab-list.d.ts +12 -0
  258. package/dist/standalone/directives/ion-fab-list.js +36 -0
  259. package/dist/standalone/directives/ion-fab-list.js.map +1 -0
  260. package/dist/standalone/directives/ion-fab.d.ts +12 -0
  261. package/dist/standalone/directives/ion-fab.js +37 -0
  262. package/dist/standalone/directives/ion-fab.js.map +1 -0
  263. package/dist/standalone/directives/ion-footer.d.ts +12 -0
  264. package/dist/standalone/directives/ion-footer.js +36 -0
  265. package/dist/standalone/directives/ion-footer.js.map +1 -0
  266. package/dist/standalone/directives/ion-grid.d.ts +12 -0
  267. package/dist/standalone/directives/ion-grid.js +36 -0
  268. package/dist/standalone/directives/ion-grid.js.map +1 -0
  269. package/dist/standalone/directives/ion-header.d.ts +12 -0
  270. package/dist/standalone/directives/ion-header.js +36 -0
  271. package/dist/standalone/directives/ion-header.js.map +1 -0
  272. package/dist/standalone/directives/ion-img.d.ts +28 -0
  273. package/dist/standalone/directives/ion-img.js +46 -0
  274. package/dist/standalone/directives/ion-img.js.map +1 -0
  275. package/dist/standalone/directives/ion-infinite-scroll-content.d.ts +12 -0
  276. package/dist/standalone/directives/ion-infinite-scroll-content.js +36 -0
  277. package/dist/standalone/directives/ion-infinite-scroll-content.js.map +1 -0
  278. package/dist/standalone/directives/ion-infinite-scroll.d.ts +21 -0
  279. package/dist/standalone/directives/ion-infinite-scroll.js +41 -0
  280. package/dist/standalone/directives/ion-infinite-scroll.js.map +1 -0
  281. package/dist/standalone/directives/ion-input-password-toggle.d.ts +12 -0
  282. package/dist/standalone/directives/ion-input-password-toggle.js +36 -0
  283. package/dist/standalone/directives/ion-input-password-toggle.js.map +1 -0
  284. package/dist/standalone/directives/ion-item-divider.d.ts +12 -0
  285. package/dist/standalone/directives/ion-item-divider.js +36 -0
  286. package/dist/standalone/directives/ion-item-divider.js.map +1 -0
  287. package/dist/standalone/directives/ion-item-group.d.ts +12 -0
  288. package/dist/standalone/directives/ion-item-group.js +35 -0
  289. package/dist/standalone/directives/ion-item-group.js.map +1 -0
  290. package/dist/standalone/directives/ion-item-option.d.ts +12 -0
  291. package/dist/standalone/directives/ion-item-option.js +36 -0
  292. package/dist/standalone/directives/ion-item-option.js.map +1 -0
  293. package/dist/standalone/directives/ion-item-options.d.ts +18 -0
  294. package/dist/standalone/directives/ion-item-options.js +40 -0
  295. package/dist/standalone/directives/ion-item-options.js.map +1 -0
  296. package/dist/standalone/directives/ion-item-sliding.d.ts +18 -0
  297. package/dist/standalone/directives/ion-item-sliding.js +41 -0
  298. package/dist/standalone/directives/ion-item-sliding.js.map +1 -0
  299. package/dist/standalone/directives/ion-item.d.ts +12 -0
  300. package/dist/standalone/directives/ion-item.js +36 -0
  301. package/dist/standalone/directives/ion-item.js.map +1 -0
  302. package/dist/standalone/directives/ion-label.d.ts +12 -0
  303. package/dist/standalone/directives/ion-label.js +36 -0
  304. package/dist/standalone/directives/ion-label.js.map +1 -0
  305. package/dist/standalone/directives/ion-list-header.d.ts +12 -0
  306. package/dist/standalone/directives/ion-list-header.js +36 -0
  307. package/dist/standalone/directives/ion-list-header.js.map +1 -0
  308. package/dist/standalone/directives/ion-list.d.ts +12 -0
  309. package/dist/standalone/directives/ion-list.js +37 -0
  310. package/dist/standalone/directives/ion-list.js.map +1 -0
  311. package/dist/standalone/directives/ion-loading.d.ts +58 -0
  312. package/dist/standalone/directives/ion-loading.js +62 -0
  313. package/dist/standalone/directives/ion-loading.js.map +1 -0
  314. package/dist/standalone/directives/ion-menu-button.d.ts +12 -0
  315. package/dist/standalone/directives/ion-menu-button.js +36 -0
  316. package/dist/standalone/directives/ion-menu-button.js.map +1 -0
  317. package/dist/standalone/directives/ion-menu-toggle.d.ts +12 -0
  318. package/dist/standalone/directives/ion-menu-toggle.js +36 -0
  319. package/dist/standalone/directives/ion-menu-toggle.js.map +1 -0
  320. package/dist/standalone/directives/ion-menu.d.ts +34 -0
  321. package/dist/standalone/directives/ion-menu.js +50 -0
  322. package/dist/standalone/directives/ion-menu.js.map +1 -0
  323. package/dist/standalone/directives/ion-nav-link.d.ts +12 -0
  324. package/dist/standalone/directives/ion-nav-link.js +36 -0
  325. package/dist/standalone/directives/ion-nav-link.js.map +1 -0
  326. package/dist/standalone/directives/ion-note.d.ts +12 -0
  327. package/dist/standalone/directives/ion-note.js +36 -0
  328. package/dist/standalone/directives/ion-note.js.map +1 -0
  329. package/dist/standalone/directives/ion-picker-column-option.d.ts +12 -0
  330. package/dist/standalone/directives/ion-picker-column-option.js +36 -0
  331. package/dist/standalone/directives/ion-picker-column-option.js.map +1 -0
  332. package/dist/standalone/directives/ion-picker-column.d.ts +21 -0
  333. package/dist/standalone/directives/ion-picker-column.js +41 -0
  334. package/dist/standalone/directives/ion-picker-column.js.map +1 -0
  335. package/dist/standalone/directives/ion-picker.d.ts +12 -0
  336. package/dist/standalone/directives/ion-picker.js +36 -0
  337. package/dist/standalone/directives/ion-picker.js.map +1 -0
  338. package/dist/standalone/directives/ion-progress-bar.d.ts +12 -0
  339. package/dist/standalone/directives/ion-progress-bar.js +36 -0
  340. package/dist/standalone/directives/ion-progress-bar.js.map +1 -0
  341. package/dist/standalone/directives/ion-radio.d.ts +23 -0
  342. package/dist/standalone/directives/ion-radio.js +43 -0
  343. package/dist/standalone/directives/ion-radio.js.map +1 -0
  344. package/dist/standalone/directives/ion-refresher-content.d.ts +12 -0
  345. package/dist/standalone/directives/ion-refresher-content.js +36 -0
  346. package/dist/standalone/directives/ion-refresher-content.js.map +1 -0
  347. package/dist/standalone/directives/ion-refresher.d.ts +45 -0
  348. package/dist/standalone/directives/ion-refresher.js +53 -0
  349. package/dist/standalone/directives/ion-refresher.js.map +1 -0
  350. package/dist/standalone/directives/ion-reorder-group.d.ts +44 -0
  351. package/dist/standalone/directives/ion-reorder-group.js +50 -0
  352. package/dist/standalone/directives/ion-reorder-group.js.map +1 -0
  353. package/dist/standalone/directives/ion-reorder.d.ts +12 -0
  354. package/dist/standalone/directives/ion-reorder.js +35 -0
  355. package/dist/standalone/directives/ion-reorder.js.map +1 -0
  356. package/dist/standalone/directives/ion-ripple-effect.d.ts +12 -0
  357. package/dist/standalone/directives/ion-ripple-effect.js +37 -0
  358. package/dist/standalone/directives/ion-ripple-effect.js.map +1 -0
  359. package/dist/standalone/directives/ion-row.d.ts +12 -0
  360. package/dist/standalone/directives/ion-row.js +35 -0
  361. package/dist/standalone/directives/ion-row.js.map +1 -0
  362. package/dist/standalone/directives/ion-segment-button.d.ts +12 -0
  363. package/dist/standalone/directives/ion-segment-button.js +36 -0
  364. package/dist/standalone/directives/ion-segment-button.js.map +1 -0
  365. package/dist/standalone/directives/ion-segment-content.d.ts +12 -0
  366. package/dist/standalone/directives/ion-segment-content.js +35 -0
  367. package/dist/standalone/directives/ion-segment-content.js.map +1 -0
  368. package/dist/standalone/directives/ion-segment-view.d.ts +19 -0
  369. package/dist/standalone/directives/ion-segment-view.js +40 -0
  370. package/dist/standalone/directives/ion-segment-view.js.map +1 -0
  371. package/dist/standalone/directives/ion-select-modal.d.ts +12 -0
  372. package/dist/standalone/directives/ion-select-modal.js +36 -0
  373. package/dist/standalone/directives/ion-select-modal.js.map +1 -0
  374. package/dist/standalone/directives/ion-select-option.d.ts +12 -0
  375. package/dist/standalone/directives/ion-select-option.js +36 -0
  376. package/dist/standalone/directives/ion-select-option.js.map +1 -0
  377. package/dist/standalone/directives/ion-skeleton-text.d.ts +12 -0
  378. package/dist/standalone/directives/ion-skeleton-text.js +36 -0
  379. package/dist/standalone/directives/ion-skeleton-text.js.map +1 -0
  380. package/dist/standalone/directives/ion-spinner.d.ts +12 -0
  381. package/dist/standalone/directives/ion-spinner.js +36 -0
  382. package/dist/standalone/directives/ion-spinner.js.map +1 -0
  383. package/dist/standalone/directives/ion-split-pane.d.ts +22 -0
  384. package/dist/standalone/directives/ion-split-pane.js +40 -0
  385. package/dist/standalone/directives/ion-split-pane.js.map +1 -0
  386. package/dist/standalone/directives/ion-tab-bar.d.ts +12 -0
  387. package/dist/standalone/directives/ion-tab-bar.js +36 -0
  388. package/dist/standalone/directives/ion-tab-bar.js.map +1 -0
  389. package/dist/standalone/directives/ion-tab-button.d.ts +12 -0
  390. package/dist/standalone/directives/ion-tab-button.js +36 -0
  391. package/dist/standalone/directives/ion-tab-button.js.map +1 -0
  392. package/dist/standalone/directives/ion-tab.d.ts +12 -0
  393. package/dist/standalone/directives/ion-tab.js +37 -0
  394. package/dist/standalone/directives/ion-tab.js.map +1 -0
  395. package/dist/standalone/directives/ion-text.d.ts +12 -0
  396. package/dist/standalone/directives/ion-text.js +36 -0
  397. package/dist/standalone/directives/ion-text.js.map +1 -0
  398. package/dist/standalone/directives/ion-thumbnail.d.ts +12 -0
  399. package/dist/standalone/directives/ion-thumbnail.js +35 -0
  400. package/dist/standalone/directives/ion-thumbnail.js.map +1 -0
  401. package/dist/standalone/directives/ion-title.d.ts +12 -0
  402. package/dist/standalone/directives/ion-title.js +36 -0
  403. package/dist/standalone/directives/ion-title.js.map +1 -0
  404. package/dist/standalone/directives/ion-toast.d.ts +58 -0
  405. package/dist/standalone/directives/ion-toast.js +62 -0
  406. package/dist/standalone/directives/ion-toast.js.map +1 -0
  407. package/dist/standalone/directives/ion-toolbar.d.ts +12 -0
  408. package/dist/standalone/directives/ion-toolbar.js +36 -0
  409. package/dist/standalone/directives/ion-toolbar.js.map +1 -0
  410. package/dist/standalone/directives/proxies.d.ts +77 -0
  411. package/dist/standalone/directives/proxies.js +79 -0
  412. package/dist/standalone/directives/proxies.js.map +1 -0
  413. package/dist/standalone/directives/radio-group.d.ts +18 -0
  414. package/dist/standalone/directives/radio-group.js +59 -0
  415. package/dist/standalone/directives/radio-group.js.map +1 -0
  416. package/dist/standalone/directives/range.d.ts +47 -0
  417. package/dist/standalone/directives/range.js +77 -0
  418. package/dist/standalone/directives/range.js.map +1 -0
  419. package/dist/standalone/directives/searchbar.d.ts +45 -0
  420. package/dist/standalone/directives/searchbar.js +81 -0
  421. package/dist/standalone/directives/searchbar.js.map +1 -0
  422. package/dist/standalone/directives/segment.d.ts +19 -0
  423. package/dist/standalone/directives/segment.js +59 -0
  424. package/dist/standalone/directives/segment.js.map +1 -0
  425. package/dist/standalone/directives/select.d.ts +34 -0
  426. package/dist/standalone/directives/select.js +83 -0
  427. package/dist/standalone/directives/select.js.map +1 -0
  428. package/dist/standalone/directives/textarea.d.ts +37 -0
  429. package/dist/standalone/directives/textarea.js +90 -0
  430. package/dist/standalone/directives/textarea.js.map +1 -0
  431. package/dist/standalone/directives/toggle.d.ts +28 -0
  432. package/dist/standalone/directives/toggle.js +75 -0
  433. package/dist/standalone/directives/toggle.js.map +1 -0
  434. package/dist/standalone/index.d.ts +22 -0
  435. package/dist/standalone/index.js +24 -0
  436. package/dist/standalone/index.js.map +1 -0
  437. package/dist/standalone/navigation/back-button.d.ts +9 -0
  438. package/dist/standalone/navigation/back-button.js +32 -0
  439. package/dist/standalone/navigation/back-button.js.map +1 -0
  440. package/dist/standalone/navigation/nav.d.ts +8 -0
  441. package/dist/standalone/navigation/nav.js +28 -0
  442. package/dist/standalone/navigation/nav.js.map +1 -0
  443. package/dist/standalone/navigation/router-link-delegate.d.ts +10 -0
  444. package/dist/standalone/navigation/router-link-delegate.js +26 -0
  445. package/dist/standalone/navigation/router-link-delegate.js.map +1 -0
  446. package/dist/standalone/navigation/router-outlet.d.ts +25 -0
  447. package/dist/standalone/navigation/router-outlet.js +60 -0
  448. package/dist/standalone/navigation/router-outlet.js.map +1 -0
  449. package/dist/standalone/navigation/tabs.d.ts +13 -0
  450. package/dist/standalone/navigation/tabs.js +57 -0
  451. package/dist/standalone/navigation/tabs.js.map +1 -0
  452. package/dist/standalone/overlays/modal.d.ts +6 -0
  453. package/dist/standalone/overlays/modal.js +32 -0
  454. package/dist/standalone/overlays/modal.js.map +1 -0
  455. package/dist/standalone/overlays/popover.d.ts +6 -0
  456. package/dist/standalone/overlays/popover.js +28 -0
  457. package/dist/standalone/overlays/popover.js.map +1 -0
  458. package/dist/standalone/providers/action-sheet-controller.d.ts +8 -0
  459. package/dist/standalone/providers/action-sheet-controller.js +20 -0
  460. package/dist/standalone/providers/action-sheet-controller.js.map +1 -0
  461. package/dist/standalone/providers/alert-controller.d.ts +8 -0
  462. package/dist/standalone/providers/alert-controller.js +20 -0
  463. package/dist/standalone/providers/alert-controller.js.map +1 -0
  464. package/dist/standalone/providers/animation-controller.d.ts +25 -0
  465. package/dist/standalone/providers/animation-controller.js +37 -0
  466. package/dist/standalone/providers/animation-controller.js.map +1 -0
  467. package/dist/standalone/providers/gesture-controller.d.ts +13 -0
  468. package/dist/standalone/providers/gesture-controller.js +32 -0
  469. package/dist/standalone/providers/gesture-controller.js.map +1 -0
  470. package/dist/standalone/providers/ionic-angular.d.ts +7 -0
  471. package/dist/standalone/providers/ionic-angular.js +38 -0
  472. package/dist/standalone/providers/ionic-angular.js.map +1 -0
  473. package/dist/standalone/providers/loading-controller.d.ts +8 -0
  474. package/dist/standalone/providers/loading-controller.js +20 -0
  475. package/dist/standalone/providers/loading-controller.js.map +1 -0
  476. package/dist/standalone/providers/menu-controller.d.ts +7 -0
  477. package/dist/standalone/providers/menu-controller.js +18 -0
  478. package/dist/standalone/providers/menu-controller.js.map +1 -0
  479. package/dist/standalone/providers/modal-controller.d.ts +12 -0
  480. package/dist/standalone/providers/modal-controller.js +27 -0
  481. package/dist/standalone/providers/modal-controller.js.map +1 -0
  482. package/dist/standalone/providers/popover-controller.d.ts +9 -0
  483. package/dist/standalone/providers/popover-controller.js +21 -0
  484. package/dist/standalone/providers/popover-controller.js.map +1 -0
  485. package/dist/standalone/providers/toast-controller.d.ts +8 -0
  486. package/dist/standalone/providers/toast-controller.js +20 -0
  487. package/dist/standalone/providers/toast-controller.js.map +1 -0
  488. package/package.json +165 -23
  489. package/fesm2022/ionic-angular-common.mjs +0 -2802
  490. package/fesm2022/ionic-angular-common.mjs.map +0 -1
  491. package/fesm2022/ionic-angular-lazy.mjs.map +0 -1
  492. package/fesm2022/ionic-angular.mjs +0 -3644
  493. package/fesm2022/ionic-angular.mjs.map +0 -1
  494. package/types/ionic-angular-common.d.ts +0 -1031
  495. package/types/ionic-angular.d.ts +0 -1560
  496. /package/{schematics → dist/schematics}/add/files/root/theme/variables.css +0 -0
  497. /package/{schematics → dist/schematics}/add/index.js +0 -0
  498. /package/{schematics → dist/schematics}/add/schema.json +0 -0
  499. /package/{schematics → dist/schematics}/collection.json +0 -0
  500. /package/{schematics → dist/schematics}/utils/ast.js +0 -0
  501. /package/{schematics → dist/schematics}/utils/config.js +0 -0
  502. /package/{schematics → dist/schematics}/utils/package.js +0 -0
@@ -0,0 +1,114 @@
1
+ export class MenuController {
2
+ menuController;
3
+ constructor(menuController) {
4
+ this.menuController = menuController;
5
+ }
6
+ /**
7
+ * Programmatically open the Menu.
8
+ * @param [menuId] Optionally get the menu by its id, or side.
9
+ * @return returns a promise when the menu is fully opened
10
+ */
11
+ open(menuId) {
12
+ return this.menuController.open(menuId);
13
+ }
14
+ /**
15
+ * Programmatically close the Menu. If no `menuId` is given as the first
16
+ * argument then it'll close any menu which is open. If a `menuId`
17
+ * is given then it'll close that exact menu.
18
+ * @param [menuId] Optionally get the menu by its id, or side.
19
+ * @return returns a promise when the menu is fully closed
20
+ */
21
+ close(menuId) {
22
+ return this.menuController.close(menuId);
23
+ }
24
+ /**
25
+ * Toggle the menu. If it's closed, it will open, and if opened, it
26
+ * will close.
27
+ * @param [menuId] Optionally get the menu by its id, or side.
28
+ * @return returns a promise when the menu has been toggled
29
+ */
30
+ toggle(menuId) {
31
+ return this.menuController.toggle(menuId);
32
+ }
33
+ /**
34
+ * Used to enable or disable a menu. For example, there could be multiple
35
+ * left menus, but only one of them should be able to be opened at the same
36
+ * time. If there are multiple menus on the same side, then enabling one menu
37
+ * will also automatically disable all the others that are on the same side.
38
+ * @param [menuId] Optionally get the menu by its id, or side.
39
+ * @return Returns the instance of the menu, which is useful for chaining.
40
+ */
41
+ enable(shouldEnable, menuId) {
42
+ return this.menuController.enable(shouldEnable, menuId);
43
+ }
44
+ /**
45
+ * Used to enable or disable the ability to swipe open the menu.
46
+ * @param shouldEnable True if it should be swipe-able, false if not.
47
+ * @param [menuId] Optionally get the menu by its id, or side.
48
+ * @return Returns the instance of the menu, which is useful for chaining.
49
+ */
50
+ swipeGesture(shouldEnable, menuId) {
51
+ return this.menuController.swipeGesture(shouldEnable, menuId);
52
+ }
53
+ /**
54
+ * @param [menuId] Optionally get the menu by its id, or side.
55
+ * @return Returns true if the specified menu is currently open, otherwise false.
56
+ * If the menuId is not specified, it returns true if ANY menu is currenly open.
57
+ */
58
+ isOpen(menuId) {
59
+ return this.menuController.isOpen(menuId);
60
+ }
61
+ /**
62
+ * @param [menuId] Optionally get the menu by its id, or side.
63
+ * @return Returns true if the menu is currently enabled, otherwise false.
64
+ */
65
+ isEnabled(menuId) {
66
+ return this.menuController.isEnabled(menuId);
67
+ }
68
+ /**
69
+ * Used to get a menu instance. If a `menuId` is not provided then it'll
70
+ * return the first menu found. If a `menuId` is `left` or `right`, then
71
+ * it'll return the enabled menu on that side. Otherwise, if a `menuId` is
72
+ * provided, then it'll try to find the menu using the menu's `id`
73
+ * property. If a menu is not found then it'll return `null`.
74
+ * @param [menuId] Optionally get the menu by its id, or side.
75
+ * @return Returns the instance of the menu if found, otherwise `null`.
76
+ */
77
+ get(menuId) {
78
+ return this.menuController.get(menuId);
79
+ }
80
+ /**
81
+ * @return Returns the instance of the menu already opened, otherwise `null`.
82
+ */
83
+ getOpen() {
84
+ return this.menuController.getOpen();
85
+ }
86
+ /**
87
+ * @return Returns an array of all menu instances.
88
+ */
89
+ getMenus() {
90
+ return this.menuController.getMenus();
91
+ }
92
+ registerAnimation(name, animation) {
93
+ return this.menuController.registerAnimation(name, animation);
94
+ }
95
+ isAnimating() {
96
+ return this.menuController.isAnimating();
97
+ }
98
+ _getOpenSync() {
99
+ return this.menuController._getOpenSync();
100
+ }
101
+ _createAnimation(type, menuCmp) {
102
+ return this.menuController._createAnimation(type, menuCmp);
103
+ }
104
+ _register(menu) {
105
+ return this.menuController._register(menu);
106
+ }
107
+ _unregister(menu) {
108
+ return this.menuController._unregister(menu);
109
+ }
110
+ _setOpen(menu, shouldOpen, animated) {
111
+ return this.menuController._setOpen(menu, shouldOpen, animated);
112
+ }
113
+ }
114
+ //# sourceMappingURL=menu-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-controller.js","sourceRoot":"","sources":["../../../src/common/providers/menu-controller.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,cAA+B;QAA/B,mBAAc,GAAd,cAAc,CAAiB;IAAG,CAAC;IAEvD;;;;OAIG;IACH,IAAI,CAAC,MAAe;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAe;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAe;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAqB,EAAE,MAAe;QAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,YAAqB,EAAE,MAAe;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,MAAe;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAe;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;OAQG;IACH,GAAG,CAAC,MAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,SAA2B;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAc;QAC3C,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,SAAS,CAAC,IAAW;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAAC,IAAW;QACrB,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,IAAW,EAAE,UAAmB,EAAE,QAAiB;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;CACF","sourcesContent":["import type { MenuControllerI, AnimationBuilder, MenuI, Animation } from '@ionic/core/components';\n\nexport class MenuController implements MenuControllerI {\n constructor(private menuController: MenuControllerI) {}\n\n /**\n * Programmatically open the Menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully opened\n */\n open(menuId?: string): Promise<boolean> {\n return this.menuController.open(menuId);\n }\n\n /**\n * Programmatically close the Menu. If no `menuId` is given as the first\n * argument then it'll close any menu which is open. If a `menuId`\n * is given then it'll close that exact menu.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu is fully closed\n */\n close(menuId?: string): Promise<boolean> {\n return this.menuController.close(menuId);\n }\n\n /**\n * Toggle the menu. If it's closed, it will open, and if opened, it\n * will close.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return returns a promise when the menu has been toggled\n */\n toggle(menuId?: string): Promise<boolean> {\n return this.menuController.toggle(menuId);\n }\n\n /**\n * Used to enable or disable a menu. For example, there could be multiple\n * left menus, but only one of them should be able to be opened at the same\n * time. If there are multiple menus on the same side, then enabling one menu\n * will also automatically disable all the others that are on the same side.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n enable(shouldEnable: boolean, menuId?: string): Promise<HTMLIonMenuElement | undefined> {\n return this.menuController.enable(shouldEnable, menuId);\n }\n\n /**\n * Used to enable or disable the ability to swipe open the menu.\n * @param shouldEnable True if it should be swipe-able, false if not.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu, which is useful for chaining.\n */\n swipeGesture(shouldEnable: boolean, menuId?: string): Promise<HTMLIonMenuElement | undefined> {\n return this.menuController.swipeGesture(shouldEnable, menuId);\n }\n\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the specified menu is currently open, otherwise false.\n * If the menuId is not specified, it returns true if ANY menu is currenly open.\n */\n isOpen(menuId?: string): Promise<boolean> {\n return this.menuController.isOpen(menuId);\n }\n\n /**\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns true if the menu is currently enabled, otherwise false.\n */\n isEnabled(menuId?: string): Promise<boolean> {\n return this.menuController.isEnabled(menuId);\n }\n\n /**\n * Used to get a menu instance. If a `menuId` is not provided then it'll\n * return the first menu found. If a `menuId` is `left` or `right`, then\n * it'll return the enabled menu on that side. Otherwise, if a `menuId` is\n * provided, then it'll try to find the menu using the menu's `id`\n * property. If a menu is not found then it'll return `null`.\n * @param [menuId] Optionally get the menu by its id, or side.\n * @return Returns the instance of the menu if found, otherwise `null`.\n */\n get(menuId?: string): Promise<HTMLIonMenuElement | undefined> {\n return this.menuController.get(menuId);\n }\n\n /**\n * @return Returns the instance of the menu already opened, otherwise `null`.\n */\n getOpen(): Promise<HTMLIonMenuElement | undefined> {\n return this.menuController.getOpen();\n }\n\n /**\n * @return Returns an array of all menu instances.\n */\n getMenus(): Promise<HTMLIonMenuElement[]> {\n return this.menuController.getMenus();\n }\n\n registerAnimation(name: string, animation: AnimationBuilder): void {\n return this.menuController.registerAnimation(name, animation);\n }\n\n isAnimating(): Promise<boolean> {\n return this.menuController.isAnimating();\n }\n\n _getOpenSync(): HTMLIonMenuElement | undefined {\n return this.menuController._getOpenSync();\n }\n\n _createAnimation(type: string, menuCmp: MenuI): Promise<Animation> {\n return this.menuController._createAnimation(type, menuCmp);\n }\n\n _register(menu: MenuI): void {\n return this.menuController._register(menu);\n }\n\n _unregister(menu: MenuI): void {\n return this.menuController._unregister(menu);\n }\n\n _setOpen(menu: MenuI, shouldOpen: boolean, animated: boolean): Promise<boolean> {\n return this.menuController._setOpen(menu, shouldOpen, animated);\n }\n}\n"]}
@@ -0,0 +1,116 @@
1
+ import { Location } from '@angular/common';
2
+ import { NavigationExtras, Router, UrlSerializer, UrlTree } from '@angular/router';
3
+ import type { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core/components';
4
+ import { IonRouterOutlet } from '../directives/navigation/router-outlet';
5
+ import { Platform } from './platform';
6
+ import * as i0 from "@angular/core";
7
+ export interface AnimationOptions {
8
+ animated?: boolean;
9
+ animation?: AnimationBuilder;
10
+ animationDirection?: 'forward' | 'back';
11
+ }
12
+ export interface NavigationOptions extends NavigationExtras, AnimationOptions {
13
+ }
14
+ export declare class NavController {
15
+ private location;
16
+ private serializer;
17
+ private router?;
18
+ private topOutlet?;
19
+ private direction;
20
+ private animated?;
21
+ private animationBuilder?;
22
+ private guessDirection;
23
+ private guessAnimation?;
24
+ private lastNavId;
25
+ constructor(platform: Platform, location: Location, serializer: UrlSerializer, router?: Router | undefined);
26
+ /**
27
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
28
+ * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.
29
+ *
30
+ * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),
31
+ * and that it will show a "forward" animation by default.
32
+ *
33
+ * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:
34
+ *
35
+ * ```html
36
+ * <a routerLink="/path/to/page" routerDirection="forward">Link</a>
37
+ * ```
38
+ */
39
+ navigateForward(url: string | UrlTree | any[], options?: NavigationOptions): Promise<boolean>;
40
+ /**
41
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
42
+ * it's equivalent to calling:
43
+ *
44
+ * ```ts
45
+ * this.navController.setDirection('back');
46
+ * this.router.navigateByUrl(path);
47
+ * ```
48
+ *
49
+ * Going **back** means that all the pages in the stack until the navigated page is found will be popped,
50
+ * and that it will show a "back" animation by default.
51
+ *
52
+ * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:
53
+ *
54
+ * ```html
55
+ * <a routerLink="/path/to/page" routerDirection="back">Link</a>
56
+ * ```
57
+ */
58
+ navigateBack(url: string | UrlTree | any[], options?: NavigationOptions): Promise<boolean>;
59
+ /**
60
+ * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,
61
+ * it's equivalent to calling:
62
+ *
63
+ * ```ts
64
+ * this.navController.setDirection('root');
65
+ * this.router.navigateByUrl(path);
66
+ * ```
67
+ *
68
+ * Going **root** means that all existing pages in the stack will be removed,
69
+ * and the navigated page will become the single page in the stack.
70
+ *
71
+ * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:
72
+ *
73
+ * ```html
74
+ * <a routerLink="/path/to/page" routerDirection="root">Link</a>
75
+ * ```
76
+ */
77
+ navigateRoot(url: string | UrlTree | any[], options?: NavigationOptions): Promise<boolean>;
78
+ /**
79
+ * Same as [Location](https://angular.io/api/common/Location)'s back() method.
80
+ * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation
81
+ * by default.
82
+ */
83
+ back(options?: AnimationOptions): void;
84
+ /**
85
+ * This methods goes back in the context of Ionic's stack navigation.
86
+ *
87
+ * It recursively finds the top active `ion-router-outlet` and calls `pop()`.
88
+ * This is the recommended way to go back when you are using `ion-router-outlet`.
89
+ *
90
+ * Resolves to `true` if it was able to pop.
91
+ */
92
+ pop(): Promise<boolean>;
93
+ /**
94
+ * This methods specifies the direction of the next navigation performed by the Angular router.
95
+ *
96
+ * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.
97
+ *
98
+ * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.
99
+ */
100
+ setDirection(direction: RouterDirection, animated?: boolean, animationDirection?: 'forward' | 'back', animationBuilder?: AnimationBuilder): void;
101
+ /**
102
+ * @internal
103
+ */
104
+ setTopOutlet(outlet: IonRouterOutlet): void;
105
+ /**
106
+ * @internal
107
+ */
108
+ consumeTransition(): {
109
+ direction: RouterDirection;
110
+ animation: NavDirection | undefined;
111
+ animationBuilder: AnimationBuilder | undefined;
112
+ };
113
+ private navigate;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavController, [null, null, null, { optional: true; }]>;
115
+ static ɵprov: i0.ɵɵInjectableDeclaration<NavController>;
116
+ }
@@ -0,0 +1,232 @@
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
+ export 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
+ return this.router.navigate(url, options);
181
+ }
182
+ else {
183
+ /**
184
+ * navigateByUrl ignores any properties that
185
+ * would change the url, so things like queryParams
186
+ * would be ignored unless we create a url tree
187
+ * More Info: https://github.com/angular/angular/issues/18798
188
+ */
189
+ const urlTree = this.serializer.parse(url.toString());
190
+ if (options.queryParams !== undefined) {
191
+ urlTree.queryParams = { ...options.queryParams };
192
+ }
193
+ if (options.fragment !== undefined) {
194
+ urlTree.fragment = options.fragment;
195
+ }
196
+ /**
197
+ * `navigateByUrl` will still apply `NavigationExtras` properties
198
+ * that do not modify the url, such as `replaceUrl` which is why
199
+ * `options` is passed in here.
200
+ */
201
+ return this.router.navigateByUrl(urlTree, options);
202
+ }
203
+ }
204
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, deps: [{ token: i1.Platform }, { token: i2.Location }, { token: i3.UrlSerializer }, { token: i3.Router, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
205
+ /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, providedIn: 'root' });
206
+ }
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: NavController, decorators: [{
208
+ type: Injectable,
209
+ args: [{
210
+ providedIn: 'root',
211
+ }]
212
+ }], ctorParameters: () => [{ type: i1.Platform }, { type: i2.Location }, { type: i3.UrlSerializer }, { type: i3.Router, decorators: [{
213
+ type: Optional
214
+ }] }] });
215
+ const getAnimation = (direction, animated, animationDirection) => {
216
+ if (animated === false) {
217
+ return undefined;
218
+ }
219
+ if (animationDirection !== undefined) {
220
+ return animationDirection;
221
+ }
222
+ if (direction === 'forward' || direction === 'back') {
223
+ return direction;
224
+ }
225
+ else if (direction === 'root' && animated === true) {
226
+ return 'forward';
227
+ }
228
+ return undefined;
229
+ };
230
+ const DEFAULT_DIRECTION = 'auto';
231
+ const DEFAULT_ANIMATED = undefined;
232
+ //# sourceMappingURL=nav-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav-controller.js","sourceRoot":"","sources":["../../../src/common/providers/nav-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import { Location } from '@angular/common';\nimport { Injectable, Optional } from '@angular/core';\nimport {\n NavigationExtras,\n Router,\n UrlSerializer,\n UrlTree,\n NavigationStart,\n NavigationCancel,\n NavigationError,\n} from '@angular/router';\nimport type { AnimationBuilder, NavDirection, RouterDirection } from '@ionic/core/components';\n\nimport { IonRouterOutlet } from '../directives/navigation/router-outlet';\n\nimport { Platform } from './platform';\n\nexport interface AnimationOptions {\n animated?: boolean;\n animation?: AnimationBuilder;\n animationDirection?: 'forward' | 'back';\n}\n\nexport interface NavigationOptions extends NavigationExtras, AnimationOptions {}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavController {\n private topOutlet?: IonRouterOutlet;\n private direction: 'forward' | 'back' | 'root' | 'auto' = DEFAULT_DIRECTION;\n private animated?: NavDirection = DEFAULT_ANIMATED;\n private animationBuilder?: AnimationBuilder;\n private guessDirection: RouterDirection = 'forward';\n private guessAnimation?: NavDirection;\n private lastNavId = -1;\n\n constructor(\n platform: Platform,\n private location: Location,\n private serializer: UrlSerializer,\n @Optional() private router?: Router\n ) {\n // Subscribe to router events to detect direction\n if (router) {\n router.events.subscribe((ev) => {\n if (ev instanceof NavigationStart) {\n // restoredState is set if the browser back/forward button is used\n const id = ev.restoredState ? ev.restoredState.navigationId : ev.id;\n this.guessDirection = this.guessAnimation = id < this.lastNavId ? 'back' : 'forward';\n this.lastNavId = this.guessDirection === 'forward' ? ev.id : id;\n }\n\n // Reset explicit direction when navigation is canceled (e.g., guard rejection)\n // to prevent stale direction from leaking into the next navigation\n if (ev instanceof NavigationCancel || ev instanceof NavigationError) {\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.animationBuilder = undefined;\n }\n });\n }\n\n // Subscribe to backButton events\n platform.backButton.subscribeWithPriority(0, (processNextHandler) => {\n this.pop();\n processNextHandler();\n });\n }\n\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling `this.router.navigateByUrl()`, but it's explicit about the **direction** of the transition.\n *\n * Going **forward** means that a new page is going to be pushed to the stack of the outlet (ion-router-outlet),\n * and that it will show a \"forward\" animation by default.\n *\n * Navigating forward can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"forward\">Link</a>\n * ```\n */\n navigateForward(url: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('forward', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('back');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **back** means that all the pages in the stack until the navigated page is found will be popped,\n * and that it will show a \"back\" animation by default.\n *\n * Navigating back can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"back\">Link</a>\n * ```\n */\n navigateBack(url: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n\n /**\n * This method uses Angular's [Router](https://angular.io/api/router/Router) under the hood,\n * it's equivalent to calling:\n *\n * ```ts\n * this.navController.setDirection('root');\n * this.router.navigateByUrl(path);\n * ```\n *\n * Going **root** means that all existing pages in the stack will be removed,\n * and the navigated page will become the single page in the stack.\n *\n * Navigating root can also be triggered in a declarative manner by using the `[routerDirection]` directive:\n *\n * ```html\n * <a routerLink=\"/path/to/page\" routerDirection=\"root\">Link</a>\n * ```\n */\n navigateRoot(url: string | UrlTree | any[], options: NavigationOptions = {}): Promise<boolean> {\n this.setDirection('root', options.animated, options.animationDirection, options.animation);\n return this.navigate(url, options);\n }\n\n /**\n * Same as [Location](https://angular.io/api/common/Location)'s back() method.\n * It will use the standard `window.history.back()` under the hood, but featuring a `back` animation\n * by default.\n */\n back(options: AnimationOptions = { animated: true, animationDirection: 'back' }): void {\n this.setDirection('back', options.animated, options.animationDirection, options.animation);\n return this.location.back();\n }\n\n /**\n * This methods goes back in the context of Ionic's stack navigation.\n *\n * It recursively finds the top active `ion-router-outlet` and calls `pop()`.\n * This is the recommended way to go back when you are using `ion-router-outlet`.\n *\n * Resolves to `true` if it was able to pop.\n */\n async pop(): Promise<boolean> {\n let outlet = this.topOutlet;\n\n while (outlet) {\n if (await outlet.pop()) {\n return true;\n } else {\n outlet = outlet.parentOutlet;\n }\n }\n\n return false;\n }\n\n /**\n * This methods specifies the direction of the next navigation performed by the Angular router.\n *\n * `setDirection()` does not trigger any transition, it just sets some flags to be consumed by `ion-router-outlet`.\n *\n * It's recommended to use `navigateForward()`, `navigateBack()` and `navigateRoot()` instead of `setDirection()`.\n */\n setDirection(\n direction: RouterDirection,\n animated?: boolean,\n animationDirection?: 'forward' | 'back',\n animationBuilder?: AnimationBuilder\n ): void {\n this.direction = direction;\n this.animated = getAnimation(direction, animated, animationDirection);\n this.animationBuilder = animationBuilder;\n }\n\n /**\n * @internal\n */\n setTopOutlet(outlet: IonRouterOutlet): void {\n this.topOutlet = outlet;\n }\n\n /**\n * @internal\n */\n consumeTransition(): {\n direction: RouterDirection;\n animation: NavDirection | undefined;\n animationBuilder: AnimationBuilder | undefined;\n } {\n let direction: RouterDirection = 'root';\n let animation: NavDirection | undefined;\n const animationBuilder = this.animationBuilder;\n\n if (this.direction === 'auto') {\n direction = this.guessDirection;\n animation = this.guessAnimation;\n } else {\n animation = this.animated;\n direction = this.direction;\n }\n this.direction = DEFAULT_DIRECTION;\n this.animated = DEFAULT_ANIMATED;\n this.animationBuilder = undefined;\n\n return {\n direction,\n animation,\n animationBuilder,\n };\n }\n\n private navigate(url: string | UrlTree | any[], options: NavigationOptions) {\n if (Array.isArray(url)) {\n return this.router!.navigate(url, options);\n } else {\n /**\n * navigateByUrl ignores any properties that\n * would change the url, so things like queryParams\n * would be ignored unless we create a url tree\n * More Info: https://github.com/angular/angular/issues/18798\n */\n const urlTree = this.serializer.parse(url.toString());\n\n if (options.queryParams !== undefined) {\n urlTree.queryParams = { ...options.queryParams };\n }\n\n if (options.fragment !== undefined) {\n urlTree.fragment = options.fragment;\n }\n\n /**\n * `navigateByUrl` will still apply `NavigationExtras` properties\n * that do not modify the url, such as `replaceUrl` which is why\n * `options` is passed in here.\n */\n return this.router!.navigateByUrl(urlTree, options);\n }\n }\n}\n\nconst getAnimation = (\n direction: RouterDirection,\n animated: boolean | undefined,\n animationDirection: 'forward' | 'back' | undefined\n): NavDirection | undefined => {\n if (animated === false) {\n return undefined;\n }\n if (animationDirection !== undefined) {\n return animationDirection;\n }\n if (direction === 'forward' || direction === 'back') {\n return direction;\n } else if (direction === 'root' && animated === true) {\n return 'forward';\n }\n return undefined;\n};\n\nconst DEFAULT_DIRECTION = 'auto';\nconst DEFAULT_ANIMATED = undefined;\n"]}