voyager-ionic-core 7.5.5 → 7.6.0

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 (1847) hide show
  1. package/components/action-sheet.js +297 -287
  2. package/components/alert.js +477 -467
  3. package/components/animation.js +991 -990
  4. package/components/backdrop.js +56 -56
  5. package/components/button-active.js +56 -56
  6. package/components/button.js +236 -236
  7. package/components/buttons.js +29 -29
  8. package/components/capacitor.js +4 -4
  9. package/components/checkbox.js +172 -170
  10. package/components/config.js +142 -142
  11. package/components/cubic-bezier.js +49 -49
  12. package/components/data.js +1055 -1055
  13. package/components/dir.js +5 -5
  14. package/components/focus-visible.js +63 -63
  15. package/components/form-controller.js +45 -45
  16. package/components/framework-delegate.js +121 -121
  17. package/components/gesture-controller.js +182 -182
  18. package/components/haptic.js +150 -150
  19. package/components/hardware-back-button.js +48 -48
  20. package/components/helpers.js +257 -257
  21. package/components/icon.js +133 -133
  22. package/components/index.js +95 -95
  23. package/components/index2.js +163 -163
  24. package/components/index3.js +417 -417
  25. package/components/index4.js +257 -259
  26. package/components/index5.js +0 -22
  27. package/components/index6.js +3 -3
  28. package/components/index8.js +58 -58
  29. package/components/index9.js +171 -171
  30. package/components/input-shims.js +488 -483
  31. package/components/input.utils.js +107 -106
  32. package/components/ion-accordion-group.d.ts +2 -2
  33. package/components/ion-accordion-group.js +220 -220
  34. package/components/ion-accordion.d.ts +2 -2
  35. package/components/ion-accordion.js +326 -326
  36. package/components/ion-action-sheet.d.ts +2 -2
  37. package/components/ion-alert.d.ts +2 -2
  38. package/components/ion-app.d.ts +2 -2
  39. package/components/ion-app.js +93 -93
  40. package/components/ion-avatar.d.ts +2 -2
  41. package/components/ion-avatar.js +23 -23
  42. package/components/ion-back-button.d.ts +2 -2
  43. package/components/ion-back-button.js +102 -102
  44. package/components/ion-backdrop.d.ts +2 -2
  45. package/components/ion-badge.d.ts +2 -2
  46. package/components/ion-badge.js +29 -29
  47. package/components/ion-breadcrumb.d.ts +2 -2
  48. package/components/ion-breadcrumb.js +111 -111
  49. package/components/ion-breadcrumbs.d.ts +2 -2
  50. package/components/ion-breadcrumbs.js +139 -139
  51. package/components/ion-button.d.ts +2 -2
  52. package/components/ion-buttons.d.ts +2 -2
  53. package/components/ion-card-content.d.ts +2 -2
  54. package/components/ion-card-content.js +27 -27
  55. package/components/ion-card-header.d.ts +2 -2
  56. package/components/ion-card-header.js +33 -33
  57. package/components/ion-card-subtitle.d.ts +2 -2
  58. package/components/ion-card-subtitle.js +30 -30
  59. package/components/ion-card-title.d.ts +2 -2
  60. package/components/ion-card-title.js +30 -30
  61. package/components/ion-card.d.ts +2 -2
  62. package/components/ion-card.js +78 -78
  63. package/components/ion-checkbox.d.ts +2 -2
  64. package/components/ion-chip.d.ts +2 -2
  65. package/components/ion-chip.js +41 -41
  66. package/components/ion-col.d.ts +2 -2
  67. package/components/ion-col.js +156 -156
  68. package/components/ion-content.d.ts +2 -2
  69. package/components/ion-content.js +394 -394
  70. package/components/ion-datetime-button.d.ts +2 -2
  71. package/components/ion-datetime-button.js +348 -348
  72. package/components/ion-datetime.d.ts +2 -2
  73. package/components/ion-datetime.js +1722 -1709
  74. package/components/ion-fab-button.d.ts +2 -2
  75. package/components/ion-fab-button.js +109 -109
  76. package/components/ion-fab-list.d.ts +2 -2
  77. package/components/ion-fab-list.js +44 -44
  78. package/components/ion-fab.d.ts +2 -2
  79. package/components/ion-fab.js +75 -75
  80. package/components/ion-footer.d.ts +2 -2
  81. package/components/ion-footer.js +124 -124
  82. package/components/ion-grid.d.ts +2 -2
  83. package/components/ion-grid.js +27 -27
  84. package/components/ion-header.d.ts +2 -2
  85. package/components/ion-header.js +298 -298
  86. package/components/ion-img.d.ts +2 -2
  87. package/components/ion-img.js +97 -97
  88. package/components/ion-infinite-scroll-content.d.ts +2 -2
  89. package/components/ion-infinite-scroll-content.js +49 -49
  90. package/components/ion-infinite-scroll.d.ts +2 -2
  91. package/components/ion-infinite-scroll.js +187 -179
  92. package/components/ion-input.d.ts +2 -2
  93. package/components/ion-input.js +479 -454
  94. package/components/ion-item-divider.d.ts +2 -2
  95. package/components/ion-item-divider.js +34 -34
  96. package/components/ion-item-group.d.ts +2 -2
  97. package/components/ion-item-group.js +28 -28
  98. package/components/ion-item-option.d.ts +2 -2
  99. package/components/ion-item-option.js +67 -67
  100. package/components/ion-item-options.d.ts +2 -2
  101. package/components/ion-item-options.js +50 -50
  102. package/components/ion-item-sliding.d.ts +2 -2
  103. package/components/ion-item-sliding.js +404 -404
  104. package/components/ion-item.d.ts +2 -2
  105. package/components/ion-label.d.ts +2 -2
  106. package/components/ion-list-header.d.ts +2 -2
  107. package/components/ion-list.d.ts +2 -2
  108. package/components/ion-loading.d.ts +2 -2
  109. package/components/ion-loading.js +257 -247
  110. package/components/ion-menu-button.d.ts +2 -2
  111. package/components/ion-menu-button.js +77 -77
  112. package/components/ion-menu-toggle.d.ts +2 -2
  113. package/components/ion-menu-toggle.js +41 -41
  114. package/components/ion-menu.d.ts +2 -2
  115. package/components/ion-menu.js +629 -629
  116. package/components/ion-modal.d.ts +2 -2
  117. package/components/ion-modal.js +1451 -1441
  118. package/components/ion-nav-link.d.ts +2 -2
  119. package/components/ion-nav-link.js +47 -47
  120. package/components/ion-nav.d.ts +2 -2
  121. package/components/ion-nav.js +910 -910
  122. package/components/ion-note.d.ts +2 -2
  123. package/components/ion-picker-column-internal.d.ts +2 -2
  124. package/components/ion-picker-column.d.ts +2 -2
  125. package/components/ion-picker-internal.d.ts +2 -2
  126. package/components/ion-picker.d.ts +2 -2
  127. package/components/ion-picker.js +263 -253
  128. package/components/ion-popover.d.ts +2 -2
  129. package/components/ion-progress-bar.d.ts +2 -2
  130. package/components/ion-progress-bar.js +57 -57
  131. package/components/ion-radio-group.d.ts +2 -2
  132. package/components/ion-radio.d.ts +2 -2
  133. package/components/ion-range.d.ts +2 -2
  134. package/components/ion-range.js +593 -591
  135. package/components/ion-refresher-content.d.ts +2 -2
  136. package/components/ion-refresher-content.js +63 -63
  137. package/components/ion-refresher.d.ts +2 -2
  138. package/components/ion-refresher.js +747 -747
  139. package/components/ion-reorder-group.d.ts +2 -2
  140. package/components/ion-reorder-group.js +259 -259
  141. package/components/ion-reorder.d.ts +2 -2
  142. package/components/ion-reorder.js +39 -39
  143. package/components/ion-ripple-effect.d.ts +2 -2
  144. package/components/ion-route-redirect.d.ts +2 -2
  145. package/components/ion-route-redirect.js +34 -34
  146. package/components/ion-route.d.ts +2 -2
  147. package/components/ion-route.js +56 -56
  148. package/components/ion-router-link.d.ts +2 -2
  149. package/components/ion-router-link.js +45 -45
  150. package/components/ion-router-outlet.d.ts +2 -2
  151. package/components/ion-router-outlet.js +193 -193
  152. package/components/ion-router.d.ts +2 -2
  153. package/components/ion-router.js +632 -632
  154. package/components/ion-row.d.ts +2 -2
  155. package/components/ion-row.js +20 -20
  156. package/components/ion-searchbar.d.ts +2 -2
  157. package/components/ion-searchbar.js +402 -400
  158. package/components/ion-segment-button.d.ts +2 -2
  159. package/components/ion-segment-button.js +117 -117
  160. package/components/ion-segment.d.ts +2 -2
  161. package/components/ion-segment.js +427 -427
  162. package/components/ion-select-option.d.ts +2 -2
  163. package/components/ion-select-option.js +27 -27
  164. package/components/ion-select-popover.d.ts +2 -2
  165. package/components/ion-select.d.ts +2 -2
  166. package/components/ion-select.js +778 -763
  167. package/components/ion-skeleton-text.d.ts +2 -2
  168. package/components/ion-skeleton-text.js +45 -32
  169. package/components/ion-spinner.d.ts +2 -2
  170. package/components/ion-split-pane.d.ts +2 -2
  171. package/components/ion-split-pane.js +145 -145
  172. package/components/ion-tab-bar.d.ts +2 -2
  173. package/components/ion-tab-bar.js +77 -77
  174. package/components/ion-tab-button.d.ts +2 -2
  175. package/components/ion-tab-button.js +104 -104
  176. package/components/ion-tab.d.ts +2 -2
  177. package/components/ion-tab.js +72 -72
  178. package/components/ion-tabs.d.ts +2 -2
  179. package/components/ion-tabs.js +160 -160
  180. package/components/ion-text.d.ts +2 -2
  181. package/components/ion-text.js +26 -26
  182. package/components/ion-textarea.d.ts +2 -2
  183. package/components/ion-textarea.js +420 -395
  184. package/components/ion-thumbnail.d.ts +2 -2
  185. package/components/ion-thumbnail.js +20 -20
  186. package/components/ion-title.d.ts +2 -2
  187. package/components/ion-title.js +56 -56
  188. package/components/ion-toast.d.ts +2 -2
  189. package/components/ion-toast.js +819 -464
  190. package/components/ion-toggle.d.ts +2 -2
  191. package/components/ion-toggle.js +243 -241
  192. package/components/ion-toolbar.d.ts +2 -2
  193. package/components/ion-toolbar.js +71 -71
  194. package/components/ionic-global.js +163 -163
  195. package/components/ios.transition.js +598 -598
  196. package/components/item.js +301 -301
  197. package/components/keyboard-controller.js +128 -128
  198. package/components/keyboard.js +62 -62
  199. package/components/keyboard2.js +59 -59
  200. package/components/label.js +85 -85
  201. package/components/list-header.js +33 -33
  202. package/components/list.js +50 -50
  203. package/components/lock-controller.js +24 -24
  204. package/components/md.transition.js +44 -44
  205. package/components/menu-toggle-util.js +2 -2
  206. package/components/notch-controller.js +120 -120
  207. package/components/note.js +29 -29
  208. package/components/overlays.js +496 -495
  209. package/components/picker-column-internal.js +350 -345
  210. package/components/picker-column.js +334 -334
  211. package/components/picker-internal.js +468 -468
  212. package/components/popover.js +1154 -1144
  213. package/components/radio-group.js +161 -159
  214. package/components/radio.js +248 -208
  215. package/components/ripple-effect.js +81 -81
  216. package/components/select-popover.js +163 -163
  217. package/components/spinner.js +182 -182
  218. package/components/status-tap.js +26 -26
  219. package/components/swipe-back.js +65 -65
  220. package/components/theme.js +23 -23
  221. package/components/watch-options.js +30 -30
  222. package/css/core.css +66 -0
  223. package/css/core.css.map +1 -1
  224. package/css/display.css +44 -0
  225. package/css/display.css.map +1 -1
  226. package/css/float-elements.css +44 -0
  227. package/css/float-elements.css.map +1 -1
  228. package/css/global.bundle.css +88 -0
  229. package/css/global.bundle.css.map +1 -1
  230. package/css/ionic-swiper.css +22 -0
  231. package/css/ionic-swiper.css.map +1 -1
  232. package/css/ionic.bundle.css.map +1 -1
  233. package/css/padding.css +44 -0
  234. package/css/padding.css.map +1 -1
  235. package/css/structure.css +44 -0
  236. package/css/structure.css.map +1 -1
  237. package/css/text-alignment.css +44 -0
  238. package/css/text-alignment.css.map +1 -1
  239. package/css/text-transformation.css +44 -0
  240. package/css/text-transformation.css.map +1 -1
  241. package/css/typography.css +44 -0
  242. package/css/typography.css.map +1 -1
  243. package/css/utils.bundle.css +220 -0
  244. package/css/utils.bundle.css.map +1 -1
  245. package/dist/cjs/animation-9b401d39.js +1062 -0
  246. package/dist/cjs/{app-globals-1d4c1dbf.js → app-globals-0af482c7.js} +1 -1
  247. package/dist/cjs/button-active-a5185907.js +69 -0
  248. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-c04564bf.js} +5 -5
  249. package/dist/cjs/compare-with-utils-df1001d7.js +44 -0
  250. package/dist/cjs/config-4f60b98a.js +199 -0
  251. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  252. package/dist/cjs/data-36b9094e.js +1622 -0
  253. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  254. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  255. package/dist/cjs/form-controller-7d42a722.js +66 -0
  256. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  257. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  258. package/dist/cjs/haptic-b882e0bb.js +212 -0
  259. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  260. package/dist/cjs/helpers-76bb7efb.js +441 -0
  261. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  262. package/dist/cjs/index-b4f986cd.js +198 -0
  263. package/dist/cjs/{index-c2940dc1.js → index-bbb4336c.js} +58 -7
  264. package/dist/cjs/index-c8d52405.js +10 -0
  265. package/dist/cjs/index-ce101dc9.js +308 -0
  266. package/dist/cjs/index-d1b59ffa.js +459 -0
  267. package/dist/cjs/{index-da2c7a37.js → index-da15e99c.js} +60 -60
  268. package/dist/cjs/index-f8f13389.js +243 -0
  269. package/dist/cjs/index.cjs.js +113 -113
  270. package/dist/cjs/input-shims-a23bb0f4.js +601 -0
  271. package/dist/cjs/input.utils-3d0166a2.js +138 -0
  272. package/dist/cjs/ion-accordion_2.cjs.entry.js +488 -488
  273. package/dist/cjs/ion-action-sheet.cjs.entry.js +260 -250
  274. package/dist/cjs/ion-alert.cjs.entry.js +442 -432
  275. package/dist/cjs/ion-app_8.cjs.entry.js +1151 -1151
  276. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  277. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  278. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  279. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  280. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  281. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  282. package/dist/cjs/ion-checkbox.cjs.entry.js +149 -147
  283. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  284. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  285. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  286. package/dist/cjs/ion-datetime_3.cjs.entry.js +2185 -2162
  287. package/dist/cjs/ion-fab_3.cjs.entry.js +150 -150
  288. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  289. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +198 -190
  290. package/dist/cjs/ion-input.cjs.entry.js +424 -399
  291. package/dist/cjs/ion-item-option_3.cjs.entry.js +457 -457
  292. package/dist/cjs/ion-item_8.cjs.entry.js +441 -428
  293. package/dist/cjs/ion-loading.cjs.entry.js +220 -210
  294. package/dist/cjs/ion-menu_3.cjs.entry.js +668 -668
  295. package/dist/cjs/ion-modal.cjs.entry.js +1415 -1405
  296. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  297. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +331 -327
  298. package/dist/cjs/ion-picker-internal.cjs.entry.js +453 -453
  299. package/dist/cjs/ion-popover.cjs.entry.js +1108 -1098
  300. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  301. package/dist/cjs/ion-radio_2.cjs.entry.js +321 -316
  302. package/dist/cjs/ion-range.cjs.entry.js +558 -556
  303. package/dist/cjs/ion-refresher_2.cjs.entry.js +786 -786
  304. package/dist/cjs/ion-reorder_2.cjs.entry.js +267 -267
  305. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  306. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  307. package/dist/cjs/ion-searchbar.cjs.entry.js +360 -358
  308. package/dist/cjs/ion-segment_2.cjs.entry.js +507 -507
  309. package/dist/cjs/ion-select_3.cjs.entry.js +784 -768
  310. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  311. package/dist/cjs/ion-split-pane.cjs.entry.js +117 -117
  312. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +138 -138
  313. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  314. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  315. package/dist/cjs/ion-textarea.cjs.entry.js +378 -353
  316. package/dist/cjs/ion-toast.cjs.entry.js +771 -419
  317. package/dist/cjs/ion-toggle.cjs.entry.js +227 -225
  318. package/dist/cjs/ionic-global-f4a2093b.js +230 -0
  319. package/dist/cjs/ionic.cjs.js +5 -5
  320. package/dist/cjs/ios.transition-6787b799.js +654 -0
  321. package/dist/cjs/keyboard-0272231f.js +81 -0
  322. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-af1bb365.js} +62 -62
  323. package/dist/cjs/keyboard-controller-c05e747a.js +167 -0
  324. package/dist/cjs/loader.cjs.js +4 -4
  325. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  326. package/dist/cjs/md.transition-e033d20a.js +59 -0
  327. package/dist/cjs/notch-controller-9735e7ac.js +155 -0
  328. package/dist/cjs/overlays-27a6fb16.js +716 -0
  329. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  330. package/dist/cjs/status-tap-415acac6.js +42 -0
  331. package/dist/cjs/swipe-back-e37a1a5c.js +81 -0
  332. package/dist/cjs/theme-d1c573d2.js +48 -0
  333. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  334. package/dist/collection/collection-manifest.json +7 -7
  335. package/dist/collection/components/accordion/accordion.ios.css +44 -0
  336. package/dist/collection/components/accordion/accordion.js +410 -410
  337. package/dist/collection/components/accordion/accordion.md.css +22 -0
  338. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  339. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  340. package/dist/collection/components/accordion/test/accordion.spec.js +195 -0
  341. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  342. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  343. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  344. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  345. package/dist/collection/components/accordion-group/accordion-group.ios.css +44 -0
  346. package/dist/collection/components/accordion-group/accordion-group.js +421 -421
  347. package/dist/collection/components/accordion-group/accordion-group.md.css +66 -0
  348. package/dist/collection/components/action-sheet/action-sheet.ios.css +44 -0
  349. package/dist/collection/components/action-sheet/action-sheet.js +739 -729
  350. package/dist/collection/components/action-sheet/action-sheet.md.css +44 -0
  351. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  352. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  353. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  354. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  355. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  356. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +32 -0
  357. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  358. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +74 -74
  359. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +18 -0
  360. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  361. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  362. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  363. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  364. package/dist/collection/components/alert/alert.ios.css +85 -1
  365. package/dist/collection/components/alert/alert.js +977 -967
  366. package/dist/collection/components/alert/alert.md.css +115 -3
  367. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  368. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  369. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  370. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  371. package/dist/collection/components/alert/test/a11y/alert.e2e.js +116 -116
  372. package/dist/collection/components/alert/test/alert-id.spec.js +32 -0
  373. package/dist/collection/components/alert/test/alert.spec.js +37 -0
  374. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +40 -0
  375. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  376. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  377. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  378. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  379. package/dist/collection/components/app/app.js +116 -116
  380. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  381. package/dist/collection/components/avatar/avatar.ios.css +44 -0
  382. package/dist/collection/components/avatar/avatar.js +17 -17
  383. package/dist/collection/components/avatar/avatar.md.css +44 -0
  384. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  385. package/dist/collection/components/back-button/back-button.ios.css +44 -0
  386. package/dist/collection/components/back-button/back-button.js +214 -214
  387. package/dist/collection/components/back-button/back-button.md.css +44 -0
  388. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  389. package/dist/collection/components/back-button/test/back-button.spec.js +86 -0
  390. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  391. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  392. package/dist/collection/components/backdrop/backdrop.ios.css +44 -0
  393. package/dist/collection/components/backdrop/backdrop.js +131 -131
  394. package/dist/collection/components/backdrop/backdrop.md.css +44 -0
  395. package/dist/collection/components/badge/badge.ios.css +44 -0
  396. package/dist/collection/components/badge/badge.js +49 -49
  397. package/dist/collection/components/badge/badge.md.css +44 -0
  398. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  399. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  400. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +44 -0
  401. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  402. package/dist/collection/components/breadcrumb/breadcrumb.md.css +44 -0
  403. package/dist/collection/components/breadcrumb/test/aria.spec.js +22 -0
  404. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +22 -0
  405. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  406. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +22 -0
  407. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  408. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  409. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +58 -0
  410. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  411. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  412. package/dist/collection/components/button/button.ios.css +66 -0
  413. package/dist/collection/components/button/button.js +541 -541
  414. package/dist/collection/components/button/button.md.css +44 -0
  415. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  416. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  417. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  418. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  419. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  420. package/dist/collection/components/button/test/form-reference/button.spec.js +26 -0
  421. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  422. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  423. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  424. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  425. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  426. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  427. package/dist/collection/components/buttons/buttons.ios.css +66 -0
  428. package/dist/collection/components/buttons/buttons.js +46 -46
  429. package/dist/collection/components/buttons/buttons.md.css +66 -0
  430. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  431. package/dist/collection/components/card/card.ios.css +44 -0
  432. package/dist/collection/components/card/card.js +251 -251
  433. package/dist/collection/components/card/card.md.css +44 -0
  434. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  435. package/dist/collection/components/card/test/aria.spec.js +16 -0
  436. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  437. package/dist/collection/components/card-content/card-content.ios.css +44 -0
  438. package/dist/collection/components/card-content/card-content.js +21 -21
  439. package/dist/collection/components/card-content/card-content.md.css +44 -0
  440. package/dist/collection/components/card-header/card-header.ios.css +44 -0
  441. package/dist/collection/components/card-header/card-header.js +70 -70
  442. package/dist/collection/components/card-header/card-header.md.css +44 -0
  443. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  444. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +44 -0
  445. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  446. package/dist/collection/components/card-subtitle/card-subtitle.md.css +44 -0
  447. package/dist/collection/components/card-title/card-title.ios.css +44 -0
  448. package/dist/collection/components/card-title/card-title.js +50 -50
  449. package/dist/collection/components/card-title/card-title.md.css +44 -0
  450. package/dist/collection/components/checkbox/checkbox.ios.css +66 -6
  451. package/dist/collection/components/checkbox/checkbox.js +418 -415
  452. package/dist/collection/components/checkbox/checkbox.md.css +66 -6
  453. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  454. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  455. package/dist/collection/components/checkbox/test/checkbox.spec.js +34 -0
  456. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  457. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  458. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  459. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  460. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  461. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  462. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  463. package/dist/collection/components/chip/chip.ios.css +22 -0
  464. package/dist/collection/components/chip/chip.js +90 -90
  465. package/dist/collection/components/chip/chip.md.css +22 -0
  466. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  467. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  468. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  469. package/dist/collection/components/col/col.css +66 -0
  470. package/dist/collection/components/col/col.js +536 -536
  471. package/dist/collection/components/content/content.css +22 -0
  472. package/dist/collection/components/content/content.js +745 -745
  473. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  474. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  475. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  476. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  477. package/dist/collection/components/datetime/datetime.ios.css +45 -0
  478. package/dist/collection/components/datetime/datetime.js +2245 -2232
  479. package/dist/collection/components/datetime/datetime.md.css +45 -0
  480. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +58 -58
  481. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +43 -0
  482. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  483. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  484. package/dist/collection/components/datetime/test/comparison.spec.js +43 -0
  485. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  486. package/dist/collection/components/datetime/test/data.spec.js +456 -0
  487. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  488. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  489. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +43 -43
  490. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +33 -0
  491. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  492. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  493. package/dist/collection/components/datetime/test/format.spec.js +124 -0
  494. package/dist/collection/components/datetime/test/helpers.spec.js +72 -0
  495. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  496. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  497. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  498. package/dist/collection/components/datetime/test/manipulation.spec.js +433 -0
  499. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  500. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  501. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  502. package/dist/collection/components/datetime/test/parse.spec.js +222 -0
  503. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  504. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  505. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  506. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +86 -86
  507. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +40 -40
  508. package/dist/collection/components/datetime/test/state.spec.js +114 -0
  509. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  510. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  511. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  512. package/dist/collection/components/datetime/utils/data.js +394 -394
  513. package/dist/collection/components/datetime/utils/format.js +143 -143
  514. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  515. package/dist/collection/components/datetime/utils/manipulation.js +274 -274
  516. package/dist/collection/components/datetime/utils/parse.js +139 -139
  517. package/dist/collection/components/datetime/utils/state.js +123 -123
  518. package/dist/collection/components/datetime-button/datetime-button.css +22 -0
  519. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  520. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  521. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  522. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  523. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  524. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  525. package/dist/collection/components/fab/fab.css +88 -0
  526. package/dist/collection/components/fab/fab.js +179 -179
  527. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  528. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  529. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +25 -25
  530. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  531. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  532. package/dist/collection/components/fab-button/fab-button.ios.css +44 -0
  533. package/dist/collection/components/fab-button/fab-button.js +374 -374
  534. package/dist/collection/components/fab-button/fab-button.md.css +44 -0
  535. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  536. package/dist/collection/components/fab-list/fab-list.css +44 -0
  537. package/dist/collection/components/fab-list/fab-list.js +79 -79
  538. package/dist/collection/components/footer/footer.ios.css +44 -0
  539. package/dist/collection/components/footer/footer.js +135 -135
  540. package/dist/collection/components/footer/footer.md.css +44 -0
  541. package/dist/collection/components/footer/footer.utils.js +25 -25
  542. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  543. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  544. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  545. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  546. package/dist/collection/components/grid/grid.css +66 -0
  547. package/dist/collection/components/grid/grid.js +44 -44
  548. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  549. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  550. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  551. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  552. package/dist/collection/components/header/header.ios.css +44 -0
  553. package/dist/collection/components/header/header.js +181 -181
  554. package/dist/collection/components/header/header.md.css +44 -0
  555. package/dist/collection/components/header/header.utils.js +148 -148
  556. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  557. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  558. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  559. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  560. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  561. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  562. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  563. package/dist/collection/components/img/img.js +177 -177
  564. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  565. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  566. package/dist/collection/components/infinite-scroll/infinite-scroll.js +279 -271
  567. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  568. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  569. package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +31 -0
  570. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  571. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +44 -0
  572. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  573. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +44 -0
  574. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +37 -0
  575. package/dist/collection/components/input/input.ios.css +76 -3
  576. package/dist/collection/components/input/input.js +1231 -1204
  577. package/dist/collection/components/input/input.md.css +145 -12
  578. package/dist/collection/components/input/input.utils.js +22 -22
  579. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  580. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  581. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  582. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  583. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +25 -25
  584. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  585. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  586. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  587. package/dist/collection/components/input/test/input.e2e.js +6 -6
  588. package/dist/collection/components/input/test/input.spec.js +85 -0
  589. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  590. package/dist/collection/components/input/test/item/input.spec.js +24 -0
  591. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  592. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  593. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  594. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  595. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  596. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  597. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  598. package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
  599. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  600. package/dist/collection/components/item/item.ios.css +85 -3
  601. package/dist/collection/components/item/item.js +614 -614
  602. package/dist/collection/components/item/item.md.css +129 -3
  603. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  604. package/dist/collection/components/item/test/a11y/item.spec.js +48 -0
  605. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  606. package/dist/collection/components/item/test/basic/item.e2e.js +16 -16
  607. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  608. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  609. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  610. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  611. package/dist/collection/components/item/test/disabled/item.e2e.js +6 -7
  612. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  613. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  614. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  615. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  616. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  617. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  618. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  619. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  620. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  621. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  622. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  623. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  624. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  625. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  626. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  627. package/dist/collection/components/item-divider/item-divider.ios.css +66 -0
  628. package/dist/collection/components/item-divider/item-divider.js +71 -71
  629. package/dist/collection/components/item-divider/item-divider.md.css +66 -0
  630. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  631. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +25 -25
  632. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  633. package/dist/collection/components/item-group/item-group.ios.css +44 -0
  634. package/dist/collection/components/item-group/item-group.js +22 -22
  635. package/dist/collection/components/item-group/item-group.md.css +44 -0
  636. package/dist/collection/components/item-option/item-option.ios.css +44 -0
  637. package/dist/collection/components/item-option/item-option.js +197 -197
  638. package/dist/collection/components/item-option/item-option.md.css +44 -0
  639. package/dist/collection/components/item-options/item-options.ios.css +66 -0
  640. package/dist/collection/components/item-options/item-options.js +110 -110
  641. package/dist/collection/components/item-options/item-options.md.css +66 -0
  642. package/dist/collection/components/item-sliding/item-sliding.css +22 -0
  643. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  644. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  645. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  646. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +87 -87
  647. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  648. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  649. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  650. package/dist/collection/components/label/label.ios.css +80 -3
  651. package/dist/collection/components/label/label.js +174 -174
  652. package/dist/collection/components/label/label.md.css +80 -3
  653. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  654. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  655. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  656. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  657. package/dist/collection/components/list/list.ios.css +66 -0
  658. package/dist/collection/components/list/list.js +101 -101
  659. package/dist/collection/components/list/list.md.css +66 -0
  660. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  661. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  662. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  663. package/dist/collection/components/list/test/lines/list.e2e.js +40 -40
  664. package/dist/collection/components/list-header/list-header.ios.css +66 -0
  665. package/dist/collection/components/list-header/list-header.js +69 -69
  666. package/dist/collection/components/list-header/list-header.md.css +66 -0
  667. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  668. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -14
  669. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  670. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  671. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  672. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  673. package/dist/collection/components/loading/loading.ios.css +44 -0
  674. package/dist/collection/components/loading/loading.js +730 -720
  675. package/dist/collection/components/loading/loading.md.css +44 -0
  676. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  677. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  678. package/dist/collection/components/loading/test/basic/loading.spec.js +16 -0
  679. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  680. package/dist/collection/components/loading/test/loading-id.spec.js +32 -0
  681. package/dist/collection/components/loading/test/loading.spec.js +37 -0
  682. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  683. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  684. package/dist/collection/components/menu/menu.ios.css +44 -0
  685. package/dist/collection/components/menu/menu.js +956 -956
  686. package/dist/collection/components/menu/menu.md.css +44 -0
  687. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  688. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  689. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  690. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  691. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  692. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  693. package/dist/collection/components/menu-button/menu-button.ios.css +44 -0
  694. package/dist/collection/components/menu-button/menu-button.js +173 -173
  695. package/dist/collection/components/menu-button/menu-button.md.css +44 -0
  696. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  697. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  698. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  699. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  700. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  701. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  702. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  703. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  704. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  705. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  706. package/dist/collection/components/modal/animations/sheet.js +43 -43
  707. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  708. package/dist/collection/components/modal/gestures/swipe-to-close.js +248 -247
  709. package/dist/collection/components/modal/gestures/utils.js +39 -39
  710. package/dist/collection/components/modal/modal.ios.css +44 -0
  711. package/dist/collection/components/modal/modal.js +1290 -1280
  712. package/dist/collection/components/modal/modal.md.css +44 -0
  713. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  714. package/dist/collection/components/modal/test/a11y/modal.spec.js +22 -0
  715. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  716. package/dist/collection/components/modal/test/basic/modal.spec.js +16 -0
  717. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  718. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  719. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  720. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +191 -0
  721. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  722. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  723. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  724. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  725. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  726. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  727. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  728. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  729. package/dist/collection/components/modal/test/fixtures.js +21 -21
  730. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  731. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  732. package/dist/collection/components/modal/test/modal-id.spec.js +32 -0
  733. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  734. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  735. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  736. package/dist/collection/components/modal/utils.js +55 -55
  737. package/dist/collection/components/modal/utils.spec.js +7 -7
  738. package/dist/collection/components/nav/nav.css +22 -0
  739. package/dist/collection/components/nav/nav.js +1748 -1748
  740. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  741. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  742. package/dist/collection/components/nav/test/nav-controller.spec.js +749 -0
  743. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  744. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  745. package/dist/collection/components/nav/view-controller.js +52 -52
  746. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  747. package/dist/collection/components/nav-link/nav-link.js +106 -106
  748. package/dist/collection/components/note/note.ios.css +44 -0
  749. package/dist/collection/components/note/note.js +49 -49
  750. package/dist/collection/components/note/note.md.css +44 -0
  751. package/dist/collection/components/note/test/a11y/note.e2e.js +59 -16
  752. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  753. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  754. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  755. package/dist/collection/components/picker/picker.ios.css +44 -0
  756. package/dist/collection/components/picker/picker.js +782 -772
  757. package/dist/collection/components/picker/picker.md.css +44 -0
  758. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  759. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  760. package/dist/collection/components/picker/test/picker-id.spec.js +32 -0
  761. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  762. package/dist/collection/components/picker-column/picker-column.ios.css +44 -0
  763. package/dist/collection/components/picker-column/picker-column.js +377 -377
  764. package/dist/collection/components/picker-column/picker-column.md.css +44 -0
  765. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +35 -0
  766. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +29 -0
  767. package/dist/collection/components/picker-column/test/picker-column.spec.js +17 -0
  768. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  769. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  770. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -3
  771. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -501
  772. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +55 -3
  773. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  774. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +66 -37
  775. package/dist/collection/components/picker-internal/picker-internal.ios.css +44 -0
  776. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  777. package/dist/collection/components/picker-internal/picker-internal.md.css +44 -0
  778. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  779. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -76
  780. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  781. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  782. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  783. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  784. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  785. package/dist/collection/components/popover/popover.ios.css +44 -0
  786. package/dist/collection/components/popover/popover.js +1189 -1179
  787. package/dist/collection/components/popover/popover.md.css +44 -0
  788. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  789. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  790. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  791. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  792. package/dist/collection/components/popover/test/basic/popover.spec.js +16 -0
  793. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  794. package/dist/collection/components/popover/test/fixture.js +16 -16
  795. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  796. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  797. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  798. package/dist/collection/components/popover/test/popover-id.spec.js +32 -0
  799. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  800. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  801. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  802. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  803. package/dist/collection/components/popover/test/test.utils.js +23 -23
  804. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  805. package/dist/collection/components/popover/test/util.spec.js +53 -0
  806. package/dist/collection/components/popover/utils.js +606 -606
  807. package/dist/collection/components/progress-bar/progress-bar.ios.css +22 -0
  808. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  809. package/dist/collection/components/progress-bar/progress-bar.md.css +22 -0
  810. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  811. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  812. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  813. package/dist/collection/components/radio/radio.ios.css +66 -6
  814. package/dist/collection/components/radio/radio.js +453 -449
  815. package/dist/collection/components/radio/radio.md.css +66 -6
  816. package/dist/collection/components/radio/test/a11y/radio.e2e.js +40 -40
  817. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  818. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  819. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  820. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  821. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  822. package/dist/collection/components/radio/test/radio.spec.js +60 -0
  823. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  824. package/dist/collection/components/radio-group/radio-group.js +279 -255
  825. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  826. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  827. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  828. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  829. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  830. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  831. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  832. package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
  833. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  834. package/dist/collection/components/range/range.ios.css +44 -6
  835. package/dist/collection/components/range/range.js +1001 -998
  836. package/dist/collection/components/range/range.md.css +44 -6
  837. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  838. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  839. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  840. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  841. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  842. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  843. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  844. package/dist/collection/components/range/test/label/range.spec.js +23 -0
  845. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  846. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  847. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  848. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  849. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  850. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  851. package/dist/collection/components/range/test/range.spec.js +221 -0
  852. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  853. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  854. package/dist/collection/components/refresher/refresher.ios.css +44 -0
  855. package/dist/collection/components/refresher/refresher.js +806 -806
  856. package/dist/collection/components/refresher/refresher.md.css +44 -0
  857. package/dist/collection/components/refresher/refresher.utils.js +148 -148
  858. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  859. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  860. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  861. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  862. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +46 -0
  863. package/dist/collection/components/reorder/reorder.ios.css +22 -0
  864. package/dist/collection/components/reorder/reorder.js +37 -37
  865. package/dist/collection/components/reorder/reorder.md.css +22 -0
  866. package/dist/collection/components/reorder-group/reorder-group.css +22 -0
  867. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  868. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  869. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  870. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  871. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  872. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  873. package/dist/collection/components/ripple-effect/ripple-effect.css +22 -0
  874. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  875. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  876. package/dist/collection/components/route/route.js +151 -151
  877. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  878. package/dist/collection/components/router/router.js +472 -472
  879. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  880. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  881. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  882. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  883. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  884. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  885. package/dist/collection/components/router/test/matching.spec.js +250 -0
  886. package/dist/collection/components/router/test/parser.spec.js +133 -0
  887. package/dist/collection/components/router/test/path.spec.js +218 -0
  888. package/dist/collection/components/router/test/router.spec.js +55 -0
  889. package/dist/collection/components/router/utils/debug.js +14 -14
  890. package/dist/collection/components/router/utils/dom.js +56 -56
  891. package/dist/collection/components/router/utils/matching.js +150 -150
  892. package/dist/collection/components/router/utils/parser.js +52 -52
  893. package/dist/collection/components/router/utils/path.js +66 -66
  894. package/dist/collection/components/router-link/router-link.css +22 -0
  895. package/dist/collection/components/router-link/router-link.js +157 -157
  896. package/dist/collection/components/router-outlet/router-outlet.css +22 -0
  897. package/dist/collection/components/router-outlet/router-outlet.js +459 -459
  898. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  899. package/dist/collection/components/row/row.css +66 -0
  900. package/dist/collection/components/row/row.js +15 -15
  901. package/dist/collection/components/searchbar/searchbar.ios.css +44 -0
  902. package/dist/collection/components/searchbar/searchbar.js +891 -889
  903. package/dist/collection/components/searchbar/searchbar.md.css +44 -0
  904. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  905. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +101 -101
  906. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  907. package/dist/collection/components/searchbar/test/searchbar.spec.js +15 -0
  908. package/dist/collection/components/segment/segment.ios.css +66 -0
  909. package/dist/collection/components/segment/segment.js +631 -631
  910. package/dist/collection/components/segment/segment.md.css +66 -0
  911. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  912. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  913. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  914. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  915. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  916. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  917. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  918. package/dist/collection/components/segment/test/segment.spec.js +37 -0
  919. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  920. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  921. package/dist/collection/components/segment-button/segment-button.ios.css +44 -0
  922. package/dist/collection/components/segment-button/segment-button.js +217 -217
  923. package/dist/collection/components/segment-button/segment-button.md.css +44 -0
  924. package/dist/collection/components/select/select.ios.css +126 -7
  925. package/dist/collection/components/select/select.js +1201 -1184
  926. package/dist/collection/components/select/select.md.css +173 -19
  927. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  928. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  929. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  930. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  931. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  932. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  933. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  934. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  935. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  936. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  937. package/dist/collection/components/select/test/item/select.e2e.js +26 -11
  938. package/dist/collection/components/select/test/label/select.e2e.js +141 -141
  939. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  940. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  941. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  942. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  943. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  944. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  945. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  946. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +17 -17
  947. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  948. package/dist/collection/components/select/test/select.spec.js +59 -0
  949. package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
  950. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  951. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  952. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  953. package/dist/collection/components/select-option/select-option.js +60 -60
  954. package/dist/collection/components/select-popover/select-popover.ios.css +66 -0
  955. package/dist/collection/components/select-popover/select-popover.js +197 -197
  956. package/dist/collection/components/select-popover/select-popover.md.css +66 -0
  957. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  958. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  959. package/dist/collection/components/skeleton-text/skeleton-text.css +22 -0
  960. package/dist/collection/components/skeleton-text/skeleton-text.js +87 -48
  961. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  962. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  963. package/dist/collection/components/slides/IonicSlides.js +95 -95
  964. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  965. package/dist/collection/components/spinner/spinner.css +22 -0
  966. package/dist/collection/components/spinner/spinner.js +137 -137
  967. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  968. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  969. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  970. package/dist/collection/components/split-pane/split-pane.ios.css +66 -0
  971. package/dist/collection/components/split-pane/split-pane.js +225 -225
  972. package/dist/collection/components/split-pane/split-pane.md.css +66 -0
  973. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  974. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +23 -23
  975. package/dist/collection/components/tab/tab.js +170 -170
  976. package/dist/collection/components/tab-bar/tab-bar.ios.css +66 -0
  977. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  978. package/dist/collection/components/tab-bar/tab-bar.md.css +66 -0
  979. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +8 -8
  980. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  981. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  982. package/dist/collection/components/tab-button/tab-button.ios.css +44 -0
  983. package/dist/collection/components/tab-button/tab-button.js +267 -267
  984. package/dist/collection/components/tab-button/tab-button.md.css +44 -0
  985. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  986. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  987. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  988. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  989. package/dist/collection/components/tabs/tabs.css +22 -0
  990. package/dist/collection/components/tabs/tabs.js +344 -344
  991. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  992. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  993. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  994. package/dist/collection/components/text/text.css +22 -0
  995. package/dist/collection/components/text/text.js +47 -47
  996. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  997. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  998. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  999. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  1000. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +17 -17
  1001. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  1002. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  1003. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  1004. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  1005. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  1006. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  1007. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  1008. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  1009. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  1010. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  1011. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
  1012. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  1013. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  1014. package/dist/collection/components/textarea/test/textarea.spec.js +59 -0
  1015. package/dist/collection/components/textarea/textarea.ios.css +125 -5
  1016. package/dist/collection/components/textarea/textarea.js +1046 -1019
  1017. package/dist/collection/components/textarea/textarea.md.css +179 -14
  1018. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  1019. package/dist/collection/components/thumbnail/thumbnail.css +22 -0
  1020. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  1021. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  1022. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  1023. package/dist/collection/components/title/title.ios.css +22 -0
  1024. package/dist/collection/components/title/title.js +119 -119
  1025. package/dist/collection/components/title/title.md.css +22 -0
  1026. package/dist/collection/components/toast/animations/ios.enter.js +21 -20
  1027. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  1028. package/dist/collection/components/toast/animations/md.enter.js +23 -22
  1029. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  1030. package/dist/collection/components/toast/animations/utils.js +62 -56
  1031. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
  1032. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  1033. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  1034. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  1035. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  1036. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  1037. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  1038. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
  1039. package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
  1040. package/dist/collection/components/toast/test/toast-id.spec.js +32 -0
  1041. package/dist/collection/components/toast/test/toast.spec.js +200 -0
  1042. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  1043. package/dist/collection/components/toast/toast.ios.css +54 -10
  1044. package/dist/collection/components/toast/toast.js +1065 -952
  1045. package/dist/collection/components/toast/toast.md.css +54 -0
  1046. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  1047. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  1048. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  1049. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  1050. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  1051. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  1052. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  1053. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  1054. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  1055. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  1056. package/dist/collection/components/toggle/test/toggle.spec.js +67 -0
  1057. package/dist/collection/components/toggle/toggle.ios.css +66 -6
  1058. package/dist/collection/components/toggle/toggle.js +487 -484
  1059. package/dist/collection/components/toggle/toggle.md.css +66 -6
  1060. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  1061. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  1062. package/dist/collection/components/toolbar/toolbar.ios.css +44 -0
  1063. package/dist/collection/components/toolbar/toolbar.js +100 -100
  1064. package/dist/collection/components/toolbar/toolbar.md.css +44 -0
  1065. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  1066. package/dist/collection/global/config.js +51 -51
  1067. package/dist/collection/global/ionic-global.js +54 -54
  1068. package/dist/collection/global/test/config-controller.spec.js +77 -0
  1069. package/dist/collection/utils/animation/animation-utils.js +91 -91
  1070. package/dist/collection/utils/animation/animation.js +905 -904
  1071. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  1072. package/dist/collection/utils/animation/test/animation.spec.js +447 -0
  1073. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  1074. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  1075. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  1076. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  1077. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  1078. package/dist/collection/utils/browser/index.js +0 -22
  1079. package/dist/collection/utils/config.js +20 -20
  1080. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  1081. package/dist/collection/utils/content/index.js +58 -58
  1082. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  1083. package/dist/collection/utils/floating-point/index.js +5 -5
  1084. package/dist/collection/utils/focus-visible.js +63 -63
  1085. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  1086. package/dist/collection/utils/forms/form-controller.js +45 -45
  1087. package/dist/collection/utils/forms/index.js +1 -0
  1088. package/dist/collection/utils/forms/notch-controller.js +120 -120
  1089. package/dist/collection/utils/framework-delegate.js +121 -121
  1090. package/dist/collection/utils/gesture/button-active.js +56 -56
  1091. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  1092. package/dist/collection/utils/gesture/index.js +222 -222
  1093. package/dist/collection/utils/gesture/listener.js +36 -36
  1094. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  1095. package/dist/collection/utils/gesture/recognizers.js +46 -46
  1096. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  1097. package/dist/collection/utils/hardware-back-button.js +48 -48
  1098. package/dist/collection/utils/helpers.js +258 -258
  1099. package/dist/collection/utils/helpers.spec.js +28 -28
  1100. package/dist/collection/utils/input-shims/hacks/common.js +61 -61
  1101. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  1102. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  1103. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  1104. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  1105. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  1106. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  1107. package/dist/collection/utils/input-shims/input-shims.js +87 -81
  1108. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  1109. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  1110. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +21 -0
  1111. package/dist/collection/utils/keyboard/test/keyboard.spec.js +214 -0
  1112. package/dist/collection/utils/lock-controller.js +24 -24
  1113. package/dist/collection/utils/logging/index.js +3 -3
  1114. package/dist/collection/utils/media.js +13 -13
  1115. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  1116. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  1117. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  1118. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  1119. package/dist/collection/utils/menu-controller/index.js +204 -206
  1120. package/dist/collection/utils/native/capacitor.js +4 -4
  1121. package/dist/collection/utils/native/haptic.js +151 -151
  1122. package/dist/collection/utils/native/keyboard.js +47 -47
  1123. package/dist/collection/utils/native/native-interface.js +15 -15
  1124. package/dist/collection/utils/native/status-bar.js +36 -36
  1125. package/dist/collection/utils/overlays.js +495 -494
  1126. package/dist/collection/utils/platform.js +56 -56
  1127. package/dist/collection/utils/rtl/dir.js +5 -5
  1128. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  1129. package/dist/collection/utils/sanitization/index.js +122 -122
  1130. package/dist/collection/utils/sanitization/test/sanitization.spec.js +43 -0
  1131. package/dist/collection/utils/slot-mutation-controller.js +86 -85
  1132. package/dist/collection/utils/status-tap.js +26 -26
  1133. package/dist/collection/utils/tap-click/index.js +171 -171
  1134. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  1135. package/dist/collection/utils/test/aria.spec.js +79 -0
  1136. package/dist/collection/utils/test/attributes.spec.js +53 -0
  1137. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  1138. package/dist/collection/utils/test/hardware-back-button.spec.js +53 -0
  1139. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  1140. package/dist/collection/utils/test/overlays/overlays.spec.js +102 -0
  1141. package/dist/collection/utils/test/platform.spec.js +132 -0
  1142. package/dist/collection/utils/test/platform.utils.js +77 -77
  1143. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  1144. package/dist/collection/utils/test/playwright/generator.js +48 -25
  1145. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  1146. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  1147. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  1148. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  1149. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  1150. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  1151. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  1152. package/dist/collection/utils/test/playwright/page/utils/set-content.js +44 -35
  1153. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  1154. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  1155. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  1156. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  1157. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  1158. package/dist/collection/utils/test/press-keys.js +77 -77
  1159. package/dist/collection/utils/test/ready.spec.js +39 -0
  1160. package/dist/collection/utils/test/theme.spec.js +56 -0
  1161. package/dist/collection/utils/theme.js +23 -23
  1162. package/dist/collection/utils/transition/index.js +163 -163
  1163. package/dist/collection/utils/transition/ios.transition.js +598 -598
  1164. package/dist/collection/utils/transition/md.transition.js +44 -44
  1165. package/dist/collection/utils/watch-options.js +30 -30
  1166. package/dist/docs.json +195 -38
  1167. package/dist/esm/animation-dde8cc0d.js +1060 -0
  1168. package/dist/esm/{app-globals-2398e405.js → app-globals-722340c4.js} +1 -1
  1169. package/dist/esm/button-active-c6ee4f50.js +67 -0
  1170. package/dist/esm/capacitor-59395cbd.js +13 -0
  1171. package/dist/esm/compare-with-utils-a96ff2ea.js +41 -0
  1172. package/dist/esm/config-49c88215.js +193 -0
  1173. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  1174. package/dist/esm/data-f5c75b4e.js +1575 -0
  1175. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  1176. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1177. package/dist/esm/form-controller-548aa79c.js +64 -0
  1178. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1179. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1180. package/dist/esm/haptic-554688a5.js +206 -0
  1181. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1182. package/dist/esm/helpers-ae653409.js +418 -0
  1183. package/dist/esm/{index-7c9b1bca.js → index-08d686eb.js} +58 -7
  1184. package/dist/esm/index-0c12c22b.js +306 -0
  1185. package/dist/esm/index-1932b201.js +231 -0
  1186. package/dist/esm/index-2cf77112.js +457 -0
  1187. package/dist/esm/index-82eeb47f.js +196 -0
  1188. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1189. package/dist/esm/index-a5d50daf.js +7 -0
  1190. package/dist/esm/{index-4392efa5.js → index-b9e742e5.js} +60 -60
  1191. package/dist/esm/index.js +113 -113
  1192. package/dist/esm/input-shims-6539ce13.js +599 -0
  1193. package/dist/esm/input.utils-a5a2d164.js +135 -0
  1194. package/dist/esm/ion-accordion_2.entry.js +488 -488
  1195. package/dist/esm/ion-action-sheet.entry.js +260 -250
  1196. package/dist/esm/ion-alert.entry.js +442 -432
  1197. package/dist/esm/ion-app_8.entry.js +1151 -1151
  1198. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1199. package/dist/esm/ion-back-button.entry.js +73 -73
  1200. package/dist/esm/ion-backdrop.entry.js +40 -40
  1201. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1202. package/dist/esm/ion-button_2.entry.js +303 -303
  1203. package/dist/esm/ion-card_5.entry.js +105 -105
  1204. package/dist/esm/ion-checkbox.entry.js +149 -147
  1205. package/dist/esm/ion-chip.entry.js +20 -20
  1206. package/dist/esm/ion-col_3.entry.js +136 -136
  1207. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1208. package/dist/esm/ion-datetime_3.entry.js +2185 -2162
  1209. package/dist/esm/ion-fab_3.entry.js +150 -150
  1210. package/dist/esm/ion-img.entry.js +79 -79
  1211. package/dist/esm/ion-infinite-scroll_2.entry.js +198 -190
  1212. package/dist/esm/ion-input.entry.js +424 -399
  1213. package/dist/esm/ion-item-option_3.entry.js +457 -457
  1214. package/dist/esm/ion-item_8.entry.js +441 -428
  1215. package/dist/esm/ion-loading.entry.js +220 -210
  1216. package/dist/esm/ion-menu_3.entry.js +668 -668
  1217. package/dist/esm/ion-modal.entry.js +1415 -1405
  1218. package/dist/esm/ion-nav_2.entry.js +904 -904
  1219. package/dist/esm/ion-picker-column-internal.entry.js +331 -327
  1220. package/dist/esm/ion-picker-internal.entry.js +453 -453
  1221. package/dist/esm/ion-popover.entry.js +1108 -1098
  1222. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1223. package/dist/esm/ion-radio_2.entry.js +321 -316
  1224. package/dist/esm/ion-range.entry.js +558 -556
  1225. package/dist/esm/ion-refresher_2.entry.js +786 -786
  1226. package/dist/esm/ion-reorder_2.entry.js +267 -267
  1227. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1228. package/dist/esm/ion-route_4.entry.js +693 -693
  1229. package/dist/esm/ion-searchbar.entry.js +360 -358
  1230. package/dist/esm/ion-segment_2.entry.js +507 -507
  1231. package/dist/esm/ion-select_3.entry.js +784 -768
  1232. package/dist/esm/ion-spinner.entry.js +46 -46
  1233. package/dist/esm/ion-split-pane.entry.js +117 -117
  1234. package/dist/esm/ion-tab-bar_2.entry.js +138 -138
  1235. package/dist/esm/ion-tab_2.entry.js +187 -187
  1236. package/dist/esm/ion-text.entry.js +13 -13
  1237. package/dist/esm/ion-textarea.entry.js +378 -353
  1238. package/dist/esm/ion-toast.entry.js +771 -419
  1239. package/dist/esm/ion-toggle.entry.js +227 -225
  1240. package/dist/esm/ionic-global-c0cda98e.js +224 -0
  1241. package/dist/esm/ionic.js +6 -6
  1242. package/dist/esm/ios.transition-802a84a6.js +651 -0
  1243. package/dist/esm/keyboard-52278bd7.js +146 -0
  1244. package/dist/esm/keyboard-73175e24.js +79 -0
  1245. package/dist/esm/keyboard-controller-ec5c2bfa.js +165 -0
  1246. package/dist/esm/loader.js +5 -5
  1247. package/dist/esm/lock-controller-316928be.js +38 -0
  1248. package/dist/esm/md.transition-43c2874d.js +57 -0
  1249. package/dist/esm/notch-controller-fea7f9c5.js +153 -0
  1250. package/dist/esm/overlays-32ef481d.js +693 -0
  1251. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1252. package/dist/esm/status-tap-2b93b1b5.js +40 -0
  1253. package/dist/esm/swipe-back-18cb49f7.js +79 -0
  1254. package/dist/esm/theme-01f3f29c.js +43 -0
  1255. package/dist/esm/watch-options-c2911ace.js +47 -0
  1256. package/dist/esm-es5/{animation-8aa13916.js → animation-dde8cc0d.js} +1 -1
  1257. package/dist/esm-es5/app-globals-722340c4.js +4 -0
  1258. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-c6ee4f50.js} +1 -1
  1259. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-59395cbd.js} +1 -1
  1260. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
  1261. package/dist/esm-es5/{data-44d9e816.js → data-f5c75b4e.js} +1 -1
  1262. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-548aa79c.js} +1 -1
  1263. package/dist/esm-es5/{framework-delegate-aa433dea.js → framework-delegate-bc1fd82a.js} +1 -1
  1264. package/dist/esm-es5/{haptic-1243b917.js → haptic-554688a5.js} +1 -1
  1265. package/dist/esm-es5/{index-7c9b1bca.js → index-08d686eb.js} +1 -1
  1266. package/dist/esm-es5/index-0c12c22b.js +4 -0
  1267. package/dist/esm-es5/{index-6a0ccabb.js → index-1932b201.js} +1 -1
  1268. package/dist/esm-es5/{index-ff313b19.js → index-2cf77112.js} +1 -1
  1269. package/dist/esm-es5/{index-f0cc4e14.js → index-82eeb47f.js} +1 -1
  1270. package/dist/esm-es5/{index-4392efa5.js → index-b9e742e5.js} +1 -1
  1271. package/dist/esm-es5/index.js +1 -1
  1272. package/dist/esm-es5/input-shims-6539ce13.js +4 -0
  1273. package/dist/esm-es5/input.utils-a5a2d164.js +4 -0
  1274. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1275. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1276. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1277. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1278. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1279. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1280. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1281. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1282. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1283. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1284. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1285. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1286. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1287. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1288. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1289. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1290. package/dist/esm-es5/ion-img.entry.js +1 -1
  1291. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1292. package/dist/esm-es5/ion-input.entry.js +1 -1
  1293. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1294. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1295. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1296. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1297. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1298. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1299. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1300. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1301. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1302. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1303. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1304. package/dist/esm-es5/ion-range.entry.js +1 -1
  1305. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1306. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1307. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1308. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1309. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1310. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1311. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1312. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1313. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1314. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1315. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1316. package/dist/esm-es5/ion-text.entry.js +1 -1
  1317. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1318. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1319. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1320. package/dist/esm-es5/{ionic-global-40e42e7f.js → ionic-global-c0cda98e.js} +1 -1
  1321. package/dist/esm-es5/ionic.js +1 -1
  1322. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-802a84a6.js} +1 -1
  1323. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-52278bd7.js} +1 -1
  1324. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-73175e24.js} +1 -1
  1325. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-ec5c2bfa.js} +1 -1
  1326. package/dist/esm-es5/loader.js +1 -1
  1327. package/dist/esm-es5/md.transition-43c2874d.js +4 -0
  1328. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-fea7f9c5.js} +1 -1
  1329. package/dist/esm-es5/{overlays-6c9feb7e.js → overlays-32ef481d.js} +1 -1
  1330. package/dist/esm-es5/{status-tap-9ce68758.js → status-tap-2b93b1b5.js} +1 -1
  1331. package/dist/esm-es5/{swipe-back-cd4295f3.js → swipe-back-18cb49f7.js} +1 -1
  1332. package/dist/html.html-data.json +16 -3
  1333. package/dist/ionic/index.esm.js +1 -1
  1334. package/dist/ionic/ionic.esm.js +1 -1
  1335. package/dist/ionic/ionic.js +15 -15
  1336. package/dist/ionic/p-013013a3.js +4 -0
  1337. package/dist/ionic/p-01d14eba.system.entry.js +4 -0
  1338. package/dist/ionic/p-042e6f4b.entry.js +4 -0
  1339. package/dist/ionic/{p-f4cc91f6.entry.js → p-0add7211.entry.js} +1 -1
  1340. package/dist/ionic/{p-41477ad9.system.js → p-0bd51c34.system.js} +1 -1
  1341. package/dist/ionic/{p-c7b8c2ef.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
  1342. package/dist/ionic/{p-744973f3.entry.js → p-1161a793.entry.js} +1 -1
  1343. package/dist/ionic/{p-92800752.entry.js → p-1208f939.entry.js} +1 -1
  1344. package/dist/ionic/{p-cf425ec5.system.entry.js → p-16756e94.system.entry.js} +1 -1
  1345. package/dist/ionic/p-1786bc72.js +4 -0
  1346. package/dist/ionic/{p-c7d30db9.entry.js → p-17da5ed1.entry.js} +1 -1
  1347. package/dist/ionic/{p-a8e68fd9.entry.js → p-18ba8221.entry.js} +1 -1
  1348. package/dist/ionic/p-1b19c04b.entry.js +4 -0
  1349. package/dist/ionic/{p-b4b4bb29.system.js → p-1cca10d6.system.js} +1 -1
  1350. package/dist/ionic/p-1e4371bd.js +4 -0
  1351. package/dist/ionic/{p-0a794e83.entry.js → p-2092f39f.entry.js} +1 -1
  1352. package/dist/ionic/p-251666e2.entry.js +4 -0
  1353. package/dist/ionic/{p-9209d90c.entry.js → p-270e1a1d.entry.js} +1 -1
  1354. package/dist/ionic/{p-419eb426.js → p-27281edd.js} +1 -1
  1355. package/dist/ionic/p-28249b10.system.entry.js +4 -0
  1356. package/dist/ionic/p-28a2c2a2.entry.js +4 -0
  1357. package/dist/ionic/{p-ffb876b0.system.entry.js → p-2938823a.system.entry.js} +1 -1
  1358. package/dist/ionic/p-29d03b3a.js +4 -0
  1359. package/dist/ionic/{p-17240d90.js → p-2aea8b1e.js} +1 -1
  1360. package/dist/ionic/p-2b7827c7.js +4 -0
  1361. package/dist/ionic/p-2d3b9fa3.system.entry.js +4 -0
  1362. package/dist/ionic/p-2d539df1.entry.js +4 -0
  1363. package/dist/ionic/{p-fa8d4788.system.js → p-31b2326e.system.js} +1 -1
  1364. package/dist/ionic/{p-c4042875.system.js → p-31fcb233.system.js} +1 -1
  1365. package/dist/ionic/{p-a936d224.system.js → p-33a37fad.system.js} +1 -1
  1366. package/dist/ionic/p-350f7292.system.entry.js +4 -0
  1367. package/dist/ionic/{p-e76a4bc8.entry.js → p-353b349d.entry.js} +1 -1
  1368. package/dist/ionic/p-36d187af.js +4 -0
  1369. package/dist/ionic/p-376a6063.js +4 -0
  1370. package/dist/ionic/{p-55ed230e.system.js → p-38c337e7.system.js} +1 -1
  1371. package/dist/ionic/p-38f2c6bb.system.js +4 -0
  1372. package/dist/ionic/{p-0492946a.entry.js → p-3a45a82b.entry.js} +1 -1
  1373. package/dist/ionic/{p-3bad5c1a.js → p-3a75d7fd.js} +1 -1
  1374. package/dist/ionic/{p-0dc0d9b5.entry.js → p-3dd98a73.entry.js} +1 -1
  1375. package/dist/ionic/p-3e6b47e8.system.entry.js +4 -0
  1376. package/dist/ionic/p-3f5179b5.entry.js +4 -0
  1377. package/dist/ionic/p-40f68333.system.js +4 -0
  1378. package/dist/ionic/{p-c0c81820.system.js → p-4155f352.system.js} +1 -1
  1379. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1380. package/dist/ionic/p-4233cc1e.system.entry.js +4 -0
  1381. package/dist/ionic/{p-b923f3d7.js → p-42f189f4.js} +1 -1
  1382. package/dist/ionic/{p-0e23256e.system.entry.js → p-46d400b4.system.entry.js} +1 -1
  1383. package/dist/ionic/{p-800ef057.js → p-47b6ba5b.js} +1 -1
  1384. package/dist/ionic/p-4d67d27a.entry.js +4 -0
  1385. package/dist/ionic/{p-1a8ae7a7.system.entry.js → p-4fb51e61.system.entry.js} +1 -1
  1386. package/dist/ionic/{p-18e01b30.system.entry.js → p-517a9885.system.entry.js} +1 -1
  1387. package/dist/ionic/{p-63f08fe3.entry.js → p-51a087d6.entry.js} +1 -1
  1388. package/dist/ionic/p-53ec4f1c.system.js +4 -0
  1389. package/dist/ionic/{p-5cfb3feb.system.entry.js → p-564af202.system.entry.js} +1 -1
  1390. package/dist/ionic/{p-1dc91702.entry.js → p-588fdf40.entry.js} +1 -1
  1391. package/dist/ionic/{p-41122cd6.system.js → p-5b365ca7.system.js} +1 -1
  1392. package/dist/ionic/{p-1d269117.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
  1393. package/dist/ionic/p-5e4eec2e.entry.js +4 -0
  1394. package/dist/ionic/{p-702d85d8.system.js → p-5e745192.system.js} +1 -1
  1395. package/dist/ionic/{p-6c3d5383.js → p-5ecae037.js} +1 -1
  1396. package/dist/ionic/{p-b2a74a72.entry.js → p-5eda1d7d.entry.js} +1 -1
  1397. package/dist/ionic/{p-6e23777e.system.entry.js → p-6577aea9.system.entry.js} +1 -1
  1398. package/dist/ionic/p-66d633fb.js +4 -0
  1399. package/dist/ionic/{p-3fb57e1b.system.entry.js → p-6ad34705.system.entry.js} +1 -1
  1400. package/dist/ionic/p-6de472cb.js +4 -0
  1401. package/dist/ionic/{p-34d2de14.system.entry.js → p-6de62649.system.entry.js} +1 -1
  1402. package/dist/ionic/{p-ff5144f3.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
  1403. package/dist/ionic/{p-4e6a1efb.system.entry.js → p-6f8dbe92.system.entry.js} +1 -1
  1404. package/dist/ionic/{p-1e86a71b.entry.js → p-6fbecbda.entry.js} +1 -1
  1405. package/dist/ionic/p-72f6ff89.js +4 -0
  1406. package/dist/ionic/p-765f4dde.entry.js +4 -0
  1407. package/dist/ionic/{p-8a308596.system.js → p-7798c78a.system.js} +2 -2
  1408. package/dist/ionic/{p-64ed03a3.entry.js → p-78aadecb.entry.js} +1 -1
  1409. package/dist/ionic/p-7d92bf15.system.entry.js +4 -0
  1410. package/dist/ionic/{p-5bd4e009.entry.js → p-80fa068e.entry.js} +1 -1
  1411. package/dist/ionic/{p-b8c3f071.system.js → p-82e3d633.system.js} +1 -1
  1412. package/dist/ionic/p-8314281e.system.js +4 -0
  1413. package/dist/ionic/p-8804a472.system.entry.js +4 -0
  1414. package/dist/ionic/{p-613d4042.system.js → p-888db766.system.js} +1 -1
  1415. package/dist/ionic/p-88d5fbd3.js +4 -0
  1416. package/dist/ionic/{p-3de79805.entry.js → p-88fde0e0.entry.js} +1 -1
  1417. package/dist/ionic/{p-ccdcb022.system.js → p-8985cdb6.system.js} +1 -1
  1418. package/dist/ionic/p-8aa1d0b7.system.js +4 -0
  1419. package/dist/ionic/p-8acae6b0.system.entry.js +4 -0
  1420. package/dist/ionic/p-8d69a624.entry.js +4 -0
  1421. package/dist/ionic/{p-14aca3fb.entry.js → p-8f5d30f5.entry.js} +1 -1
  1422. package/dist/ionic/{p-a9c3699b.system.entry.js → p-908475e7.system.entry.js} +1 -1
  1423. package/dist/ionic/{p-67aab78f.js → p-91d33c4a.js} +1 -1
  1424. package/dist/ionic/p-953009b1.entry.js +4 -0
  1425. package/dist/ionic/{p-3d7fea9b.system.entry.js → p-958d6ebe.system.entry.js} +2 -2
  1426. package/dist/ionic/{p-07d9e9cd.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
  1427. package/dist/ionic/p-9738fd82.js +5 -0
  1428. package/dist/ionic/p-979d4f5c.system.js +4 -0
  1429. package/dist/ionic/{p-8b29691f.entry.js → p-98f3d827.entry.js} +1 -1
  1430. package/dist/ionic/p-9b7f0b0f.entry.js +4 -0
  1431. package/dist/ionic/p-9e447eb1.system.js +4 -0
  1432. package/dist/ionic/{p-4c80afe1.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
  1433. package/dist/ionic/p-9f6ee2c0.system.entry.js +4 -0
  1434. package/dist/ionic/{p-bed722c4.system.entry.js → p-a0bb7b92.system.entry.js} +1 -1
  1435. package/dist/ionic/{p-97e31c0a.system.js → p-a0d7bb5e.system.js} +1 -1
  1436. package/dist/ionic/{p-965677f1.entry.js → p-a1987850.entry.js} +1 -1
  1437. package/dist/ionic/{p-b91fe549.entry.js → p-a3277a67.entry.js} +1 -1
  1438. package/dist/ionic/{p-ed636a74.entry.js → p-a4afcc88.entry.js} +1 -1
  1439. package/dist/ionic/{p-73411c1b.entry.js → p-a9978d08.entry.js} +1 -1
  1440. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-ada96dd0.system.entry.js} +1 -1
  1441. package/dist/ionic/p-afd6ca9d.entry.js +4 -0
  1442. package/dist/ionic/{p-0330f0a3.system.entry.js → p-b3b3efba.system.entry.js} +1 -1
  1443. package/dist/ionic/{p-a545b4f1.system.js → p-b4a51c42.system.js} +1 -1
  1444. package/dist/ionic/p-b56d0866.system.entry.js +4 -0
  1445. package/dist/ionic/{p-48d9faa7.entry.js → p-b5f9f14c.entry.js} +1 -1
  1446. package/dist/ionic/{p-45da1e68.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
  1447. package/dist/ionic/p-b6f9d32a.entry.js +4 -0
  1448. package/dist/ionic/{p-664d2b07.system.entry.js → p-b7010c69.system.entry.js} +1 -1
  1449. package/dist/ionic/{p-5d711127.js → p-c3c3333a.js} +1 -1
  1450. package/dist/ionic/p-c61cc894.js +4 -0
  1451. package/dist/ionic/{p-5da0eb3e.system.entry.js → p-c847fb35.system.entry.js} +1 -1
  1452. package/dist/ionic/{p-67e18f02.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
  1453. package/dist/ionic/{p-f5a750e4.system.entry.js → p-c9a21dfd.system.entry.js} +1 -1
  1454. package/dist/ionic/{p-ab4cff27.system.js → p-cabad15b.system.js} +1 -1
  1455. package/dist/ionic/{p-d7ea6a0d.system.entry.js → p-caf21b46.system.entry.js} +1 -1
  1456. package/dist/ionic/{p-beb64be7.system.entry.js → p-cce9f61a.system.entry.js} +1 -1
  1457. package/dist/ionic/{p-a0b6d438.js → p-cdbeaadc.js} +1 -1
  1458. package/dist/ionic/{p-174f3446.entry.js → p-cfe57b1b.entry.js} +1 -1
  1459. package/dist/ionic/p-d032f825.system.entry.js +4 -0
  1460. package/dist/ionic/{p-7cee75c0.entry.js → p-d37b441e.entry.js} +1 -1
  1461. package/dist/ionic/{p-d2597b3e.system.js → p-d3b030b8.system.js} +1 -1
  1462. package/dist/ionic/p-d51674c5.system.js +4 -0
  1463. package/dist/ionic/p-dc6af8e9.entry.js +4 -0
  1464. package/dist/ionic/{p-8ad82eb3.entry.js → p-ddb30596.entry.js} +1 -1
  1465. package/dist/ionic/{p-bba2ce59.system.js → p-ddbb2d5b.system.js} +1 -1
  1466. package/dist/ionic/p-de6f8b28.system.js +4 -0
  1467. package/dist/ionic/p-de756e5c.js +4 -0
  1468. package/dist/ionic/p-dee7c1d0.system.entry.js +4 -0
  1469. package/dist/ionic/{p-09d142b3.system.js → p-e24ce1e5.system.js} +1 -1
  1470. package/dist/ionic/p-e3584231.system.js +4 -0
  1471. package/dist/ionic/{p-db5043df.system.entry.js → p-e6d68e02.system.entry.js} +1 -1
  1472. package/dist/ionic/{p-abacb44b.system.entry.js → p-e7ea9815.system.entry.js} +1 -1
  1473. package/dist/ionic/{p-c919498d.entry.js → p-e94c392d.entry.js} +1 -1
  1474. package/dist/ionic/p-ea69616e.entry.js +4 -0
  1475. package/dist/ionic/p-eef72e06.js +4 -0
  1476. package/dist/ionic/{p-a6d83a03.system.entry.js → p-ef126ae8.system.entry.js} +1 -1
  1477. package/dist/ionic/p-f0445d82.system.entry.js +4 -0
  1478. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1479. package/dist/ionic/p-f656e032.system.entry.js +4 -0
  1480. package/dist/ionic/p-f70970cf.js +4 -0
  1481. package/dist/ionic/{p-5deff017.entry.js → p-f8a5bb89.entry.js} +1 -1
  1482. package/dist/ionic/{p-377c636c.system.entry.js → p-fba0a6e7.system.entry.js} +1 -1
  1483. package/dist/ionic/p-feae5133.entry.js +4 -0
  1484. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1485. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1486. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1487. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1488. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1489. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1490. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1491. package/dist/types/components/alert/alert.d.ts +181 -181
  1492. package/dist/types/components/app/app.d.ts +15 -15
  1493. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1494. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1495. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1496. package/dist/types/components/badge/badge.d.ts +7 -7
  1497. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1498. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1499. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1500. package/dist/types/components/button/button.d.ts +121 -121
  1501. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1502. package/dist/types/components/card/card.d.ts +57 -57
  1503. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1504. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1505. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1506. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1507. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1508. package/dist/types/components/checkbox/checkbox.d.ts +112 -111
  1509. package/dist/types/components/chip/chip.d.ts +15 -15
  1510. package/dist/types/components/col/col.d.ts +128 -128
  1511. package/dist/types/components/content/content-interface.d.ts +6 -6
  1512. package/dist/types/components/content/content.d.ts +129 -129
  1513. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1514. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1515. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1516. package/dist/types/components/datetime/utils/manipulation.d.ts +25 -25
  1517. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1518. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1519. package/dist/types/components/fab/fab.d.ts +33 -33
  1520. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1521. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1522. package/dist/types/components/footer/footer.d.ts +27 -27
  1523. package/dist/types/components/grid/grid.d.ts +5 -5
  1524. package/dist/types/components/header/header.d.ts +31 -31
  1525. package/dist/types/components/header/header.utils.d.ts +7 -7
  1526. package/dist/types/components/img/img.d.ts +30 -30
  1527. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1528. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +65 -58
  1529. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1530. package/dist/types/components/input/input-interface.d.ts +6 -6
  1531. package/dist/types/components/input/input.d.ts +321 -315
  1532. package/dist/types/components/item/item.d.ts +111 -111
  1533. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1534. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1535. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1536. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1537. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1538. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1539. package/dist/types/components/label/label.d.ts +30 -30
  1540. package/dist/types/components/list/list.d.ts +17 -17
  1541. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1542. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1543. package/dist/types/components/loading/loading.d.ts +152 -152
  1544. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1545. package/dist/types/components/menu/menu.d.ts +140 -140
  1546. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1547. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1548. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1549. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1550. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1551. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1552. package/dist/types/components/modal/modal.d.ts +265 -265
  1553. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1554. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1555. package/dist/types/components/nav/nav.d.ts +247 -247
  1556. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1557. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1558. package/dist/types/components/note/note.d.ts +7 -7
  1559. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1560. package/dist/types/components/picker/picker.d.ts +149 -149
  1561. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1562. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1563. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -89
  1564. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1565. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1566. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1567. package/dist/types/components/popover/popover.d.ts +279 -279
  1568. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1569. package/dist/types/components/popover/utils.d.ts +25 -25
  1570. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1571. package/dist/types/components/radio/radio.d.ts +100 -99
  1572. package/dist/types/components/radio-group/radio-group-interface.d.ts +5 -4
  1573. package/dist/types/components/radio-group/radio-group.d.ts +51 -44
  1574. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1575. package/dist/types/components/range/range-interface.d.ts +7 -7
  1576. package/dist/types/components/range/range.d.ts +193 -192
  1577. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1578. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1579. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1580. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1581. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1582. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1583. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1584. package/dist/types/components/route/route-interface.d.ts +1 -1
  1585. package/dist/types/components/route/route.d.ts +43 -43
  1586. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1587. package/dist/types/components/router/router.d.ts +74 -73
  1588. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1589. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1590. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1591. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1592. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1593. package/dist/types/components/row/row.d.ts +1 -1
  1594. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1595. package/dist/types/components/searchbar/searchbar.d.ts +235 -233
  1596. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1597. package/dist/types/components/segment/segment.d.ts +82 -82
  1598. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1599. package/dist/types/components/select/select-interface.d.ts +3 -3
  1600. package/dist/types/components/select/select.d.ts +238 -233
  1601. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1602. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1603. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1604. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1605. package/dist/types/components/skeleton-text/skeleton-text.d.ts +15 -7
  1606. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1607. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1608. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1609. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1610. package/dist/types/components/tab/tab.d.ts +21 -21
  1611. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1612. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1613. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1614. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1615. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1616. package/dist/types/components/text/text.d.ts +7 -7
  1617. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1618. package/dist/types/components/textarea/textarea.d.ts +275 -269
  1619. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1620. package/dist/types/components/title/title.d.ts +21 -21
  1621. package/dist/types/components/toast/animations/utils.d.ts +15 -4
  1622. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
  1623. package/dist/types/components/toast/toast-interface.d.ts +37 -35
  1624. package/dist/types/components/toast/toast.d.ts +241 -214
  1625. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1626. package/dist/types/components/toggle/toggle.d.ts +117 -116
  1627. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1628. package/dist/types/components.d.ts +52 -13
  1629. package/dist/types/global/config.d.ts +6 -6
  1630. package/dist/types/interface.d.ts +1 -5
  1631. package/dist/types/jest.d.ts +5 -0
  1632. package/dist/types/stencil-public-runtime.d.ts +8 -0
  1633. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1634. package/dist/types/utils/browser/index.d.ts +17 -8
  1635. package/dist/types/utils/config.d.ts +175 -175
  1636. package/dist/types/utils/element-interface.d.ts +6 -6
  1637. package/dist/types/utils/focus-visible.d.ts +2 -2
  1638. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  1639. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1640. package/dist/types/utils/forms/index.d.ts +1 -0
  1641. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1642. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1643. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1644. package/dist/types/utils/gesture/index.d.ts +31 -31
  1645. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1646. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1647. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1648. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  1649. package/dist/types/utils/helpers.d.ts +8 -8
  1650. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1651. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1652. package/dist/types/utils/lock-controller.d.ts +1 -1
  1653. package/dist/types/utils/native/haptic.d.ts +38 -38
  1654. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1655. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1656. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1657. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1658. package/dist/types/utils/overlays.d.ts +29 -28
  1659. package/dist/types/utils/platform.d.ts +16 -16
  1660. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1661. package/dist/types/utils/slot-mutation-controller.d.ts +3 -3
  1662. package/dist/types/utils/test/platform.utils.d.ts +66 -66
  1663. package/dist/types/utils/test/playwright/generator.d.ts +16 -7
  1664. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1665. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1666. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1667. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1668. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1669. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1670. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1671. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1672. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1673. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1674. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1675. package/dist/types/utils/transition/index.d.ts +6 -6
  1676. package/dist/types/utils/watch-options.d.ts +1 -1
  1677. package/hydrate/index.d.ts +1 -1
  1678. package/hydrate/index.js +30517 -29945
  1679. package/package.json +3 -2
  1680. package/dist/cjs/animation-1083855c.js +0 -1061
  1681. package/dist/cjs/button-active-af897e0e.js +0 -69
  1682. package/dist/cjs/config-d5882735.js +0 -199
  1683. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1684. package/dist/cjs/data-c8d21093.js +0 -1622
  1685. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1686. package/dist/cjs/form-controller-9343050c.js +0 -66
  1687. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1688. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1689. package/dist/cjs/haptic-678abc9f.js +0 -212
  1690. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1691. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1692. package/dist/cjs/index-0ee995e4.js +0 -459
  1693. package/dist/cjs/index-306a7476.js +0 -32
  1694. package/dist/cjs/index-573877f3.js +0 -243
  1695. package/dist/cjs/index-9f379eaa.js +0 -198
  1696. package/dist/cjs/index-d7561763.js +0 -310
  1697. package/dist/cjs/input-shims-b0a75a01.js +0 -596
  1698. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1699. package/dist/cjs/ionic-global-ea2901a3.js +0 -230
  1700. package/dist/cjs/ios.transition-ac909bc8.js +0 -654
  1701. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1702. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1703. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1704. package/dist/cjs/md.transition-907af519.js +0 -59
  1705. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1706. package/dist/cjs/overlays-2ffc5f27.js +0 -714
  1707. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1708. package/dist/cjs/status-tap-3fb2391a.js +0 -42
  1709. package/dist/cjs/swipe-back-7e843e77.js +0 -81
  1710. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1711. package/dist/cjs/watch-options-53bbb124.js +0 -49
  1712. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  1713. package/dist/esm/animation-8aa13916.js +0 -1059
  1714. package/dist/esm/button-active-ce5cba4c.js +0 -67
  1715. package/dist/esm/capacitor-b4979570.js +0 -13
  1716. package/dist/esm/config-96c9ace3.js +0 -193
  1717. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1718. package/dist/esm/data-44d9e816.js +0 -1575
  1719. package/dist/esm/focus-visible-85493433.js +0 -75
  1720. package/dist/esm/form-controller-64edeaad.js +0 -64
  1721. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1722. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1723. package/dist/esm/haptic-1243b917.js +0 -206
  1724. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1725. package/dist/esm/helpers-3379ba19.js +0 -418
  1726. package/dist/esm/index-0aa6e61f.js +0 -308
  1727. package/dist/esm/index-6a0ccabb.js +0 -231
  1728. package/dist/esm/index-7a14ecec.js +0 -29
  1729. package/dist/esm/index-f0cc4e14.js +0 -196
  1730. package/dist/esm/index-ff313b19.js +0 -457
  1731. package/dist/esm/input-shims-d0c93e5d.js +0 -594
  1732. package/dist/esm/input.utils-ec063df4.js +0 -134
  1733. package/dist/esm/ionic-global-40e42e7f.js +0 -224
  1734. package/dist/esm/ios.transition-1651c430.js +0 -651
  1735. package/dist/esm/keyboard-b063f012.js +0 -79
  1736. package/dist/esm/keyboard-b551279d.js +0 -146
  1737. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1738. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1739. package/dist/esm/md.transition-66f18369.js +0 -57
  1740. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1741. package/dist/esm/overlays-6c9feb7e.js +0 -692
  1742. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1743. package/dist/esm/status-tap-9ce68758.js +0 -40
  1744. package/dist/esm/swipe-back-cd4295f3.js +0 -79
  1745. package/dist/esm/theme-17531cdf.js +0 -43
  1746. package/dist/esm/watch-options-02d8498b.js +0 -47
  1747. package/dist/esm-es5/app-globals-2398e405.js +0 -4
  1748. package/dist/esm-es5/index-0aa6e61f.js +0 -4
  1749. package/dist/esm-es5/input-shims-d0c93e5d.js +0 -4
  1750. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  1751. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  1752. package/dist/ionic/p-0d8e9393.entry.js +0 -4
  1753. package/dist/ionic/p-114a36ed.js +0 -4
  1754. package/dist/ionic/p-14b4348c.system.js +0 -4
  1755. package/dist/ionic/p-1e5165db.system.entry.js +0 -4
  1756. package/dist/ionic/p-1f4f0d59.system.entry.js +0 -4
  1757. package/dist/ionic/p-20cf4994.js +0 -4
  1758. package/dist/ionic/p-236063ec.system.entry.js +0 -4
  1759. package/dist/ionic/p-276afddd.js +0 -4
  1760. package/dist/ionic/p-2e8e0045.js +0 -4
  1761. package/dist/ionic/p-32083c2d.js +0 -4
  1762. package/dist/ionic/p-352c0232.system.entry.js +0 -4
  1763. package/dist/ionic/p-3602001b.system.js +0 -4
  1764. package/dist/ionic/p-3632220b.system.js +0 -4
  1765. package/dist/ionic/p-39044fe6.system.entry.js +0 -4
  1766. package/dist/ionic/p-3ce8c3e3.entry.js +0 -4
  1767. package/dist/ionic/p-40903d34.system.js +0 -4
  1768. package/dist/ionic/p-4518e4c0.system.entry.js +0 -4
  1769. package/dist/ionic/p-4794e0ac.system.entry.js +0 -4
  1770. package/dist/ionic/p-4a142496.system.entry.js +0 -4
  1771. package/dist/ionic/p-4cd588b3.system.entry.js +0 -4
  1772. package/dist/ionic/p-4dbac22d.entry.js +0 -4
  1773. package/dist/ionic/p-4ecb5692.entry.js +0 -4
  1774. package/dist/ionic/p-5370e786.js +0 -4
  1775. package/dist/ionic/p-63d519fb.entry.js +0 -4
  1776. package/dist/ionic/p-64296b15.entry.js +0 -4
  1777. package/dist/ionic/p-67ed452a.system.entry.js +0 -4
  1778. package/dist/ionic/p-67eecef4.system.js +0 -4
  1779. package/dist/ionic/p-7176cea3.entry.js +0 -4
  1780. package/dist/ionic/p-73420380.js +0 -4
  1781. package/dist/ionic/p-77e7a9c8.entry.js +0 -4
  1782. package/dist/ionic/p-7ab6fc5a.system.entry.js +0 -4
  1783. package/dist/ionic/p-81c818e7.js +0 -4
  1784. package/dist/ionic/p-8b1be026.js +0 -4
  1785. package/dist/ionic/p-8cf94fc1.js +0 -4
  1786. package/dist/ionic/p-8e1bded3.entry.js +0 -4
  1787. package/dist/ionic/p-97c65aa5.js +0 -4
  1788. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  1789. package/dist/ionic/p-9b89cbde.js +0 -4
  1790. package/dist/ionic/p-a5c1e6ce.entry.js +0 -4
  1791. package/dist/ionic/p-af016cd3.entry.js +0 -4
  1792. package/dist/ionic/p-b0cee324.entry.js +0 -4
  1793. package/dist/ionic/p-b1142133.entry.js +0 -4
  1794. package/dist/ionic/p-b17b7c3c.system.entry.js +0 -4
  1795. package/dist/ionic/p-b203659a.system.entry.js +0 -4
  1796. package/dist/ionic/p-b6f8ee31.entry.js +0 -4
  1797. package/dist/ionic/p-b906c5ca.entry.js +0 -4
  1798. package/dist/ionic/p-b912e055.system.js +0 -4
  1799. package/dist/ionic/p-c224b9a9.js +0 -5
  1800. package/dist/ionic/p-ca5219df.entry.js +0 -4
  1801. package/dist/ionic/p-cc196b34.js +0 -4
  1802. package/dist/ionic/p-d1de1188.js +0 -4
  1803. package/dist/ionic/p-d3952bd5.system.entry.js +0 -4
  1804. package/dist/ionic/p-dfa756ed.system.js +0 -4
  1805. package/dist/ionic/p-e6b240a0.js +0 -4
  1806. package/dist/ionic/p-e8400078.system.entry.js +0 -4
  1807. package/dist/ionic/p-f8e620f1.entry.js +0 -4
  1808. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  1809. /package/dist/esm-es5/{config-96c9ace3.js → config-49c88215.js} +0 -0
  1810. /package/dist/esm-es5/{cubic-bezier-66542bc5.js → cubic-bezier-fe2083dc.js} +0 -0
  1811. /package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +0 -0
  1812. /package/dist/esm-es5/{focus-visible-85493433.js → focus-visible-dd40d69f.js} +0 -0
  1813. /package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +0 -0
  1814. /package/dist/esm-es5/{hardware-back-button-39299f84.js → hardware-back-button-b2bc76db.js} +0 -0
  1815. /package/dist/esm-es5/{helpers-3379ba19.js → helpers-ae653409.js} +0 -0
  1816. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1817. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  1818. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1819. /package/dist/esm-es5/{spinner-configs-d09fbbbb.js → spinner-configs-964f7cf3.js} +0 -0
  1820. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1821. /package/dist/esm-es5/{watch-options-02d8498b.js → watch-options-c2911ace.js} +0 -0
  1822. /package/dist/ionic/{p-5aac9314.system.js → p-012c3ceb.system.js} +0 -0
  1823. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1824. /package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +0 -0
  1825. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1826. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1827. /package/dist/ionic/{p-815c2fba.system.js → p-32ad210f.system.js} +0 -0
  1828. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1829. /package/dist/ionic/{p-f10de93b.js → p-459d13d5.js} +0 -0
  1830. /package/dist/ionic/{p-44bc8b45.system.js → p-4609d030.system.js} +0 -0
  1831. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1832. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1833. /package/dist/ionic/{p-772f6c84.system.js → p-4f255d5a.system.js} +0 -0
  1834. /package/dist/ionic/{p-8c15eda7.system.js → p-790220fd.system.js} +0 -0
  1835. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  1836. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  1837. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1838. /package/dist/ionic/{p-87411e39.system.js → p-c468af8a.system.js} +0 -0
  1839. /package/dist/ionic/{p-9e852ff1.system.js → p-c7c8429a.system.js} +0 -0
  1840. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1841. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1842. /package/dist/ionic/{p-56dc022e.system.js → p-d8d84afa.system.js} +0 -0
  1843. /package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +0 -0
  1844. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1845. /package/dist/ionic/{p-2b89ea1b.system.js → p-f233f1e0.system.js} +0 -0
  1846. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
  1847. /package/dist/ionic/{p-479cdbf8.system.js → p-ff4b7e40.system.js} +0 -0
@@ -5,944 +5,944 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-c2940dc1.js');
9
- const cubicBezier = require('./cubic-bezier-6b9222ad.js');
10
- const helpers = require('./helpers-ea4ccbcb.js');
11
- const index$1 = require('./index-573877f3.js');
12
- const ionicGlobal = require('./ionic-global-ea2901a3.js');
13
- const frameworkDelegate = require('./framework-delegate-c0873a6f.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const cubicBezier = require('./cubic-bezier-f2dccc53.js');
10
+ const helpers = require('./helpers-76bb7efb.js');
11
+ const index$1 = require('./index-f8f13389.js');
12
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
13
+ const frameworkDelegate = require('./framework-delegate-1c29b14a.js');
14
14
 
15
15
  const VIEW_STATE_NEW = 1;
16
16
  const VIEW_STATE_ATTACHED = 2;
17
17
  const VIEW_STATE_DESTROYED = 3;
18
18
  // TODO(FW-2832): types
19
19
  class ViewController {
20
- constructor(component, params) {
21
- this.component = component;
22
- this.params = params;
23
- this.state = VIEW_STATE_NEW;
24
- }
25
- async init(container) {
26
- this.state = VIEW_STATE_ATTACHED;
27
- if (!this.element) {
28
- const component = this.component;
29
- this.element = await frameworkDelegate.attachComponent(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params);
30
- }
31
- }
32
- /**
33
- * DOM WRITE
34
- */
35
- _destroy() {
36
- helpers.assert(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED');
37
- const element = this.element;
38
- if (element) {
39
- if (this.delegate) {
40
- this.delegate.removeViewFromDom(element.parentElement, element);
41
- }
42
- else {
43
- element.remove();
44
- }
45
- }
46
- this.nav = undefined;
47
- this.state = VIEW_STATE_DESTROYED;
48
- }
20
+ constructor(component, params) {
21
+ this.component = component;
22
+ this.params = params;
23
+ this.state = VIEW_STATE_NEW;
24
+ }
25
+ async init(container) {
26
+ this.state = VIEW_STATE_ATTACHED;
27
+ if (!this.element) {
28
+ const component = this.component;
29
+ this.element = await frameworkDelegate.attachComponent(this.delegate, container, component, ['ion-page', 'ion-page-invisible'], this.params);
30
+ }
31
+ }
32
+ /**
33
+ * DOM WRITE
34
+ */
35
+ _destroy() {
36
+ helpers.assert(this.state !== VIEW_STATE_DESTROYED, 'view state must be ATTACHED');
37
+ const element = this.element;
38
+ if (element) {
39
+ if (this.delegate) {
40
+ this.delegate.removeViewFromDom(element.parentElement, element);
41
+ }
42
+ else {
43
+ element.remove();
44
+ }
45
+ }
46
+ this.nav = undefined;
47
+ this.state = VIEW_STATE_DESTROYED;
48
+ }
49
49
  }
50
50
  const matches = (view, id, params) => {
51
- if (!view) {
52
- return false;
53
- }
54
- if (view.component !== id) {
55
- return false;
56
- }
57
- return helpers.shallowEqualStringMap(view.params, params);
51
+ if (!view) {
52
+ return false;
53
+ }
54
+ if (view.component !== id) {
55
+ return false;
56
+ }
57
+ return helpers.shallowEqualStringMap(view.params, params);
58
58
  };
59
59
  const convertToView = (page, params) => {
60
- if (!page) {
61
- return null;
62
- }
63
- if (page instanceof ViewController) {
64
- return page;
65
- }
66
- return new ViewController(page, params);
67
- };
68
- const convertToViews = (pages) => {
69
- return pages
70
- .map((page) => {
71
- if (page instanceof ViewController) {
72
- return page;
60
+ if (!page) {
61
+ return null;
73
62
  }
74
- if ('component' in page) {
75
- return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
63
+ if (page instanceof ViewController) {
64
+ return page;
76
65
  }
77
- return convertToView(page, undefined);
78
- })
79
- .filter((v) => v !== null);
66
+ return new ViewController(page, params);
67
+ };
68
+ const convertToViews = (pages) => {
69
+ return pages
70
+ .map((page) => {
71
+ if (page instanceof ViewController) {
72
+ return page;
73
+ }
74
+ if ('component' in page) {
75
+ return convertToView(page.component, page.componentProps === null ? undefined : page.componentProps);
76
+ }
77
+ return convertToView(page, undefined);
78
+ })
79
+ .filter((v) => v !== null);
80
80
  };
81
81
 
82
82
  const navCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:layout size style;z-index:0}";
83
83
 
84
84
  const Nav = class {
85
- constructor(hostRef) {
86
- index.registerInstance(this, hostRef);
87
- this.ionNavWillLoad = index.createEvent(this, "ionNavWillLoad", 7);
88
- this.ionNavWillChange = index.createEvent(this, "ionNavWillChange", 3);
89
- this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
90
- this.transInstr = [];
91
- this.gestureOrAnimationInProgress = false;
92
- this.useRouter = false;
93
- this.isTransitioning = false;
94
- this.destroyed = false;
95
- this.views = [];
96
- this.didLoad = false;
97
- this.delegate = undefined;
98
- this.swipeGesture = undefined;
99
- this.animated = true;
100
- this.animation = undefined;
101
- this.rootParams = undefined;
102
- this.root = undefined;
103
- }
104
- swipeGestureChanged() {
105
- if (this.gesture) {
106
- this.gesture.enable(this.swipeGesture === true);
107
- }
108
- }
109
- rootChanged() {
110
- if (this.root === undefined) {
111
- return;
112
- }
113
- if (this.didLoad === false) {
114
- /**
115
- * If the component has not loaded yet, we can skip setting up the root component.
116
- * It will be called when `componentDidLoad` fires.
117
- */
118
- return;
119
- }
120
- if (!this.useRouter) {
121
- if (this.root !== undefined) {
122
- this.setRoot(this.root, this.rootParams);
123
- }
124
- }
125
- }
126
- componentWillLoad() {
127
- this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
128
- if (this.swipeGesture === undefined) {
129
- const mode = ionicGlobal.getIonMode(this);
130
- this.swipeGesture = ionicGlobal.config.getBoolean('swipeBackEnabled', mode === 'ios');
131
- }
132
- this.ionNavWillLoad.emit();
133
- }
134
- async componentDidLoad() {
135
- // We want to set this flag before any watch callbacks are manually called
136
- this.didLoad = true;
137
- this.rootChanged();
138
- this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-7e843e77.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
139
- this.swipeGestureChanged();
140
- }
141
- connectedCallback() {
142
- this.destroyed = false;
143
- }
144
- disconnectedCallback() {
145
- for (const view of this.views) {
146
- index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
147
- view._destroy();
148
- }
149
- // Release swipe back gesture and transition.
150
- if (this.gesture) {
151
- this.gesture.destroy();
152
- this.gesture = undefined;
153
- }
154
- this.transInstr.length = 0;
155
- this.views.length = 0;
156
- this.destroyed = true;
157
- }
158
- /**
159
- * Push a new component onto the current navigation stack. Pass any additional
160
- * information along as an object. This additional information is accessible
161
- * through NavParams.
162
- *
163
- * @param component The component to push onto the navigation stack.
164
- * @param componentProps Any properties of the component.
165
- * @param opts The navigation options.
166
- * @param done The transition complete function.
167
- */
168
- push(component, componentProps, opts, done) {
169
- return this.insert(-1, component, componentProps, opts, done);
170
- }
171
- /**
172
- * Inserts a component into the navigation stack at the specified index.
173
- * This is useful to add a component at any point in the navigation stack.
174
- *
175
- * @param insertIndex The index to insert the component at in the stack.
176
- * @param component The component to insert into the navigation stack.
177
- * @param componentProps Any properties of the component.
178
- * @param opts The navigation options.
179
- * @param done The transition complete function.
180
- */
181
- insert(insertIndex, component, componentProps, opts, done) {
182
- return this.insertPages(insertIndex, [{ component, componentProps }], opts, done);
183
- }
184
- /**
185
- * Inserts an array of components into the navigation stack at the specified index.
186
- * The last component in the array will become instantiated as a view, and animate
187
- * in to become the active view.
188
- *
189
- * @param insertIndex The index to insert the components at in the stack.
190
- * @param insertComponents The components to insert into the navigation stack.
191
- * @param opts The navigation options.
192
- * @param done The transition complete function.
193
- */
194
- insertPages(insertIndex, insertComponents, opts, done) {
195
- return this.queueTrns({
196
- insertStart: insertIndex,
197
- insertViews: insertComponents,
198
- opts,
199
- }, done);
200
- }
201
- /**
202
- * Pop a component off of the navigation stack. Navigates back from the current
203
- * component.
204
- *
205
- * @param opts The navigation options.
206
- * @param done The transition complete function.
207
- */
208
- pop(opts, done) {
209
- return this.removeIndex(-1, 1, opts, done);
210
- }
211
- /**
212
- * Pop to a specific index in the navigation stack.
213
- *
214
- * @param indexOrViewCtrl The index or view controller to pop to.
215
- * @param opts The navigation options.
216
- * @param done The transition complete function.
217
- */
218
- popTo(indexOrViewCtrl, opts, done) {
219
- const ti = {
220
- removeStart: -1,
221
- removeCount: -1,
222
- opts,
223
- };
224
- if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
225
- ti.removeView = indexOrViewCtrl;
226
- ti.removeStart = 1;
227
- }
228
- else if (typeof indexOrViewCtrl === 'number') {
229
- ti.removeStart = indexOrViewCtrl + 1;
230
- }
231
- return this.queueTrns(ti, done);
232
- }
233
- /**
234
- * Navigate back to the root of the stack, no matter how far back that is.
235
- *
236
- * @param opts The navigation options.
237
- * @param done The transition complete function.
238
- */
239
- popToRoot(opts, done) {
240
- return this.removeIndex(1, -1, opts, done);
241
- }
242
- /**
243
- * Removes a component from the navigation stack at the specified index.
244
- *
245
- * @param startIndex The number to begin removal at.
246
- * @param removeCount The number of components to remove.
247
- * @param opts The navigation options.
248
- * @param done The transition complete function.
249
- */
250
- removeIndex(startIndex, removeCount = 1, opts, done) {
251
- return this.queueTrns({
252
- removeStart: startIndex,
253
- removeCount,
254
- opts,
255
- }, done);
256
- }
257
- /**
258
- * Set the root for the current navigation stack to a component.
259
- *
260
- * @param component The component to set as the root of the navigation stack.
261
- * @param componentProps Any properties of the component.
262
- * @param opts The navigation options.
263
- * @param done The transition complete function.
264
- */
265
- setRoot(component, componentProps, opts, done) {
266
- return this.setPages([{ component, componentProps }], opts, done);
267
- }
268
- /**
269
- * Set the views of the current navigation stack and navigate to the last view.
270
- * By default animations are disabled, but they can be enabled by passing options
271
- * to the navigation controller. Navigation parameters can also be passed to the
272
- * individual pages in the array.
273
- *
274
- * @param views The list of views to set as the navigation stack.
275
- * @param opts The navigation options.
276
- * @param done The transition complete function.
277
- */
278
- setPages(views, opts, done) {
279
- opts !== null && opts !== void 0 ? opts : (opts = {});
280
- // if animation wasn't set to true then default it to NOT animate
281
- if (opts.animated !== true) {
282
- opts.animated = false;
283
- }
284
- return this.queueTrns({
285
- insertStart: 0,
286
- insertViews: views,
287
- removeStart: 0,
288
- removeCount: -1,
289
- opts,
290
- }, done);
291
- }
292
- /**
293
- * Called by the router to update the view.
294
- *
295
- * @param id The component tag.
296
- * @param params The component params.
297
- * @param direction A direction hint.
298
- * @param animation an AnimationBuilder.
299
- *
300
- * @return the status.
301
- * @internal
302
- */
303
- setRouteId(id, params, direction, animation) {
304
- const active = this.getActiveSync();
305
- if (matches(active, id, params)) {
306
- return Promise.resolve({
307
- changed: false,
308
- element: active.element,
309
- });
310
- }
311
- let resolve;
312
- const promise = new Promise((r) => (resolve = r));
313
- let finish;
314
- const commonOpts = {
315
- updateURL: false,
316
- viewIsReady: (enteringEl) => {
317
- let mark;
318
- const p = new Promise((r) => (mark = r));
319
- resolve({
320
- changed: true,
321
- element: enteringEl,
322
- markVisible: async () => {
323
- mark();
324
- await finish;
325
- },
326
- });
327
- return p;
328
- },
329
- };
330
- if (direction === 'root') {
331
- finish = this.setRoot(id, params, commonOpts);
332
- }
333
- else {
334
- // Look for a view matching the target in the view stack.
335
- const viewController = this.views.find((v) => matches(v, id, params));
336
- if (viewController) {
337
- finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
338
- }
339
- else if (direction === 'forward') {
340
- finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
341
- }
342
- else if (direction === 'back') {
343
- finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
344
- }
345
- }
346
- return promise;
347
- }
348
- /**
349
- * Called by <ion-router> to retrieve the current component.
350
- *
351
- * @internal
352
- */
353
- async getRouteId() {
354
- const active = this.getActiveSync();
355
- if (active) {
356
- return {
357
- id: active.element.tagName,
358
- params: active.params,
359
- element: active.element,
360
- };
361
- }
362
- return undefined;
363
- }
364
- /**
365
- * Get the active view.
366
- */
367
- async getActive() {
368
- return this.getActiveSync();
369
- }
370
- /**
371
- * Get the view at the specified index.
372
- *
373
- * @param index The index of the view.
374
- */
375
- async getByIndex(index) {
376
- return this.views[index];
377
- }
378
- /**
379
- * Returns `true` if the current view can go back.
380
- *
381
- * @param view The view to check.
382
- */
383
- async canGoBack(view) {
384
- return this.canGoBackSync(view);
385
- }
386
- /**
387
- * Get the previous view.
388
- *
389
- * @param view The view to get.
390
- */
391
- async getPrevious(view) {
392
- return this.getPreviousSync(view);
393
- }
394
- getLength() {
395
- return this.views.length;
396
- }
397
- getActiveSync() {
398
- return this.views[this.views.length - 1];
399
- }
400
- canGoBackSync(view = this.getActiveSync()) {
401
- return !!(view && this.getPreviousSync(view));
402
- }
403
- getPreviousSync(view = this.getActiveSync()) {
404
- if (!view) {
405
- return undefined;
406
- }
407
- const views = this.views;
408
- const index = views.indexOf(view);
409
- return index > 0 ? views[index - 1] : undefined;
410
- }
411
- /**
412
- * Adds a navigation stack change to the queue and schedules it to run.
413
- *
414
- * @returns Whether the transition succeeds.
415
- */
416
- async queueTrns(ti, done) {
417
- var _a, _b;
418
- if (this.isTransitioning && ((_a = ti.opts) === null || _a === void 0 ? void 0 : _a.skipIfBusy)) {
419
- return false;
420
- }
421
- const promise = new Promise((resolve, reject) => {
422
- ti.resolve = resolve;
423
- ti.reject = reject;
424
- });
425
- ti.done = done;
85
+ constructor(hostRef) {
86
+ index.registerInstance(this, hostRef);
87
+ this.ionNavWillLoad = index.createEvent(this, "ionNavWillLoad", 7);
88
+ this.ionNavWillChange = index.createEvent(this, "ionNavWillChange", 3);
89
+ this.ionNavDidChange = index.createEvent(this, "ionNavDidChange", 3);
90
+ this.transInstr = [];
91
+ this.gestureOrAnimationInProgress = false;
92
+ this.useRouter = false;
93
+ this.isTransitioning = false;
94
+ this.destroyed = false;
95
+ this.views = [];
96
+ this.didLoad = false;
97
+ this.delegate = undefined;
98
+ this.swipeGesture = undefined;
99
+ this.animated = true;
100
+ this.animation = undefined;
101
+ this.rootParams = undefined;
102
+ this.root = undefined;
103
+ }
104
+ swipeGestureChanged() {
105
+ if (this.gesture) {
106
+ this.gesture.enable(this.swipeGesture === true);
107
+ }
108
+ }
109
+ rootChanged() {
110
+ if (this.root === undefined) {
111
+ return;
112
+ }
113
+ if (this.didLoad === false) {
114
+ /**
115
+ * If the component has not loaded yet, we can skip setting up the root component.
116
+ * It will be called when `componentDidLoad` fires.
117
+ */
118
+ return;
119
+ }
120
+ if (!this.useRouter) {
121
+ if (this.root !== undefined) {
122
+ this.setRoot(this.root, this.rootParams);
123
+ }
124
+ }
125
+ }
126
+ componentWillLoad() {
127
+ this.useRouter = document.querySelector('ion-router') !== null && this.el.closest('[no-router]') === null;
128
+ if (this.swipeGesture === undefined) {
129
+ const mode = ionicGlobal.getIonMode(this);
130
+ this.swipeGesture = ionicGlobal.config.getBoolean('swipeBackEnabled', mode === 'ios');
131
+ }
132
+ this.ionNavWillLoad.emit();
133
+ }
134
+ async componentDidLoad() {
135
+ // We want to set this flag before any watch callbacks are manually called
136
+ this.didLoad = true;
137
+ this.rootChanged();
138
+ this.gesture = (await Promise.resolve().then(function () { return require('./swipe-back-e37a1a5c.js'); })).createSwipeBackGesture(this.el, this.canStart.bind(this), this.onStart.bind(this), this.onMove.bind(this), this.onEnd.bind(this));
139
+ this.swipeGestureChanged();
140
+ }
141
+ connectedCallback() {
142
+ this.destroyed = false;
143
+ }
144
+ disconnectedCallback() {
145
+ for (const view of this.views) {
146
+ index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
147
+ view._destroy();
148
+ }
149
+ // Release swipe back gesture and transition.
150
+ if (this.gesture) {
151
+ this.gesture.destroy();
152
+ this.gesture = undefined;
153
+ }
154
+ this.transInstr.length = 0;
155
+ this.views.length = 0;
156
+ this.destroyed = true;
157
+ }
158
+ /**
159
+ * Push a new component onto the current navigation stack. Pass any additional
160
+ * information along as an object. This additional information is accessible
161
+ * through NavParams.
162
+ *
163
+ * @param component The component to push onto the navigation stack.
164
+ * @param componentProps Any properties of the component.
165
+ * @param opts The navigation options.
166
+ * @param done The transition complete function.
167
+ */
168
+ push(component, componentProps, opts, done) {
169
+ return this.insert(-1, component, componentProps, opts, done);
170
+ }
171
+ /**
172
+ * Inserts a component into the navigation stack at the specified index.
173
+ * This is useful to add a component at any point in the navigation stack.
174
+ *
175
+ * @param insertIndex The index to insert the component at in the stack.
176
+ * @param component The component to insert into the navigation stack.
177
+ * @param componentProps Any properties of the component.
178
+ * @param opts The navigation options.
179
+ * @param done The transition complete function.
180
+ */
181
+ insert(insertIndex, component, componentProps, opts, done) {
182
+ return this.insertPages(insertIndex, [{ component, componentProps }], opts, done);
183
+ }
184
+ /**
185
+ * Inserts an array of components into the navigation stack at the specified index.
186
+ * The last component in the array will become instantiated as a view, and animate
187
+ * in to become the active view.
188
+ *
189
+ * @param insertIndex The index to insert the components at in the stack.
190
+ * @param insertComponents The components to insert into the navigation stack.
191
+ * @param opts The navigation options.
192
+ * @param done The transition complete function.
193
+ */
194
+ insertPages(insertIndex, insertComponents, opts, done) {
195
+ return this.queueTrns({
196
+ insertStart: insertIndex,
197
+ insertViews: insertComponents,
198
+ opts,
199
+ }, done);
200
+ }
201
+ /**
202
+ * Pop a component off of the navigation stack. Navigates back from the current
203
+ * component.
204
+ *
205
+ * @param opts The navigation options.
206
+ * @param done The transition complete function.
207
+ */
208
+ pop(opts, done) {
209
+ return this.removeIndex(-1, 1, opts, done);
210
+ }
426
211
  /**
427
- * If using router, check to see if navigation hooks
428
- * will allow us to perform this transition. This
429
- * is required in order for hooks to work with
430
- * the ion-back-button or swipe to go back.
212
+ * Pop to a specific index in the navigation stack.
213
+ *
214
+ * @param indexOrViewCtrl The index or view controller to pop to.
215
+ * @param opts The navigation options.
216
+ * @param done The transition complete function.
431
217
  */
432
- if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
433
- const router = document.querySelector('ion-router');
434
- if (router) {
435
- const canTransition = await router.canTransition();
436
- if (canTransition === false) {
437
- return false;
438
- }
439
- if (typeof canTransition === 'string') {
440
- router.push(canTransition, ti.opts.direction || 'back');
441
- return false;
442
- }
443
- }
444
- }
445
- // Normalize empty
446
- if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
447
- ti.insertViews = undefined;
448
- }
449
- // Enqueue transition instruction
450
- this.transInstr.push(ti);
451
- // if there isn't a transition already happening
452
- // then this will kick off this transition
453
- this.nextTrns();
454
- return promise;
455
- }
456
- success(result, ti) {
457
- if (this.destroyed) {
458
- this.fireError('nav controller was destroyed', ti);
459
- return;
460
- }
461
- if (ti.done) {
462
- ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
463
- }
464
- ti.resolve(result.hasCompleted);
465
- if (ti.opts.updateURL !== false && this.useRouter) {
466
- const router = document.querySelector('ion-router');
467
- if (router) {
468
- const direction = result.direction === 'back' ? 'back' : 'forward';
469
- router.navChanged(direction);
470
- }
471
- }
472
- }
473
- failed(rejectReason, ti) {
474
- if (this.destroyed) {
475
- this.fireError('nav controller was destroyed', ti);
476
- return;
477
- }
478
- this.transInstr.length = 0;
479
- this.fireError(rejectReason, ti);
480
- }
481
- fireError(rejectReason, ti) {
482
- if (ti.done) {
483
- ti.done(false, false, rejectReason);
484
- }
485
- if (ti.reject && !this.destroyed) {
486
- ti.reject(rejectReason);
487
- }
488
- else {
489
- ti.resolve(false);
490
- }
491
- }
492
- /**
493
- * Consumes the next transition in the queue.
494
- *
495
- * @returns whether the transition is executed.
496
- */
497
- nextTrns() {
498
- // this is the framework's bread 'n butta function
499
- // only one transition is allowed at any given time
500
- if (this.isTransitioning) {
501
- return false;
502
- }
503
- // there is no transition happening right now, executes the next instructions.
504
- const ti = this.transInstr.shift();
505
- if (!ti) {
506
- return false;
507
- }
508
- this.runTransition(ti);
509
- return true;
510
- }
511
- /** Executes all the transition instruction from the queue. */
512
- async runTransition(ti) {
513
- try {
514
- // set that this nav is actively transitioning
515
- this.ionNavWillChange.emit();
516
- this.isTransitioning = true;
517
- this.prepareTI(ti);
518
- const leavingView = this.getActiveSync();
519
- const enteringView = this.getEnteringView(ti, leavingView);
520
- if (!leavingView && !enteringView) {
521
- throw new Error('no views in the stack to be removed');
522
- }
523
- if (enteringView && enteringView.state === VIEW_STATE_NEW) {
524
- await enteringView.init(this.el);
525
- }
526
- this.postViewInit(enteringView, leavingView, ti);
527
- // Needs transition?
528
- const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView;
529
- if (requiresTransition && ti.opts && leavingView) {
530
- const isBackDirection = ti.opts.direction === 'back';
218
+ popTo(indexOrViewCtrl, opts, done) {
219
+ const ti = {
220
+ removeStart: -1,
221
+ removeCount: -1,
222
+ opts,
223
+ };
224
+ if (typeof indexOrViewCtrl === 'object' && indexOrViewCtrl.component) {
225
+ ti.removeView = indexOrViewCtrl;
226
+ ti.removeStart = 1;
227
+ }
228
+ else if (typeof indexOrViewCtrl === 'number') {
229
+ ti.removeStart = indexOrViewCtrl + 1;
230
+ }
231
+ return this.queueTrns(ti, done);
232
+ }
233
+ /**
234
+ * Navigate back to the root of the stack, no matter how far back that is.
235
+ *
236
+ * @param opts The navigation options.
237
+ * @param done The transition complete function.
238
+ */
239
+ popToRoot(opts, done) {
240
+ return this.removeIndex(1, -1, opts, done);
241
+ }
242
+ /**
243
+ * Removes a component from the navigation stack at the specified index.
244
+ *
245
+ * @param startIndex The number to begin removal at.
246
+ * @param removeCount The number of components to remove.
247
+ * @param opts The navigation options.
248
+ * @param done The transition complete function.
249
+ */
250
+ removeIndex(startIndex, removeCount = 1, opts, done) {
251
+ return this.queueTrns({
252
+ removeStart: startIndex,
253
+ removeCount,
254
+ opts,
255
+ }, done);
256
+ }
257
+ /**
258
+ * Set the root for the current navigation stack to a component.
259
+ *
260
+ * @param component The component to set as the root of the navigation stack.
261
+ * @param componentProps Any properties of the component.
262
+ * @param opts The navigation options.
263
+ * @param done The transition complete function.
264
+ */
265
+ setRoot(component, componentProps, opts, done) {
266
+ return this.setPages([{ component, componentProps }], opts, done);
267
+ }
268
+ /**
269
+ * Set the views of the current navigation stack and navigate to the last view.
270
+ * By default animations are disabled, but they can be enabled by passing options
271
+ * to the navigation controller. Navigation parameters can also be passed to the
272
+ * individual pages in the array.
273
+ *
274
+ * @param views The list of views to set as the navigation stack.
275
+ * @param opts The navigation options.
276
+ * @param done The transition complete function.
277
+ */
278
+ setPages(views, opts, done) {
279
+ opts !== null && opts !== void 0 ? opts : (opts = {});
280
+ // if animation wasn't set to true then default it to NOT animate
281
+ if (opts.animated !== true) {
282
+ opts.animated = false;
283
+ }
284
+ return this.queueTrns({
285
+ insertStart: 0,
286
+ insertViews: views,
287
+ removeStart: 0,
288
+ removeCount: -1,
289
+ opts,
290
+ }, done);
291
+ }
292
+ /**
293
+ * Called by the router to update the view.
294
+ *
295
+ * @param id The component tag.
296
+ * @param params The component params.
297
+ * @param direction A direction hint.
298
+ * @param animation an AnimationBuilder.
299
+ *
300
+ * @return the status.
301
+ * @internal
302
+ */
303
+ setRouteId(id, params, direction, animation) {
304
+ const active = this.getActiveSync();
305
+ if (matches(active, id, params)) {
306
+ return Promise.resolve({
307
+ changed: false,
308
+ element: active.element,
309
+ });
310
+ }
311
+ let resolve;
312
+ const promise = new Promise((r) => (resolve = r));
313
+ let finish;
314
+ const commonOpts = {
315
+ updateURL: false,
316
+ viewIsReady: (enteringEl) => {
317
+ let mark;
318
+ const p = new Promise((r) => (mark = r));
319
+ resolve({
320
+ changed: true,
321
+ element: enteringEl,
322
+ markVisible: async () => {
323
+ mark();
324
+ await finish;
325
+ },
326
+ });
327
+ return p;
328
+ },
329
+ };
330
+ if (direction === 'root') {
331
+ finish = this.setRoot(id, params, commonOpts);
332
+ }
333
+ else {
334
+ // Look for a view matching the target in the view stack.
335
+ const viewController = this.views.find((v) => matches(v, id, params));
336
+ if (viewController) {
337
+ finish = this.popTo(viewController, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animationBuilder: animation }));
338
+ }
339
+ else if (direction === 'forward') {
340
+ finish = this.push(id, params, Object.assign(Object.assign({}, commonOpts), { animationBuilder: animation }));
341
+ }
342
+ else if (direction === 'back') {
343
+ finish = this.setRoot(id, params, Object.assign(Object.assign({}, commonOpts), { direction: 'back', animated: true, animationBuilder: animation }));
344
+ }
345
+ }
346
+ return promise;
347
+ }
348
+ /**
349
+ * Called by <ion-router> to retrieve the current component.
350
+ *
351
+ * @internal
352
+ */
353
+ async getRouteId() {
354
+ const active = this.getActiveSync();
355
+ if (active) {
356
+ return {
357
+ id: active.element.tagName,
358
+ params: active.params,
359
+ element: active.element,
360
+ };
361
+ }
362
+ return undefined;
363
+ }
364
+ /**
365
+ * Get the active view.
366
+ */
367
+ async getActive() {
368
+ return this.getActiveSync();
369
+ }
370
+ /**
371
+ * Get the view at the specified index.
372
+ *
373
+ * @param index The index of the view.
374
+ */
375
+ async getByIndex(index) {
376
+ return this.views[index];
377
+ }
378
+ /**
379
+ * Returns `true` if the current view can go back.
380
+ *
381
+ * @param view The view to check.
382
+ */
383
+ async canGoBack(view) {
384
+ return this.canGoBackSync(view);
385
+ }
386
+ /**
387
+ * Get the previous view.
388
+ *
389
+ * @param view The view to get.
390
+ */
391
+ async getPrevious(view) {
392
+ return this.getPreviousSync(view);
393
+ }
394
+ getLength() {
395
+ return this.views.length;
396
+ }
397
+ getActiveSync() {
398
+ return this.views[this.views.length - 1];
399
+ }
400
+ canGoBackSync(view = this.getActiveSync()) {
401
+ return !!(view && this.getPreviousSync(view));
402
+ }
403
+ getPreviousSync(view = this.getActiveSync()) {
404
+ if (!view) {
405
+ return undefined;
406
+ }
407
+ const views = this.views;
408
+ const index = views.indexOf(view);
409
+ return index > 0 ? views[index - 1] : undefined;
410
+ }
411
+ /**
412
+ * Adds a navigation stack change to the queue and schedules it to run.
413
+ *
414
+ * @returns Whether the transition succeeds.
415
+ */
416
+ async queueTrns(ti, done) {
417
+ var _a, _b;
418
+ if (this.isTransitioning && ((_a = ti.opts) === null || _a === void 0 ? void 0 : _a.skipIfBusy)) {
419
+ return false;
420
+ }
421
+ const promise = new Promise((resolve, reject) => {
422
+ ti.resolve = resolve;
423
+ ti.reject = reject;
424
+ });
425
+ ti.done = done;
531
426
  /**
532
- * If heading back, use the entering page's animation
533
- * unless otherwise specified by the developer.
427
+ * If using router, check to see if navigation hooks
428
+ * will allow us to perform this transition. This
429
+ * is required in order for hooks to work with
430
+ * the ion-back-button or swipe to go back.
534
431
  */
535
- if (isBackDirection) {
536
- ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView === null || enteringView === void 0 ? void 0 : enteringView.animationBuilder);
537
- }
538
- leavingView.animationBuilder = ti.opts.animationBuilder;
539
- }
540
- let result;
541
- if (requiresTransition) {
542
- result = await this.transition(enteringView, leavingView, ti);
543
- }
544
- else {
545
- // transition is not required, so we are already done!
546
- // they're inserting/removing the views somewhere in the middle or
547
- // beginning, so visually nothing needs to animate/transition
548
- // resolve immediately because there's no animation that's happening
549
- result = {
550
- hasCompleted: true,
551
- requiresTransition: false,
552
- };
553
- }
554
- this.success(result, ti);
555
- this.ionNavDidChange.emit();
556
- }
557
- catch (rejectReason) {
558
- this.failed(rejectReason, ti);
559
- }
560
- this.isTransitioning = false;
561
- this.nextTrns();
562
- }
563
- prepareTI(ti) {
564
- var _a, _b;
565
- var _c;
566
- const viewsLength = this.views.length;
567
- (_a = ti.opts) !== null && _a !== void 0 ? _a : (ti.opts = {});
568
- (_b = (_c = ti.opts).delegate) !== null && _b !== void 0 ? _b : (_c.delegate = this.delegate);
569
- if (ti.removeView !== undefined) {
570
- helpers.assert(ti.removeStart !== undefined, 'removeView needs removeStart');
571
- helpers.assert(ti.removeCount !== undefined, 'removeView needs removeCount');
572
- const index = this.views.indexOf(ti.removeView);
573
- if (index < 0) {
574
- throw new Error('removeView was not found');
575
- }
576
- ti.removeStart += index;
577
- }
578
- if (ti.removeStart !== undefined) {
579
- if (ti.removeStart < 0) {
580
- ti.removeStart = viewsLength - 1;
581
- }
582
- if (ti.removeCount < 0) {
583
- ti.removeCount = viewsLength - ti.removeStart;
584
- }
585
- ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
586
- }
587
- if (ti.insertViews) {
588
- // allow -1 to be passed in to auto push it on the end
589
- // and clean up the index if it's larger then the size of the stack
590
- if (ti.insertStart < 0 || ti.insertStart > viewsLength) {
591
- ti.insertStart = viewsLength;
592
- }
593
- ti.enteringRequiresTransition = ti.insertStart === viewsLength;
594
- }
595
- const insertViews = ti.insertViews;
596
- if (!insertViews) {
597
- return;
598
- }
599
- helpers.assert(insertViews.length > 0, 'length can not be zero');
600
- const viewControllers = convertToViews(insertViews);
601
- if (viewControllers.length === 0) {
602
- throw new Error('invalid views to insert');
603
- }
604
- // Check all the inserted view are correct
605
- for (const view of viewControllers) {
606
- view.delegate = ti.opts.delegate;
607
- const nav = view.nav;
608
- if (nav && nav !== this) {
609
- throw new Error('inserted view was already inserted');
610
- }
611
- if (view.state === VIEW_STATE_DESTROYED) {
612
- throw new Error('inserted view was already destroyed');
613
- }
614
- }
615
- ti.insertViews = viewControllers;
616
- }
617
- /**
618
- * Returns the view that will be entered considering the transition instructions.
619
- *
620
- * @param ti The instructions.
621
- * @param leavingView The view being left or undefined if none.
622
- *
623
- * @returns The view that will be entered, undefined if none.
624
- */
625
- getEnteringView(ti, leavingView) {
626
- // The last inserted view will be entered when view are inserted.
627
- const insertViews = ti.insertViews;
628
- if (insertViews !== undefined) {
629
- return insertViews[insertViews.length - 1];
630
- }
631
- // When views are deleted, we will enter the last view that is not removed and not the view being left.
632
- const removeStart = ti.removeStart;
633
- if (removeStart !== undefined) {
634
- const views = this.views;
635
- const removeEnd = removeStart + ti.removeCount;
636
- for (let i = views.length - 1; i >= 0; i--) {
637
- const view = views[i];
638
- if ((i < removeStart || i >= removeEnd) && view !== leavingView) {
639
- return view;
640
- }
641
- }
642
- }
643
- return undefined;
644
- }
645
- /**
646
- * Adds and Removes the views from the navigation stack.
647
- *
648
- * @param enteringView The view being entered.
649
- * @param leavingView The view being left.
650
- * @param ti The instructions.
651
- */
652
- postViewInit(enteringView, leavingView, ti) {
653
- var _a, _b, _c;
654
- helpers.assert(leavingView || enteringView, 'Both leavingView and enteringView are null');
655
- helpers.assert(ti.resolve, 'resolve must be valid');
656
- helpers.assert(ti.reject, 'reject must be valid');
657
- // Compute the views to remove.
658
- const opts = ti.opts;
659
- const { insertViews, removeStart, removeCount } = ti;
660
- /** Records the view to destroy */
661
- let destroyQueue;
662
- // there are views to remove
663
- if (removeStart !== undefined && removeCount !== undefined) {
664
- helpers.assert(removeStart >= 0, 'removeStart can not be negative');
665
- helpers.assert(removeCount >= 0, 'removeCount can not be negative');
666
- destroyQueue = [];
667
- for (let i = removeStart; i < removeStart + removeCount; i++) {
668
- const view = this.views[i];
669
- if (view !== undefined && view !== enteringView && view !== leavingView) {
670
- destroyQueue.push(view);
671
- }
672
- }
673
- // default the direction to "back"
674
- (_a = opts.direction) !== null && _a !== void 0 ? _a : (opts.direction = 'back');
675
- }
676
- const finalNumViews = this.views.length + ((_b = insertViews === null || insertViews === void 0 ? void 0 : insertViews.length) !== null && _b !== void 0 ? _b : 0) - (removeCount !== null && removeCount !== void 0 ? removeCount : 0);
677
- helpers.assert(finalNumViews >= 0, 'final balance can not be negative');
678
- if (finalNumViews === 0) {
679
- console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
680
- throw new Error('navigation stack needs at least one root page');
681
- }
682
- // At this point the transition can not be rejected, any throw should be an error
683
- // Insert the new views in the stack.
684
- if (insertViews) {
685
- // add the views to the
686
- let insertIndex = ti.insertStart;
687
- for (const view of insertViews) {
688
- this.insertViewAt(view, insertIndex);
689
- insertIndex++;
690
- }
691
- if (ti.enteringRequiresTransition) {
692
- // default to forward if not already set
693
- (_c = opts.direction) !== null && _c !== void 0 ? _c : (opts.direction = 'forward');
694
- }
695
- }
696
- // if the views to be removed are in the beginning or middle
697
- // and there is not a view that needs to visually transition out
698
- // then just destroy them and don't transition anything
699
- // batch all of lifecycles together
700
- // let's make sure, callbacks are zoned
701
- if (destroyQueue && destroyQueue.length > 0) {
702
- for (const view of destroyQueue) {
703
- index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_LEAVE);
704
- index$1.lifecycle(view.element, index$1.LIFECYCLE_DID_LEAVE);
705
- index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
706
- }
707
- // once all lifecycle events has been delivered, we can safely detroy the views
708
- for (const view of destroyQueue) {
709
- this.destroyView(view);
710
- }
711
- }
712
- }
713
- async transition(enteringView, leavingView, ti) {
714
- // we should animate (duration > 0) if the pushed page is not the first one (startup)
715
- // or if it is a portal (modal, actionsheet, etc.)
716
- const opts = ti.opts;
717
- const progressCallback = opts.progressAnimation
718
- ? (ani) => {
432
+ if (ti.opts && ti.opts.updateURL !== false && this.useRouter) {
433
+ const router = document.querySelector('ion-router');
434
+ if (router) {
435
+ const canTransition = await router.canTransition();
436
+ if (canTransition === false) {
437
+ return false;
438
+ }
439
+ if (typeof canTransition === 'string') {
440
+ router.push(canTransition, ti.opts.direction || 'back');
441
+ return false;
442
+ }
443
+ }
444
+ }
445
+ // Normalize empty
446
+ if (((_b = ti.insertViews) === null || _b === void 0 ? void 0 : _b.length) === 0) {
447
+ ti.insertViews = undefined;
448
+ }
449
+ // Enqueue transition instruction
450
+ this.transInstr.push(ti);
451
+ // if there isn't a transition already happening
452
+ // then this will kick off this transition
453
+ this.nextTrns();
454
+ return promise;
455
+ }
456
+ success(result, ti) {
457
+ if (this.destroyed) {
458
+ this.fireError('nav controller was destroyed', ti);
459
+ return;
460
+ }
461
+ if (ti.done) {
462
+ ti.done(result.hasCompleted, result.requiresTransition, result.enteringView, result.leavingView, result.direction);
463
+ }
464
+ ti.resolve(result.hasCompleted);
465
+ if (ti.opts.updateURL !== false && this.useRouter) {
466
+ const router = document.querySelector('ion-router');
467
+ if (router) {
468
+ const direction = result.direction === 'back' ? 'back' : 'forward';
469
+ router.navChanged(direction);
470
+ }
471
+ }
472
+ }
473
+ failed(rejectReason, ti) {
474
+ if (this.destroyed) {
475
+ this.fireError('nav controller was destroyed', ti);
476
+ return;
477
+ }
478
+ this.transInstr.length = 0;
479
+ this.fireError(rejectReason, ti);
480
+ }
481
+ fireError(rejectReason, ti) {
482
+ if (ti.done) {
483
+ ti.done(false, false, rejectReason);
484
+ }
485
+ if (ti.reject && !this.destroyed) {
486
+ ti.reject(rejectReason);
487
+ }
488
+ else {
489
+ ti.resolve(false);
490
+ }
491
+ }
492
+ /**
493
+ * Consumes the next transition in the queue.
494
+ *
495
+ * @returns whether the transition is executed.
496
+ */
497
+ nextTrns() {
498
+ // this is the framework's bread 'n butta function
499
+ // only one transition is allowed at any given time
500
+ if (this.isTransitioning) {
501
+ return false;
502
+ }
503
+ // there is no transition happening right now, executes the next instructions.
504
+ const ti = this.transInstr.shift();
505
+ if (!ti) {
506
+ return false;
507
+ }
508
+ this.runTransition(ti);
509
+ return true;
510
+ }
511
+ /** Executes all the transition instruction from the queue. */
512
+ async runTransition(ti) {
513
+ try {
514
+ // set that this nav is actively transitioning
515
+ this.ionNavWillChange.emit();
516
+ this.isTransitioning = true;
517
+ this.prepareTI(ti);
518
+ const leavingView = this.getActiveSync();
519
+ const enteringView = this.getEnteringView(ti, leavingView);
520
+ if (!leavingView && !enteringView) {
521
+ throw new Error('no views in the stack to be removed');
522
+ }
523
+ if (enteringView && enteringView.state === VIEW_STATE_NEW) {
524
+ await enteringView.init(this.el);
525
+ }
526
+ this.postViewInit(enteringView, leavingView, ti);
527
+ // Needs transition?
528
+ const requiresTransition = (ti.enteringRequiresTransition || ti.leavingRequiresTransition) && enteringView !== leavingView;
529
+ if (requiresTransition && ti.opts && leavingView) {
530
+ const isBackDirection = ti.opts.direction === 'back';
531
+ /**
532
+ * If heading back, use the entering page's animation
533
+ * unless otherwise specified by the developer.
534
+ */
535
+ if (isBackDirection) {
536
+ ti.opts.animationBuilder = ti.opts.animationBuilder || (enteringView === null || enteringView === void 0 ? void 0 : enteringView.animationBuilder);
537
+ }
538
+ leavingView.animationBuilder = ti.opts.animationBuilder;
539
+ }
540
+ let result;
541
+ if (requiresTransition) {
542
+ result = await this.transition(enteringView, leavingView, ti);
543
+ }
544
+ else {
545
+ // transition is not required, so we are already done!
546
+ // they're inserting/removing the views somewhere in the middle or
547
+ // beginning, so visually nothing needs to animate/transition
548
+ // resolve immediately because there's no animation that's happening
549
+ result = {
550
+ hasCompleted: true,
551
+ requiresTransition: false,
552
+ };
553
+ }
554
+ this.success(result, ti);
555
+ this.ionNavDidChange.emit();
556
+ }
557
+ catch (rejectReason) {
558
+ this.failed(rejectReason, ti);
559
+ }
560
+ this.isTransitioning = false;
561
+ this.nextTrns();
562
+ }
563
+ prepareTI(ti) {
564
+ var _a, _b;
565
+ var _c;
566
+ const viewsLength = this.views.length;
567
+ (_a = ti.opts) !== null && _a !== void 0 ? _a : (ti.opts = {});
568
+ (_b = (_c = ti.opts).delegate) !== null && _b !== void 0 ? _b : (_c.delegate = this.delegate);
569
+ if (ti.removeView !== undefined) {
570
+ helpers.assert(ti.removeStart !== undefined, 'removeView needs removeStart');
571
+ helpers.assert(ti.removeCount !== undefined, 'removeView needs removeCount');
572
+ const index = this.views.indexOf(ti.removeView);
573
+ if (index < 0) {
574
+ throw new Error('removeView was not found');
575
+ }
576
+ ti.removeStart += index;
577
+ }
578
+ if (ti.removeStart !== undefined) {
579
+ if (ti.removeStart < 0) {
580
+ ti.removeStart = viewsLength - 1;
581
+ }
582
+ if (ti.removeCount < 0) {
583
+ ti.removeCount = viewsLength - ti.removeStart;
584
+ }
585
+ ti.leavingRequiresTransition = ti.removeCount > 0 && ti.removeStart + ti.removeCount === viewsLength;
586
+ }
587
+ if (ti.insertViews) {
588
+ // allow -1 to be passed in to auto push it on the end
589
+ // and clean up the index if it's larger then the size of the stack
590
+ if (ti.insertStart < 0 || ti.insertStart > viewsLength) {
591
+ ti.insertStart = viewsLength;
592
+ }
593
+ ti.enteringRequiresTransition = ti.insertStart === viewsLength;
594
+ }
595
+ const insertViews = ti.insertViews;
596
+ if (!insertViews) {
597
+ return;
598
+ }
599
+ helpers.assert(insertViews.length > 0, 'length can not be zero');
600
+ const viewControllers = convertToViews(insertViews);
601
+ if (viewControllers.length === 0) {
602
+ throw new Error('invalid views to insert');
603
+ }
604
+ // Check all the inserted view are correct
605
+ for (const view of viewControllers) {
606
+ view.delegate = ti.opts.delegate;
607
+ const nav = view.nav;
608
+ if (nav && nav !== this) {
609
+ throw new Error('inserted view was already inserted');
610
+ }
611
+ if (view.state === VIEW_STATE_DESTROYED) {
612
+ throw new Error('inserted view was already destroyed');
613
+ }
614
+ }
615
+ ti.insertViews = viewControllers;
616
+ }
617
+ /**
618
+ * Returns the view that will be entered considering the transition instructions.
619
+ *
620
+ * @param ti The instructions.
621
+ * @param leavingView The view being left or undefined if none.
622
+ *
623
+ * @returns The view that will be entered, undefined if none.
624
+ */
625
+ getEnteringView(ti, leavingView) {
626
+ // The last inserted view will be entered when view are inserted.
627
+ const insertViews = ti.insertViews;
628
+ if (insertViews !== undefined) {
629
+ return insertViews[insertViews.length - 1];
630
+ }
631
+ // When views are deleted, we will enter the last view that is not removed and not the view being left.
632
+ const removeStart = ti.removeStart;
633
+ if (removeStart !== undefined) {
634
+ const views = this.views;
635
+ const removeEnd = removeStart + ti.removeCount;
636
+ for (let i = views.length - 1; i >= 0; i--) {
637
+ const view = views[i];
638
+ if ((i < removeStart || i >= removeEnd) && view !== leavingView) {
639
+ return view;
640
+ }
641
+ }
642
+ }
643
+ return undefined;
644
+ }
645
+ /**
646
+ * Adds and Removes the views from the navigation stack.
647
+ *
648
+ * @param enteringView The view being entered.
649
+ * @param leavingView The view being left.
650
+ * @param ti The instructions.
651
+ */
652
+ postViewInit(enteringView, leavingView, ti) {
653
+ var _a, _b, _c;
654
+ helpers.assert(leavingView || enteringView, 'Both leavingView and enteringView are null');
655
+ helpers.assert(ti.resolve, 'resolve must be valid');
656
+ helpers.assert(ti.reject, 'reject must be valid');
657
+ // Compute the views to remove.
658
+ const opts = ti.opts;
659
+ const { insertViews, removeStart, removeCount } = ti;
660
+ /** Records the view to destroy */
661
+ let destroyQueue;
662
+ // there are views to remove
663
+ if (removeStart !== undefined && removeCount !== undefined) {
664
+ helpers.assert(removeStart >= 0, 'removeStart can not be negative');
665
+ helpers.assert(removeCount >= 0, 'removeCount can not be negative');
666
+ destroyQueue = [];
667
+ for (let i = removeStart; i < removeStart + removeCount; i++) {
668
+ const view = this.views[i];
669
+ if (view !== undefined && view !== enteringView && view !== leavingView) {
670
+ destroyQueue.push(view);
671
+ }
672
+ }
673
+ // default the direction to "back"
674
+ (_a = opts.direction) !== null && _a !== void 0 ? _a : (opts.direction = 'back');
675
+ }
676
+ const finalNumViews = this.views.length + ((_b = insertViews === null || insertViews === void 0 ? void 0 : insertViews.length) !== null && _b !== void 0 ? _b : 0) - (removeCount !== null && removeCount !== void 0 ? removeCount : 0);
677
+ helpers.assert(finalNumViews >= 0, 'final balance can not be negative');
678
+ if (finalNumViews === 0) {
679
+ console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
680
+ throw new Error('navigation stack needs at least one root page');
681
+ }
682
+ // At this point the transition can not be rejected, any throw should be an error
683
+ // Insert the new views in the stack.
684
+ if (insertViews) {
685
+ // add the views to the
686
+ let insertIndex = ti.insertStart;
687
+ for (const view of insertViews) {
688
+ this.insertViewAt(view, insertIndex);
689
+ insertIndex++;
690
+ }
691
+ if (ti.enteringRequiresTransition) {
692
+ // default to forward if not already set
693
+ (_c = opts.direction) !== null && _c !== void 0 ? _c : (opts.direction = 'forward');
694
+ }
695
+ }
696
+ // if the views to be removed are in the beginning or middle
697
+ // and there is not a view that needs to visually transition out
698
+ // then just destroy them and don't transition anything
699
+ // batch all of lifecycles together
700
+ // let's make sure, callbacks are zoned
701
+ if (destroyQueue && destroyQueue.length > 0) {
702
+ for (const view of destroyQueue) {
703
+ index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_LEAVE);
704
+ index$1.lifecycle(view.element, index$1.LIFECYCLE_DID_LEAVE);
705
+ index$1.lifecycle(view.element, index$1.LIFECYCLE_WILL_UNLOAD);
706
+ }
707
+ // once all lifecycle events has been delivered, we can safely detroy the views
708
+ for (const view of destroyQueue) {
709
+ this.destroyView(view);
710
+ }
711
+ }
712
+ }
713
+ async transition(enteringView, leavingView, ti) {
714
+ // we should animate (duration > 0) if the pushed page is not the first one (startup)
715
+ // or if it is a portal (modal, actionsheet, etc.)
716
+ const opts = ti.opts;
717
+ const progressCallback = opts.progressAnimation
718
+ ? (ani) => {
719
+ /**
720
+ * Because this progress callback is called asynchronously
721
+ * it is possible for the gesture to start and end before
722
+ * the animation is ever set. In that scenario, we should
723
+ * immediately call progressEnd so that the transition promise
724
+ * resolves and the gesture does not get locked up.
725
+ */
726
+ if (ani !== undefined && !this.gestureOrAnimationInProgress) {
727
+ this.gestureOrAnimationInProgress = true;
728
+ ani.onFinish(() => {
729
+ this.gestureOrAnimationInProgress = false;
730
+ }, { oneTimeCallback: true });
731
+ /**
732
+ * Playing animation to beginning
733
+ * with a duration of 0 prevents
734
+ * any flickering when the animation
735
+ * is later cleaned up.
736
+ */
737
+ ani.progressEnd(0, 0, 0);
738
+ }
739
+ else {
740
+ this.sbAni = ani;
741
+ }
742
+ }
743
+ : undefined;
744
+ const mode = ionicGlobal.getIonMode(this);
745
+ const enteringEl = enteringView.element;
746
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
747
+ const leavingEl = leavingView && leavingView.element;
748
+ const animationOpts = Object.assign(Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, progressCallback, animated: this.animated && ionicGlobal.config.getBoolean('animated', true), enteringEl,
749
+ leavingEl }, opts), { animationBuilder: opts.animationBuilder || this.animation || ionicGlobal.config.get('navAnimation') });
750
+ const { hasCompleted } = await index$1.transition(animationOpts);
751
+ return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
752
+ }
753
+ transitionFinish(hasCompleted, enteringView, leavingView, opts) {
719
754
  /**
720
- * Because this progress callback is called asynchronously
721
- * it is possible for the gesture to start and end before
722
- * the animation is ever set. In that scenario, we should
723
- * immediately call progressEnd so that the transition promise
724
- * resolves and the gesture does not get locked up.
755
+ * If the transition did not complete, the leavingView will still be the active
756
+ * view on the stack. Otherwise unmount all the views after the enteringView.
725
757
  */
726
- if (ani !== undefined && !this.gestureOrAnimationInProgress) {
727
- this.gestureOrAnimationInProgress = true;
728
- ani.onFinish(() => {
729
- this.gestureOrAnimationInProgress = false;
730
- }, { oneTimeCallback: true });
731
- /**
732
- * Playing animation to beginning
733
- * with a duration of 0 prevents
734
- * any flickering when the animation
735
- * is later cleaned up.
736
- */
737
- ani.progressEnd(0, 0, 0);
758
+ const activeView = hasCompleted ? enteringView : leavingView;
759
+ if (activeView) {
760
+ this.unmountInactiveViews(activeView);
761
+ }
762
+ return {
763
+ hasCompleted,
764
+ requiresTransition: true,
765
+ enteringView,
766
+ leavingView,
767
+ direction: opts.direction,
768
+ };
769
+ }
770
+ /**
771
+ * Inserts a view at the specified index.
772
+ *
773
+ * When the view already is in the stack it will be moved to the new position.
774
+ *
775
+ * @param view The view to insert.
776
+ * @param index The index where to insert the view.
777
+ */
778
+ insertViewAt(view, index) {
779
+ const views = this.views;
780
+ const existingIndex = views.indexOf(view);
781
+ if (existingIndex > -1) {
782
+ helpers.assert(view.nav === this, 'view is not part of the nav');
783
+ // The view already in the stack, removes it.
784
+ views.splice(existingIndex, 1);
785
+ // and add it back at the requested index.
786
+ views.splice(index, 0, view);
738
787
  }
739
788
  else {
740
- this.sbAni = ani;
741
- }
742
- }
743
- : undefined;
744
- const mode = ionicGlobal.getIonMode(this);
745
- const enteringEl = enteringView.element;
746
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
747
- const leavingEl = leavingView && leavingView.element;
748
- const animationOpts = Object.assign(Object.assign({ mode, showGoBack: this.canGoBackSync(enteringView), baseEl: this.el, progressCallback, animated: this.animated && ionicGlobal.config.getBoolean('animated', true), enteringEl,
749
- leavingEl }, opts), { animationBuilder: opts.animationBuilder || this.animation || ionicGlobal.config.get('navAnimation') });
750
- const { hasCompleted } = await index$1.transition(animationOpts);
751
- return this.transitionFinish(hasCompleted, enteringView, leavingView, opts);
752
- }
753
- transitionFinish(hasCompleted, enteringView, leavingView, opts) {
789
+ helpers.assert(!view.nav, 'nav is used');
790
+ // this is a new view to add to the stack
791
+ // create the new entering view
792
+ view.nav = this;
793
+ views.splice(index, 0, view);
794
+ }
795
+ }
754
796
  /**
755
- * If the transition did not complete, the leavingView will still be the active
756
- * view on the stack. Otherwise unmount all the views after the enteringView.
797
+ * Removes a view from the stack.
798
+ *
799
+ * @param view The view to remove.
757
800
  */
758
- const activeView = hasCompleted ? enteringView : leavingView;
759
- if (activeView) {
760
- this.unmountInactiveViews(activeView);
761
- }
762
- return {
763
- hasCompleted,
764
- requiresTransition: true,
765
- enteringView,
766
- leavingView,
767
- direction: opts.direction,
768
- };
769
- }
770
- /**
771
- * Inserts a view at the specified index.
772
- *
773
- * When the view already is in the stack it will be moved to the new position.
774
- *
775
- * @param view The view to insert.
776
- * @param index The index where to insert the view.
777
- */
778
- insertViewAt(view, index) {
779
- const views = this.views;
780
- const existingIndex = views.indexOf(view);
781
- if (existingIndex > -1) {
782
- helpers.assert(view.nav === this, 'view is not part of the nav');
783
- // The view already in the stack, removes it.
784
- views.splice(existingIndex, 1);
785
- // and add it back at the requested index.
786
- views.splice(index, 0, view);
787
- }
788
- else {
789
- helpers.assert(!view.nav, 'nav is used');
790
- // this is a new view to add to the stack
791
- // create the new entering view
792
- view.nav = this;
793
- views.splice(index, 0, view);
794
- }
795
- }
796
- /**
797
- * Removes a view from the stack.
798
- *
799
- * @param view The view to remove.
800
- */
801
- removeView(view) {
802
- helpers.assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');
803
- const views = this.views;
804
- const index = views.indexOf(view);
805
- helpers.assert(index > -1, 'view must be part of the stack');
806
- if (index >= 0) {
807
- views.splice(index, 1);
808
- }
809
- }
810
- destroyView(view) {
811
- view._destroy();
812
- this.removeView(view);
813
- }
814
- /**
815
- * Unmounts all inactive views after the specified active view.
816
- *
817
- * DOM WRITE
818
- *
819
- * @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
820
- */
821
- unmountInactiveViews(activeView) {
822
- // ok, cleanup time!! Destroy all of the views that are
823
- // INACTIVE and come after the active view
824
- // only do this if the views exist, though
825
- if (this.destroyed) {
826
- return;
827
- }
828
- const views = this.views;
829
- const activeViewIndex = views.indexOf(activeView);
830
- for (let i = views.length - 1; i >= 0; i--) {
831
- const view = views[i];
832
- /**
833
- * When inserting multiple views via insertPages
834
- * the last page will be transitioned to, but the
835
- * others will not be. As a result, a DOM element
836
- * will only be created for the last page inserted.
837
- * As a result, it is possible to have views in the
838
- * stack that do not have `view.element` yet.
839
- */
840
- const element = view.element;
841
- if (element) {
842
- if (i > activeViewIndex) {
843
- // this view comes after the active view
844
- // let's unload it
845
- index$1.lifecycle(element, index$1.LIFECYCLE_WILL_UNLOAD);
846
- this.destroyView(view);
847
- }
848
- else if (i < activeViewIndex) {
849
- // this view comes before the active view
850
- // and it is not a portal then ensure it is hidden
851
- index$1.setPageHidden(element, true);
852
- }
853
- }
854
- }
855
- }
856
- canStart() {
857
- return (!this.gestureOrAnimationInProgress &&
858
- !!this.swipeGesture &&
859
- !this.isTransitioning &&
860
- this.transInstr.length === 0 &&
861
- this.canGoBackSync());
862
- }
863
- onStart() {
864
- this.gestureOrAnimationInProgress = true;
865
- this.pop({ direction: 'back', progressAnimation: true });
866
- }
867
- onMove(stepValue) {
868
- if (this.sbAni) {
869
- this.sbAni.progressStep(stepValue);
870
- }
871
- }
872
- onEnd(shouldComplete, stepValue, dur) {
873
- if (this.sbAni) {
874
- this.sbAni.onFinish(() => {
875
- this.gestureOrAnimationInProgress = false;
876
- }, { oneTimeCallback: true });
877
- // Account for rounding errors in JS
878
- let newStepValue = shouldComplete ? -0.001 : 0.001;
879
- /**
880
- * Animation will be reversed here, so need to
881
- * reverse the easing curve as well
882
- *
883
- * Additionally, we need to account for the time relative
884
- * to the new easing curve, as `stepValue` is going to be given
885
- * in terms of a linear curve.
886
- */
887
- if (!shouldComplete) {
888
- this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)');
889
- newStepValue += cubicBezier.getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0];
890
- }
891
- else {
892
- newStepValue += cubicBezier.getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0];
893
- }
894
- this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);
895
- }
896
- else {
897
- this.gestureOrAnimationInProgress = false;
898
- }
899
- }
900
- render() {
901
- return index.h("slot", null);
902
- }
903
- get el() { return index.getElement(this); }
904
- static get watchers() { return {
905
- "swipeGesture": ["swipeGestureChanged"],
906
- "root": ["rootChanged"]
907
- }; }
801
+ removeView(view) {
802
+ helpers.assert(view.state === VIEW_STATE_ATTACHED || view.state === VIEW_STATE_DESTROYED, 'view state should be loaded or destroyed');
803
+ const views = this.views;
804
+ const index = views.indexOf(view);
805
+ helpers.assert(index > -1, 'view must be part of the stack');
806
+ if (index >= 0) {
807
+ views.splice(index, 1);
808
+ }
809
+ }
810
+ destroyView(view) {
811
+ view._destroy();
812
+ this.removeView(view);
813
+ }
814
+ /**
815
+ * Unmounts all inactive views after the specified active view.
816
+ *
817
+ * DOM WRITE
818
+ *
819
+ * @param activeView The view that is actively visible in the stack. Used to calculate which views to unmount.
820
+ */
821
+ unmountInactiveViews(activeView) {
822
+ // ok, cleanup time!! Destroy all of the views that are
823
+ // INACTIVE and come after the active view
824
+ // only do this if the views exist, though
825
+ if (this.destroyed) {
826
+ return;
827
+ }
828
+ const views = this.views;
829
+ const activeViewIndex = views.indexOf(activeView);
830
+ for (let i = views.length - 1; i >= 0; i--) {
831
+ const view = views[i];
832
+ /**
833
+ * When inserting multiple views via insertPages
834
+ * the last page will be transitioned to, but the
835
+ * others will not be. As a result, a DOM element
836
+ * will only be created for the last page inserted.
837
+ * As a result, it is possible to have views in the
838
+ * stack that do not have `view.element` yet.
839
+ */
840
+ const element = view.element;
841
+ if (element) {
842
+ if (i > activeViewIndex) {
843
+ // this view comes after the active view
844
+ // let's unload it
845
+ index$1.lifecycle(element, index$1.LIFECYCLE_WILL_UNLOAD);
846
+ this.destroyView(view);
847
+ }
848
+ else if (i < activeViewIndex) {
849
+ // this view comes before the active view
850
+ // and it is not a portal then ensure it is hidden
851
+ index$1.setPageHidden(element, true);
852
+ }
853
+ }
854
+ }
855
+ }
856
+ canStart() {
857
+ return (!this.gestureOrAnimationInProgress &&
858
+ !!this.swipeGesture &&
859
+ !this.isTransitioning &&
860
+ this.transInstr.length === 0 &&
861
+ this.canGoBackSync());
862
+ }
863
+ onStart() {
864
+ this.gestureOrAnimationInProgress = true;
865
+ this.pop({ direction: 'back', progressAnimation: true });
866
+ }
867
+ onMove(stepValue) {
868
+ if (this.sbAni) {
869
+ this.sbAni.progressStep(stepValue);
870
+ }
871
+ }
872
+ onEnd(shouldComplete, stepValue, dur) {
873
+ if (this.sbAni) {
874
+ this.sbAni.onFinish(() => {
875
+ this.gestureOrAnimationInProgress = false;
876
+ }, { oneTimeCallback: true });
877
+ // Account for rounding errors in JS
878
+ let newStepValue = shouldComplete ? -0.001 : 0.001;
879
+ /**
880
+ * Animation will be reversed here, so need to
881
+ * reverse the easing curve as well
882
+ *
883
+ * Additionally, we need to account for the time relative
884
+ * to the new easing curve, as `stepValue` is going to be given
885
+ * in terms of a linear curve.
886
+ */
887
+ if (!shouldComplete) {
888
+ this.sbAni.easing('cubic-bezier(1, 0, 0.68, 0.28)');
889
+ newStepValue += cubicBezier.getTimeGivenProgression([0, 0], [1, 0], [0.68, 0.28], [1, 1], stepValue)[0];
890
+ }
891
+ else {
892
+ newStepValue += cubicBezier.getTimeGivenProgression([0, 0], [0.32, 0.72], [0, 1], [1, 1], stepValue)[0];
893
+ }
894
+ this.sbAni.progressEnd(shouldComplete ? 1 : 0, newStepValue, dur);
895
+ }
896
+ else {
897
+ this.gestureOrAnimationInProgress = false;
898
+ }
899
+ }
900
+ render() {
901
+ return index.h("slot", null);
902
+ }
903
+ get el() { return index.getElement(this); }
904
+ static get watchers() { return {
905
+ "swipeGesture": ["swipeGestureChanged"],
906
+ "root": ["rootChanged"]
907
+ }; }
908
908
  };
