@ionic/core 7.6.8-dev.11706715287.1950fa40 → 7.7.1-dev.11706736578.174d0727

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 (348) hide show
  1. package/components/hardware-back-button.js +47 -3
  2. package/components/helpers.js +3 -3
  3. package/components/ion-app.js +12 -2
  4. package/components/ion-menu.js +9 -3
  5. package/components/ion-select.js +3 -3
  6. package/components/ion-split-pane.js +11 -12
  7. package/components/overlays.js +96 -30
  8. package/dist/cjs/{animation-9b401d39.js → animation-c2840aea.js} +1 -1
  9. package/dist/cjs/{form-controller-7d42a722.js → form-controller-c83330c0.js} +1 -1
  10. package/dist/cjs/{framework-delegate-1c29b14a.js → framework-delegate-e0e13baa.js} +1 -1
  11. package/dist/cjs/{hardware-back-button-76833cac.js → hardware-back-button-d23873bb.js} +48 -2
  12. package/dist/cjs/{helpers-76bb7efb.js → helpers-da4c0ed1.js} +3 -3
  13. package/dist/cjs/{index-fc6d268f.js → index-0ccc7b6f.js} +3 -3
  14. package/dist/cjs/{index-b4f986cd.js → index-62290fec.js} +1 -1
  15. package/dist/cjs/{index-8aef188d.js → index-6600c909.js} +3 -3
  16. package/dist/cjs/{index-da15e99c.js → index-bef98850.js} +1 -1
  17. package/dist/cjs/index.cjs.js +9 -9
  18. package/dist/cjs/{input-shims-a23bb0f4.js → input-shims-a9a85bb9.js} +2 -2
  19. package/dist/cjs/{input.utils-3d0166a2.js → input.utils-d7dca90f.js} +1 -1
  20. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  22. package/dist/cjs/ion-alert.cjs.entry.js +5 -5
  23. package/dist/cjs/ion-app_8.cjs.entry.js +31 -22
  24. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  27. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-datetime_3.cjs.entry.js +5 -5
  31. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  35. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  37. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  38. package/dist/cjs/ion-menu_3.cjs.entry.js +13 -8
  39. package/dist/cjs/ion-modal.cjs.entry.js +7 -7
  40. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-picker-internal.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-popover.cjs.entry.js +6 -6
  44. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  45. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  47. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  48. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  50. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  51. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  52. package/dist/cjs/ion-select_3.cjs.entry.js +8 -8
  53. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -12
  54. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  55. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  57. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  59. package/dist/cjs/ionic.cjs.js +1 -1
  60. package/dist/cjs/{ios.transition-2d1cf0c0.js → ios.transition-810ef802.js} +3 -3
  61. package/dist/cjs/loader.cjs.js +1 -1
  62. package/dist/cjs/{md.transition-bb342d2a.js → md.transition-15315952.js} +3 -3
  63. package/dist/cjs/{notch-controller-9735e7ac.js → notch-controller-bfbcbb7a.js} +1 -1
  64. package/dist/cjs/{overlays-62679ec5.js → overlays-37b51f7b.js} +97 -31
  65. package/dist/cjs/{status-tap-5fa2bab5.js → status-tap-d3dcdb3b.js} +2 -2
  66. package/dist/cjs/{swipe-back-2a858bbd.js → swipe-back-cf8aa1ec.js} +1 -1
  67. package/dist/collection/components/app/app.js +12 -2
  68. package/dist/collection/components/menu/menu.js +8 -8
  69. package/dist/collection/components/select/select.js +3 -3
  70. package/dist/collection/components/split-pane/split-pane.js +11 -12
  71. package/dist/collection/utils/hardware-back-button.js +45 -2
  72. package/dist/collection/utils/helpers.js +2 -2
  73. package/dist/collection/utils/overlays.js +96 -29
  74. package/dist/collection/utils/test/hardware-back-button.spec.js +38 -0
  75. package/dist/docs.json +1 -6
  76. package/dist/esm/{animation-dde8cc0d.js → animation-6a0c5338.js} +1 -1
  77. package/dist/esm/{form-controller-548aa79c.js → form-controller-21dd62b1.js} +1 -1
  78. package/dist/esm/{framework-delegate-bc1fd82a.js → framework-delegate-ed4ba327.js} +1 -1
  79. package/dist/esm/{hardware-back-button-b2bc76db.js → hardware-back-button-f42b9c80.js} +48 -3
  80. package/dist/esm/{helpers-ae653409.js → helpers-be245865.js} +3 -3
  81. package/dist/esm/{index-82eeb47f.js → index-020f5464.js} +1 -1
  82. package/dist/esm/{index-8fac11d0.js → index-22b42a9f.js} +3 -3
  83. package/dist/esm/{index-6546f0dd.js → index-aa29e8bf.js} +3 -3
  84. package/dist/esm/{index-b9e742e5.js → index-f3946ac1.js} +1 -1
  85. package/dist/esm/index.js +9 -9
  86. package/dist/esm/{input-shims-6539ce13.js → input-shims-5329bbe8.js} +2 -2
  87. package/dist/esm/{input.utils-a5a2d164.js → input.utils-a445f677.js} +1 -1
  88. package/dist/esm/ion-accordion_2.entry.js +1 -1
  89. package/dist/esm/ion-action-sheet.entry.js +5 -5
  90. package/dist/esm/ion-alert.entry.js +5 -5
  91. package/dist/esm/ion-app_8.entry.js +21 -12
  92. package/dist/esm/ion-back-button.entry.js +1 -1
  93. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  94. package/dist/esm/ion-button_2.entry.js +1 -1
  95. package/dist/esm/ion-card_5.entry.js +1 -1
  96. package/dist/esm/ion-checkbox.entry.js +2 -2
  97. package/dist/esm/ion-datetime-button.entry.js +1 -1
  98. package/dist/esm/ion-datetime_3.entry.js +5 -5
  99. package/dist/esm/ion-fab_3.entry.js +1 -1
  100. package/dist/esm/ion-img.entry.js +1 -1
  101. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  102. package/dist/esm/ion-input.entry.js +4 -4
  103. package/dist/esm/ion-item-option_3.entry.js +2 -2
  104. package/dist/esm/ion-item_8.entry.js +1 -1
  105. package/dist/esm/ion-loading.entry.js +5 -5
  106. package/dist/esm/ion-menu_3.entry.js +13 -8
  107. package/dist/esm/ion-modal.entry.js +7 -7
  108. package/dist/esm/ion-nav_2.entry.js +4 -4
  109. package/dist/esm/ion-picker-column-internal.entry.js +1 -1
  110. package/dist/esm/ion-picker-internal.entry.js +1 -1
  111. package/dist/esm/ion-popover.entry.js +6 -6
  112. package/dist/esm/ion-progress-bar.entry.js +1 -1
  113. package/dist/esm/ion-radio_2.entry.js +2 -2
  114. package/dist/esm/ion-range.entry.js +3 -3
  115. package/dist/esm/ion-refresher_2.entry.js +3 -3
  116. package/dist/esm/ion-reorder_2.entry.js +2 -2
  117. package/dist/esm/ion-route_4.entry.js +1 -1
  118. package/dist/esm/ion-searchbar.entry.js +1 -1
  119. package/dist/esm/ion-segment_2.entry.js +1 -1
  120. package/dist/esm/ion-select_3.entry.js +8 -8
  121. package/dist/esm/ion-split-pane.entry.js +11 -12
  122. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  123. package/dist/esm/ion-tab_2.entry.js +2 -2
  124. package/dist/esm/ion-textarea.entry.js +4 -4
  125. package/dist/esm/ion-toast.entry.js +5 -5
  126. package/dist/esm/ion-toggle.entry.js +2 -2
  127. package/dist/esm/ionic.js +1 -1
  128. package/dist/esm/{ios.transition-968faaad.js → ios.transition-46de8e98.js} +3 -3
  129. package/dist/esm/loader.js +1 -1
  130. package/dist/esm/{md.transition-498898ac.js → md.transition-804d9596.js} +3 -3
  131. package/dist/esm/{notch-controller-fea7f9c5.js → notch-controller-6bd3e0f9.js} +1 -1
  132. package/dist/esm/{overlays-4bb86b9c.js → overlays-7199c581.js} +97 -31
  133. package/dist/esm/{status-tap-06b37f21.js → status-tap-d8a80d95.js} +2 -2
  134. package/dist/esm/{swipe-back-a6f386fc.js → swipe-back-37a22d34.js} +1 -1
  135. package/dist/esm-es5/{animation-dde8cc0d.js → animation-6a0c5338.js} +1 -1
  136. package/dist/esm-es5/{form-controller-548aa79c.js → form-controller-21dd62b1.js} +1 -1
  137. package/dist/esm-es5/{framework-delegate-bc1fd82a.js → framework-delegate-ed4ba327.js} +1 -1
  138. package/dist/esm-es5/hardware-back-button-f42b9c80.js +4 -0
  139. package/dist/esm-es5/helpers-be245865.js +4 -0
  140. package/dist/esm-es5/{index-82eeb47f.js → index-020f5464.js} +1 -1
  141. package/dist/esm-es5/{index-8fac11d0.js → index-22b42a9f.js} +1 -1
  142. package/dist/esm-es5/{index-6546f0dd.js → index-aa29e8bf.js} +1 -1
  143. package/dist/esm-es5/{index-b9e742e5.js → index-f3946ac1.js} +1 -1
  144. package/dist/esm-es5/index.js +1 -1
  145. package/dist/esm-es5/{input-shims-6539ce13.js → input-shims-5329bbe8.js} +1 -1
  146. package/dist/esm-es5/{input.utils-a5a2d164.js → input.utils-a445f677.js} +1 -1
  147. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  148. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  149. package/dist/esm-es5/ion-alert.entry.js +1 -1
  150. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  151. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  152. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  153. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  154. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  155. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  156. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  157. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  158. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  159. package/dist/esm-es5/ion-img.entry.js +1 -1
  160. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  161. package/dist/esm-es5/ion-input.entry.js +1 -1
  162. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  163. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  164. package/dist/esm-es5/ion-loading.entry.js +1 -1
  165. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  166. package/dist/esm-es5/ion-modal.entry.js +1 -1
  167. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  168. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  169. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  170. package/dist/esm-es5/ion-popover.entry.js +1 -1
  171. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  172. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  173. package/dist/esm-es5/ion-range.entry.js +1 -1
  174. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  175. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  176. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  177. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  178. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  179. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  180. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  181. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  182. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  183. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  184. package/dist/esm-es5/ion-toast.entry.js +1 -1
  185. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  186. package/dist/esm-es5/ionic.js +1 -1
  187. package/dist/esm-es5/{ios.transition-968faaad.js → ios.transition-46de8e98.js} +1 -1
  188. package/dist/esm-es5/loader.js +1 -1
  189. package/dist/esm-es5/md.transition-804d9596.js +4 -0
  190. package/dist/esm-es5/{notch-controller-fea7f9c5.js → notch-controller-6bd3e0f9.js} +1 -1
  191. package/dist/esm-es5/overlays-7199c581.js +4 -0
  192. package/dist/esm-es5/{status-tap-06b37f21.js → status-tap-d8a80d95.js} +1 -1
  193. package/dist/esm-es5/swipe-back-37a22d34.js +4 -0
  194. package/dist/ionic/index.esm.js +1 -1
  195. package/dist/ionic/ionic.esm.js +1 -1
  196. package/dist/ionic/p-001010b6.system.js +4 -0
  197. package/dist/ionic/{p-6aacda17.system.entry.js → p-00b14d2c.system.entry.js} +1 -1
  198. package/dist/ionic/{p-aad00593.entry.js → p-05167dc2.entry.js} +1 -1
  199. package/dist/ionic/{p-ee20243d.system.entry.js → p-089b2b36.system.entry.js} +1 -1
  200. package/dist/ionic/p-0b955124.system.js +1 -1
  201. package/dist/ionic/{p-47bb4958.js → p-0c625e5f.js} +1 -1
  202. package/dist/ionic/{p-7bb1d7dd.entry.js → p-0f6a29e7.entry.js} +1 -1
  203. package/dist/ionic/p-1061d7cb.js +4 -0
  204. package/dist/ionic/{p-b5914ab2.entry.js → p-12627bff.entry.js} +1 -1
  205. package/dist/ionic/{p-66d633fb.js → p-12a8643e.js} +1 -1
  206. package/dist/ionic/{p-f318e213.system.entry.js → p-12cf5909.system.entry.js} +1 -1
  207. package/dist/ionic/{p-b4db67d7.entry.js → p-186959bb.entry.js} +1 -1
  208. package/dist/ionic/{p-5d26143c.entry.js → p-1a8bd472.entry.js} +1 -1
  209. package/dist/ionic/p-1b3ffb2f.js +4 -0
  210. package/dist/ionic/p-1bc9b5f5.system.js +4 -0
  211. package/dist/ionic/{p-9e09d6d3.entry.js → p-1e3e8be1.entry.js} +1 -1
  212. package/dist/ionic/{p-2f9fe497.system.entry.js → p-1f87e5b2.system.entry.js} +1 -1
  213. package/dist/ionic/{p-c1d4b820.entry.js → p-20253122.entry.js} +1 -1
  214. package/dist/ionic/{p-46b0ffa3.system.entry.js → p-261eb8dc.system.entry.js} +1 -1
  215. package/dist/ionic/{p-0274f779.system.entry.js → p-26bfb7aa.system.entry.js} +1 -1
  216. package/dist/ionic/{p-1401bd2e.system.entry.js → p-2b99a589.system.entry.js} +1 -1
  217. package/dist/ionic/{p-3a75d7fd.js → p-2c118b1e.js} +1 -1
  218. package/dist/ionic/p-2c726979.entry.js +4 -0
  219. package/dist/ionic/{p-6c938b0d.entry.js → p-2f682b1d.entry.js} +1 -1
  220. package/dist/ionic/{p-42dd5fb5.system.entry.js → p-2fd6badb.system.entry.js} +1 -1
  221. package/dist/ionic/{p-af9ab3f4.entry.js → p-312e6137.entry.js} +1 -1
  222. package/dist/ionic/{p-a3928153.system.entry.js → p-331b4e02.system.entry.js} +1 -1
  223. package/dist/ionic/{p-408fc801.system.js → p-3362b4a9.system.js} +1 -1
  224. package/dist/ionic/{p-432353dc.entry.js → p-3b1c3be8.entry.js} +1 -1
  225. package/dist/ionic/p-3fe26591.entry.js +4 -0
  226. package/dist/ionic/{p-f06a7c31.system.js → p-400be8d3.system.js} +1 -1
  227. package/dist/ionic/{p-b853da37.entry.js → p-41cbadb1.entry.js} +1 -1
  228. package/dist/ionic/{p-013013a3.js → p-46bcc2f5.js} +1 -1
  229. package/dist/ionic/p-48de5c0d.js +4 -0
  230. package/dist/ionic/p-4b2d5b9c.js +4 -0
  231. package/dist/ionic/p-4c812a54.js +4 -0
  232. package/dist/ionic/{p-4eecabe1.entry.js → p-4f06e44f.entry.js} +1 -1
  233. package/dist/ionic/{p-8642d042.system.entry.js → p-523ef897.system.entry.js} +1 -1
  234. package/dist/ionic/{p-376a6063.js → p-56ee6d9a.js} +1 -1
  235. package/dist/ionic/{p-6ecc011b.system.js → p-5c9652a6.system.js} +1 -1
  236. package/dist/ionic/{p-7e732640.entry.js → p-5ca6b52b.entry.js} +1 -1
  237. package/dist/ionic/p-5fc8d5ef.system.js +4 -0
  238. package/dist/ionic/p-62b7320a.system.js +4 -0
  239. package/dist/ionic/{p-2f7c7dc9.entry.js → p-639cc7d8.entry.js} +1 -1
  240. package/dist/ionic/p-6444cade.system.js +4 -0
  241. package/dist/ionic/p-6482ab9e.entry.js +4 -0
  242. package/dist/ionic/{p-41dc24d3.system.entry.js → p-6495a18f.system.entry.js} +1 -1
  243. package/dist/ionic/{p-70684fef.system.entry.js → p-64ab9cd1.system.entry.js} +1 -1
  244. package/dist/ionic/{p-0c813cbf.system.entry.js → p-67f8a403.system.entry.js} +2 -2
  245. package/dist/ionic/p-6afef6c1.system.js +4 -0
  246. package/dist/ionic/p-6c6144c7.system.entry.js +4 -0
  247. package/dist/ionic/{p-03f18e57.system.entry.js → p-6d62875f.system.entry.js} +1 -1
  248. package/dist/ionic/{p-7288124a.entry.js → p-740f9972.entry.js} +1 -1
  249. package/dist/ionic/{p-42f11f58.system.entry.js → p-741f045a.system.entry.js} +1 -1
  250. package/dist/ionic/p-74fa0a29.system.js +4 -0
  251. package/dist/ionic/{p-805a910b.entry.js → p-7582a199.entry.js} +1 -1
  252. package/dist/ionic/{p-ee463529.system.entry.js → p-75b2a402.system.entry.js} +1 -1
  253. package/dist/ionic/{p-4180a747.js → p-779aede8.js} +1 -1
  254. package/dist/ionic/{p-81b652ad.entry.js → p-7c31e803.entry.js} +1 -1
  255. package/dist/ionic/{p-c44eadec.entry.js → p-7d3b78b1.entry.js} +1 -1
  256. package/dist/ionic/{p-76d39342.js → p-7e18aa63.js} +1 -1
  257. package/dist/ionic/{p-42b4b9a2.system.entry.js → p-7e2dbaa5.system.entry.js} +1 -1
  258. package/dist/ionic/{p-ba0dc6b0.system.entry.js → p-7e6e6fb1.system.entry.js} +1 -1
  259. package/dist/ionic/{p-0f96cac5.entry.js → p-7eface64.entry.js} +1 -1
  260. package/dist/ionic/{p-18d1b47e.system.entry.js → p-8350ad89.system.entry.js} +1 -1
  261. package/dist/ionic/p-839ea604.js +4 -0
  262. package/dist/ionic/{p-4d82a816.system.entry.js → p-87994b6c.system.entry.js} +1 -1
  263. package/dist/ionic/{p-364a12ca.system.entry.js → p-87a704aa.system.entry.js} +1 -1
  264. package/dist/ionic/{p-0d3e389b.entry.js → p-88a8a783.entry.js} +1 -1
  265. package/dist/ionic/{p-a072a420.system.entry.js → p-8af431e6.system.entry.js} +1 -1
  266. package/dist/ionic/{p-3b2ecb7e.entry.js → p-8e9c61d0.entry.js} +1 -1
  267. package/dist/ionic/{p-dbb9820e.entry.js → p-9353bb82.entry.js} +1 -1
  268. package/dist/ionic/{p-0d197ad6.entry.js → p-93c936f1.entry.js} +1 -1
  269. package/dist/ionic/{p-29d03b3a.js → p-942a9358.js} +1 -1
  270. package/dist/ionic/{p-725b4e67.system.js → p-97ca0cb9.system.js} +1 -1
  271. package/dist/ionic/p-987a8848.js +4 -0
  272. package/dist/ionic/{p-2b0a2dac.system.entry.js → p-988c8cc8.system.entry.js} +1 -1
  273. package/dist/ionic/{p-36d187af.js → p-a1036ce7.js} +1 -1
  274. package/dist/ionic/{p-d5824344.system.entry.js → p-a11f7f68.system.entry.js} +1 -1
  275. package/dist/ionic/{p-68a1c901.system.entry.js → p-a2dcf935.system.entry.js} +1 -1
  276. package/dist/ionic/{p-b60b708c.entry.js → p-a4dd6789.entry.js} +1 -1
  277. package/dist/ionic/{p-bf7f57a7.system.entry.js → p-a6500b62.system.entry.js} +1 -1
  278. package/dist/ionic/p-a9e22fd4.entry.js +4 -0
  279. package/dist/ionic/{p-7b8a53a4.system.entry.js → p-b07ed639.system.entry.js} +1 -1
  280. package/dist/ionic/{p-f57f1a9c.system.entry.js → p-b0b8aa0e.system.entry.js} +1 -1
  281. package/dist/ionic/p-b15d9cca.system.js +4 -0
  282. package/dist/ionic/{p-c191ba05.system.entry.js → p-b4b3edb9.system.entry.js} +1 -1
  283. package/dist/ionic/{p-cabad15b.system.js → p-bd313b73.system.js} +1 -1
  284. package/dist/ionic/{p-f20da312.entry.js → p-c0f97d6b.entry.js} +1 -1
  285. package/dist/ionic/{p-82e8d988.entry.js → p-c6d71a70.entry.js} +1 -1
  286. package/dist/ionic/{p-5d843dac.system.entry.js → p-c8f24496.system.entry.js} +1 -1
  287. package/dist/ionic/p-ca339e31.system.entry.js +4 -0
  288. package/dist/ionic/{p-99fe3df1.system.entry.js → p-cac274ca.system.entry.js} +1 -1
  289. package/dist/ionic/p-cfb4d7e0.js +4 -0
  290. package/dist/ionic/{p-195c7203.system.js → p-d29aecf3.system.js} +1 -1
  291. package/dist/ionic/{p-64520a48.system.entry.js → p-d55376f1.system.entry.js} +1 -1
  292. package/dist/ionic/{p-4a1eb087.entry.js → p-d5f78403.entry.js} +1 -1
  293. package/dist/ionic/p-de08fe7d.entry.js +4 -0
  294. package/dist/ionic/{p-a6f57a98.entry.js → p-e25ee695.entry.js} +1 -1
  295. package/dist/ionic/{p-ac19cc2f.system.entry.js → p-e2b646df.system.entry.js} +1 -1
  296. package/dist/ionic/{p-b6e3c96d.system.entry.js → p-e6aaff14.system.entry.js} +1 -1
  297. package/dist/ionic/{p-ca975c93.entry.js → p-e9af70cf.entry.js} +1 -1
  298. package/dist/ionic/{p-a5954d3d.entry.js → p-ea737614.entry.js} +1 -1
  299. package/dist/ionic/p-ebc1ca90.system.js +4 -0
  300. package/dist/ionic/{p-487be9e8.system.js → p-ebc6334b.system.js} +1 -1
  301. package/dist/ionic/{p-2a098168.entry.js → p-ef609b5e.entry.js} +1 -1
  302. package/dist/ionic/{p-fac5d418.entry.js → p-f37c8bdb.entry.js} +1 -1
  303. package/dist/ionic/p-f46775e4.entry.js +4 -0
  304. package/dist/ionic/{p-57cce147.system.entry.js → p-f536a27f.system.entry.js} +1 -1
  305. package/dist/ionic/p-f7f98c4d.entry.js +4 -0
  306. package/dist/ionic/{p-3e273305.system.entry.js → p-fad80acc.system.entry.js} +1 -1
  307. package/dist/ionic/p-fbd01db3.system.js +4 -0
  308. package/dist/ionic/{p-765b4f12.system.entry.js → p-fc34f652.system.entry.js} +1 -1
  309. package/dist/ionic/{p-38f2c6bb.system.js → p-fe320051.system.js} +1 -1
  310. package/dist/types/utils/browser/index.d.ts +22 -1
  311. package/dist/types/utils/config.d.ts +7 -0
  312. package/dist/types/utils/hardware-back-button.d.ts +13 -0
  313. package/dist/types/utils/helpers.d.ts +1 -1
  314. package/dist/types/utils/overlays.d.ts +5 -0
  315. package/hydrate/index.js +125 -51
  316. package/package.json +2 -2
  317. package/dist/esm-es5/hardware-back-button-b2bc76db.js +0 -4
  318. package/dist/esm-es5/helpers-ae653409.js +0 -4
  319. package/dist/esm-es5/md.transition-498898ac.js +0 -4
  320. package/dist/esm-es5/overlays-4bb86b9c.js +0 -4
  321. package/dist/esm-es5/swipe-back-a6f386fc.js +0 -4
  322. package/dist/ionic/p-1902859c.system.js +0 -4
  323. package/dist/ionic/p-1b3fb9c6.system.entry.js +0 -4
  324. package/dist/ionic/p-23a9d086.js +0 -4
  325. package/dist/ionic/p-2afd906c.system.entry.js +0 -4
  326. package/dist/ionic/p-2b9debd4.entry.js +0 -4
  327. package/dist/ionic/p-32ad210f.system.js +0 -4
  328. package/dist/ionic/p-35ce400e.system.js +0 -4
  329. package/dist/ionic/p-38c337e7.system.js +0 -4
  330. package/dist/ionic/p-3d9154f0.entry.js +0 -4
  331. package/dist/ionic/p-40f68333.system.js +0 -4
  332. package/dist/ionic/p-4b3623da.js +0 -4
  333. package/dist/ionic/p-562bc465.js +0 -4
  334. package/dist/ionic/p-5ecb46d2.entry.js +0 -4
  335. package/dist/ionic/p-6a6477b2.js +0 -4
  336. package/dist/ionic/p-7045f570.entry.js +0 -4
  337. package/dist/ionic/p-70e988e8.js +0 -4
  338. package/dist/ionic/p-74d32574.entry.js +0 -4
  339. package/dist/ionic/p-7798c78a.system.js +0 -4
  340. package/dist/ionic/p-790220fd.system.js +0 -4
  341. package/dist/ionic/p-888db766.system.js +0 -4
  342. package/dist/ionic/p-88d5fbd3.js +0 -4
  343. package/dist/ionic/p-8bd50516.js +0 -4
  344. package/dist/ionic/p-a9cff22f.entry.js +0 -4
  345. package/dist/ionic/p-b3bf4958.js +0 -4
  346. package/dist/ionic/p-baf4a4a2.entry.js +0 -4
  347. package/dist/ionic/p-d2827762.system.js +0 -4
  348. package/dist/ionic/p-de6f8b28.system.js +0 -4
@@ -12,7 +12,7 @@ require('./ionic-global-7358c23e.js');
12
12
  const defineCustomElements = (win, options) => {
13
13
  if (typeof window === 'undefined') return undefined;
14
14
  appGlobals.globalScripts();
15
- return index.bootstrapLazy(JSON.parse("[[\"ion-menu_3.cjs\",[[33,\"ion-menu-button\",{\"color\":[513],\"disabled\":[4],\"menu\":[1],\"autoHide\":[4,\"auto-hide\"],\"type\":[1],\"visible\":[32]},[[16,\"ionMenuChange\",\"visibilityChanged\"],[16,\"ionSplitPaneVisible\",\"visibilityChanged\"]]],[33,\"ion-menu\",{\"contentId\":[513,\"content-id\"],\"menuId\":[513,\"menu-id\"],\"type\":[1025],\"disabled\":[1028],\"side\":[513],\"swipeGesture\":[4,\"swipe-gesture\"],\"maxEdgeStart\":[2,\"max-edge-start\"],\"isPaneVisible\":[32],\"isEndSide\":[32],\"isOpen\":[64],\"isActive\":[64],\"open\":[64],\"close\":[64],\"toggle\":[64],\"setOpen\":[64]},[[16,\"ionSplitPaneVisible\",\"onSplitPaneChanged\"],[2,\"click\",\"onBackdropClick\"],[0,\"keydown\",\"onKeydown\"]],{\"type\":[\"typeChanged\"],\"disabled\":[\"disabledChanged\"],\"side\":[\"sideChanged\"],\"swipeGesture\":[\"swipeGestureChanged\"]}],[1,\"ion-menu-toggle\",{\"menu\":[1],\"autoHide\":[4,\"auto-hide\"],\"visible\":[32]},[[16,\"ionMenuChange\",\"visibilityChanged\"],[16,\"ionSplitPaneVisible\",\"visibilityChanged\"]]]]],[\"ion-fab_3.cjs\",[[33,\"ion-fab-button\",{\"color\":[513],\"activated\":[4],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1],\"show\":[4],\"translucent\":[4],\"type\":[1],\"size\":[1],\"closeIcon\":[1,\"close-icon\"]}],[1,\"ion-fab\",{\"horizontal\":[1],\"vertical\":[1],\"edge\":[4],\"activated\":[1028],\"close\":[64],\"toggle\":[64]},null,{\"activated\":[\"activatedChanged\"]}],[1,\"ion-fab-list\",{\"activated\":[4],\"side\":[1]},null,{\"activated\":[\"activatedChanged\"]}]]],[\"ion-refresher_2.cjs\",[[0,\"ion-refresher-content\",{\"pullingIcon\":[1025,\"pulling-icon\"],\"pullingText\":[1,\"pulling-text\"],\"refreshingSpinner\":[1025,\"refreshing-spinner\"],\"refreshingText\":[1,\"refreshing-text\"]}],[32,\"ion-refresher\",{\"pullMin\":[2,\"pull-min\"],\"pullMax\":[2,\"pull-max\"],\"closeDuration\":[1,\"close-duration\"],\"snapbackDuration\":[1,\"snapback-duration\"],\"pullFactor\":[2,\"pull-factor\"],\"disabled\":[4],\"nativeRefresher\":[32],\"state\":[32],\"complete\":[64],\"cancel\":[64],\"getProgress\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-back-button.cjs\",[[33,\"ion-back-button\",{\"color\":[513],\"defaultHref\":[1025,\"default-href\"],\"disabled\":[516],\"icon\":[1],\"text\":[1],\"type\":[1],\"routerAnimation\":[16]}]]],[\"ion-toast.cjs\",[[33,\"ion-toast\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"color\":[513],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"header\":[1],\"layout\":[1],\"message\":[1],\"keyboardClose\":[4,\"keyboard-close\"],\"position\":[1],\"positionAnchor\":[1,\"position-anchor\"],\"buttons\":[16],\"translucent\":[4],\"animated\":[4],\"icon\":[1],\"htmlAttributes\":[16],\"swipeGesture\":[1,\"swipe-gesture\"],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"revealContentToScreenReader\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"swipeGesture\":[\"swipeGestureChanged\"],\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-card_5.cjs\",[[33,\"ion-card\",{\"color\":[513],\"button\":[4],\"type\":[1],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1]}],[32,\"ion-card-content\"],[33,\"ion-card-header\",{\"color\":[513],\"translucent\":[4]}],[33,\"ion-card-subtitle\",{\"color\":[513]}],[33,\"ion-card-title\",{\"color\":[513]}]]],[\"ion-item-option_3.cjs\",[[33,\"ion-item-option\",{\"color\":[513],\"disabled\":[4],\"download\":[1],\"expandable\":[4],\"href\":[1],\"rel\":[1],\"target\":[1],\"type\":[1]}],[32,\"ion-item-options\",{\"side\":[1],\"fireSwipeEvent\":[64]}],[0,\"ion-item-sliding\",{\"disabled\":[4],\"state\":[32],\"getOpenAmount\":[64],\"getSlidingRatio\":[64],\"open\":[64],\"close\":[64],\"closeOpened\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-accordion_2.cjs\",[[49,\"ion-accordion\",{\"value\":[1],\"disabled\":[4],\"readonly\":[4],\"toggleIcon\":[1,\"toggle-icon\"],\"toggleIconSlot\":[1,\"toggle-icon-slot\"],\"state\":[32],\"isNext\":[32],\"isPrevious\":[32]},null,{\"value\":[\"valueChanged\"]}],[33,\"ion-accordion-group\",{\"animated\":[4],\"multiple\":[4],\"value\":[1025],\"disabled\":[4],\"readonly\":[4],\"expand\":[1],\"requestAccordionToggle\":[64],\"getAccordions\":[64]},[[0,\"keydown\",\"onKeydown\"]],{\"value\":[\"valueChanged\"],\"disabled\":[\"disabledChanged\"],\"readonly\":[\"readonlyChanged\"]}]]],[\"ion-infinite-scroll_2.cjs\",[[32,\"ion-infinite-scroll-content\",{\"loadingSpinner\":[1025,\"loading-spinner\"],\"loadingText\":[1,\"loading-text\"]}],[0,\"ion-infinite-scroll\",{\"threshold\":[1],\"disabled\":[4],\"position\":[1],\"isLoading\":[32],\"complete\":[64]},null,{\"threshold\":[\"thresholdChanged\"],\"disabled\":[\"disabledChanged\"]}]]],[\"ion-reorder_2.cjs\",[[33,\"ion-reorder\",null,[[2,\"click\",\"onClick\"]]],[0,\"ion-reorder-group\",{\"disabled\":[4],\"state\":[32],\"complete\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-segment_2.cjs\",[[33,\"ion-segment-button\",{\"disabled\":[1028],\"layout\":[1],\"type\":[1],\"value\":[8],\"checked\":[32],\"setFocus\":[64]},null,{\"value\":[\"valueChanged\"]}],[33,\"ion-segment\",{\"color\":[513],\"disabled\":[4],\"scrollable\":[4],\"swipeGesture\":[4,\"swipe-gesture\"],\"value\":[1032],\"selectOnFocus\":[4,\"select-on-focus\"],\"activated\":[32]},[[0,\"keydown\",\"onKeyDown\"]],{\"color\":[\"colorChanged\"],\"swipeGesture\":[\"swipeGestureChanged\"],\"value\":[\"valueChanged\"],\"disabled\":[\"disabledChanged\"]}]]],[\"ion-tab-bar_2.cjs\",[[33,\"ion-tab-button\",{\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"layout\":[1025],\"selected\":[1028],\"tab\":[1],\"target\":[1]},[[8,\"ionTabBarChanged\",\"onTabBarChanged\"]]],[33,\"ion-tab-bar\",{\"color\":[513],\"selectedTab\":[1,\"selected-tab\"],\"translucent\":[4],\"keyboardVisible\":[32]},null,{\"selectedTab\":[\"selectedTabChanged\"]}]]],[\"ion-chip.cjs\",[[33,\"ion-chip\",{\"color\":[513],\"outline\":[4],\"disabled\":[4]}]]],[\"ion-datetime-button.cjs\",[[33,\"ion-datetime-button\",{\"color\":[513],\"disabled\":[516],\"datetime\":[1],\"datetimePresentation\":[32],\"dateText\":[32],\"timeText\":[32],\"datetimeActive\":[32],\"selectedButton\":[32]}]]],[\"ion-input.cjs\",[[38,\"ion-input\",{\"color\":[513],\"accept\":[1],\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"clearOnEdit\":[4,\"clear-on-edit\"],\"counter\":[4],\"counterFormatter\":[16],\"debounce\":[2],\"disabled\":[4],\"enterkeyhint\":[1],\"errorText\":[1,\"error-text\"],\"fill\":[1],\"inputmode\":[1],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"max\":[8],\"maxlength\":[2],\"min\":[8],\"minlength\":[2],\"multiple\":[4],\"name\":[1],\"pattern\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"shape\":[1],\"spellcheck\":[4],\"step\":[1],\"size\":[2],\"type\":[1],\"value\":[1032],\"hasFocus\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"disabled\":[\"disabledChanged\"],\"placeholder\":[\"placeholderChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-searchbar.cjs\",[[34,\"ion-searchbar\",{\"color\":[513],\"animated\":[4],\"autocomplete\":[1],\"autocorrect\":[1],\"cancelButtonIcon\":[1,\"cancel-button-icon\"],\"cancelButtonText\":[1,\"cancel-button-text\"],\"clearIcon\":[1,\"clear-icon\"],\"debounce\":[2],\"disabled\":[4],\"inputmode\":[1],\"enterkeyhint\":[1],\"name\":[1],\"placeholder\":[1],\"searchIcon\":[1,\"search-icon\"],\"showCancelButton\":[1,\"show-cancel-button\"],\"showClearButton\":[1,\"show-clear-button\"],\"spellcheck\":[4],\"type\":[1],\"value\":[1025],\"focused\":[32],\"noAnimate\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"value\":[\"valueChanged\"],\"showCancelButton\":[\"showCancelButtonChanged\"]}]]],[\"ion-toggle.cjs\",[[33,\"ion-toggle\",{\"color\":[513],\"name\":[1],\"checked\":[1028],\"disabled\":[4],\"value\":[1],\"enableOnOffLabels\":[4,\"enable-on-off-labels\"],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"justify\":[1],\"alignment\":[1],\"activated\":[32]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-nav_2.cjs\",[[1,\"ion-nav\",{\"delegate\":[16],\"swipeGesture\":[1028,\"swipe-gesture\"],\"animated\":[4],\"animation\":[16],\"rootParams\":[16],\"root\":[1],\"push\":[64],\"insert\":[64],\"insertPages\":[64],\"pop\":[64],\"popTo\":[64],\"popToRoot\":[64],\"removeIndex\":[64],\"setRoot\":[64],\"setPages\":[64],\"setRouteId\":[64],\"getRouteId\":[64],\"getActive\":[64],\"getByIndex\":[64],\"canGoBack\":[64],\"getPrevious\":[64]},null,{\"swipeGesture\":[\"swipeGestureChanged\"],\"root\":[\"rootChanged\"]}],[0,\"ion-nav-link\",{\"component\":[1],\"componentProps\":[16],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16]}]]],[\"ion-textarea.cjs\",[[38,\"ion-textarea\",{\"color\":[513],\"autocapitalize\":[1],\"autofocus\":[4],\"clearOnEdit\":[4,\"clear-on-edit\"],\"debounce\":[2],\"disabled\":[4],\"fill\":[1],\"inputmode\":[1],\"enterkeyhint\":[1],\"maxlength\":[2],\"minlength\":[2],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"spellcheck\":[4],\"cols\":[514],\"rows\":[2],\"wrap\":[1],\"autoGrow\":[516,\"auto-grow\"],\"value\":[1025],\"counter\":[4],\"counterFormatter\":[16],\"errorText\":[1,\"error-text\"],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"shape\":[1],\"hasFocus\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"disabled\":[\"disabledChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-backdrop.cjs\",[[33,\"ion-backdrop\",{\"visible\":[4],\"tappable\":[4],\"stopPropagation\":[4,\"stop-propagation\"]},[[2,\"click\",\"onMouseDown\"]]]]],[\"ion-loading.cjs\",[[34,\"ion-loading\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"message\":[1],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"showBackdrop\":[4,\"show-backdrop\"],\"spinner\":[1025],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-breadcrumb_2.cjs\",[[33,\"ion-breadcrumb\",{\"collapsed\":[4],\"last\":[4],\"showCollapsedIndicator\":[4,\"show-collapsed-indicator\"],\"color\":[1],\"active\":[4],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"separator\":[4],\"target\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16]}],[33,\"ion-breadcrumbs\",{\"color\":[513],\"maxItems\":[2,\"max-items\"],\"itemsBeforeCollapse\":[2,\"items-before-collapse\"],\"itemsAfterCollapse\":[2,\"items-after-collapse\"],\"collapsed\":[32],\"activeChanged\":[32]},[[0,\"collapsedClick\",\"onCollapsedClick\"]],{\"maxItems\":[\"maxItemsChanged\"],\"itemsBeforeCollapse\":[\"maxItemsChanged\"],\"itemsAfterCollapse\":[\"maxItemsChanged\"]}]]],[\"ion-modal.cjs\",[[33,\"ion-modal\",{\"hasController\":[4,\"has-controller\"],\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"breakpoints\":[16],\"initialBreakpoint\":[2,\"initial-breakpoint\"],\"backdropBreakpoint\":[2,\"backdrop-breakpoint\"],\"handle\":[4],\"handleBehavior\":[1,\"handle-behavior\"],\"component\":[1],\"componentProps\":[16],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"showBackdrop\":[4,\"show-backdrop\"],\"animated\":[4],\"presentingElement\":[16],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"keepContentsMounted\":[4,\"keep-contents-mounted\"],\"canDismiss\":[4,\"can-dismiss\"],\"presented\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64],\"setCurrentBreakpoint\":[64],\"getCurrentBreakpoint\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-route_4.cjs\",[[0,\"ion-route\",{\"url\":[1],\"component\":[1],\"componentProps\":[16],\"beforeLeave\":[16],\"beforeEnter\":[16]},null,{\"url\":[\"onUpdate\"],\"component\":[\"onUpdate\"],\"componentProps\":[\"onComponentProps\"]}],[0,\"ion-route-redirect\",{\"from\":[1],\"to\":[1]},null,{\"from\":[\"propDidChange\"],\"to\":[\"propDidChange\"]}],[0,\"ion-router\",{\"root\":[1],\"useHash\":[4,\"use-hash\"],\"canTransition\":[64],\"push\":[64],\"back\":[64],\"printDebug\":[64],\"navChanged\":[64]},[[8,\"popstate\",\"onPopState\"],[4,\"ionBackButton\",\"onBackButton\"]]],[1,\"ion-router-link\",{\"color\":[513],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1]}]]],[\"ion-avatar_3.cjs\",[[33,\"ion-avatar\"],[33,\"ion-badge\",{\"color\":[513]}],[1,\"ion-thumbnail\"]]],[\"ion-col_3.cjs\",[[1,\"ion-col\",{\"offset\":[1],\"offsetXs\":[1,\"offset-xs\"],\"offsetSm\":[1,\"offset-sm\"],\"offsetMd\":[1,\"offset-md\"],\"offsetLg\":[1,\"offset-lg\"],\"offsetXl\":[1,\"offset-xl\"],\"pull\":[1],\"pullXs\":[1,\"pull-xs\"],\"pullSm\":[1,\"pull-sm\"],\"pullMd\":[1,\"pull-md\"],\"pullLg\":[1,\"pull-lg\"],\"pullXl\":[1,\"pull-xl\"],\"push\":[1],\"pushXs\":[1,\"push-xs\"],\"pushSm\":[1,\"push-sm\"],\"pushMd\":[1,\"push-md\"],\"pushLg\":[1,\"push-lg\"],\"pushXl\":[1,\"push-xl\"],\"size\":[1],\"sizeXs\":[1,\"size-xs\"],\"sizeSm\":[1,\"size-sm\"],\"sizeMd\":[1,\"size-md\"],\"sizeLg\":[1,\"size-lg\"],\"sizeXl\":[1,\"size-xl\"]},[[9,\"resize\",\"onResize\"]]],[1,\"ion-grid\",{\"fixed\":[4]}],[1,\"ion-row\"]]],[\"ion-tab_2.cjs\",[[1,\"ion-tab\",{\"active\":[1028],\"delegate\":[16],\"tab\":[1],\"component\":[1],\"setActive\":[64]},null,{\"active\":[\"changeActive\"]}],[1,\"ion-tabs\",{\"useRouter\":[1028,\"use-router\"],\"selectedTab\":[32],\"select\":[64],\"getTab\":[64],\"getSelected\":[64],\"setRouteId\":[64],\"getRouteId\":[64]}]]],[\"ion-img.cjs\",[[1,\"ion-img\",{\"alt\":[1],\"src\":[1],\"loadSrc\":[32],\"loadError\":[32]},null,{\"src\":[\"srcChanged\"]}]]],[\"ion-progress-bar.cjs\",[[33,\"ion-progress-bar\",{\"type\":[1],\"reversed\":[4],\"value\":[2],\"buffer\":[2],\"color\":[513]}]]],[\"ion-range.cjs\",[[33,\"ion-range\",{\"color\":[513],\"debounce\":[2],\"name\":[1],\"label\":[1],\"dualKnobs\":[4,\"dual-knobs\"],\"min\":[2],\"max\":[2],\"pin\":[4],\"pinFormatter\":[16],\"snaps\":[4],\"step\":[2],\"ticks\":[4],\"activeBarStart\":[1026,\"active-bar-start\"],\"disabled\":[4],\"value\":[1026],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"ratioA\":[32],\"ratioB\":[32],\"pressedKnob\":[32]},null,{\"debounce\":[\"debounceChanged\"],\"min\":[\"minChanged\"],\"max\":[\"maxChanged\"],\"activeBarStart\":[\"activeBarStartChanged\"],\"disabled\":[\"disabledChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-split-pane.cjs\",[[33,\"ion-split-pane\",{\"contentId\":[513,\"content-id\"],\"disabled\":[4],\"when\":[8],\"visible\":[32]},null,{\"visible\":[\"visibleChanged\"],\"disabled\":[\"updateState\"],\"when\":[\"updateState\"]}]]],[\"ion-text.cjs\",[[1,\"ion-text\",{\"color\":[513]}]]],[\"ion-item_8.cjs\",[[33,\"ion-item-divider\",{\"color\":[513],\"sticky\":[4]}],[32,\"ion-item-group\"],[1,\"ion-skeleton-text\",{\"animated\":[4]}],[32,\"ion-list\",{\"lines\":[1],\"inset\":[4],\"closeSlidingItems\":[64]}],[33,\"ion-list-header\",{\"color\":[513],\"lines\":[1]}],[49,\"ion-item\",{\"color\":[513],\"button\":[4],\"detail\":[4],\"detailIcon\":[1,\"detail-icon\"],\"disabled\":[4],\"download\":[1],\"fill\":[1],\"shape\":[1],\"href\":[1],\"rel\":[1],\"lines\":[1],\"counter\":[4],\"routerAnimation\":[16],\"routerDirection\":[1,\"router-direction\"],\"target\":[1],\"type\":[1],\"counterFormatter\":[16],\"multipleInputs\":[32],\"focusable\":[32],\"counterString\":[32]},[[0,\"ionInput\",\"handleIonInput\"],[0,\"ionColor\",\"labelColorChanged\"],[0,\"ionStyle\",\"itemStyle\"]],{\"button\":[\"buttonChanged\"],\"counterFormatter\":[\"counterFormatterChanged\"]}],[34,\"ion-label\",{\"color\":[513],\"position\":[1],\"noAnimate\":[32]},null,{\"color\":[\"colorChanged\"],\"position\":[\"positionChanged\"]}],[33,\"ion-note\",{\"color\":[513]}]]],[\"ion-select_3.cjs\",[[33,\"ion-select\",{\"cancelText\":[1,\"cancel-text\"],\"color\":[513],\"compareWith\":[1,\"compare-with\"],\"disabled\":[4],\"fill\":[1],\"interface\":[1],\"interfaceOptions\":[8,\"interface-options\"],\"justify\":[1],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"multiple\":[4],\"name\":[1],\"okText\":[1,\"ok-text\"],\"placeholder\":[1],\"selectedText\":[1,\"selected-text\"],\"toggleIcon\":[1,\"toggle-icon\"],\"expandedIcon\":[1,\"expanded-icon\"],\"shape\":[1],\"value\":[1032],\"isExpanded\":[32],\"open\":[64]},null,{\"disabled\":[\"styleChanged\"],\"isExpanded\":[\"styleChanged\"],\"placeholder\":[\"styleChanged\"],\"value\":[\"styleChanged\"]}],[1,\"ion-select-option\",{\"disabled\":[4],\"value\":[8]}],[34,\"ion-select-popover\",{\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"message\":[1],\"multiple\":[4],\"options\":[16]}]]],[\"ion-picker-internal.cjs\",[[33,\"ion-picker-internal\",{\"exitInputMode\":[64]},[[1,\"touchstart\",\"preventTouchStartPropagation\"]]]]],[\"ion-datetime_3.cjs\",[[33,\"ion-datetime\",{\"color\":[1],\"name\":[1],\"disabled\":[4],\"readonly\":[4],\"isDateEnabled\":[16],\"min\":[1025],\"max\":[1025],\"presentation\":[1],\"cancelText\":[1,\"cancel-text\"],\"doneText\":[1,\"done-text\"],\"clearText\":[1,\"clear-text\"],\"yearValues\":[8,\"year-values\"],\"monthValues\":[8,\"month-values\"],\"dayValues\":[8,\"day-values\"],\"hourValues\":[8,\"hour-values\"],\"minuteValues\":[8,\"minute-values\"],\"locale\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"titleSelectedDatesFormatter\":[16],\"multiple\":[4],\"highlightedDates\":[16],\"value\":[1025],\"showDefaultTitle\":[4,\"show-default-title\"],\"showDefaultButtons\":[4,\"show-default-buttons\"],\"showClearButton\":[4,\"show-clear-button\"],\"showDefaultTimeLabel\":[4,\"show-default-time-label\"],\"hourCycle\":[1,\"hour-cycle\"],\"size\":[1],\"preferWheel\":[4,\"prefer-wheel\"],\"showMonthAndYear\":[32],\"activeParts\":[32],\"workingParts\":[32],\"isTimePopoverOpen\":[32],\"forceRenderDate\":[32],\"confirm\":[64],\"reset\":[64],\"cancel\":[64]},null,{\"disabled\":[\"disabledChanged\"],\"min\":[\"minChanged\"],\"max\":[\"maxChanged\"],\"yearValues\":[\"yearValuesChanged\"],\"monthValues\":[\"monthValuesChanged\"],\"dayValues\":[\"dayValuesChanged\"],\"hourValues\":[\"hourValuesChanged\"],\"minuteValues\":[\"minuteValuesChanged\"],\"value\":[\"valueChanged\"]}],[34,\"ion-picker\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"buttons\":[16],\"columns\":[16],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"showBackdrop\":[4,\"show-backdrop\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"presented\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64],\"getColumn\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}],[32,\"ion-picker-column\",{\"col\":[16]},null,{\"col\":[\"colChanged\"]}]]],[\"ion-radio_2.cjs\",[[33,\"ion-radio\",{\"color\":[513],\"name\":[1],\"disabled\":[4],\"value\":[8],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"justify\":[1],\"alignment\":[1],\"checked\":[32],\"buttonTabindex\":[32],\"setFocus\":[64],\"setButtonTabindex\":[64]},null,{\"value\":[\"valueChanged\"],\"checked\":[\"styleChanged\"],\"color\":[\"styleChanged\"],\"disabled\":[\"styleChanged\"]}],[0,\"ion-radio-group\",{\"allowEmptySelection\":[4,\"allow-empty-selection\"],\"compareWith\":[1,\"compare-with\"],\"name\":[1],\"value\":[1032]},[[4,\"keydown\",\"onKeydown\"]],{\"value\":[\"valueChanged\"]}]]],[\"ion-ripple-effect.cjs\",[[1,\"ion-ripple-effect\",{\"type\":[1],\"addRipple\":[64]}]]],[\"ion-button_2.cjs\",[[33,\"ion-button\",{\"color\":[513],\"buttonType\":[1025,\"button-type\"],\"disabled\":[516],\"expand\":[513],\"fill\":[1537],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"download\":[1],\"href\":[1],\"rel\":[1],\"shape\":[513],\"size\":[513],\"strong\":[4],\"target\":[1],\"type\":[1],\"form\":[1]},null,{\"disabled\":[\"disabledChanged\"]}],[1,\"ion-icon\",{\"mode\":[1025],\"color\":[1],\"ios\":[1],\"md\":[1],\"flipRtl\":[4,\"flip-rtl\"],\"name\":[513],\"src\":[1],\"icon\":[8],\"size\":[1],\"lazy\":[4],\"sanitize\":[4],\"svgContent\":[32],\"isVisible\":[32]},null,{\"name\":[\"loadIcon\"],\"src\":[\"loadIcon\"],\"icon\":[\"loadIcon\"],\"ios\":[\"loadIcon\"],\"md\":[\"loadIcon\"]}]]],[\"ion-action-sheet.cjs\",[[34,\"ion-action-sheet\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"buttons\":[16],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-alert.cjs\",[[34,\"ion-alert\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"cssClass\":[1,\"css-class\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"message\":[1],\"buttons\":[16],\"inputs\":[1040],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},[[4,\"keydown\",\"onKeydown\"]],{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"],\"buttons\":[\"buttonsChanged\"],\"inputs\":[\"inputsChanged\"]}]]],[\"ion-app_8.cjs\",[[0,\"ion-app\",{\"setFocus\":[64]}],[1,\"ion-content\",{\"color\":[513],\"fullscreen\":[4],\"forceOverscroll\":[1028,\"force-overscroll\"],\"scrollX\":[4,\"scroll-x\"],\"scrollY\":[4,\"scroll-y\"],\"scrollEvents\":[4,\"scroll-events\"],\"getScrollElement\":[64],\"getBackgroundElement\":[64],\"scrollToTop\":[64],\"scrollToBottom\":[64],\"scrollByPoint\":[64],\"scrollToPoint\":[64]},[[9,\"resize\",\"onResize\"]]],[36,\"ion-footer\",{\"collapse\":[1],\"translucent\":[4],\"keyboardVisible\":[32]}],[36,\"ion-header\",{\"collapse\":[1],\"translucent\":[4]}],[1,\"ion-router-outlet\",{\"mode\":[1025],\"delegate\":[16],\"animated\":[4],\"animation\":[16],\"swipeHandler\":[16],\"commit\":[64],\"setRouteId\":[64],\"getRouteId\":[64]},null,{\"swipeHandler\":[\"swipeHandlerChanged\"]}],[33,\"ion-title\",{\"color\":[513],\"size\":[1]},null,{\"size\":[\"sizeChanged\"]}],[33,\"ion-toolbar\",{\"color\":[513]},[[0,\"ionStyle\",\"childrenStyle\"]]],[34,\"ion-buttons\",{\"collapse\":[4]}]]],[\"ion-picker-column-internal.cjs\",[[33,\"ion-picker-column-internal\",{\"disabled\":[4],\"items\":[16],\"value\":[1032],\"color\":[513],\"numericInput\":[4,\"numeric-input\"],\"isActive\":[32],\"scrollActiveItemIntoView\":[64],\"setValue\":[64]},null,{\"value\":[\"valueChange\"]}]]],[\"ion-popover.cjs\",[[33,\"ion-popover\",{\"hasController\":[4,\"has-controller\"],\"delegate\":[16],\"overlayIndex\":[2,\"overlay-index\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"component\":[1],\"componentProps\":[16],\"keyboardClose\":[4,\"keyboard-close\"],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"event\":[8],\"showBackdrop\":[4,\"show-backdrop\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"triggerAction\":[1,\"trigger-action\"],\"trigger\":[1],\"size\":[1],\"dismissOnSelect\":[4,\"dismiss-on-select\"],\"reference\":[1],\"side\":[1],\"alignment\":[1025],\"arrow\":[4],\"isOpen\":[4,\"is-open\"],\"keyboardEvents\":[4,\"keyboard-events\"],\"keepContentsMounted\":[4,\"keep-contents-mounted\"],\"presented\":[32],\"presentFromTrigger\":[64],\"present\":[64],\"dismiss\":[64],\"getParentPopover\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"trigger\":[\"onTriggerChange\"],\"triggerAction\":[\"onTriggerChange\"],\"isOpen\":[\"onIsOpenChange\"]}]]],[\"ion-checkbox.cjs\",[[33,\"ion-checkbox\",{\"color\":[513],\"name\":[1],\"checked\":[1028],\"indeterminate\":[1028],\"disabled\":[4],\"value\":[8],\"labelPlacement\":[1,\"label-placement\"],\"justify\":[1],\"alignment\":[1],\"legacy\":[4]},null,{\"checked\":[\"styleChanged\"],\"disabled\":[\"styleChanged\"]}]]],[\"ion-spinner.cjs\",[[1,\"ion-spinner\",{\"color\":[513],\"duration\":[2],\"name\":[1],\"paused\":[4]}]]]]"), options);
15
+ return index.bootstrapLazy(JSON.parse("[[\"ion-menu_3.cjs\",[[33,\"ion-menu-button\",{\"color\":[513],\"disabled\":[4],\"menu\":[1],\"autoHide\":[4,\"auto-hide\"],\"type\":[1],\"visible\":[32]},[[16,\"ionMenuChange\",\"visibilityChanged\"],[16,\"ionSplitPaneVisible\",\"visibilityChanged\"]]],[33,\"ion-menu\",{\"contentId\":[513,\"content-id\"],\"menuId\":[513,\"menu-id\"],\"type\":[1025],\"disabled\":[1028],\"side\":[513],\"swipeGesture\":[4,\"swipe-gesture\"],\"maxEdgeStart\":[2,\"max-edge-start\"],\"isPaneVisible\":[32],\"isEndSide\":[32],\"isOpen\":[64],\"isActive\":[64],\"open\":[64],\"close\":[64],\"toggle\":[64],\"setOpen\":[64]},[[16,\"ionSplitPaneVisible\",\"onSplitPaneChanged\"],[2,\"click\",\"onBackdropClick\"]],{\"type\":[\"typeChanged\"],\"disabled\":[\"disabledChanged\"],\"side\":[\"sideChanged\"],\"swipeGesture\":[\"swipeGestureChanged\"]}],[1,\"ion-menu-toggle\",{\"menu\":[1],\"autoHide\":[4,\"auto-hide\"],\"visible\":[32]},[[16,\"ionMenuChange\",\"visibilityChanged\"],[16,\"ionSplitPaneVisible\",\"visibilityChanged\"]]]]],[\"ion-fab_3.cjs\",[[33,\"ion-fab-button\",{\"color\":[513],\"activated\":[4],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1],\"show\":[4],\"translucent\":[4],\"type\":[1],\"size\":[1],\"closeIcon\":[1,\"close-icon\"]}],[1,\"ion-fab\",{\"horizontal\":[1],\"vertical\":[1],\"edge\":[4],\"activated\":[1028],\"close\":[64],\"toggle\":[64]},null,{\"activated\":[\"activatedChanged\"]}],[1,\"ion-fab-list\",{\"activated\":[4],\"side\":[1]},null,{\"activated\":[\"activatedChanged\"]}]]],[\"ion-refresher_2.cjs\",[[0,\"ion-refresher-content\",{\"pullingIcon\":[1025,\"pulling-icon\"],\"pullingText\":[1,\"pulling-text\"],\"refreshingSpinner\":[1025,\"refreshing-spinner\"],\"refreshingText\":[1,\"refreshing-text\"]}],[32,\"ion-refresher\",{\"pullMin\":[2,\"pull-min\"],\"pullMax\":[2,\"pull-max\"],\"closeDuration\":[1,\"close-duration\"],\"snapbackDuration\":[1,\"snapback-duration\"],\"pullFactor\":[2,\"pull-factor\"],\"disabled\":[4],\"nativeRefresher\":[32],\"state\":[32],\"complete\":[64],\"cancel\":[64],\"getProgress\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-back-button.cjs\",[[33,\"ion-back-button\",{\"color\":[513],\"defaultHref\":[1025,\"default-href\"],\"disabled\":[516],\"icon\":[1],\"text\":[1],\"type\":[1],\"routerAnimation\":[16]}]]],[\"ion-toast.cjs\",[[33,\"ion-toast\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"color\":[513],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"header\":[1],\"layout\":[1],\"message\":[1],\"keyboardClose\":[4,\"keyboard-close\"],\"position\":[1],\"positionAnchor\":[1,\"position-anchor\"],\"buttons\":[16],\"translucent\":[4],\"animated\":[4],\"icon\":[1],\"htmlAttributes\":[16],\"swipeGesture\":[1,\"swipe-gesture\"],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"revealContentToScreenReader\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"swipeGesture\":[\"swipeGestureChanged\"],\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-card_5.cjs\",[[33,\"ion-card\",{\"color\":[513],\"button\":[4],\"type\":[1],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1]}],[32,\"ion-card-content\"],[33,\"ion-card-header\",{\"color\":[513],\"translucent\":[4]}],[33,\"ion-card-subtitle\",{\"color\":[513]}],[33,\"ion-card-title\",{\"color\":[513]}]]],[\"ion-item-option_3.cjs\",[[33,\"ion-item-option\",{\"color\":[513],\"disabled\":[4],\"download\":[1],\"expandable\":[4],\"href\":[1],\"rel\":[1],\"target\":[1],\"type\":[1]}],[32,\"ion-item-options\",{\"side\":[1],\"fireSwipeEvent\":[64]}],[0,\"ion-item-sliding\",{\"disabled\":[4],\"state\":[32],\"getOpenAmount\":[64],\"getSlidingRatio\":[64],\"open\":[64],\"close\":[64],\"closeOpened\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-accordion_2.cjs\",[[49,\"ion-accordion\",{\"value\":[1],\"disabled\":[4],\"readonly\":[4],\"toggleIcon\":[1,\"toggle-icon\"],\"toggleIconSlot\":[1,\"toggle-icon-slot\"],\"state\":[32],\"isNext\":[32],\"isPrevious\":[32]},null,{\"value\":[\"valueChanged\"]}],[33,\"ion-accordion-group\",{\"animated\":[4],\"multiple\":[4],\"value\":[1025],\"disabled\":[4],\"readonly\":[4],\"expand\":[1],\"requestAccordionToggle\":[64],\"getAccordions\":[64]},[[0,\"keydown\",\"onKeydown\"]],{\"value\":[\"valueChanged\"],\"disabled\":[\"disabledChanged\"],\"readonly\":[\"readonlyChanged\"]}]]],[\"ion-infinite-scroll_2.cjs\",[[32,\"ion-infinite-scroll-content\",{\"loadingSpinner\":[1025,\"loading-spinner\"],\"loadingText\":[1,\"loading-text\"]}],[0,\"ion-infinite-scroll\",{\"threshold\":[1],\"disabled\":[4],\"position\":[1],\"isLoading\":[32],\"complete\":[64]},null,{\"threshold\":[\"thresholdChanged\"],\"disabled\":[\"disabledChanged\"]}]]],[\"ion-reorder_2.cjs\",[[33,\"ion-reorder\",null,[[2,\"click\",\"onClick\"]]],[0,\"ion-reorder-group\",{\"disabled\":[4],\"state\":[32],\"complete\":[64]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-segment_2.cjs\",[[33,\"ion-segment-button\",{\"disabled\":[1028],\"layout\":[1],\"type\":[1],\"value\":[8],\"checked\":[32],\"setFocus\":[64]},null,{\"value\":[\"valueChanged\"]}],[33,\"ion-segment\",{\"color\":[513],\"disabled\":[4],\"scrollable\":[4],\"swipeGesture\":[4,\"swipe-gesture\"],\"value\":[1032],\"selectOnFocus\":[4,\"select-on-focus\"],\"activated\":[32]},[[0,\"keydown\",\"onKeyDown\"]],{\"color\":[\"colorChanged\"],\"swipeGesture\":[\"swipeGestureChanged\"],\"value\":[\"valueChanged\"],\"disabled\":[\"disabledChanged\"]}]]],[\"ion-tab-bar_2.cjs\",[[33,\"ion-tab-button\",{\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"layout\":[1025],\"selected\":[1028],\"tab\":[1],\"target\":[1]},[[8,\"ionTabBarChanged\",\"onTabBarChanged\"]]],[33,\"ion-tab-bar\",{\"color\":[513],\"selectedTab\":[1,\"selected-tab\"],\"translucent\":[4],\"keyboardVisible\":[32]},null,{\"selectedTab\":[\"selectedTabChanged\"]}]]],[\"ion-chip.cjs\",[[33,\"ion-chip\",{\"color\":[513],\"outline\":[4],\"disabled\":[4]}]]],[\"ion-datetime-button.cjs\",[[33,\"ion-datetime-button\",{\"color\":[513],\"disabled\":[516],\"datetime\":[1],\"datetimePresentation\":[32],\"dateText\":[32],\"timeText\":[32],\"datetimeActive\":[32],\"selectedButton\":[32]}]]],[\"ion-input.cjs\",[[38,\"ion-input\",{\"color\":[513],\"accept\":[1],\"autocapitalize\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"clearOnEdit\":[4,\"clear-on-edit\"],\"counter\":[4],\"counterFormatter\":[16],\"debounce\":[2],\"disabled\":[4],\"enterkeyhint\":[1],\"errorText\":[1,\"error-text\"],\"fill\":[1],\"inputmode\":[1],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"max\":[8],\"maxlength\":[2],\"min\":[8],\"minlength\":[2],\"multiple\":[4],\"name\":[1],\"pattern\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"shape\":[1],\"spellcheck\":[4],\"step\":[1],\"size\":[2],\"type\":[1],\"value\":[1032],\"hasFocus\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"disabled\":[\"disabledChanged\"],\"placeholder\":[\"placeholderChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-searchbar.cjs\",[[34,\"ion-searchbar\",{\"color\":[513],\"animated\":[4],\"autocomplete\":[1],\"autocorrect\":[1],\"cancelButtonIcon\":[1,\"cancel-button-icon\"],\"cancelButtonText\":[1,\"cancel-button-text\"],\"clearIcon\":[1,\"clear-icon\"],\"debounce\":[2],\"disabled\":[4],\"inputmode\":[1],\"enterkeyhint\":[1],\"name\":[1],\"placeholder\":[1],\"searchIcon\":[1,\"search-icon\"],\"showCancelButton\":[1,\"show-cancel-button\"],\"showClearButton\":[1,\"show-clear-button\"],\"spellcheck\":[4],\"type\":[1],\"value\":[1025],\"focused\":[32],\"noAnimate\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"value\":[\"valueChanged\"],\"showCancelButton\":[\"showCancelButtonChanged\"]}]]],[\"ion-toggle.cjs\",[[33,\"ion-toggle\",{\"color\":[513],\"name\":[1],\"checked\":[1028],\"disabled\":[4],\"value\":[1],\"enableOnOffLabels\":[4,\"enable-on-off-labels\"],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"justify\":[1],\"alignment\":[1],\"activated\":[32]},null,{\"disabled\":[\"disabledChanged\"]}]]],[\"ion-nav_2.cjs\",[[1,\"ion-nav\",{\"delegate\":[16],\"swipeGesture\":[1028,\"swipe-gesture\"],\"animated\":[4],\"animation\":[16],\"rootParams\":[16],\"root\":[1],\"push\":[64],\"insert\":[64],\"insertPages\":[64],\"pop\":[64],\"popTo\":[64],\"popToRoot\":[64],\"removeIndex\":[64],\"setRoot\":[64],\"setPages\":[64],\"setRouteId\":[64],\"getRouteId\":[64],\"getActive\":[64],\"getByIndex\":[64],\"canGoBack\":[64],\"getPrevious\":[64]},null,{\"swipeGesture\":[\"swipeGestureChanged\"],\"root\":[\"rootChanged\"]}],[0,\"ion-nav-link\",{\"component\":[1],\"componentProps\":[16],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16]}]]],[\"ion-textarea.cjs\",[[38,\"ion-textarea\",{\"color\":[513],\"autocapitalize\":[1],\"autofocus\":[4],\"clearOnEdit\":[4,\"clear-on-edit\"],\"debounce\":[2],\"disabled\":[4],\"fill\":[1],\"inputmode\":[1],\"enterkeyhint\":[1],\"maxlength\":[2],\"minlength\":[2],\"name\":[1],\"placeholder\":[1],\"readonly\":[4],\"required\":[4],\"spellcheck\":[4],\"cols\":[514],\"rows\":[2],\"wrap\":[1],\"autoGrow\":[516,\"auto-grow\"],\"value\":[1025],\"counter\":[4],\"counterFormatter\":[16],\"errorText\":[1,\"error-text\"],\"helperText\":[1,\"helper-text\"],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"shape\":[1],\"hasFocus\":[32],\"setFocus\":[64],\"getInputElement\":[64]},null,{\"debounce\":[\"debounceChanged\"],\"disabled\":[\"disabledChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-backdrop.cjs\",[[33,\"ion-backdrop\",{\"visible\":[4],\"tappable\":[4],\"stopPropagation\":[4,\"stop-propagation\"]},[[2,\"click\",\"onMouseDown\"]]]]],[\"ion-loading.cjs\",[[34,\"ion-loading\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"message\":[1],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"showBackdrop\":[4,\"show-backdrop\"],\"spinner\":[1025],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-breadcrumb_2.cjs\",[[33,\"ion-breadcrumb\",{\"collapsed\":[4],\"last\":[4],\"showCollapsedIndicator\":[4,\"show-collapsed-indicator\"],\"color\":[1],\"active\":[4],\"disabled\":[4],\"download\":[1],\"href\":[1],\"rel\":[1],\"separator\":[4],\"target\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16]}],[33,\"ion-breadcrumbs\",{\"color\":[513],\"maxItems\":[2,\"max-items\"],\"itemsBeforeCollapse\":[2,\"items-before-collapse\"],\"itemsAfterCollapse\":[2,\"items-after-collapse\"],\"collapsed\":[32],\"activeChanged\":[32]},[[0,\"collapsedClick\",\"onCollapsedClick\"]],{\"maxItems\":[\"maxItemsChanged\"],\"itemsBeforeCollapse\":[\"maxItemsChanged\"],\"itemsAfterCollapse\":[\"maxItemsChanged\"]}]]],[\"ion-modal.cjs\",[[33,\"ion-modal\",{\"hasController\":[4,\"has-controller\"],\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"breakpoints\":[16],\"initialBreakpoint\":[2,\"initial-breakpoint\"],\"backdropBreakpoint\":[2,\"backdrop-breakpoint\"],\"handle\":[4],\"handleBehavior\":[1,\"handle-behavior\"],\"component\":[1],\"componentProps\":[16],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"showBackdrop\":[4,\"show-backdrop\"],\"animated\":[4],\"presentingElement\":[16],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"keepContentsMounted\":[4,\"keep-contents-mounted\"],\"canDismiss\":[4,\"can-dismiss\"],\"presented\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64],\"setCurrentBreakpoint\":[64],\"getCurrentBreakpoint\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-route_4.cjs\",[[0,\"ion-route\",{\"url\":[1],\"component\":[1],\"componentProps\":[16],\"beforeLeave\":[16],\"beforeEnter\":[16]},null,{\"url\":[\"onUpdate\"],\"component\":[\"onUpdate\"],\"componentProps\":[\"onComponentProps\"]}],[0,\"ion-route-redirect\",{\"from\":[1],\"to\":[1]},null,{\"from\":[\"propDidChange\"],\"to\":[\"propDidChange\"]}],[0,\"ion-router\",{\"root\":[1],\"useHash\":[4,\"use-hash\"],\"canTransition\":[64],\"push\":[64],\"back\":[64],\"printDebug\":[64],\"navChanged\":[64]},[[8,\"popstate\",\"onPopState\"],[4,\"ionBackButton\",\"onBackButton\"]]],[1,\"ion-router-link\",{\"color\":[513],\"href\":[1],\"rel\":[1],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"target\":[1]}]]],[\"ion-avatar_3.cjs\",[[33,\"ion-avatar\"],[33,\"ion-badge\",{\"color\":[513]}],[1,\"ion-thumbnail\"]]],[\"ion-col_3.cjs\",[[1,\"ion-col\",{\"offset\":[1],\"offsetXs\":[1,\"offset-xs\"],\"offsetSm\":[1,\"offset-sm\"],\"offsetMd\":[1,\"offset-md\"],\"offsetLg\":[1,\"offset-lg\"],\"offsetXl\":[1,\"offset-xl\"],\"pull\":[1],\"pullXs\":[1,\"pull-xs\"],\"pullSm\":[1,\"pull-sm\"],\"pullMd\":[1,\"pull-md\"],\"pullLg\":[1,\"pull-lg\"],\"pullXl\":[1,\"pull-xl\"],\"push\":[1],\"pushXs\":[1,\"push-xs\"],\"pushSm\":[1,\"push-sm\"],\"pushMd\":[1,\"push-md\"],\"pushLg\":[1,\"push-lg\"],\"pushXl\":[1,\"push-xl\"],\"size\":[1],\"sizeXs\":[1,\"size-xs\"],\"sizeSm\":[1,\"size-sm\"],\"sizeMd\":[1,\"size-md\"],\"sizeLg\":[1,\"size-lg\"],\"sizeXl\":[1,\"size-xl\"]},[[9,\"resize\",\"onResize\"]]],[1,\"ion-grid\",{\"fixed\":[4]}],[1,\"ion-row\"]]],[\"ion-tab_2.cjs\",[[1,\"ion-tab\",{\"active\":[1028],\"delegate\":[16],\"tab\":[1],\"component\":[1],\"setActive\":[64]},null,{\"active\":[\"changeActive\"]}],[1,\"ion-tabs\",{\"useRouter\":[1028,\"use-router\"],\"selectedTab\":[32],\"select\":[64],\"getTab\":[64],\"getSelected\":[64],\"setRouteId\":[64],\"getRouteId\":[64]}]]],[\"ion-img.cjs\",[[1,\"ion-img\",{\"alt\":[1],\"src\":[1],\"loadSrc\":[32],\"loadError\":[32]},null,{\"src\":[\"srcChanged\"]}]]],[\"ion-progress-bar.cjs\",[[33,\"ion-progress-bar\",{\"type\":[1],\"reversed\":[4],\"value\":[2],\"buffer\":[2],\"color\":[513]}]]],[\"ion-range.cjs\",[[33,\"ion-range\",{\"color\":[513],\"debounce\":[2],\"name\":[1],\"label\":[1],\"dualKnobs\":[4,\"dual-knobs\"],\"min\":[2],\"max\":[2],\"pin\":[4],\"pinFormatter\":[16],\"snaps\":[4],\"step\":[2],\"ticks\":[4],\"activeBarStart\":[1026,\"active-bar-start\"],\"disabled\":[4],\"value\":[1026],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"ratioA\":[32],\"ratioB\":[32],\"pressedKnob\":[32]},null,{\"debounce\":[\"debounceChanged\"],\"min\":[\"minChanged\"],\"max\":[\"maxChanged\"],\"activeBarStart\":[\"activeBarStartChanged\"],\"disabled\":[\"disabledChanged\"],\"value\":[\"valueChanged\"]}]]],[\"ion-split-pane.cjs\",[[33,\"ion-split-pane\",{\"contentId\":[513,\"content-id\"],\"disabled\":[4],\"when\":[8],\"visible\":[32]},null,{\"visible\":[\"visibleChanged\"],\"disabled\":[\"updateState\"],\"when\":[\"updateState\"]}]]],[\"ion-text.cjs\",[[1,\"ion-text\",{\"color\":[513]}]]],[\"ion-item_8.cjs\",[[33,\"ion-item-divider\",{\"color\":[513],\"sticky\":[4]}],[32,\"ion-item-group\"],[1,\"ion-skeleton-text\",{\"animated\":[4]}],[32,\"ion-list\",{\"lines\":[1],\"inset\":[4],\"closeSlidingItems\":[64]}],[33,\"ion-list-header\",{\"color\":[513],\"lines\":[1]}],[49,\"ion-item\",{\"color\":[513],\"button\":[4],\"detail\":[4],\"detailIcon\":[1,\"detail-icon\"],\"disabled\":[4],\"download\":[1],\"fill\":[1],\"shape\":[1],\"href\":[1],\"rel\":[1],\"lines\":[1],\"counter\":[4],\"routerAnimation\":[16],\"routerDirection\":[1,\"router-direction\"],\"target\":[1],\"type\":[1],\"counterFormatter\":[16],\"multipleInputs\":[32],\"focusable\":[32],\"counterString\":[32]},[[0,\"ionInput\",\"handleIonInput\"],[0,\"ionColor\",\"labelColorChanged\"],[0,\"ionStyle\",\"itemStyle\"]],{\"button\":[\"buttonChanged\"],\"counterFormatter\":[\"counterFormatterChanged\"]}],[34,\"ion-label\",{\"color\":[513],\"position\":[1],\"noAnimate\":[32]},null,{\"color\":[\"colorChanged\"],\"position\":[\"positionChanged\"]}],[33,\"ion-note\",{\"color\":[513]}]]],[\"ion-select_3.cjs\",[[33,\"ion-select\",{\"cancelText\":[1,\"cancel-text\"],\"color\":[513],\"compareWith\":[1,\"compare-with\"],\"disabled\":[4],\"fill\":[1],\"interface\":[1],\"interfaceOptions\":[8,\"interface-options\"],\"justify\":[1],\"label\":[1],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"multiple\":[4],\"name\":[1],\"okText\":[1,\"ok-text\"],\"placeholder\":[1],\"selectedText\":[1,\"selected-text\"],\"toggleIcon\":[1,\"toggle-icon\"],\"expandedIcon\":[1,\"expanded-icon\"],\"shape\":[1],\"value\":[1032],\"isExpanded\":[32],\"open\":[64]},null,{\"disabled\":[\"styleChanged\"],\"isExpanded\":[\"styleChanged\"],\"placeholder\":[\"styleChanged\"],\"value\":[\"styleChanged\"]}],[1,\"ion-select-option\",{\"disabled\":[4],\"value\":[8]}],[34,\"ion-select-popover\",{\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"message\":[1],\"multiple\":[4],\"options\":[16]}]]],[\"ion-picker-internal.cjs\",[[33,\"ion-picker-internal\",{\"exitInputMode\":[64]},[[1,\"touchstart\",\"preventTouchStartPropagation\"]]]]],[\"ion-datetime_3.cjs\",[[33,\"ion-datetime\",{\"color\":[1],\"name\":[1],\"disabled\":[4],\"readonly\":[4],\"isDateEnabled\":[16],\"min\":[1025],\"max\":[1025],\"presentation\":[1],\"cancelText\":[1,\"cancel-text\"],\"doneText\":[1,\"done-text\"],\"clearText\":[1,\"clear-text\"],\"yearValues\":[8,\"year-values\"],\"monthValues\":[8,\"month-values\"],\"dayValues\":[8,\"day-values\"],\"hourValues\":[8,\"hour-values\"],\"minuteValues\":[8,\"minute-values\"],\"locale\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"titleSelectedDatesFormatter\":[16],\"multiple\":[4],\"highlightedDates\":[16],\"value\":[1025],\"showDefaultTitle\":[4,\"show-default-title\"],\"showDefaultButtons\":[4,\"show-default-buttons\"],\"showClearButton\":[4,\"show-clear-button\"],\"showDefaultTimeLabel\":[4,\"show-default-time-label\"],\"hourCycle\":[1,\"hour-cycle\"],\"size\":[1],\"preferWheel\":[4,\"prefer-wheel\"],\"showMonthAndYear\":[32],\"activeParts\":[32],\"workingParts\":[32],\"isTimePopoverOpen\":[32],\"forceRenderDate\":[32],\"confirm\":[64],\"reset\":[64],\"cancel\":[64]},null,{\"disabled\":[\"disabledChanged\"],\"min\":[\"minChanged\"],\"max\":[\"maxChanged\"],\"yearValues\":[\"yearValuesChanged\"],\"monthValues\":[\"monthValuesChanged\"],\"dayValues\":[\"dayValuesChanged\"],\"hourValues\":[\"hourValuesChanged\"],\"minuteValues\":[\"minuteValuesChanged\"],\"value\":[\"valueChanged\"]}],[34,\"ion-picker\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"buttons\":[16],\"columns\":[16],\"cssClass\":[1,\"css-class\"],\"duration\":[2],\"showBackdrop\":[4,\"show-backdrop\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"presented\":[32],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64],\"getColumn\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}],[32,\"ion-picker-column\",{\"col\":[16]},null,{\"col\":[\"colChanged\"]}]]],[\"ion-radio_2.cjs\",[[33,\"ion-radio\",{\"color\":[513],\"name\":[1],\"disabled\":[4],\"value\":[8],\"labelPlacement\":[1,\"label-placement\"],\"legacy\":[4],\"justify\":[1],\"alignment\":[1],\"checked\":[32],\"buttonTabindex\":[32],\"setFocus\":[64],\"setButtonTabindex\":[64]},null,{\"value\":[\"valueChanged\"],\"checked\":[\"styleChanged\"],\"color\":[\"styleChanged\"],\"disabled\":[\"styleChanged\"]}],[0,\"ion-radio-group\",{\"allowEmptySelection\":[4,\"allow-empty-selection\"],\"compareWith\":[1,\"compare-with\"],\"name\":[1],\"value\":[1032]},[[4,\"keydown\",\"onKeydown\"]],{\"value\":[\"valueChanged\"]}]]],[\"ion-ripple-effect.cjs\",[[1,\"ion-ripple-effect\",{\"type\":[1],\"addRipple\":[64]}]]],[\"ion-button_2.cjs\",[[33,\"ion-button\",{\"color\":[513],\"buttonType\":[1025,\"button-type\"],\"disabled\":[516],\"expand\":[513],\"fill\":[1537],\"routerDirection\":[1,\"router-direction\"],\"routerAnimation\":[16],\"download\":[1],\"href\":[1],\"rel\":[1],\"shape\":[513],\"size\":[513],\"strong\":[4],\"target\":[1],\"type\":[1],\"form\":[1]},null,{\"disabled\":[\"disabledChanged\"]}],[1,\"ion-icon\",{\"mode\":[1025],\"color\":[1],\"ios\":[1],\"md\":[1],\"flipRtl\":[4,\"flip-rtl\"],\"name\":[513],\"src\":[1],\"icon\":[8],\"size\":[1],\"lazy\":[4],\"sanitize\":[4],\"svgContent\":[32],\"isVisible\":[32]},null,{\"name\":[\"loadIcon\"],\"src\":[\"loadIcon\"],\"icon\":[\"loadIcon\"],\"ios\":[\"loadIcon\"],\"md\":[\"loadIcon\"]}]]],[\"ion-action-sheet.cjs\",[[34,\"ion-action-sheet\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"buttons\":[16],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"]}]]],[\"ion-alert.cjs\",[[34,\"ion-alert\",{\"overlayIndex\":[2,\"overlay-index\"],\"delegate\":[16],\"hasController\":[4,\"has-controller\"],\"keyboardClose\":[4,\"keyboard-close\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"cssClass\":[1,\"css-class\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"message\":[1],\"buttons\":[16],\"inputs\":[1040],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"isOpen\":[4,\"is-open\"],\"trigger\":[1],\"present\":[64],\"dismiss\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},[[4,\"keydown\",\"onKeydown\"]],{\"isOpen\":[\"onIsOpenChange\"],\"trigger\":[\"triggerChanged\"],\"buttons\":[\"buttonsChanged\"],\"inputs\":[\"inputsChanged\"]}]]],[\"ion-app_8.cjs\",[[0,\"ion-app\",{\"setFocus\":[64]}],[1,\"ion-content\",{\"color\":[513],\"fullscreen\":[4],\"forceOverscroll\":[1028,\"force-overscroll\"],\"scrollX\":[4,\"scroll-x\"],\"scrollY\":[4,\"scroll-y\"],\"scrollEvents\":[4,\"scroll-events\"],\"getScrollElement\":[64],\"getBackgroundElement\":[64],\"scrollToTop\":[64],\"scrollToBottom\":[64],\"scrollByPoint\":[64],\"scrollToPoint\":[64]},[[9,\"resize\",\"onResize\"]]],[36,\"ion-footer\",{\"collapse\":[1],\"translucent\":[4],\"keyboardVisible\":[32]}],[36,\"ion-header\",{\"collapse\":[1],\"translucent\":[4]}],[1,\"ion-router-outlet\",{\"mode\":[1025],\"delegate\":[16],\"animated\":[4],\"animation\":[16],\"swipeHandler\":[16],\"commit\":[64],\"setRouteId\":[64],\"getRouteId\":[64]},null,{\"swipeHandler\":[\"swipeHandlerChanged\"]}],[33,\"ion-title\",{\"color\":[513],\"size\":[1]},null,{\"size\":[\"sizeChanged\"]}],[33,\"ion-toolbar\",{\"color\":[513]},[[0,\"ionStyle\",\"childrenStyle\"]]],[34,\"ion-buttons\",{\"collapse\":[4]}]]],[\"ion-picker-column-internal.cjs\",[[33,\"ion-picker-column-internal\",{\"disabled\":[4],\"items\":[16],\"value\":[1032],\"color\":[513],\"numericInput\":[4,\"numeric-input\"],\"isActive\":[32],\"scrollActiveItemIntoView\":[64],\"setValue\":[64]},null,{\"value\":[\"valueChange\"]}]]],[\"ion-popover.cjs\",[[33,\"ion-popover\",{\"hasController\":[4,\"has-controller\"],\"delegate\":[16],\"overlayIndex\":[2,\"overlay-index\"],\"enterAnimation\":[16],\"leaveAnimation\":[16],\"component\":[1],\"componentProps\":[16],\"keyboardClose\":[4,\"keyboard-close\"],\"cssClass\":[1,\"css-class\"],\"backdropDismiss\":[4,\"backdrop-dismiss\"],\"event\":[8],\"showBackdrop\":[4,\"show-backdrop\"],\"translucent\":[4],\"animated\":[4],\"htmlAttributes\":[16],\"triggerAction\":[1,\"trigger-action\"],\"trigger\":[1],\"size\":[1],\"dismissOnSelect\":[4,\"dismiss-on-select\"],\"reference\":[1],\"side\":[1],\"alignment\":[1025],\"arrow\":[4],\"isOpen\":[4,\"is-open\"],\"keyboardEvents\":[4,\"keyboard-events\"],\"keepContentsMounted\":[4,\"keep-contents-mounted\"],\"presented\":[32],\"presentFromTrigger\":[64],\"present\":[64],\"dismiss\":[64],\"getParentPopover\":[64],\"onDidDismiss\":[64],\"onWillDismiss\":[64]},null,{\"trigger\":[\"onTriggerChange\"],\"triggerAction\":[\"onTriggerChange\"],\"isOpen\":[\"onIsOpenChange\"]}]]],[\"ion-checkbox.cjs\",[[33,\"ion-checkbox\",{\"color\":[513],\"name\":[1],\"checked\":[1028],\"indeterminate\":[1028],\"disabled\":[4],\"value\":[8],\"labelPlacement\":[1,\"label-placement\"],\"justify\":[1],\"alignment\":[1],\"legacy\":[4]},null,{\"checked\":[\"styleChanged\"],\"disabled\":[\"styleChanged\"]}]]],[\"ion-spinner.cjs\",[[1,\"ion-spinner\",{\"color\":[513],\"duration\":[2],\"name\":[1],\"paused\":[4]}]]]]"), options);
16
16
  };