909
909
  Nav.style = navCss;
910
910
 
911
911
  const navLink = (el, routerDirection, component, componentProps, routerAnimation) => {
912
- const nav = el.closest('ion-nav');
913
- if (nav) {
914
- if (routerDirection === 'forward') {
915
- if (component !== undefined) {
916
- return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });
917
- }
918
- }
919
- else if (routerDirection === 'root') {
920
- if (component !== undefined) {
921
- return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });
922
- }
923
- }
924
- else if (routerDirection === 'back') {
925
- return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation });
926
- }
927
- }
928
- return Promise.resolve(false);
912
+ const nav = el.closest('ion-nav');
913
+ if (nav) {
914
+ if (routerDirection === 'forward') {
915
+ if (component !== undefined) {
916
+ return nav.push(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });
917
+ }
918
+ }
919
+ else if (routerDirection === 'root') {
920
+ if (component !== undefined) {
921
+ return nav.setRoot(component, componentProps, { skipIfBusy: true, animationBuilder: routerAnimation });
922
+ }
923
+ }
924
+ else if (routerDirection === 'back') {
925
+ return nav.pop({ skipIfBusy: true, animationBuilder: routerAnimation });
926
+ }
927
+ }
928
+ return Promise.resolve(false);
929
929
  };
930
930
 
931
931
  const NavLink = class {
932
- constructor(hostRef) {
933
- index.registerInstance(this, hostRef);
934
- this.onClick = () => {
935
- return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);
936
- };
937
- this.component = undefined;
938
- this.componentProps = undefined;
939
- this.routerDirection = 'forward';
940
- this.routerAnimation = undefined;
941
- }
942
- render() {
943
- return index.h(index.Host, { onClick: this.onClick });
944
- }
945
- get el() { return index.getElement(this); }
932
+ constructor(hostRef) {
933
+ index.registerInstance(this, hostRef);
934
+ this.onClick = () => {
935
+ return navLink(this.el, this.routerDirection, this.component, this.componentProps, this.routerAnimation);
936
+ };
937
+ this.component = undefined;
938
+ this.componentProps = undefined;
939
+ this.routerDirection = 'forward';
940
+ this.routerAnimation = undefined;
941
+ }
942
+ render() {
943
+ return index.h(index.Host, { onClick: this.onClick });
944
+ }
945
+ get el() { return index.getElement(this); }
946
946
  };
947
947
 
948
948
  exports.ion_nav = Nav;