17
17
 
18
18
  exports.setNonce = index.setNonce;
@@ -3,10 +3,10 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const animation = require('./animation-9b401d39.js');
7
- const index = require('./index-fc6d268f.js');
6
+ const animation = require('./animation-c2840aea.js');
7
+ const index = require('./index-0ccc7b6f.js');
8
8
  require('./index-c8d52405.js');
9
- require('./helpers-76bb7efb.js');
9
+ require('./helpers-da4c0ed1.js');
10
10
  require('./index-5a471146.js');
11
11
 
12
12
  const mdTransitionAnimation = (_, opts) => {
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
- const helpers = require('./helpers-76bb7efb.js');
7
+ const helpers = require('./helpers-da4c0ed1.js');
8
8
 
9
9
  /**
10
10
  * A utility to calculate the size of an outline notch
@@ -4,10 +4,10 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-c8d52405.js');
7
+ const hardwareBackButton = require('./hardware-back-button-d23873bb.js');
7
8
  const ionicGlobal = require('./ionic-global-7358c23e.js');
8
- const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
9
- const hardwareBackButton = require('./hardware-back-button-76833cac.js');
10
- const helpers = require('./helpers-76bb7efb.js');
9
+ const frameworkDelegate = require('./framework-delegate-e0e13baa.js');
10
+ const helpers = require('./helpers-da4c0ed1.js');
11
11
  const index$1 = require('./index-5915f9b3.js');
12
12
 
13
13
  let lastOverlayIndex = 0;
@@ -100,32 +100,48 @@ const createOverlay = (tagName, opts) => {
100
100
  * valid usage for the disabled property on ion-button.
101
101
  */
102
102
  const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
103
+ const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
104
+ /**
105
+ * Focuses the first descendant in an overlay
106
+ * that can receive focus. If none exists,
107
+ * the entire overlay will be focused.
108
+ */
103
109
  const focusFirstDescendant = (ref, overlay) => {
104
- let firstInput = ref.querySelector(focusableQueryString);
105
- const shadowRoot = firstInput === null || firstInput === void 0 ? void 0 : firstInput.shadowRoot;
106
- if (shadowRoot) {
107
- // If there are no inner focusable elements, just focus the host element.
108
- firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
109
- }
110
- if (firstInput) {
111
- helpers.focusElement(firstInput);
112
- }
113
- else {
114
- // Focus overlay instead of letting focus escape
115
- overlay.focus();
116
- }
110
+ const firstInput = ref.querySelector(focusableQueryString);
111
+ focusElementInOverlay(firstInput, overlay);
117
112
  };
118
- const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
113
+ /**
114
+ * Focuses the last descendant in an overlay
115
+ * that can receive focus. If none exists,
116
+ * the entire overlay will be focused.
117
+ */
119
118
  const focusLastDescendant = (ref, overlay) => {
120
119
  const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
121
- let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
122
- const shadowRoot = lastInput === null || lastInput === void 0 ? void 0 : lastInput.shadowRoot;
120
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
121
+ focusElementInOverlay(lastInput, overlay);
122
+ };
123
+ /**
124
+ * Focuses a particular element in an overlay. If the element
125
+ * doesn't have anything focusable associated with it then
126
+ * the overlay itself will be focused.
127
+ * This should be used instead of the focus() method
128
+ * on most elements because the focusable element
129
+ * may not be the host element.
130
+ *
131
+ * For example, if an ion-button should be focused
132
+ * then we should actually focus the native <button>
133
+ * element inside of ion-button's shadow root, not
134
+ * the host element itself.
135
+ */
136
+ const focusElementInOverlay = (hostToFocus, overlay) => {
137
+ let elementToFocus = hostToFocus;
138
+ const shadowRoot = hostToFocus === null || hostToFocus === void 0 ? void 0 : hostToFocus.shadowRoot;
123
139
  if (shadowRoot) {
124
140
  // If there are no inner focusable elements, just focus the host element.
125
- lastInput = shadowRoot.querySelector(focusableQueryString) || lastInput;
141
+ elementToFocus = shadowRoot.querySelector(focusableQueryString) || hostToFocus;
126
142
  }
127
- if (lastInput) {
128
- lastInput.focus();
143
+ if (elementToFocus) {
144
+ helpers.focusVisibleElement(elementToFocus);
129
145
  }
130
146
  else {
131
147
  // Focus overlay instead of letting focus escape
@@ -207,6 +223,21 @@ const trapKeyboardFocus = (ev, doc) => {
207
223
  */
208
224
  if (overlayWrapper.contains(target) || target === overlayRoot.querySelector('ion-backdrop')) {
209
225
  lastOverlay.lastFocus = target;
226
+ /**
227
+ * Toasts can be presented from an overlay.
228
+ * However, focus should still be returned to
229
+ * the overlay when clicking a toast. Normally,
230
+ * focus would be returned to the last focusable
231
+ * descendant in the overlay which may not always be
232
+ * the button that the toast was presented from. In this case,
233
+ * the focus may be returned to an unexpected element.
234
+ * To account for this, we make sure to return focus to the
235
+ * last focused element in the overlay if focus is
236
+ * moved to the toast.
237
+ */
238
+ }
239
+ else if (target.tagName === 'ION-TOAST') {
240
+ focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
210
241
  }
211
242
  else {
212
243
  /**
@@ -247,6 +278,21 @@ const trapKeyboardFocus = (ev, doc) => {
247
278
  */
248
279
  if (lastOverlay.contains(target)) {
249
280
  lastOverlay.lastFocus = target;
281
+ /**
282
+ * Toasts can be presented from an overlay.
283
+ * However, focus should still be returned to
284
+ * the overlay when clicking a toast. Normally,
285
+ * focus would be returned to the last focusable
286
+ * descendant in the overlay which may not always be
287
+ * the button that the toast was presented from. In this case,
288
+ * the focus may be returned to an unexpected element.
289
+ * To account for this, we make sure to return focus to the
290
+ * last focused element in the overlay if focus is
291
+ * moved to the toast.
292
+ */
293
+ }
294
+ else if (target.tagName === 'ION-TOAST') {
295
+ focusElementInOverlay(lastOverlay.lastFocus, lastOverlay);
250
296
  }
251
297
  else {
252
298
  /**
@@ -275,6 +321,7 @@ const trapKeyboardFocus = (ev, doc) => {
275
321
  * last focus to equal the active element.
276
322
  */
277
323
  if (lastFocus === doc.activeElement) {
324
+ console.log('LAST FOCUS');
278
325
  focusLastDescendant(lastOverlay, lastOverlay);
279
326
  }
280
327
  lastOverlay.lastFocus = doc.activeElement;
@@ -298,19 +345,38 @@ const connectListeners = (doc) => {
298
345
  const lastOverlay = getPresentedOverlay(doc);
299
346
  if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
300
347
  ev.detail.register(hardwareBackButton.OVERLAY_BACK_BUTTON_PRIORITY, () => {
301
- return lastOverlay.dismiss(undefined, BACKDROP);
348
+ /**
349
+ * Do not return this promise otherwise
350
+ * the hardware back button utility will
351
+ * be blocked until the overlay dismisses.
352
+ * This is important for a modal with canDismiss.
353
+ * If the application presents a confirmation alert
354
+ * in the "canDismiss" callback, then it will be impossible
355
+ * to use the hardware back button to dismiss the alert
356
+ * dialog because the hardware back button utility
357
+ * is blocked on waiting for the modal to dismiss.
358
+ */
359
+ lastOverlay.dismiss(undefined, BACKDROP);
302
360
  });
303
361
  }
304
362
  });
305
- // handle ESC to close overlay
306
- doc.addEventListener('keydown', (ev) => {
307
- if (ev.key === 'Escape') {
308
- const lastOverlay = getPresentedOverlay(doc);
309
- if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
310
- lastOverlay.dismiss(undefined, BACKDROP);
363
+ /**
364
+ * Handle ESC to close overlay.
365
+ * CloseWatcher also handles pressing the Esc
366
+ * key, so if a browser supports CloseWatcher then
367
+ * this behavior will be handled via the ionBackButton
368
+ * event.
369
+ */
370
+ if (!hardwareBackButton.shoudUseCloseWatcher()) {
371
+ doc.addEventListener('keydown', (ev) => {
372
+ if (ev.key === 'Escape') {
373
+ const lastOverlay = getPresentedOverlay(doc);
374
+ if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
375
+ lastOverlay.dismiss(undefined, BACKDROP);
376
+ }
311
377
  }
312
- }
313
- });
378
+ });
379
+ }
314
380
  }
315
381
  };
316
382
  const dismissOverlay = (doc, data, role, overlayTag, id) => {
@@ -4,8 +4,8 @@
4
4
  'use strict';
5
5
 
6
6
  const index = require('./index-5a471146.js');
7
- const index$1 = require('./index-da15e99c.js');
8
- const helpers = require('./helpers-76bb7efb.js');
7
+ const index$1 = require('./index-bef98850.js');
8
+ const helpers = require('./helpers-da4c0ed1.js');
9
9
  require('./index-5915f9b3.js');
10
10
 
11
11
  const startStatusTap = () => {
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const helpers = require('./helpers-76bb7efb.js');
6
+ const helpers = require('./helpers-da4c0ed1.js');
7
7
  const dir = require('./dir-94c21456.js');
8
8
  const index = require('./index-d1b59ffa.js');
9
9
  require('./gesture-controller-c40c045a.js');
@@ -2,6 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Build, Host, h } from "@stencil/core";
5
+ import { shoudUseCloseWatcher } from "../../utils/hardware-back-button";
6
+ import { printIonWarning } from "../../utils/logging/index";
5
7
  import { isPlatform } from "../../utils/platform";
6
8
  import { config } from "../../global/config";
7
9
  import { getIonMode } from "../../global/ionic-global";
@@ -25,10 +27,18 @@ export class App {
25
27
  import('../../utils/input-shims/input-shims').then((module) => module.startInputShims(config, platform));
26
28
  }
27
29
  const hardwareBackButtonModule = await import('../../utils/hardware-back-button');
28
- if (config.getBoolean('hardwareBackButton', isHybrid)) {
30
+ const supportsHardwareBackButtonEvents = isHybrid || shoudUseCloseWatcher();
31
+ if (config.getBoolean('hardwareBackButton', supportsHardwareBackButtonEvents)) {
29
32
  hardwareBackButtonModule.startHardwareBackButton();
30
33
  }
31
34
  else {
35
+ /**
36
+ * If an app sets hardwareBackButton: false and experimentalCloseWatcher: true
37
+ * then the close watcher will not be used.
38
+ */
39
+ if (shoudUseCloseWatcher()) {
40
+ printIonWarning('experimentalCloseWatcher was set to `true`, but hardwareBackButton was set to `false`. Both config options must be `true` for the Close Watcher API to be used.');
41
+ }
32
42
  hardwareBackButtonModule.blockHardwareBackButton();
33
43
  }
34
44
  if (typeof window !== 'undefined') {
@@ -55,7 +65,7 @@ export class App {
55
65
  }
56
66
  render() {
57
67
  const mode = getIonMode(this);
58
- return (h(Host, { key: '56c81f5d59b568ffd4a6de2f9b1c48c9a9456e8b', class: {
68
+ return (h(Host, { key: '3535eb5c0dab78a78011e552524a98599b2b650f', class: {
59
69
  [mode]: true,
60
70
  'ion-page': true,
61
71
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -4,6 +4,7 @@
4
4
  import { Build, Host, h } from "@stencil/core";
5
5
  import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
6
  import { GESTURE_CONTROLLER } from "../../utils/gesture/index";
7
+ import { shoudUseCloseWatcher } from "../../utils/hardware-back-button";
7
8
  import { inheritAriaAttributes, assert, clamp, isEndSide as isEnd } from "../../utils/helpers";
8
9
  import { menuController } from "../../utils/menu-controller/index";
9
10
  import { getPresentedOverlay } from "../../utils/overlays";
@@ -595,13 +596,18 @@ export class Menu {
595
596
  render() {
596
597
  const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
597
598
  const mode = getIonMode(this);
598
- return (h(Host, { key: '8665a4cec887bb6b0178d1df62e47c8575104ad1', role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
+ /**
600
+ * If the Close Watcher is enabled then
601
+ * the ionBackButton listener in the menu controller
602
+ * will handle closing the menu when Escape is pressed.
603
+ */
604
+ return (h(Host, { key: 'be7145625a30951e5cc26646f6121ee4fa4c910f', onKeyDown: shoudUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
605
  [mode]: true,
600
606
  [`menu-type-${type}`]: true,
601
607
  'menu-enabled': !disabled,
602
608
  [`menu-side-${side}`]: true,
603
609
  'menu-pane-visible': isPaneVisible,
604
- } }, h("div", { key: '37f5797a28f2809cb979272525ef64074b2c9730', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: '718a506b80373deecb1ea5205384839ac222c74e' })), h("ion-backdrop", { key: 'a499b8f60a8aef2ec125a1814b491e8e1a863825', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
610
+ } }, h("div", { key: 'ecd6e0641ed67691db270190801f7be365a2d121', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", { key: 'aea3780e259f2b3ea84697a509bb7f13fa9531e9' })), h("ion-backdrop", { key: 'be3253506a34c4c00eb1814621c674196b72db46', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
605
611
  }
606
612
  static get is() { return "ion-menu"; }
607
613
  static get encapsulation() { return "shadow"; }
@@ -998,12 +1004,6 @@ export class Menu {
998
1004
  "target": undefined,
999
1005
  "capture": true,
1000
1006
  "passive": false
1001
- }, {
1002
- "name": "keydown",
1003
- "method": "onKeydown",
1004
- "target": undefined,
1005
- "capture": false,
1006
- "passive": false
1007
1007
  }];
1008
1008
  }
1009
1009
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Host, h, forceUpdate } from "@stencil/core";
5
5
  import { compareOptions, createLegacyFormController, createNotchController, isOptionSelected } from "../../utils/forms/index";
6
- import { findItemLabel, focusElement, getAriaLabel, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
6
+ import { findItemLabel, focusVisibleElement, getAriaLabel, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { actionSheetController, alertController, popoverController } from "../../utils/overlays";
9
9
  import { isRTL } from "../../utils/rtl/index";
@@ -158,7 +158,7 @@ export class Select {
158
158
  if (indexOfSelected > -1) {
159
159
  const selectedItem = overlay.querySelector(`.select-interface-option:nth-child(${indexOfSelected + 1})`);
160
160
  if (selectedItem) {
161
- focusElement(selectedItem);
161
+ focusVisibleElement(selectedItem);
162
162
  /**
163
163
  * Browsers such as Firefox do not
164
164
  * correctly delegate focus when manually
@@ -182,7 +182,7 @@ export class Select {
182
182
  */
183
183
  const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');
184
184
  if (firstEnabledOption) {
185
- focusElement(firstEnabledOption.closest('ion-item'));
185
+ focusVisibleElement(firstEnabledOption.closest('ion-item'));
186
186
  /**
187
187
  * Focus the option for the same reason as we do above.
188
188
  */
@@ -66,16 +66,15 @@ export class SplitPane {
66
66
  this.visible = false;
67
67
  return;
68
68
  }
69
- if (window.matchMedia) {
70
- // Listen on media query
71
- const callback = (q) => {
72
- this.visible = q.matches;
73
- };
74
- const mediaList = window.matchMedia(mediaQuery);
75
- mediaList.addListener(callback);
76
- this.rmL = () => mediaList.removeListener(callback);
77
- this.visible = mediaList.matches;
78
- }
69
+ // Listen on media query
70
+ const callback = (q) => {
71
+ this.visible = q.matches;
72
+ };
73
+ const mediaList = window.matchMedia(mediaQuery);
74
+ // TODO FW-5869
75
+ mediaList.addListener(callback);
76
+ this.rmL = () => mediaList.removeListener(callback);
77
+ this.visible = mediaList.matches;
79
78
  }
80
79
  isPane(element) {
81
80
  if (!this.visible) {
@@ -109,12 +108,12 @@ export class SplitPane {
109
108
  }
110
109
  render() {
111
110
  const mode = getIonMode(this);
112
- return (h(Host, { key: '68f375658524c6b2ecc95f51125f496e76291b99', class: {
111
+ return (h(Host, { key: '3efe241375d23ae12c47927aa1fc1f3f4b4e5807', class: {
113
112
  [mode]: true,
114
113
  // Used internally for styling
115
114
  [`split-pane-${mode}`]: true,
116
115
  'split-pane-visible': this.visible,
117
- } }, h("slot", { key: '606277cb63a5772e421c0dad9d0b4568276d8a7a' })));
116
+ } }, h("slot", { key: 'd5c94319658e2291dcc356e6ed7a9abc1a48a8b9' })));
118
117
  }
119
118
  static get is() { return "ion-split-pane"; }
120
119
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,21 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { win } from "./browser/index";
5
+ import { config } from "../global/config";
6
+ /**
7
+ * CloseWatcher is a newer API that lets
8
+ * use detect the hardware back button event
9
+ * in a web browser: https://caniuse.com/?search=closewatcher
10
+ * However, not every browser supports it yet.
11
+ *
12
+ * This needs to be a function so that we can
13
+ * check the config once it has been set.
14
+ * Otherwise, this code would be evaluated the
15
+ * moment this file is evaluated which could be
16
+ * before the config is set.
17
+ */
18
+ export const shoudUseCloseWatcher = () => config.get('experimentalCloseWatcher', false) && win !== undefined && 'CloseWatcher' in win;
4
19
  /**
5
20
  * When hardwareBackButton: false in config,
6
21
  * we need to make sure we also block the default
@@ -17,7 +32,7 @@ export const blockHardwareBackButton = () => {
17
32
  export const startHardwareBackButton = () => {
18
33
  const doc = document;
19
34
  let busy = false;
20
- doc.addEventListener('backbutton', () => {
35
+ const backButtonCallback = () => {
21
36
  if (busy) {
22
37
  return;
23
38
  }
@@ -63,7 +78,35 @@ export const startHardwareBackButton = () => {
63
78
  }
64
79
  };
65
80
  processHandlers();
66
- });
81
+ };
82
+ /**
83
+ * If the CloseWatcher is defined then
84
+ * we don't want to also listen for the native
85
+ * backbutton event otherwise we may get duplicate
86
+ * events firing.
87
+ */
88
+ if (shoudUseCloseWatcher()) {
89
+ let watcher;
90
+ const configureWatcher = () => {
91
+ watcher === null || watcher === void 0 ? void 0 : watcher.destroy();
92
+ watcher = new win.CloseWatcher();
93
+ /**
94
+ * Once a close request happens
95
+ * the watcher gets destroyed.
96
+ * As a result, we need to re-configure
97
+ * the watcher so we can respond to other
98
+ * close requests.
99
+ */
100
+ watcher.onclose = () => {
101
+ backButtonCallback();
102
+ configureWatcher();
103
+ };
104
+ };
105
+ configureWatcher();
106
+ }
107
+ else {
108
+ doc.addEventListener('backbutton', backButtonCallback);
109
+ }
67
110
  };
68
111
  export const OVERLAY_BACK_BUTTON_PRIORITY = 100;
69
112
  export const MENU_BACK_BUTTON_PRIORITY = 99; // 1 less than overlay priority since menu is displayed behind overlays