@ionic/core 7.5.7 → 7.5.8-dev.11701293337.112ba209

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 (1606) hide show
  1. package/components/action-sheet.js +287 -287
  2. package/components/alert.js +465 -465
  3. package/components/animation.js +990 -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 +168 -168
  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 +258 -258
  26. package/components/index6.js +3 -3
  27. package/components/index8.js +58 -58
  28. package/components/index9.js +171 -171
  29. package/components/input-shims.js +483 -483
  30. package/components/input.utils.js +105 -105
  31. package/components/ion-accordion-group.d.ts +2 -2
  32. package/components/ion-accordion-group.js +220 -220
  33. package/components/ion-accordion.d.ts +2 -2
  34. package/components/ion-accordion.js +326 -326
  35. package/components/ion-action-sheet.d.ts +2 -2
  36. package/components/ion-alert.d.ts +2 -2
  37. package/components/ion-app.d.ts +2 -2
  38. package/components/ion-app.js +93 -93
  39. package/components/ion-avatar.d.ts +2 -2
  40. package/components/ion-avatar.js +23 -23
  41. package/components/ion-back-button.d.ts +2 -2
  42. package/components/ion-back-button.js +102 -102
  43. package/components/ion-backdrop.d.ts +2 -2
  44. package/components/ion-badge.d.ts +2 -2
  45. package/components/ion-badge.js +29 -29
  46. package/components/ion-breadcrumb.d.ts +2 -2
  47. package/components/ion-breadcrumb.js +111 -111
  48. package/components/ion-breadcrumbs.d.ts +2 -2
  49. package/components/ion-breadcrumbs.js +139 -139
  50. package/components/ion-button.d.ts +2 -2
  51. package/components/ion-buttons.d.ts +2 -2
  52. package/components/ion-card-content.d.ts +2 -2
  53. package/components/ion-card-content.js +27 -27
  54. package/components/ion-card-header.d.ts +2 -2
  55. package/components/ion-card-header.js +33 -33
  56. package/components/ion-card-subtitle.d.ts +2 -2
  57. package/components/ion-card-subtitle.js +30 -30
  58. package/components/ion-card-title.d.ts +2 -2
  59. package/components/ion-card-title.js +30 -30
  60. package/components/ion-card.d.ts +2 -2
  61. package/components/ion-card.js +78 -78
  62. package/components/ion-checkbox.d.ts +2 -2
  63. package/components/ion-chip.d.ts +2 -2
  64. package/components/ion-chip.js +41 -41
  65. package/components/ion-col.d.ts +2 -2
  66. package/components/ion-col.js +156 -156
  67. package/components/ion-content.d.ts +2 -2
  68. package/components/ion-content.js +394 -394
  69. package/components/ion-datetime-button.d.ts +2 -2
  70. package/components/ion-datetime-button.js +348 -348
  71. package/components/ion-datetime.d.ts +2 -2
  72. package/components/ion-datetime.js +1729 -1720
  73. package/components/ion-fab-button.d.ts +2 -2
  74. package/components/ion-fab-button.js +109 -109
  75. package/components/ion-fab-list.d.ts +2 -2
  76. package/components/ion-fab-list.js +44 -44
  77. package/components/ion-fab.d.ts +2 -2
  78. package/components/ion-fab.js +75 -75
  79. package/components/ion-footer.d.ts +2 -2
  80. package/components/ion-footer.js +124 -124
  81. package/components/ion-grid.d.ts +2 -2
  82. package/components/ion-grid.js +27 -27
  83. package/components/ion-header.d.ts +2 -2
  84. package/components/ion-header.js +298 -298
  85. package/components/ion-img.d.ts +2 -2
  86. package/components/ion-img.js +97 -97
  87. package/components/ion-infinite-scroll-content.d.ts +2 -2
  88. package/components/ion-infinite-scroll-content.js +49 -49
  89. package/components/ion-infinite-scroll.d.ts +2 -2
  90. package/components/ion-infinite-scroll.js +179 -179
  91. package/components/ion-input.d.ts +2 -2
  92. package/components/ion-input.js +452 -452
  93. package/components/ion-item-divider.d.ts +2 -2
  94. package/components/ion-item-divider.js +34 -34
  95. package/components/ion-item-group.d.ts +2 -2
  96. package/components/ion-item-group.js +28 -28
  97. package/components/ion-item-option.d.ts +2 -2
  98. package/components/ion-item-option.js +67 -67
  99. package/components/ion-item-options.d.ts +2 -2
  100. package/components/ion-item-options.js +50 -50
  101. package/components/ion-item-sliding.d.ts +2 -2
  102. package/components/ion-item-sliding.js +404 -404
  103. package/components/ion-item.d.ts +2 -2
  104. package/components/ion-label.d.ts +2 -2
  105. package/components/ion-list-header.d.ts +2 -2
  106. package/components/ion-list.d.ts +2 -2
  107. package/components/ion-loading.d.ts +2 -2
  108. package/components/ion-loading.js +247 -247
  109. package/components/ion-menu-button.d.ts +2 -2
  110. package/components/ion-menu-button.js +77 -77
  111. package/components/ion-menu-toggle.d.ts +2 -2
  112. package/components/ion-menu-toggle.js +41 -41
  113. package/components/ion-menu.d.ts +2 -2
  114. package/components/ion-menu.js +629 -629
  115. package/components/ion-modal.d.ts +2 -2
  116. package/components/ion-modal.js +1440 -1440
  117. package/components/ion-nav-link.d.ts +2 -2
  118. package/components/ion-nav-link.js +47 -47
  119. package/components/ion-nav.d.ts +2 -2
  120. package/components/ion-nav.js +910 -910
  121. package/components/ion-note.d.ts +2 -2
  122. package/components/ion-picker-column-internal.d.ts +2 -2
  123. package/components/ion-picker-column.d.ts +2 -2
  124. package/components/ion-picker-internal.d.ts +2 -2
  125. package/components/ion-picker.d.ts +2 -2
  126. package/components/ion-picker.js +253 -253
  127. package/components/ion-popover.d.ts +2 -2
  128. package/components/ion-progress-bar.d.ts +2 -2
  129. package/components/ion-progress-bar.js +57 -57
  130. package/components/ion-radio-group.d.ts +2 -2
  131. package/components/ion-radio.d.ts +2 -2
  132. package/components/ion-range.d.ts +2 -2
  133. package/components/ion-range.js +589 -589
  134. package/components/ion-refresher-content.d.ts +2 -2
  135. package/components/ion-refresher-content.js +63 -63
  136. package/components/ion-refresher.d.ts +2 -2
  137. package/components/ion-refresher.js +747 -747
  138. package/components/ion-reorder-group.d.ts +2 -2
  139. package/components/ion-reorder-group.js +259 -259
  140. package/components/ion-reorder.d.ts +2 -2
  141. package/components/ion-reorder.js +39 -39
  142. package/components/ion-ripple-effect.d.ts +2 -2
  143. package/components/ion-route-redirect.d.ts +2 -2
  144. package/components/ion-route-redirect.js +34 -34
  145. package/components/ion-route.d.ts +2 -2
  146. package/components/ion-route.js +56 -56
  147. package/components/ion-router-link.d.ts +2 -2
  148. package/components/ion-router-link.js +45 -45
  149. package/components/ion-router-outlet.d.ts +2 -2
  150. package/components/ion-router-outlet.js +192 -192
  151. package/components/ion-router.d.ts +2 -2
  152. package/components/ion-router.js +632 -632
  153. package/components/ion-row.d.ts +2 -2
  154. package/components/ion-row.js +20 -20
  155. package/components/ion-searchbar.d.ts +2 -2
  156. package/components/ion-searchbar.js +400 -400
  157. package/components/ion-segment-button.d.ts +2 -2
  158. package/components/ion-segment-button.js +117 -117
  159. package/components/ion-segment.d.ts +2 -2
  160. package/components/ion-segment.js +427 -427
  161. package/components/ion-select-option.d.ts +2 -2
  162. package/components/ion-select-option.js +27 -27
  163. package/components/ion-select-popover.d.ts +2 -2
  164. package/components/ion-select.d.ts +2 -2
  165. package/components/ion-select.js +756 -756
  166. package/components/ion-skeleton-text.d.ts +2 -2
  167. package/components/ion-skeleton-text.js +31 -31
  168. package/components/ion-spinner.d.ts +2 -2
  169. package/components/ion-split-pane.d.ts +2 -2
  170. package/components/ion-split-pane.js +145 -145
  171. package/components/ion-tab-bar.d.ts +2 -2
  172. package/components/ion-tab-bar.js +77 -77
  173. package/components/ion-tab-button.d.ts +2 -2
  174. package/components/ion-tab-button.js +104 -104
  175. package/components/ion-tab.d.ts +2 -2
  176. package/components/ion-tab.js +72 -72
  177. package/components/ion-tabs.d.ts +2 -2
  178. package/components/ion-tabs.js +160 -160
  179. package/components/ion-text.d.ts +2 -2
  180. package/components/ion-text.js +26 -26
  181. package/components/ion-textarea.d.ts +2 -2
  182. package/components/ion-textarea.js +393 -393
  183. package/components/ion-thumbnail.d.ts +2 -2
  184. package/components/ion-thumbnail.js +20 -20
  185. package/components/ion-title.d.ts +2 -2
  186. package/components/ion-title.js +56 -56
  187. package/components/ion-toast.d.ts +2 -2
  188. package/components/ion-toast.js +438 -438
  189. package/components/ion-toggle.d.ts +2 -2
  190. package/components/ion-toggle.js +239 -239
  191. package/components/ion-toolbar.d.ts +2 -2
  192. package/components/ion-toolbar.js +71 -71
  193. package/components/ionic-global.js +163 -163
  194. package/components/ios.transition.js +598 -598
  195. package/components/item.js +300 -300
  196. package/components/keyboard-controller.js +128 -128
  197. package/components/keyboard.js +62 -62
  198. package/components/keyboard2.js +59 -59
  199. package/components/label.js +83 -83
  200. package/components/list-header.js +33 -33
  201. package/components/list.js +50 -50
  202. package/components/lock-controller.js +24 -24
  203. package/components/md.transition.js +44 -44
  204. package/components/menu-toggle-util.js +2 -2
  205. package/components/notch-controller.js +120 -120
  206. package/components/note.js +29 -29
  207. package/components/overlays.js +494 -494
  208. package/components/picker-column-internal.js +348 -348
  209. package/components/picker-column.js +334 -334
  210. package/components/picker-internal.js +468 -468
  211. package/components/popover.js +1144 -1144
  212. package/components/radio-group.js +159 -159
  213. package/components/radio.js +200 -200
  214. package/components/ripple-effect.js +81 -81
  215. package/components/select-popover.js +163 -163
  216. package/components/spinner.js +182 -182
  217. package/components/status-tap.js +26 -26
  218. package/components/swipe-back.js +65 -65
  219. package/components/theme.js +23 -23
  220. package/components/watch-options.js +30 -30
  221. package/dist/cjs/animation-cc40e39c.js +1061 -0
  222. package/dist/cjs/{app-globals-1d4c1dbf.js → app-globals-28656db1.js} +1 -1
  223. package/dist/cjs/button-active-75b38d77.js +69 -0
  224. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-46980811.js} +4 -4
  225. package/dist/cjs/config-4f60b98a.js +199 -0
  226. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  227. package/dist/cjs/data-36b9094e.js +1622 -0
  228. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  229. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  230. package/dist/cjs/form-controller-7d42a722.js +66 -0
  231. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  232. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  233. package/dist/cjs/haptic-216df36c.js +212 -0
  234. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  235. package/dist/cjs/helpers-76bb7efb.js +441 -0
  236. package/dist/cjs/index-097270a3.js +310 -0
  237. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  238. package/dist/cjs/index-8c1e77d6.js +198 -0
  239. package/dist/cjs/{index-c2940dc1.js → index-b0102f48.js} +19 -6
  240. package/dist/cjs/index-cb3e0ab7.js +243 -0
  241. package/dist/cjs/index-d1b59ffa.js +459 -0
  242. package/dist/cjs/{index-da2c7a37.js → index-da15e99c.js} +60 -60
  243. package/dist/cjs/index.cjs.js +112 -112
  244. package/dist/cjs/input-shims-87102b6a.js +596 -0
  245. package/dist/cjs/input.utils-2a11c1fe.js +137 -0
  246. package/dist/cjs/ion-accordion_2.cjs.entry.js +488 -488
  247. package/dist/cjs/ion-action-sheet.cjs.entry.js +249 -249
  248. package/dist/cjs/ion-alert.cjs.entry.js +429 -429
  249. package/dist/cjs/ion-app_8.cjs.entry.js +1149 -1149
  250. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  251. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  252. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  253. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  254. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  255. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  256. package/dist/cjs/ion-checkbox.cjs.entry.js +145 -145
  257. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  258. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  259. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  260. package/dist/cjs/ion-datetime_3.cjs.entry.js +2181 -2172
  261. package/dist/cjs/ion-fab_3.cjs.entry.js +150 -150
  262. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  263. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +190 -190
  264. package/dist/cjs/ion-input.cjs.entry.js +396 -396
  265. package/dist/cjs/ion-item-option_3.cjs.entry.js +457 -457
  266. package/dist/cjs/ion-item_8.cjs.entry.js +425 -425
  267. package/dist/cjs/ion-loading.cjs.entry.js +209 -209
  268. package/dist/cjs/ion-menu_3.cjs.entry.js +667 -667
  269. package/dist/cjs/ion-modal.cjs.entry.js +1404 -1404
  270. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  271. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +328 -328
  272. package/dist/cjs/ion-picker-internal.cjs.entry.js +453 -453
  273. package/dist/cjs/ion-popover.cjs.entry.js +1097 -1097
  274. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  275. package/dist/cjs/ion-radio_2.cjs.entry.js +314 -314
  276. package/dist/cjs/ion-range.cjs.entry.js +554 -554
  277. package/dist/cjs/ion-refresher_2.cjs.entry.js +785 -785
  278. package/dist/cjs/ion-reorder_2.cjs.entry.js +266 -266
  279. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  280. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  281. package/dist/cjs/ion-searchbar.cjs.entry.js +358 -358
  282. package/dist/cjs/ion-segment_2.cjs.entry.js +507 -507
  283. package/dist/cjs/ion-select_3.cjs.entry.js +761 -761
  284. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  285. package/dist/cjs/ion-split-pane.cjs.entry.js +117 -117
  286. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +137 -137
  287. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  288. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  289. package/dist/cjs/ion-textarea.cjs.entry.js +350 -350
  290. package/dist/cjs/ion-toast.cjs.entry.js +394 -394
  291. package/dist/cjs/ion-toggle.cjs.entry.js +222 -222
  292. package/dist/cjs/ionic-global-62510d64.js +230 -0
  293. package/dist/cjs/ionic.cjs.js +4 -4
  294. package/dist/cjs/ios.transition-d9c0e4fb.js +654 -0
  295. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-7d621ee9.js} +61 -61
  296. package/dist/cjs/keyboard-9390928c.js +81 -0
  297. package/dist/cjs/keyboard-controller-2158b478.js +167 -0
  298. package/dist/cjs/loader.cjs.js +3 -3
  299. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  300. package/dist/cjs/md.transition-4fac8a87.js +59 -0
  301. package/dist/cjs/notch-controller-1dce508a.js +155 -0
  302. package/dist/cjs/overlays-b1471172.js +714 -0
  303. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  304. package/dist/cjs/status-tap-0aa8e1f2.js +42 -0
  305. package/dist/cjs/swipe-back-2a858bbd.js +81 -0
  306. package/dist/cjs/theme-d1c573d2.js +48 -0
  307. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  308. package/dist/collection/collection-manifest.json +1 -1
  309. package/dist/collection/components/accordion/accordion.js +410 -410
  310. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  311. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  312. package/dist/collection/components/accordion/test/accordion.spec.js +84 -84
  313. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  314. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  315. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  316. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  317. package/dist/collection/components/accordion-group/accordion-group.js +421 -421
  318. package/dist/collection/components/action-sheet/action-sheet.js +729 -729
  319. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  320. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  321. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  322. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  323. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  324. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +25 -25
  325. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  326. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +74 -74
  327. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +9 -9
  328. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  329. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  330. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  331. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  332. package/dist/collection/components/alert/alert.js +967 -967
  333. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  334. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  335. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  336. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  337. package/dist/collection/components/alert/test/a11y/alert.e2e.js +116 -116
  338. package/dist/collection/components/alert/test/alert-id.spec.js +25 -25
  339. package/dist/collection/components/alert/test/alert.spec.js +26 -26
  340. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +29 -29
  341. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  342. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  343. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  344. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  345. package/dist/collection/components/app/app.js +116 -116
  346. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  347. package/dist/collection/components/avatar/avatar.js +17 -17
  348. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  349. package/dist/collection/components/back-button/back-button.js +214 -214
  350. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  351. package/dist/collection/components/back-button/test/back-button.spec.js +72 -72
  352. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  353. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  354. package/dist/collection/components/backdrop/backdrop.js +131 -131
  355. package/dist/collection/components/badge/badge.js +49 -49
  356. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  357. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  358. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  359. package/dist/collection/components/breadcrumb/test/aria.spec.js +14 -14
  360. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  361. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  362. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  363. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +29 -29
  364. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  365. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  366. package/dist/collection/components/button/button.js +541 -541
  367. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  368. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  369. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  370. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  371. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  372. package/dist/collection/components/button/test/form-reference/button.spec.js +15 -15
  373. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  374. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  375. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  376. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  377. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  378. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  379. package/dist/collection/components/buttons/buttons.js +46 -46
  380. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  381. package/dist/collection/components/card/card.js +251 -251
  382. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  383. package/dist/collection/components/card/test/aria.spec.js +8 -8
  384. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  385. package/dist/collection/components/card-content/card-content.js +21 -21
  386. package/dist/collection/components/card-header/card-header.js +70 -70
  387. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  388. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  389. package/dist/collection/components/card-title/card-title.js +50 -50
  390. package/dist/collection/components/checkbox/checkbox.js +415 -415
  391. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  392. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  393. package/dist/collection/components/checkbox/test/checkbox.spec.js +10 -10
  394. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  395. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  396. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  397. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  398. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  399. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  400. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  401. package/dist/collection/components/chip/chip.js +90 -90
  402. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  403. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  404. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  405. package/dist/collection/components/col/col.js +536 -536
  406. package/dist/collection/components/content/content.js +745 -745
  407. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  408. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  409. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  410. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  411. package/dist/collection/components/datetime/datetime.js +2254 -2245
  412. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +58 -58
  413. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +33 -33
  414. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  415. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  416. package/dist/collection/components/datetime/test/comparison.spec.js +33 -33
  417. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  418. package/dist/collection/components/datetime/test/data.spec.js +431 -431
  419. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  420. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  421. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +43 -43
  422. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +21 -21
  423. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  424. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  425. package/dist/collection/components/datetime/test/format.spec.js +106 -106
  426. package/dist/collection/components/datetime/test/helpers.spec.js +58 -58
  427. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  428. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  429. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  430. package/dist/collection/components/datetime/test/manipulation.spec.js +384 -384
  431. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  432. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  433. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  434. package/dist/collection/components/datetime/test/parse.spec.js +204 -204
  435. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  436. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  437. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  438. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +86 -86
  439. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +55 -40
  440. package/dist/collection/components/datetime/test/state.spec.js +101 -101
  441. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  442. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  443. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  444. package/dist/collection/components/datetime/utils/data.js +394 -394
  445. package/dist/collection/components/datetime/utils/format.js +143 -143
  446. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  447. package/dist/collection/components/datetime/utils/manipulation.js +274 -274
  448. package/dist/collection/components/datetime/utils/parse.js +139 -139
  449. package/dist/collection/components/datetime/utils/state.js +123 -123
  450. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  451. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  452. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  453. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  454. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  455. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  456. package/dist/collection/components/fab/fab.js +179 -179
  457. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  458. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  459. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +25 -25
  460. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  461. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  462. package/dist/collection/components/fab-button/fab-button.js +374 -374
  463. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  464. package/dist/collection/components/fab-list/fab-list.js +79 -79
  465. package/dist/collection/components/footer/footer.js +135 -135
  466. package/dist/collection/components/footer/footer.utils.js +25 -25
  467. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  468. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  469. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  470. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  471. package/dist/collection/components/grid/grid.js +44 -44
  472. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  473. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  474. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  475. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  476. package/dist/collection/components/header/header.js +181 -181
  477. package/dist/collection/components/header/header.utils.js +148 -148
  478. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  479. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  480. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  481. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  482. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  483. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  484. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  485. package/dist/collection/components/img/img.js +177 -177
  486. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  487. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  488. package/dist/collection/components/infinite-scroll/infinite-scroll.js +271 -271
  489. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  490. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  491. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  492. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  493. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +26 -26
  494. package/dist/collection/components/input/input.js +1204 -1204
  495. package/dist/collection/components/input/input.utils.js +22 -22
  496. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  497. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  498. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  499. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  500. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +25 -25
  501. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  502. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  503. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  504. package/dist/collection/components/input/test/input.e2e.js +6 -6
  505. package/dist/collection/components/input/test/input.spec.js +54 -54
  506. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  507. package/dist/collection/components/input/test/item/input.spec.js +12 -12
  508. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  509. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  510. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  511. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  512. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  513. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  514. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  515. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  516. package/dist/collection/components/item/item.js +615 -615
  517. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  518. package/dist/collection/components/item/test/a11y/item.spec.js +21 -21
  519. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  520. package/dist/collection/components/item/test/basic/item.e2e.js +15 -15
  521. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  522. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  523. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  524. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  525. package/dist/collection/components/item/test/disabled/item.e2e.js +7 -7
  526. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  527. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  528. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  529. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  530. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  531. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  532. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  533. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  534. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  535. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  536. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  537. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  538. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  539. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  540. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  541. package/dist/collection/components/item/test/text/item.e2e.js +6 -6
  542. package/dist/collection/components/item-divider/item-divider.js +71 -71
  543. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  544. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +25 -25
  545. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  546. package/dist/collection/components/item-group/item-group.js +22 -22
  547. package/dist/collection/components/item-option/item-option.js +197 -197
  548. package/dist/collection/components/item-options/item-options.js +110 -110
  549. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  550. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  551. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  552. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +87 -87
  553. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  554. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  555. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  556. package/dist/collection/components/label/label.js +174 -174
  557. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  558. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  559. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  560. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  561. package/dist/collection/components/list/list.js +101 -101
  562. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  563. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  564. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  565. package/dist/collection/components/list/test/lines/list.e2e.js +40 -40
  566. package/dist/collection/components/list-header/list-header.js +69 -69
  567. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  568. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -14
  569. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  570. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  571. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  572. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  573. package/dist/collection/components/loading/loading.js +720 -720
  574. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  575. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  576. package/dist/collection/components/loading/test/basic/loading.spec.js +7 -7
  577. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  578. package/dist/collection/components/loading/test/loading-id.spec.js +25 -25
  579. package/dist/collection/components/loading/test/loading.spec.js +26 -26
  580. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  581. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  582. package/dist/collection/components/menu/menu.js +956 -956
  583. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  584. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  585. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  586. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  587. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  588. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  589. package/dist/collection/components/menu-button/menu-button.js +173 -173
  590. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  591. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  592. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  593. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  594. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  595. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  596. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  597. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  598. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  599. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  600. package/dist/collection/components/modal/animations/sheet.js +43 -43
  601. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  602. package/dist/collection/components/modal/gestures/swipe-to-close.js +247 -247
  603. package/dist/collection/components/modal/gestures/utils.js +39 -39
  604. package/dist/collection/components/modal/modal.js +1280 -1280
  605. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  606. package/dist/collection/components/modal/test/a11y/modal.spec.js +12 -12
  607. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  608. package/dist/collection/components/modal/test/basic/modal.spec.js +7 -7
  609. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  610. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  611. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  612. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +172 -172
  613. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  614. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  615. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  616. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  617. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  618. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  619. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  620. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  621. package/dist/collection/components/modal/test/fixtures.js +21 -21
  622. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  623. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  624. package/dist/collection/components/modal/test/modal-id.spec.js +25 -25
  625. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  626. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  627. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  628. package/dist/collection/components/modal/utils.js +55 -55
  629. package/dist/collection/components/modal/utils.spec.js +7 -7
  630. package/dist/collection/components/nav/nav.js +1748 -1748
  631. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  632. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  633. package/dist/collection/components/nav/test/nav-controller.spec.js +735 -735
  634. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  635. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  636. package/dist/collection/components/nav/view-controller.js +52 -52
  637. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  638. package/dist/collection/components/nav-link/nav-link.js +106 -106
  639. package/dist/collection/components/note/note.js +49 -49
  640. package/dist/collection/components/note/test/a11y/note.e2e.js +16 -16
  641. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  642. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  643. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  644. package/dist/collection/components/picker/picker.js +772 -772
  645. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  646. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  647. package/dist/collection/components/picker/test/picker-id.spec.js +25 -25
  648. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  649. package/dist/collection/components/picker-column/picker-column.js +377 -377
  650. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +21 -21
  651. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +20 -20
  652. package/dist/collection/components/picker-column/test/picker-column.spec.js +8 -8
  653. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  654. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  655. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -523
  656. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  657. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +54 -54
  658. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  659. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  660. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -76
  661. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  662. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  663. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  664. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  665. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  666. package/dist/collection/components/popover/popover.js +1179 -1179
  667. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  668. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  669. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  670. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  671. package/dist/collection/components/popover/test/basic/popover.spec.js +7 -7
  672. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  673. package/dist/collection/components/popover/test/fixture.js +16 -16
  674. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  675. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  676. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  677. package/dist/collection/components/popover/test/popover-id.spec.js +25 -25
  678. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  679. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  680. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  681. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  682. package/dist/collection/components/popover/test/test.utils.js +23 -23
  683. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  684. package/dist/collection/components/popover/test/util.spec.js +39 -39
  685. package/dist/collection/components/popover/utils.js +606 -606
  686. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  687. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  688. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  689. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  690. package/dist/collection/components/radio/radio.js +448 -448
  691. package/dist/collection/components/radio/test/a11y/radio.e2e.js +40 -40
  692. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  693. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  694. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  695. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  696. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  697. package/dist/collection/components/radio/test/radio.spec.js +26 -26
  698. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  699. package/dist/collection/components/radio-group/radio-group.js +255 -255
  700. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  701. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  702. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  703. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  704. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  705. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  706. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  707. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  708. package/dist/collection/components/range/range.js +998 -998
  709. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  710. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  711. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  712. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  713. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  714. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  715. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  716. package/dist/collection/components/range/test/label/range.spec.js +11 -11
  717. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  718. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  719. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  720. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  721. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  722. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  723. package/dist/collection/components/range/test/range.spec.js +141 -141
  724. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  725. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  726. package/dist/collection/components/refresher/refresher.js +806 -806
  727. package/dist/collection/components/refresher/refresher.utils.js +148 -148
  728. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  729. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  730. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  731. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  732. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +35 -35
  733. package/dist/collection/components/reorder/reorder.js +37 -37
  734. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  735. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  736. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  737. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  738. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  739. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  740. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  741. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  742. package/dist/collection/components/route/route.js +151 -151
  743. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  744. package/dist/collection/components/router/router.js +472 -472
  745. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  746. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  747. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  748. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  749. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  750. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  751. package/dist/collection/components/router/test/matching.spec.js +227 -227
  752. package/dist/collection/components/router/test/parser.spec.js +119 -119
  753. package/dist/collection/components/router/test/path.spec.js +199 -199
  754. package/dist/collection/components/router/test/router.spec.js +41 -41
  755. package/dist/collection/components/router/utils/debug.js +14 -14
  756. package/dist/collection/components/router/utils/dom.js +56 -56
  757. package/dist/collection/components/router/utils/matching.js +150 -150
  758. package/dist/collection/components/router/utils/parser.js +52 -52
  759. package/dist/collection/components/router/utils/path.js +66 -66
  760. package/dist/collection/components/router-link/router-link.js +157 -157
  761. package/dist/collection/components/router-outlet/router-outlet.js +458 -458
  762. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  763. package/dist/collection/components/row/row.js +15 -15
  764. package/dist/collection/components/searchbar/searchbar.js +889 -889
  765. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  766. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +101 -101
  767. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  768. package/dist/collection/components/searchbar/test/searchbar.spec.js +7 -7
  769. package/dist/collection/components/segment/segment.js +631 -631
  770. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  771. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  772. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  773. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  774. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  775. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  776. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  777. package/dist/collection/components/segment/test/segment.spec.js +18 -18
  778. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  779. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  780. package/dist/collection/components/segment-button/segment-button.js +217 -217
  781. package/dist/collection/components/select/select.js +1179 -1179
  782. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  783. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  784. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  785. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  786. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  787. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  788. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  789. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  790. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  791. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  792. package/dist/collection/components/select/test/item/select.e2e.js +11 -11
  793. package/dist/collection/components/select/test/label/select.e2e.js +140 -140
  794. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  795. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  796. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  797. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  798. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  799. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  800. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  801. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +16 -16
  802. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  803. package/dist/collection/components/select/test/select.spec.js +41 -41
  804. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  805. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  806. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  807. package/dist/collection/components/select-option/select-option.js +60 -60
  808. package/dist/collection/components/select-popover/select-popover.js +197 -197
  809. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  810. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  811. package/dist/collection/components/skeleton-text/skeleton-text.js +48 -48
  812. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  813. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  814. package/dist/collection/components/slides/IonicSlides.js +95 -95
  815. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  816. package/dist/collection/components/spinner/spinner.js +137 -137
  817. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  818. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  819. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  820. package/dist/collection/components/split-pane/split-pane.js +225 -225
  821. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  822. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +23 -23
  823. package/dist/collection/components/tab/tab.js +170 -170
  824. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  825. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +8 -8
  826. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  827. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  828. package/dist/collection/components/tab-button/tab-button.js +267 -267
  829. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  830. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  831. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  832. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  833. package/dist/collection/components/tabs/tabs.js +344 -344
  834. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  835. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  836. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  837. package/dist/collection/components/text/text.js +47 -47
  838. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  839. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  840. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  841. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  842. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +17 -17
  843. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  844. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  845. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  846. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  847. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  848. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  849. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  850. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  851. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  852. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  853. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  854. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  855. package/dist/collection/components/textarea/test/textarea.spec.js +32 -32
  856. package/dist/collection/components/textarea/textarea.js +1019 -1019
  857. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  858. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  859. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  860. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  861. package/dist/collection/components/title/title.js +119 -119
  862. package/dist/collection/components/toast/animations/ios.enter.js +20 -20
  863. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  864. package/dist/collection/components/toast/animations/md.enter.js +22 -22
  865. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  866. package/dist/collection/components/toast/animations/utils.js +52 -52
  867. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  868. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  869. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  870. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  871. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  872. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  873. package/dist/collection/components/toast/test/toast-id.spec.js +25 -25
  874. package/dist/collection/components/toast/test/toast.spec.js +85 -85
  875. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  876. package/dist/collection/components/toast/toast.js +951 -951
  877. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  878. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  879. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  880. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  881. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  882. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  883. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  884. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  885. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  886. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  887. package/dist/collection/components/toggle/test/toggle.spec.js +40 -40
  888. package/dist/collection/components/toggle/toggle.js +484 -484
  889. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  890. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  891. package/dist/collection/components/toolbar/toolbar.js +100 -100
  892. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  893. package/dist/collection/global/config.js +51 -51
  894. package/dist/collection/global/ionic-global.js +54 -54
  895. package/dist/collection/global/test/config-controller.spec.js +68 -68
  896. package/dist/collection/utils/animation/animation-utils.js +91 -91
  897. package/dist/collection/utils/animation/animation.js +905 -905
  898. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  899. package/dist/collection/utils/animation/test/animation.spec.js +412 -412
  900. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  901. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  902. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  903. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  904. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  905. package/dist/collection/utils/config.js +20 -20
  906. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  907. package/dist/collection/utils/content/index.js +58 -58
  908. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  909. package/dist/collection/utils/floating-point/index.js +5 -5
  910. package/dist/collection/utils/focus-visible.js +63 -63
  911. package/dist/collection/utils/forms/form-controller.js +45 -45
  912. package/dist/collection/utils/forms/notch-controller.js +120 -120
  913. package/dist/collection/utils/framework-delegate.js +121 -121
  914. package/dist/collection/utils/gesture/button-active.js +56 -56
  915. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  916. package/dist/collection/utils/gesture/index.js +222 -222
  917. package/dist/collection/utils/gesture/listener.js +36 -36
  918. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  919. package/dist/collection/utils/gesture/recognizers.js +46 -46
  920. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  921. package/dist/collection/utils/hardware-back-button.js +48 -48
  922. package/dist/collection/utils/helpers.js +258 -258
  923. package/dist/collection/utils/helpers.spec.js +28 -28
  924. package/dist/collection/utils/input-shims/hacks/common.js +61 -61
  925. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  926. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  927. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  928. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  929. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  930. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  931. package/dist/collection/utils/input-shims/input-shims.js +82 -82
  932. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  933. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  934. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +15 -15
  935. package/dist/collection/utils/keyboard/test/keyboard.spec.js +193 -193
  936. package/dist/collection/utils/lock-controller.js +24 -24
  937. package/dist/collection/utils/logging/index.js +3 -3
  938. package/dist/collection/utils/media.js +13 -13
  939. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  940. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  941. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  942. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  943. package/dist/collection/utils/menu-controller/index.js +205 -205
  944. package/dist/collection/utils/native/capacitor.js +4 -4
  945. package/dist/collection/utils/native/haptic.js +151 -151
  946. package/dist/collection/utils/native/keyboard.js +47 -47
  947. package/dist/collection/utils/native/native-interface.js +15 -15
  948. package/dist/collection/utils/native/status-bar.js +36 -36
  949. package/dist/collection/utils/overlays.js +494 -494
  950. package/dist/collection/utils/platform.js +56 -56
  951. package/dist/collection/utils/rtl/dir.js +5 -5
  952. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  953. package/dist/collection/utils/sanitization/index.js +122 -122
  954. package/dist/collection/utils/sanitization/test/sanitization.spec.js +35 -35
  955. package/dist/collection/utils/slot-mutation-controller.js +84 -84
  956. package/dist/collection/utils/status-tap.js +26 -26
  957. package/dist/collection/utils/tap-click/index.js +171 -171
  958. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  959. package/dist/collection/utils/test/aria.spec.js +47 -47
  960. package/dist/collection/utils/test/attributes.spec.js +40 -40
  961. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  962. package/dist/collection/utils/test/hardware-back-button.spec.js +41 -41
  963. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  964. package/dist/collection/utils/test/overlays/overlays.spec.js +68 -68
  965. package/dist/collection/utils/test/platform.spec.js +123 -123
  966. package/dist/collection/utils/test/platform.utils.js +77 -77
  967. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  968. package/dist/collection/utils/test/playwright/generator.js +25 -25
  969. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  970. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  971. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  972. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  973. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  974. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  975. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  976. package/dist/collection/utils/test/playwright/page/utils/set-content.js +34 -34
  977. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  978. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  979. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  980. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  981. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  982. package/dist/collection/utils/test/press-keys.js +77 -77
  983. package/dist/collection/utils/test/ready.spec.js +31 -31
  984. package/dist/collection/utils/test/theme.spec.js +46 -46
  985. package/dist/collection/utils/theme.js +23 -23
  986. package/dist/collection/utils/transition/index.js +163 -163
  987. package/dist/collection/utils/transition/ios.transition.js +598 -598
  988. package/dist/collection/utils/transition/md.transition.js +44 -44
  989. package/dist/collection/utils/watch-options.js +30 -30
  990. package/dist/docs.json +2 -2
  991. package/dist/esm/animation-fb0e0f6f.js +1059 -0
  992. package/dist/esm/{app-globals-2398e405.js → app-globals-c23144fc.js} +1 -1
  993. package/dist/esm/button-active-7013b5a1.js +67 -0
  994. package/dist/esm/{capacitor-b4979570.js → capacitor-b0e5fe83.js} +4 -4
  995. package/dist/esm/config-49c88215.js +193 -0
  996. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  997. package/dist/esm/data-f5c75b4e.js +1575 -0
  998. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  999. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1000. package/dist/esm/form-controller-548aa79c.js +64 -0
  1001. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1002. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1003. package/dist/esm/haptic-152c4172.js +206 -0
  1004. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1005. package/dist/esm/helpers-ae653409.js +418 -0
  1006. package/dist/esm/index-2cf77112.js +457 -0
  1007. package/dist/esm/{index-7c9b1bca.js → index-39329c6f.js} +19 -6
  1008. package/dist/esm/index-7a818ed3.js +308 -0
  1009. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1010. package/dist/esm/{index-4392efa5.js → index-b9e742e5.js} +60 -60
  1011. package/dist/esm/index-ba9976bb.js +196 -0
  1012. package/dist/esm/index-bebaae5d.js +231 -0
  1013. package/dist/esm/index.js +112 -112
  1014. package/dist/esm/input-shims-0a2e541d.js +594 -0
  1015. package/dist/esm/input.utils-2846d430.js +134 -0
  1016. package/dist/esm/ion-accordion_2.entry.js +488 -488
  1017. package/dist/esm/ion-action-sheet.entry.js +249 -249
  1018. package/dist/esm/ion-alert.entry.js +429 -429
  1019. package/dist/esm/ion-app_8.entry.js +1149 -1149
  1020. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1021. package/dist/esm/ion-back-button.entry.js +73 -73
  1022. package/dist/esm/ion-backdrop.entry.js +40 -40
  1023. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1024. package/dist/esm/ion-button_2.entry.js +303 -303
  1025. package/dist/esm/ion-card_5.entry.js +105 -105
  1026. package/dist/esm/ion-checkbox.entry.js +145 -145
  1027. package/dist/esm/ion-chip.entry.js +20 -20
  1028. package/dist/esm/ion-col_3.entry.js +136 -136
  1029. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1030. package/dist/esm/ion-datetime_3.entry.js +2181 -2172
  1031. package/dist/esm/ion-fab_3.entry.js +150 -150
  1032. package/dist/esm/ion-img.entry.js +79 -79
  1033. package/dist/esm/ion-infinite-scroll_2.entry.js +190 -190
  1034. package/dist/esm/ion-input.entry.js +396 -396
  1035. package/dist/esm/ion-item-option_3.entry.js +457 -457
  1036. package/dist/esm/ion-item_8.entry.js +425 -425
  1037. package/dist/esm/ion-loading.entry.js +209 -209
  1038. package/dist/esm/ion-menu_3.entry.js +667 -667
  1039. package/dist/esm/ion-modal.entry.js +1404 -1404
  1040. package/dist/esm/ion-nav_2.entry.js +904 -904
  1041. package/dist/esm/ion-picker-column-internal.entry.js +328 -328
  1042. package/dist/esm/ion-picker-internal.entry.js +453 -453
  1043. package/dist/esm/ion-popover.entry.js +1097 -1097
  1044. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1045. package/dist/esm/ion-radio_2.entry.js +314 -314
  1046. package/dist/esm/ion-range.entry.js +554 -554
  1047. package/dist/esm/ion-refresher_2.entry.js +785 -785
  1048. package/dist/esm/ion-reorder_2.entry.js +266 -266
  1049. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1050. package/dist/esm/ion-route_4.entry.js +693 -693
  1051. package/dist/esm/ion-searchbar.entry.js +358 -358
  1052. package/dist/esm/ion-segment_2.entry.js +507 -507
  1053. package/dist/esm/ion-select_3.entry.js +761 -761
  1054. package/dist/esm/ion-spinner.entry.js +46 -46
  1055. package/dist/esm/ion-split-pane.entry.js +117 -117
  1056. package/dist/esm/ion-tab-bar_2.entry.js +137 -137
  1057. package/dist/esm/ion-tab_2.entry.js +187 -187
  1058. package/dist/esm/ion-text.entry.js +13 -13
  1059. package/dist/esm/ion-textarea.entry.js +350 -350
  1060. package/dist/esm/ion-toast.entry.js +394 -394
  1061. package/dist/esm/ion-toggle.entry.js +222 -222
  1062. package/dist/esm/ionic-global-6c78e871.js +224 -0
  1063. package/dist/esm/ionic.js +5 -5
  1064. package/dist/esm/ios.transition-daa373e9.js +651 -0
  1065. package/dist/esm/keyboard-c402e885.js +146 -0
  1066. package/dist/esm/keyboard-controller-5d90929a.js +165 -0
  1067. package/dist/esm/keyboard-dbb05fb9.js +79 -0
  1068. package/dist/esm/loader.js +4 -4
  1069. package/dist/esm/lock-controller-316928be.js +38 -0
  1070. package/dist/esm/md.transition-91c3d3cc.js +57 -0
  1071. package/dist/esm/notch-controller-d09b6aca.js +153 -0
  1072. package/dist/esm/overlays-64e67e2c.js +692 -0
  1073. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1074. package/dist/esm/status-tap-9dd45200.js +40 -0
  1075. package/dist/esm/swipe-back-a6f386fc.js +79 -0
  1076. package/dist/esm/theme-01f3f29c.js +43 -0
  1077. package/dist/esm/watch-options-c2911ace.js +47 -0
  1078. package/dist/esm-es5/{animation-8aa13916.js → animation-fb0e0f6f.js} +1 -1
  1079. package/dist/esm-es5/app-globals-c23144fc.js +4 -0
  1080. package/dist/esm-es5/{button-active-ce5cba4c.js → button-active-7013b5a1.js} +1 -1
  1081. package/dist/esm-es5/{data-44d9e816.js → data-f5c75b4e.js} +1 -1
  1082. package/dist/esm-es5/{form-controller-64edeaad.js → form-controller-548aa79c.js} +1 -1
  1083. package/dist/esm-es5/{framework-delegate-aa433dea.js → framework-delegate-bc1fd82a.js} +1 -1
  1084. package/dist/esm-es5/{haptic-1243b917.js → haptic-152c4172.js} +1 -1
  1085. package/dist/esm-es5/{index-ff313b19.js → index-2cf77112.js} +1 -1
  1086. package/dist/esm-es5/{index-7c9b1bca.js → index-39329c6f.js} +1 -1
  1087. package/dist/esm-es5/{index-0aa6e61f.js → index-7a818ed3.js} +1 -1
  1088. package/dist/esm-es5/{index-4392efa5.js → index-b9e742e5.js} +1 -1
  1089. package/dist/esm-es5/{index-f0cc4e14.js → index-ba9976bb.js} +1 -1
  1090. package/dist/esm-es5/{index-6a0ccabb.js → index-bebaae5d.js} +1 -1
  1091. package/dist/esm-es5/index.js +1 -1
  1092. package/dist/esm-es5/{input-shims-d0c93e5d.js → input-shims-0a2e541d.js} +1 -1
  1093. package/dist/esm-es5/{input.utils-ec063df4.js → input.utils-2846d430.js} +1 -1
  1094. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1095. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1096. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1097. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1098. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1099. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1100. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1101. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1102. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1103. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1104. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1105. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1106. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1107. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1108. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1109. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1110. package/dist/esm-es5/ion-img.entry.js +1 -1
  1111. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1112. package/dist/esm-es5/ion-input.entry.js +1 -1
  1113. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1114. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1115. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1116. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1117. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1118. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1119. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1120. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1121. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1122. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1123. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1124. package/dist/esm-es5/ion-range.entry.js +1 -1
  1125. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1126. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1127. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1128. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1129. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1130. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1131. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1132. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1133. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1134. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1135. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1136. package/dist/esm-es5/ion-text.entry.js +1 -1
  1137. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1138. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1139. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1140. package/dist/esm-es5/{ionic-global-40e42e7f.js → ionic-global-6c78e871.js} +1 -1
  1141. package/dist/esm-es5/ionic.js +1 -1
  1142. package/dist/esm-es5/{ios.transition-1651c430.js → ios.transition-daa373e9.js} +1 -1
  1143. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-c402e885.js} +1 -1
  1144. package/dist/esm-es5/{keyboard-controller-0c2dce71.js → keyboard-controller-5d90929a.js} +1 -1
  1145. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-dbb05fb9.js} +1 -1
  1146. package/dist/esm-es5/loader.js +1 -1
  1147. package/dist/esm-es5/md.transition-91c3d3cc.js +4 -0
  1148. package/dist/esm-es5/{notch-controller-8c9c0e54.js → notch-controller-d09b6aca.js} +1 -1
  1149. package/dist/esm-es5/{overlays-6c9feb7e.js → overlays-64e67e2c.js} +1 -1
  1150. package/dist/esm-es5/{status-tap-9ce68758.js → status-tap-9dd45200.js} +1 -1
  1151. package/dist/esm-es5/{swipe-back-0f3bfc8e.js → swipe-back-a6f386fc.js} +1 -1
  1152. package/dist/ionic/index.esm.js +1 -1
  1153. package/dist/ionic/ionic.esm.js +1 -1
  1154. package/dist/ionic/ionic.js +15 -15
  1155. package/dist/ionic/p-013013a3.js +4 -0
  1156. package/dist/ionic/{p-c4042875.system.js → p-0263eb49.system.js} +1 -1
  1157. package/dist/ionic/{p-800ef057.js → p-06600f70.js} +1 -1
  1158. package/dist/ionic/{p-1e5165db.system.entry.js → p-10b4b6f7.system.entry.js} +1 -1
  1159. package/dist/ionic/p-12cdcb59.js +5 -0
  1160. package/dist/ionic/{p-744973f3.entry.js → p-161d0916.entry.js} +1 -1
  1161. package/dist/ionic/{p-a936d224.system.js → p-1631b52f.system.js} +1 -1
  1162. package/dist/ionic/{p-4fa201a7.entry.js → p-17fc5d75.entry.js} +1 -1
  1163. package/dist/ionic/{p-b0cee324.entry.js → p-18032a93.entry.js} +1 -1
  1164. package/dist/ionic/{p-beb64be7.system.entry.js → p-19545a49.system.entry.js} +1 -1
  1165. package/dist/ionic/{p-6d812360.system.entry.js → p-1a6ec317.system.entry.js} +1 -1
  1166. package/dist/ionic/{p-174f3446.entry.js → p-1c6c6098.entry.js} +1 -1
  1167. package/dist/ionic/{p-ff5144f3.system.entry.js → p-1cbc21e2.system.entry.js} +1 -1
  1168. package/dist/ionic/{p-0a794e83.entry.js → p-1ff22253.entry.js} +1 -1
  1169. package/dist/ionic/{p-6c3d5383.js → p-21f015cf.js} +1 -1
  1170. package/dist/ionic/{p-b2a74a72.entry.js → p-22c6adfa.entry.js} +1 -1
  1171. package/dist/ionic/{p-4cd588b3.system.entry.js → p-23a27e78.system.entry.js} +1 -1
  1172. package/dist/ionic/{p-a5c1e6ce.entry.js → p-2507b0c0.entry.js} +1 -1
  1173. package/dist/ionic/{p-3ce8c3e3.entry.js → p-2657f213.entry.js} +1 -1
  1174. package/dist/ionic/{p-db5043df.system.entry.js → p-27a5f2c7.system.entry.js} +1 -1
  1175. package/dist/ionic/{p-b91fe549.entry.js → p-29ed6c32.entry.js} +1 -1
  1176. package/dist/ionic/{p-3fb57e1b.system.entry.js → p-2a7e6572.system.entry.js} +1 -1
  1177. package/dist/ionic/{p-bed722c4.system.entry.js → p-2ac9d078.system.entry.js} +1 -1
  1178. package/dist/ionic/{p-17240d90.js → p-2aea8b1e.js} +1 -1
  1179. package/dist/ionic/{p-1a8ae7a7.system.entry.js → p-2cd9cb80.system.entry.js} +1 -1
  1180. package/dist/ionic/{p-97c65aa5.js → p-2d5aeccc.js} +1 -1
  1181. package/dist/ionic/{p-67eecef4.system.js → p-2d600c25.system.js} +1 -1
  1182. package/dist/ionic/{p-ab4cff27.system.js → p-304383f9.system.js} +1 -1
  1183. package/dist/ionic/{p-276afddd.js → p-308e1341.js} +1 -1
  1184. package/dist/ionic/{p-c7d30db9.entry.js → p-312221db.entry.js} +1 -1
  1185. package/dist/ionic/{p-39044fe6.system.entry.js → p-315ad733.system.entry.js} +1 -1
  1186. package/dist/ionic/{p-fa8d4788.system.js → p-31b2326e.system.js} +1 -1
  1187. package/dist/ionic/{p-41477ad9.system.js → p-32e19bee.system.js} +1 -1
  1188. package/dist/ionic/{p-41122cd6.system.js → p-34d6f520.system.js} +1 -1
  1189. package/dist/ionic/{p-8ad82eb3.entry.js → p-3535a36c.entry.js} +1 -1
  1190. package/dist/ionic/p-35ce400e.system.js +4 -0
  1191. package/dist/ionic/{p-55ed230e.system.js → p-38c337e7.system.js} +1 -1
  1192. package/dist/ionic/{p-d21bfe66.system.entry.js → p-3acad8ff.system.entry.js} +1 -1
  1193. package/dist/ionic/{p-48d9faa7.entry.js → p-3cb5466e.entry.js} +1 -1
  1194. package/dist/ionic/{p-0dc0d9b5.entry.js → p-3f5ae764.entry.js} +1 -1
  1195. package/dist/ionic/{p-77e7a9c8.entry.js → p-405f1a72.entry.js} +1 -1
  1196. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1197. package/dist/ionic/{p-dfa756ed.system.js → p-426bdba9.system.js} +1 -1
  1198. package/dist/ionic/{p-ddfc4ef4.system.entry.js → p-45db7949.system.entry.js} +1 -1
  1199. package/dist/ionic/{p-18e01b30.system.entry.js → p-4b04acbc.system.entry.js} +1 -1
  1200. package/dist/ionic/{p-419eb426.js → p-4e8e09e1.js} +1 -1
  1201. package/dist/ionic/{p-a6d83a03.system.entry.js → p-4f71a9cf.system.entry.js} +1 -1
  1202. package/dist/ionic/{p-ed636a74.entry.js → p-53a3283e.entry.js} +1 -1
  1203. package/dist/ionic/{p-f54ddd19.entry.js → p-58dd7c15.entry.js} +1 -1
  1204. package/dist/ionic/{p-a545b4f1.system.js → p-58ff9e5b.system.js} +1 -1
  1205. package/dist/ionic/{p-67ed452a.system.entry.js → p-5a7d5905.system.entry.js} +1 -1
  1206. package/dist/ionic/{p-7ab6fc5a.system.entry.js → p-5c7f13cd.system.entry.js} +1 -1
  1207. package/dist/ionic/{p-6e23777e.system.entry.js → p-5f127075.system.entry.js} +1 -1
  1208. package/dist/ionic/{p-b1142133.entry.js → p-5f46d93e.entry.js} +1 -1
  1209. package/dist/ionic/{p-a8e68fd9.entry.js → p-5fb707e0.entry.js} +1 -1
  1210. package/dist/ionic/{p-b923f3d7.js → p-643a8fae.js} +1 -1
  1211. package/dist/ionic/{p-1e86a71b.entry.js → p-64af4468.entry.js} +1 -1
  1212. package/dist/ionic/p-66d633fb.js +4 -0
  1213. package/dist/ionic/{p-b6f8ee31.entry.js → p-6744eca5.entry.js} +1 -1
  1214. package/dist/ionic/{p-14aca3fb.entry.js → p-67598744.entry.js} +1 -1
  1215. package/dist/ionic/p-6a6477b2.js +4 -0
  1216. package/dist/ionic/{p-8cf94fc1.js → p-6c37f051.js} +1 -1
  1217. package/dist/ionic/{p-7176cea3.entry.js → p-6cf08720.entry.js} +1 -1
  1218. package/dist/ionic/{p-965677f1.entry.js → p-70ecb18b.entry.js} +1 -1
  1219. package/dist/ionic/{p-73411c1b.entry.js → p-71d986ae.entry.js} +1 -1
  1220. package/dist/ionic/{p-14b4348c.system.js → p-7484b1d6.system.js} +1 -1
  1221. package/dist/ionic/{p-3bad5c1a.js → p-75445583.js} +1 -1
  1222. package/dist/ionic/{p-8a308596.system.js → p-7798c78a.system.js} +2 -2
  1223. package/dist/ionic/{p-664d2b07.system.entry.js → p-7ae5ca1f.system.entry.js} +1 -1
  1224. package/dist/ionic/p-80874516.system.entry.js +4 -0
  1225. package/dist/ionic/{p-5da0eb3e.system.entry.js → p-8261be6c.system.entry.js} +1 -1
  1226. package/dist/ionic/{p-b8c3f071.system.js → p-82e3d633.system.js} +1 -1
  1227. package/dist/ionic/p-83af3685.system.js +4 -0
  1228. package/dist/ionic/p-856c430d.js +4 -0
  1229. package/dist/ionic/{p-e76a4bc8.entry.js → p-86c2bbc8.entry.js} +1 -1
  1230. package/dist/ionic/{p-613d4042.system.js → p-888db766.system.js} +1 -1
  1231. package/dist/ionic/{p-92800752.entry.js → p-89026d53.entry.js} +1 -1
  1232. package/dist/ionic/{p-f3c82f74.system.entry.js → p-89cfbc88.system.entry.js} +2 -2
  1233. package/dist/ionic/{p-c919498d.entry.js → p-8a10752d.entry.js} +1 -1
  1234. package/dist/ionic/{p-abacb44b.system.entry.js → p-8a75f7bf.system.entry.js} +1 -1
  1235. package/dist/ionic/{p-d3952bd5.system.entry.js → p-8c202d6e.system.entry.js} +1 -1
  1236. package/dist/ionic/{p-e8400078.system.entry.js → p-90db28f8.system.entry.js} +1 -1
  1237. package/dist/ionic/{p-9b89cbde.js → p-91f9e81b.js} +1 -1
  1238. package/dist/ionic/{p-4c80afe1.system.entry.js → p-93dac17a.system.entry.js} +1 -1
  1239. package/dist/ionic/p-94af06eb.entry.js +4 -0
  1240. package/dist/ionic/{p-b4b4bb29.system.js → p-95c26010.system.js} +1 -1
  1241. package/dist/ionic/{p-0330f0a3.system.entry.js → p-98ac0e27.system.entry.js} +2 -2
  1242. package/dist/ionic/{p-bba2ce59.system.js → p-98d82c73.system.js} +1 -1
  1243. package/dist/ionic/p-990ffd0e.js +4 -0
  1244. package/dist/ionic/{p-a21b8d05.entry.js → p-99fe0543.entry.js} +1 -1
  1245. package/dist/ionic/{p-f5a750e4.system.entry.js → p-9f376964.system.entry.js} +1 -1
  1246. package/dist/ionic/{p-8e1bded3.entry.js → p-a07ce93b.entry.js} +1 -1
  1247. package/dist/ionic/{p-c7b8c2ef.system.entry.js → p-a0945c3a.system.entry.js} +1 -1
  1248. package/dist/ionic/{p-07d9e9cd.system.entry.js → p-a0db3de9.system.entry.js} +1 -1
  1249. package/dist/ionic/{p-64ed03a3.entry.js → p-a3a145d3.entry.js} +1 -1
  1250. package/dist/ionic/{p-af016cd3.entry.js → p-a5c81b99.entry.js} +1 -1
  1251. package/dist/ionic/{p-8b29691f.entry.js → p-a70b5d24.entry.js} +1 -1
  1252. package/dist/ionic/{p-4a142496.system.entry.js → p-a843a90e.system.entry.js} +1 -1
  1253. package/dist/ionic/{p-0e23256e.system.entry.js → p-a99f14a7.system.entry.js} +1 -1
  1254. package/dist/ionic/{p-5cfb3feb.system.entry.js → p-aac289d2.system.entry.js} +1 -1
  1255. package/dist/ionic/{p-702d85d8.system.js → p-abab375b.system.js} +1 -1
  1256. package/dist/ionic/{p-a0b6d438.js → p-ac4a7fc0.js} +1 -1
  1257. package/dist/ionic/{p-5d711127.js → p-acdd8148.js} +1 -1
  1258. package/dist/ionic/{p-34d2de14.system.entry.js → p-ad4d66ba.system.entry.js} +1 -1
  1259. package/dist/ionic/{p-09d142b3.system.js → p-ad78c421.system.js} +1 -1
  1260. package/dist/ionic/{p-d7ea6a0d.system.entry.js → p-ad953217.system.entry.js} +1 -1
  1261. package/dist/ionic/p-af959b5d.entry.js +4 -0
  1262. package/dist/ionic/{p-45da1e68.system.entry.js → p-b0fcf130.system.entry.js} +1 -1
  1263. package/dist/ionic/{p-67e644bd.system.entry.js → p-b614392e.system.entry.js} +1 -1
  1264. package/dist/ionic/{p-ffb876b0.system.entry.js → p-b81a8111.system.entry.js} +1 -1
  1265. package/dist/ionic/p-b8f2134e.js +4 -0
  1266. package/dist/ionic/{p-5bd4e009.entry.js → p-bbe3feee.entry.js} +1 -1
  1267. package/dist/ionic/{p-7cee75c0.entry.js → p-c04accad.entry.js} +1 -1
  1268. package/dist/ionic/{p-0d8e9393.entry.js → p-c40d5610.entry.js} +1 -1
  1269. package/dist/ionic/{p-40903d34.system.js → p-c5ae50be.system.js} +1 -1
  1270. package/dist/ionic/{p-377c636c.system.entry.js → p-ca32685b.system.entry.js} +1 -1
  1271. package/dist/ionic/p-cde72008.js +4 -0
  1272. package/dist/ionic/{p-29fe18ef.entry.js → p-d0251fc4.entry.js} +1 -1
  1273. package/dist/ionic/{p-63f08fe3.entry.js → p-d3e123c0.entry.js} +1 -1
  1274. package/dist/ionic/{p-ff5a10f9.system.js → p-d43f1f3d.system.js} +1 -1
  1275. package/dist/ionic/{p-64296b15.entry.js → p-d51bae0c.entry.js} +1 -1
  1276. package/dist/ionic/{p-9ab6f3e6.system.js → p-d9695ad9.system.js} +1 -1
  1277. package/dist/ionic/{p-cf425ec5.system.entry.js → p-d9e5e5e6.system.entry.js} +1 -1
  1278. package/dist/ionic/p-ddccf1f4.js +4 -0
  1279. package/dist/ionic/{p-352c0232.system.entry.js → p-df361680.system.entry.js} +1 -1
  1280. package/dist/ionic/{p-deab76dc.entry.js → p-dfd7d5ee.entry.js} +1 -1
  1281. package/dist/ionic/{p-b906c5ca.entry.js → p-e145b9f9.entry.js} +1 -1
  1282. package/dist/ionic/{p-c0c81820.system.js → p-e26030f8.system.js} +1 -1
  1283. package/dist/ionic/{p-67e18f02.system.entry.js → p-e3c44332.system.entry.js} +1 -1
  1284. package/dist/ionic/{p-5deff017.entry.js → p-e4045e04.entry.js} +1 -1
  1285. package/dist/ionic/{p-f37b4b79.entry.js → p-e8e530fc.entry.js} +1 -1
  1286. package/dist/ionic/p-eab6401e.js +4 -0
  1287. package/dist/ionic/{p-a9c3699b.system.entry.js → p-edc5c693.system.entry.js} +1 -1
  1288. package/dist/ionic/{p-3de79805.entry.js → p-ee4a54e3.entry.js} +1 -1
  1289. package/dist/ionic/{p-1d269117.system.entry.js → p-eef8d7e8.system.entry.js} +1 -1
  1290. package/dist/ionic/{p-b203659a.system.entry.js → p-f0384573.system.entry.js} +1 -1
  1291. package/dist/ionic/{p-1cb5f2f8.system.entry.js → p-f094b8e8.system.entry.js} +1 -1
  1292. package/dist/ionic/{p-97e31c0a.system.js → p-f10de9d5.system.js} +1 -1
  1293. package/dist/ionic/{p-f4cc91f6.entry.js → p-f34d6a49.entry.js} +1 -1
  1294. package/dist/ionic/{p-3602001b.system.js → p-f54c72b0.system.js} +1 -1
  1295. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1296. package/dist/ionic/{p-d2597b3e.system.js → p-f8c5a0dd.system.js} +1 -1
  1297. package/dist/ionic/p-f967631d.js +4 -0
  1298. package/dist/ionic/{p-c56b6570.system.entry.js → p-fcf49977.system.entry.js} +1 -1
  1299. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1300. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1301. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1302. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1303. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1304. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1305. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1306. package/dist/types/components/alert/alert.d.ts +181 -181
  1307. package/dist/types/components/app/app.d.ts +15 -15
  1308. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1309. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1310. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1311. package/dist/types/components/badge/badge.d.ts +7 -7
  1312. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1313. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1314. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1315. package/dist/types/components/button/button.d.ts +121 -121
  1316. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1317. package/dist/types/components/card/card.d.ts +57 -57
  1318. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1319. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1320. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1321. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1322. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1323. package/dist/types/components/checkbox/checkbox.d.ts +111 -111
  1324. package/dist/types/components/chip/chip.d.ts +15 -15
  1325. package/dist/types/components/col/col.d.ts +128 -128
  1326. package/dist/types/components/content/content-interface.d.ts +6 -6
  1327. package/dist/types/components/content/content.d.ts +129 -129
  1328. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1329. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1330. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1331. package/dist/types/components/datetime/utils/manipulation.d.ts +25 -25
  1332. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1333. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1334. package/dist/types/components/fab/fab.d.ts +33 -33
  1335. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1336. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1337. package/dist/types/components/footer/footer.d.ts +27 -27
  1338. package/dist/types/components/grid/grid.d.ts +5 -5
  1339. package/dist/types/components/header/header.d.ts +31 -31
  1340. package/dist/types/components/header/header.utils.d.ts +7 -7
  1341. package/dist/types/components/img/img.d.ts +30 -30
  1342. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1343. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +58 -58
  1344. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1345. package/dist/types/components/input/input-interface.d.ts +6 -6
  1346. package/dist/types/components/input/input.d.ts +315 -315
  1347. package/dist/types/components/item/item.d.ts +111 -111
  1348. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1349. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1350. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1351. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1352. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1353. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1354. package/dist/types/components/label/label.d.ts +30 -30
  1355. package/dist/types/components/list/list.d.ts +17 -17
  1356. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1357. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1358. package/dist/types/components/loading/loading.d.ts +152 -152
  1359. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1360. package/dist/types/components/menu/menu.d.ts +140 -140
  1361. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1362. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1363. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1364. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1365. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1366. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1367. package/dist/types/components/modal/modal.d.ts +265 -265
  1368. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1369. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1370. package/dist/types/components/nav/nav.d.ts +247 -247
  1371. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1372. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1373. package/dist/types/components/note/note.d.ts +7 -7
  1374. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1375. package/dist/types/components/picker/picker.d.ts +149 -149
  1376. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1377. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1378. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -93
  1379. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1380. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1381. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1382. package/dist/types/components/popover/popover.d.ts +279 -279
  1383. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1384. package/dist/types/components/popover/utils.d.ts +25 -25
  1385. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1386. package/dist/types/components/radio/radio.d.ts +99 -99
  1387. package/dist/types/components/radio-group/radio-group-interface.d.ts +4 -4
  1388. package/dist/types/components/radio-group/radio-group.d.ts +43 -43
  1389. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1390. package/dist/types/components/range/range-interface.d.ts +7 -7
  1391. package/dist/types/components/range/range.d.ts +192 -192
  1392. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1393. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1394. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1395. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1396. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1397. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1398. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1399. package/dist/types/components/route/route-interface.d.ts +1 -1
  1400. package/dist/types/components/route/route.d.ts +43 -43
  1401. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1402. package/dist/types/components/router/router.d.ts +72 -72
  1403. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1404. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1405. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1406. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1407. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1408. package/dist/types/components/row/row.d.ts +1 -1
  1409. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1410. package/dist/types/components/searchbar/searchbar.d.ts +233 -233
  1411. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1412. package/dist/types/components/segment/segment.d.ts +82 -82
  1413. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1414. package/dist/types/components/select/select-interface.d.ts +3 -3
  1415. package/dist/types/components/select/select.d.ts +233 -233
  1416. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1417. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1418. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1419. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1420. package/dist/types/components/skeleton-text/skeleton-text.d.ts +6 -6
  1421. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1422. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1423. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1424. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1425. package/dist/types/components/tab/tab.d.ts +21 -21
  1426. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1427. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1428. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1429. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1430. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1431. package/dist/types/components/text/text.d.ts +7 -7
  1432. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1433. package/dist/types/components/textarea/textarea.d.ts +269 -269
  1434. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1435. package/dist/types/components/title/title.d.ts +21 -21
  1436. package/dist/types/components/toast/toast-interface.d.ts +35 -35
  1437. package/dist/types/components/toast/toast.d.ts +213 -213
  1438. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1439. package/dist/types/components/toggle/toggle.d.ts +116 -116
  1440. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1441. package/dist/types/global/config.d.ts +6 -6
  1442. package/dist/types/stencil-public-runtime.d.ts +8 -0
  1443. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1444. package/dist/types/utils/browser/index.d.ts +6 -6
  1445. package/dist/types/utils/config.d.ts +175 -175
  1446. package/dist/types/utils/element-interface.d.ts +6 -6
  1447. package/dist/types/utils/focus-visible.d.ts +2 -2
  1448. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1449. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1450. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1451. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1452. package/dist/types/utils/gesture/index.d.ts +31 -31
  1453. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1454. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1455. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1456. package/dist/types/utils/helpers.d.ts +8 -8
  1457. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1458. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1459. package/dist/types/utils/lock-controller.d.ts +1 -1
  1460. package/dist/types/utils/native/haptic.d.ts +38 -38
  1461. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1462. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1463. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1464. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1465. package/dist/types/utils/overlays.d.ts +28 -28
  1466. package/dist/types/utils/platform.d.ts +16 -16
  1467. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1468. package/dist/types/utils/slot-mutation-controller.d.ts +1 -1
  1469. package/dist/types/utils/test/platform.utils.d.ts +66 -66
  1470. package/dist/types/utils/test/playwright/generator.d.ts +7 -7
  1471. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1472. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1473. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1474. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1475. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1476. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1477. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1478. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1479. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1480. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1481. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1482. package/dist/types/utils/transition/index.d.ts +6 -6
  1483. package/dist/types/utils/watch-options.d.ts +1 -1
  1484. package/hydrate/index.js +29870 -29842
  1485. package/package.json +2 -2
  1486. package/dist/cjs/animation-1083855c.js +0 -1061
  1487. package/dist/cjs/button-active-af897e0e.js +0 -69
  1488. package/dist/cjs/config-d5882735.js +0 -199
  1489. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1490. package/dist/cjs/data-c8d21093.js +0 -1622
  1491. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1492. package/dist/cjs/form-controller-9343050c.js +0 -66
  1493. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1494. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1495. package/dist/cjs/haptic-678abc9f.js +0 -212
  1496. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1497. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1498. package/dist/cjs/index-0ee995e4.js +0 -459
  1499. package/dist/cjs/index-573877f3.js +0 -243
  1500. package/dist/cjs/index-9f379eaa.js +0 -198
  1501. package/dist/cjs/index-d7561763.js +0 -310
  1502. package/dist/cjs/input-shims-b0a75a01.js +0 -596
  1503. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1504. package/dist/cjs/ionic-global-ea2901a3.js +0 -230
  1505. package/dist/cjs/ios.transition-ac909bc8.js +0 -654
  1506. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1507. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1508. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1509. package/dist/cjs/md.transition-907af519.js +0 -59
  1510. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1511. package/dist/cjs/overlays-2ffc5f27.js +0 -714
  1512. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1513. package/dist/cjs/status-tap-3fb2391a.js +0 -42
  1514. package/dist/cjs/swipe-back-d0412fb6.js +0 -81
  1515. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1516. package/dist/cjs/watch-options-53bbb124.js +0 -49
  1517. package/dist/esm/animation-8aa13916.js +0 -1059
  1518. package/dist/esm/button-active-ce5cba4c.js +0 -67
  1519. package/dist/esm/config-96c9ace3.js +0 -193
  1520. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1521. package/dist/esm/data-44d9e816.js +0 -1575
  1522. package/dist/esm/focus-visible-85493433.js +0 -75
  1523. package/dist/esm/form-controller-64edeaad.js +0 -64
  1524. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1525. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1526. package/dist/esm/haptic-1243b917.js +0 -206
  1527. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1528. package/dist/esm/helpers-3379ba19.js +0 -418
  1529. package/dist/esm/index-0aa6e61f.js +0 -308
  1530. package/dist/esm/index-6a0ccabb.js +0 -231
  1531. package/dist/esm/index-f0cc4e14.js +0 -196
  1532. package/dist/esm/index-ff313b19.js +0 -457
  1533. package/dist/esm/input-shims-d0c93e5d.js +0 -594
  1534. package/dist/esm/input.utils-ec063df4.js +0 -134
  1535. package/dist/esm/ionic-global-40e42e7f.js +0 -224
  1536. package/dist/esm/ios.transition-1651c430.js +0 -651
  1537. package/dist/esm/keyboard-b063f012.js +0 -79
  1538. package/dist/esm/keyboard-b551279d.js +0 -146
  1539. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1540. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1541. package/dist/esm/md.transition-66f18369.js +0 -57
  1542. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1543. package/dist/esm/overlays-6c9feb7e.js +0 -692
  1544. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1545. package/dist/esm/status-tap-9ce68758.js +0 -40
  1546. package/dist/esm/swipe-back-0f3bfc8e.js +0 -79
  1547. package/dist/esm/theme-17531cdf.js +0 -43
  1548. package/dist/esm/watch-options-02d8498b.js +0 -47
  1549. package/dist/esm-es5/app-globals-2398e405.js +0 -4
  1550. package/dist/esm-es5/md.transition-66f18369.js +0 -4
  1551. package/dist/ionic/p-114a36ed.js +0 -4
  1552. package/dist/ionic/p-1dc91702.entry.js +0 -4
  1553. package/dist/ionic/p-20cf4994.js +0 -4
  1554. package/dist/ionic/p-2e8e0045.js +0 -4
  1555. package/dist/ionic/p-3632220b.system.js +0 -4
  1556. package/dist/ionic/p-5370e786.js +0 -4
  1557. package/dist/ionic/p-67aab78f.js +0 -4
  1558. package/dist/ionic/p-73420380.js +0 -4
  1559. package/dist/ionic/p-778af3a7.entry.js +0 -4
  1560. package/dist/ionic/p-81c818e7.js +0 -4
  1561. package/dist/ionic/p-8b1be026.js +0 -4
  1562. package/dist/ionic/p-8dbdb163.system.js +0 -4
  1563. package/dist/ionic/p-957601e8.system.entry.js +0 -4
  1564. package/dist/ionic/p-c224b9a9.js +0 -5
  1565. package/dist/ionic/p-d1de1188.js +0 -4
  1566. package/dist/ionic/p-e627ed84.js +0 -4
  1567. package/dist/ionic/p-e6b240a0.js +0 -4
  1568. /package/dist/esm-es5/{capacitor-b4979570.js → capacitor-b0e5fe83.js} +0 -0
  1569. /package/dist/esm-es5/{config-96c9ace3.js → config-49c88215.js} +0 -0
  1570. /package/dist/esm-es5/{cubic-bezier-66542bc5.js → cubic-bezier-fe2083dc.js} +0 -0
  1571. /package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +0 -0
  1572. /package/dist/esm-es5/{focus-visible-85493433.js → focus-visible-dd40d69f.js} +0 -0
  1573. /package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +0 -0
  1574. /package/dist/esm-es5/{hardware-back-button-39299f84.js → hardware-back-button-b2bc76db.js} +0 -0
  1575. /package/dist/esm-es5/{helpers-3379ba19.js → helpers-ae653409.js} +0 -0
  1576. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1577. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1578. /package/dist/esm-es5/{spinner-configs-d09fbbbb.js → spinner-configs-964f7cf3.js} +0 -0
  1579. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1580. /package/dist/esm-es5/{watch-options-02d8498b.js → watch-options-c2911ace.js} +0 -0
  1581. /package/dist/ionic/{p-5aac9314.system.js → p-012c3ceb.system.js} +0 -0
  1582. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1583. /package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +0 -0
  1584. /package/dist/ionic/{p-ccdcb022.system.js → p-0e4f2e17.system.js} +0 -0
  1585. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1586. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1587. /package/dist/ionic/{p-815c2fba.system.js → p-32ad210f.system.js} +0 -0
  1588. /package/dist/ionic/{p-cc196b34.js → p-3c58a71b.js} +0 -0
  1589. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1590. /package/dist/ionic/{p-f10de93b.js → p-459d13d5.js} +0 -0
  1591. /package/dist/ionic/{p-44bc8b45.system.js → p-4609d030.system.js} +0 -0
  1592. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1593. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1594. /package/dist/ionic/{p-772f6c84.system.js → p-4f255d5a.system.js} +0 -0
  1595. /package/dist/ionic/{p-8c15eda7.system.js → p-790220fd.system.js} +0 -0
  1596. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1597. /package/dist/ionic/{p-87411e39.system.js → p-c468af8a.system.js} +0 -0
  1598. /package/dist/ionic/{p-9e852ff1.system.js → p-c7c8429a.system.js} +0 -0
  1599. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1600. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1601. /package/dist/ionic/{p-56dc022e.system.js → p-d8d84afa.system.js} +0 -0
  1602. /package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +0 -0
  1603. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1604. /package/dist/ionic/{p-2b89ea1b.system.js → p-f233f1e0.system.js} +0 -0
  1605. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
  1606. /package/dist/ionic/{p-479cdbf8.system.js → p-ff4b7e40.system.js} +0 -0
@@ -19,999 +19,999 @@ const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=h
19
19
  * @part backdrop - The backdrop that appears over the main content when the menu is open.
20
20
  */
21
21
  export class Menu {
22
- constructor() {
23
- this.lastOnEnd = 0;
24
- this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
25
- this.didLoad = false;
26
- /**
27
- * Flag used to determine if an open/close
28
- * operation was cancelled. For example, if
29
- * an app calls "menu.open" then disables the menu
30
- * part way through the animation, then this would
31
- * be considered a cancelled operation.
32
- */
33
- this.operationCancelled = false;
34
- this.isAnimating = false;
35
- this._isOpen = false;
36
- this.inheritedAttributes = {};
37
- this.handleFocus = (ev) => {
38
- /**
39
- * Overlays have their own focus trapping listener
40
- * so we do not want the two listeners to conflict
41
- * with each other. If the top-most overlay that is
42
- * open does not contain this ion-menu, then ion-menu's
43
- * focus trapping should not run.
44
- */
45
- const lastOverlay = getPresentedOverlay(document);
46
- if (lastOverlay && !lastOverlay.contains(this.el)) {
47
- return;
48
- }
49
- this.trapKeyboardFocus(ev, document);
50
- };
51
- this.isPaneVisible = false;
52
- this.isEndSide = false;
53
- this.contentId = undefined;
54
- this.menuId = undefined;
55
- this.type = undefined;
56
- this.disabled = false;
57
- this.side = 'start';
58
- this.swipeGesture = true;
59
- this.maxEdgeStart = 50;
60
- }
61
- typeChanged(type, oldType) {
62
- const contentEl = this.contentEl;
63
- if (contentEl) {
64
- if (oldType !== undefined) {
65
- contentEl.classList.remove(`menu-content-${oldType}`);
66
- }
67
- contentEl.classList.add(`menu-content-${type}`);
68
- contentEl.removeAttribute('style');
69
- }
70
- if (this.menuInnerEl) {
71
- // Remove effects of previous animations
72
- this.menuInnerEl.removeAttribute('style');
73
- }
74
- this.animation = undefined;
75
- }
76
- disabledChanged() {
77
- this.updateState();
78
- this.ionMenuChange.emit({
79
- disabled: this.disabled,
80
- open: this._isOpen,
81
- });
82
- }
83
- sideChanged() {
84
- this.isEndSide = isEnd(this.side);
85
- /**
86
- * Menu direction animation is calculated based on the document direction.
87
- * If the document direction changes, we need to create a new animation.
88
- */
89
- this.animation = undefined;
90
- }
91
- swipeGestureChanged() {
92
- this.updateState();
93
- }
94
- async connectedCallback() {
95
- // TODO: connectedCallback is fired in CE build
96
- // before WC is defined. This needs to be fixed in Stencil.
97
- if (typeof customElements !== 'undefined' && customElements != null) {
98
- await customElements.whenDefined('ion-menu');
99
- }
100
- if (this.type === undefined) {
101
- this.type = config.get('menuType', 'overlay');
102
- }
103
- if (!Build.isBrowser) {
104
- return;
105
- }
106
- const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
107
- if (content === null) {
108
- console.error('Menu: must have a "content" element to listen for drag events on.');
109
- return;
110
- }
111
- if (this.el.contains(content)) {
112
- console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
113
- }
114
- this.contentEl = content;
115
- // add menu's content classes
116
- content.classList.add('menu-content');
117
- this.typeChanged(this.type, undefined);
118
- this.sideChanged();
119
- // register this menu with the app's menu controller
120
- menuController._register(this);
121
- this.menuChanged();
122
- this.gesture = (await import('../../utils/gesture')).createGesture({
123
- el: document,
124
- gestureName: 'menu-swipe',
125
- gesturePriority: 30,
126
- threshold: 10,
127
- blurOnStart: true,
128
- canStart: (ev) => this.canStart(ev),
129
- onWillStart: () => this.onWillStart(),
130
- onStart: () => this.onStart(),
131
- onMove: (ev) => this.onMove(ev),
132
- onEnd: (ev) => this.onEnd(ev),
133
- });
134
- this.updateState();
135
- }
136
- componentWillLoad() {
137
- this.inheritedAttributes = inheritAriaAttributes(this.el);
138
- }
139
- async componentDidLoad() {
140
- this.didLoad = true;
141
- this.menuChanged();
142
- this.updateState();
143
- }
144
- menuChanged() {
145
- /**
146
- * Inform dependent components such as ion-menu-button
147
- * that the menu is ready. Note that we only want to do this
148
- * once the menu has been rendered which is why we check for didLoad.
149
- */
150
- if (this.didLoad) {
151
- this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
22
+ constructor() {
23
+ this.lastOnEnd = 0;
24
+ this.blocker = GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
25
+ this.didLoad = false;
26
+ /**
27
+ * Flag used to determine if an open/close
28
+ * operation was cancelled. For example, if
29
+ * an app calls "menu.open" then disables the menu
30
+ * part way through the animation, then this would
31
+ * be considered a cancelled operation.
32
+ */
33
+ this.operationCancelled = false;
34
+ this.isAnimating = false;
35
+ this._isOpen = false;
36
+ this.inheritedAttributes = {};
37
+ this.handleFocus = (ev) => {
38
+ /**
39
+ * Overlays have their own focus trapping listener
40
+ * so we do not want the two listeners to conflict
41
+ * with each other. If the top-most overlay that is
42
+ * open does not contain this ion-menu, then ion-menu's
43
+ * focus trapping should not run.
44
+ */
45
+ const lastOverlay = getPresentedOverlay(document);
46
+ if (lastOverlay && !lastOverlay.contains(this.el)) {
47
+ return;
48
+ }
49
+ this.trapKeyboardFocus(ev, document);
50
+ };
51
+ this.isPaneVisible = false;
52
+ this.isEndSide = false;
53
+ this.contentId = undefined;
54
+ this.menuId = undefined;
55
+ this.type = undefined;
56
+ this.disabled = false;
57
+ this.side = 'start';
58
+ this.swipeGesture = true;
59
+ this.maxEdgeStart = 50;
60
+ }
61
+ typeChanged(type, oldType) {
62
+ const contentEl = this.contentEl;
63
+ if (contentEl) {
64
+ if (oldType !== undefined) {
65
+ contentEl.classList.remove(`menu-content-${oldType}`);
66
+ }
67
+ contentEl.classList.add(`menu-content-${type}`);
68
+ contentEl.removeAttribute('style');
69
+ }
70
+ if (this.menuInnerEl) {
71
+ // Remove effects of previous animations
72
+ this.menuInnerEl.removeAttribute('style');
73
+ }
74
+ this.animation = undefined;
152
75
  }
153
- }
154
- async disconnectedCallback() {
155
- /**
156
- * The menu should be closed when it is
157
- * unmounted from the DOM.
158
- * This is an async call, so we need to wait for
159
- * this to finish otherwise contentEl
160
- * will not have MENU_CONTENT_OPEN removed.
161
- */
162
- await this.close(false);
163
- this.blocker.destroy();
164
- menuController._unregister(this);
165
- if (this.animation) {
166
- this.animation.destroy();
167
- }
168
- if (this.gesture) {
169
- this.gesture.destroy();
170
- this.gesture = undefined;
171
- }
172
- this.animation = undefined;
173
- this.contentEl = undefined;
174
- }
175
- onSplitPaneChanged(ev) {
176
- const { target } = ev;
177
- const closestSplitPane = this.el.closest('ion-split-pane');
178
- /**
179
- * Menu listens on the body for "ionSplitPaneVisible".
180
- * However, this means the callback will run any time
181
- * a SplitPane changes visibility. As a result, we only want
182
- * Menu's visibility state to update if its parent SplitPane
183
- * changes visibility.
184
- */
185
- if (target !== closestSplitPane) {
186
- return;
187
- }
188
- this.isPaneVisible = ev.detail.isPane(this.el);
189
- this.updateState();
190
- }
191
- onBackdropClick(ev) {
192
- // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
193
- if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
194
- const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
195
- if (shouldClose) {
196
- ev.preventDefault();
197
- ev.stopPropagation();
198
- this.close();
199
- }
200
- }
201
- }
202
- onKeydown(ev) {
203
- if (ev.key === 'Escape') {
204
- this.close();
205
- }
206
- }
207
- /**
208
- * Returns `true` is the menu is open.
209
- */
210
- isOpen() {
211
- return Promise.resolve(this._isOpen);
212
- }
213
- /**
214
- * Returns `true` is the menu is active.
215
- *
216
- * A menu is active when it can be opened or closed, meaning it's enabled
217
- * and it's not part of a `ion-split-pane`.
218
- */
219
- isActive() {
220
- return Promise.resolve(this._isActive());
221
- }
222
- /**
223
- * Opens the menu. If the menu is already open or it can't be opened,
224
- * it returns `false`.
225
- */
226
- open(animated = true) {
227
- return this.setOpen(true, animated);
228
- }
229
- /**
230
- * Closes the menu. If the menu is already closed or it can't be closed,
231
- * it returns `false`.
232
- */
233
- close(animated = true) {
234
- return this.setOpen(false, animated);
235
- }
236
- /**
237
- * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
238
- * If the operation can't be completed successfully, it returns `false`.
239
- */
240
- toggle(animated = true) {
241
- return this.setOpen(!this._isOpen, animated);
242
- }
243
- /**
244
- * Opens or closes the button.
245
- * If the operation can't be completed successfully, it returns `false`.
246
- */
247
- setOpen(shouldOpen, animated = true) {
248
- return menuController._setOpen(this, shouldOpen, animated);
249
- }
250
- focusFirstDescendant() {
251
- const { el } = this;
252
- const firstInput = el.querySelector(focusableQueryString);
253
- if (firstInput) {
254
- firstInput.focus();
76
+ disabledChanged() {
77
+ this.updateState();
78
+ this.ionMenuChange.emit({
79
+ disabled: this.disabled,
80
+ open: this._isOpen,
81
+ });
255
82
  }
256
- else {
257
- el.focus();
83
+ sideChanged() {
84
+ this.isEndSide = isEnd(this.side);
85
+ /**
86
+ * Menu direction animation is calculated based on the document direction.
87
+ * If the document direction changes, we need to create a new animation.
88
+ */
89
+ this.animation = undefined;
258
90
  }
259
- }
260
- focusLastDescendant() {
261
- const { el } = this;
262
- const inputs = Array.from(el.querySelectorAll(focusableQueryString));
263
- const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
264
- if (lastInput) {
265
- lastInput.focus();
91
+ swipeGestureChanged() {
92
+ this.updateState();
266
93
  }
267
- else {
268
- el.focus();
94
+ async connectedCallback() {
95
+ // TODO: connectedCallback is fired in CE build
96
+ // before WC is defined. This needs to be fixed in Stencil.
97
+ if (typeof customElements !== 'undefined' && customElements != null) {
98
+ await customElements.whenDefined('ion-menu');
99
+ }
100
+ if (this.type === undefined) {
101
+ this.type = config.get('menuType', 'overlay');
102
+ }
103
+ if (!Build.isBrowser) {
104
+ return;
105
+ }
106
+ const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
107
+ if (content === null) {
108
+ console.error('Menu: must have a "content" element to listen for drag events on.');
109
+ return;
110
+ }
111
+ if (this.el.contains(content)) {
112
+ console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
113
+ }
114
+ this.contentEl = content;
115
+ // add menu's content classes
116
+ content.classList.add('menu-content');
117
+ this.typeChanged(this.type, undefined);
118
+ this.sideChanged();
119
+ // register this menu with the app's menu controller
120
+ menuController._register(this);
121
+ this.menuChanged();
122
+ this.gesture = (await import('../../utils/gesture')).createGesture({
123
+ el: document,
124
+ gestureName: 'menu-swipe',
125
+ gesturePriority: 30,
126
+ threshold: 10,
127
+ blurOnStart: true,
128
+ canStart: (ev) => this.canStart(ev),
129
+ onWillStart: () => this.onWillStart(),
130
+ onStart: () => this.onStart(),
131
+ onMove: (ev) => this.onMove(ev),
132
+ onEnd: (ev) => this.onEnd(ev),
133
+ });
134
+ this.updateState();
135
+ }
136
+ componentWillLoad() {
137
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
138
+ }
139
+ async componentDidLoad() {
140
+ this.didLoad = true;
141
+ this.menuChanged();
142
+ this.updateState();
143
+ }
144
+ menuChanged() {
145
+ /**
146
+ * Inform dependent components such as ion-menu-button
147
+ * that the menu is ready. Note that we only want to do this
148
+ * once the menu has been rendered which is why we check for didLoad.
149
+ */
150
+ if (this.didLoad) {
151
+ this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
152
+ }
153
+ }
154
+ async disconnectedCallback() {
155
+ /**
156
+ * The menu should be closed when it is
157
+ * unmounted from the DOM.
158
+ * This is an async call, so we need to wait for
159
+ * this to finish otherwise contentEl
160
+ * will not have MENU_CONTENT_OPEN removed.
161
+ */
162
+ await this.close(false);
163
+ this.blocker.destroy();
164
+ menuController._unregister(this);
165
+ if (this.animation) {
166
+ this.animation.destroy();
167
+ }
168
+ if (this.gesture) {
169
+ this.gesture.destroy();
170
+ this.gesture = undefined;
171
+ }
172
+ this.animation = undefined;
173
+ this.contentEl = undefined;
269
174
  }
270
- }
271
- trapKeyboardFocus(ev, doc) {
272
- const target = ev.target;
273
- if (!target) {
274
- return;
175
+ onSplitPaneChanged(ev) {
176
+ const { target } = ev;
177
+ const closestSplitPane = this.el.closest('ion-split-pane');
178
+ /**
179
+ * Menu listens on the body for "ionSplitPaneVisible".
180
+ * However, this means the callback will run any time
181
+ * a SplitPane changes visibility. As a result, we only want
182
+ * Menu's visibility state to update if its parent SplitPane
183
+ * changes visibility.
184
+ */
185
+ if (target !== closestSplitPane) {
186
+ return;
187
+ }
188
+ this.isPaneVisible = ev.detail.isPane(this.el);
189
+ this.updateState();
190
+ }
191
+ onBackdropClick(ev) {
192
+ // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
193
+ if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
194
+ const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
195
+ if (shouldClose) {
196
+ ev.preventDefault();
197
+ ev.stopPropagation();
198
+ this.close();
199
+ }
200
+ }
275
201
  }
276
- /**
277
- * If the target is inside the menu contents, let the browser
278
- * focus as normal and keep a log of the last focused element.
279
- */
280
- if (this.el.contains(target)) {
281
- this.lastFocus = target;
202
+ onKeydown(ev) {
203
+ if (ev.key === 'Escape') {
204
+ this.close();
205
+ }
282
206
  }
283
- else {
284
- /**
285
- * Otherwise, we are about to have focus go out of the menu.
286
- * Wrap the focus to either the first or last element.
287
- */
288
- /**
289
- * Once we call `focusFirstDescendant`, another focus event
290
- * will fire, which will cause `lastFocus` to be updated
291
- * before we can run the code after that. We cache the value
292
- * here to avoid that.
293
- */
294
- this.focusFirstDescendant();
295
- /**
296
- * If the cached last focused element is the same as the now-
297
- * active element, that means the user was on the first element
298
- * already and pressed Shift + Tab, so we need to wrap to the
299
- * last descendant.
300
- */
301
- if (this.lastFocus === doc.activeElement) {
302
- this.focusLastDescendant();
303
- }
304
- }
305
- }
306
- async _setOpen(shouldOpen, animated = true) {
307
- // If the menu is disabled or it is currently being animated, let's do nothing
308
- if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
309
- return false;
310
- }
311
- this.beforeAnimation(shouldOpen);
312
- await this.loadAnimation();
313
- await this.startAnimation(shouldOpen, animated);
314
207
  /**
315
- * If the animation was cancelled then
316
- * return false because the operation
317
- * did not succeed.
208
+ * Returns `true` is the menu is open.
318
209
  */
319
- if (this.operationCancelled) {
320
- this.operationCancelled = false;
321
- return false;
322
- }
323
- this.afterAnimation(shouldOpen);
324
- return true;
325
- }
326
- async loadAnimation() {
327
- // Menu swipe animation takes the menu's inner width as parameter,
328
- // If `offsetWidth` changes, we need to create a new animation.
329
- const width = this.menuInnerEl.offsetWidth;
210
+ isOpen() {
211
+ return Promise.resolve(this._isOpen);
212
+ }
330
213
  /**
331
- * Menu direction animation is calculated based on the document direction.
332
- * If the document direction changes, we need to create a new animation.
214
+ * Returns `true` is the menu is active.
215
+ *
216
+ * A menu is active when it can be opened or closed, meaning it's enabled
217
+ * and it's not part of a `ion-split-pane`.
333
218
  */
334
- const isEndSide = isEnd(this.side);
335
- if (width === this.width && this.animation !== undefined && isEndSide === this.isEndSide) {
336
- return;
337
- }
338
- this.width = width;
339
- this.isEndSide = isEndSide;
340
- // Destroy existing animation
341
- if (this.animation) {
342
- this.animation.destroy();
343
- this.animation = undefined;
344
- }
345
- // Create new animation
346
- const animation = (this.animation = await menuController._createAnimation(this.type, this));
347
- if (!config.getBoolean('animated', true)) {
348
- animation.duration(0);
349
- }
350
- animation.fill('both');
351
- }
352
- async startAnimation(shouldOpen, animated) {
353
- const isReversed = !shouldOpen;
354
- const mode = getIonMode(this);
355
- const easing = mode === 'ios' ? iosEasing : mdEasing;
356
- const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
357
- const ani = this.animation
358
- .direction(isReversed ? 'reverse' : 'normal')
359
- .easing(isReversed ? easingReverse : easing);
360
- if (animated) {
361
- await ani.play();
362
- }
363
- else {
364
- ani.play({ sync: true });
219
+ isActive() {
220
+ return Promise.resolve(this._isActive());
365
221
  }
366
222
  /**
367
- * We run this after the play invocation
368
- * instead of using ani.onFinish so that
369
- * multiple onFinish callbacks do not get
370
- * run if an animation is played, stopped,
371
- * and then played again.
223
+ * Opens the menu. If the menu is already open or it can't be opened,
224
+ * it returns `false`.
372
225
  */
373
- if (ani.getDirection() === 'reverse') {
374
- ani.direction('normal');
375
- }
376
- }
377
- _isActive() {
378
- return !this.disabled && !this.isPaneVisible;
379
- }
380
- canSwipe() {
381
- return this.swipeGesture && !this.isAnimating && this._isActive();
382
- }
383
- canStart(detail) {
384
- // Do not allow swipe gesture if a modal is open
385
- const isModalPresented = !!document.querySelector('ion-modal.show-modal');
386
- if (isModalPresented || !this.canSwipe()) {
387
- return false;
388
- }
389
- if (this._isOpen) {
390
- return true;
391
- }
392
- else if (menuController._getOpenSync()) {
393
- return false;
394
- }
395
- return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
396
- }
397
- onWillStart() {
398
- this.beforeAnimation(!this._isOpen);
399
- return this.loadAnimation();
400
- }
401
- onStart() {
402
- if (!this.isAnimating || !this.animation) {
403
- assert(false, 'isAnimating has to be true');
404
- return;
405
- }
406
- // the cloned animation should not use an easing curve during seek
407
- this.animation.progressStart(true, this._isOpen ? 1 : 0);
408
- }
409
- onMove(detail) {
410
- if (!this.isAnimating || !this.animation) {
411
- assert(false, 'isAnimating has to be true');
412
- return;
413
- }
414
- const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
415
- const stepValue = delta / this.width;
416
- this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
417
- }
418
- onEnd(detail) {
419
- if (!this.isAnimating || !this.animation) {
420
- assert(false, 'isAnimating has to be true');
421
- return;
422
- }
423
- const isOpen = this._isOpen;
424
- const isEndSide = this.isEndSide;
425
- const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
426
- const width = this.width;
427
- const stepValue = delta / width;
428
- const velocity = detail.velocityX;
429
- const z = width / 2.0;
430
- const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
431
- const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
432
- const shouldComplete = isOpen
433
- ? isEndSide
434
- ? shouldCompleteRight
435
- : shouldCompleteLeft
436
- : isEndSide
437
- ? shouldCompleteLeft
438
- : shouldCompleteRight;
439
- let shouldOpen = !isOpen && shouldComplete;
440
- if (isOpen && !shouldComplete) {
441
- shouldOpen = true;
442
- }
443
- this.lastOnEnd = detail.currentTime;
444
- // Account for rounding errors in JS
445
- let newStepValue = shouldComplete ? 0.001 : -0.001;
226
+ open(animated = true) {
227
+ return this.setOpen(true, animated);
228
+ }
446
229
  /**
447
- * stepValue can sometimes return a negative
448
- * value, but you can't have a negative time value
449
- * for the cubic bezier curve (at least with web animations)
230
+ * Closes the menu. If the menu is already closed or it can't be closed,
231
+ * it returns `false`.
450
232
  */
451
- const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
233
+ close(animated = true) {
234
+ return this.setOpen(false, animated);
235
+ }
452
236
  /**
453
- * Animation will be reversed here, so need to
454
- * reverse the easing curve as well
455
- *
456
- * Additionally, we need to account for the time relative
457
- * to the new easing curve, as `stepValue` is going to be given
458
- * in terms of a linear curve.
237
+ * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
238
+ * If the operation can't be completed successfully, it returns `false`.
459
239
  */
460
- newStepValue +=
461
- getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
462
- const playTo = this._isOpen ? !shouldComplete : shouldComplete;
463
- this.animation
464
- .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
465
- .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
466
- .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
467
- }
468
- beforeAnimation(shouldOpen) {
469
- assert(!this.isAnimating, '_before() should not be called while animating');
470
- // this places the menu into the correct location before it animates in
471
- // this css class doesn't actually kick off any animations
472
- this.el.classList.add(SHOW_MENU);
240
+ toggle(animated = true) {
241
+ return this.setOpen(!this._isOpen, animated);
242
+ }
473
243
  /**
474
- * We add a tabindex here so that focus trapping
475
- * still works even if the menu does not have
476
- * any focusable elements slotted inside. The
477
- * focus trapping utility will fallback to focusing
478
- * the menu so focus does not leave when the menu
479
- * is open.
244
+ * Opens or closes the button.
245
+ * If the operation can't be completed successfully, it returns `false`.
480
246
  */
481
- this.el.setAttribute('tabindex', '0');
482
- if (this.backdropEl) {
483
- this.backdropEl.classList.add(SHOW_BACKDROP);
484
- }
485
- // add css class and hide content behind menu from screen readers
486
- if (this.contentEl) {
487
- this.contentEl.classList.add(MENU_CONTENT_OPEN);
488
- /**
489
- * When the menu is open and overlaying the main
490
- * content, the main content should not be announced
491
- * by the screenreader as the menu is the main
492
- * focus. This is useful with screenreaders that have
493
- * "read from top" gestures that read the entire
494
- * page from top to bottom when activated.
495
- * This should be done before the animation starts
496
- * so that users cannot accidentally scroll
497
- * the content while dragging a menu open.
498
- */
499
- this.contentEl.setAttribute('aria-hidden', 'true');
500
- }
501
- this.blocker.block();
502
- this.isAnimating = true;
503
- if (shouldOpen) {
504
- this.ionWillOpen.emit();
247
+ setOpen(shouldOpen, animated = true) {
248
+ return menuController._setOpen(this, shouldOpen, animated);
249
+ }
250
+ focusFirstDescendant() {
251
+ const { el } = this;
252
+ const firstInput = el.querySelector(focusableQueryString);
253
+ if (firstInput) {
254
+ firstInput.focus();
255
+ }
256
+ else {
257
+ el.focus();
258
+ }
505
259
  }
506
- else {
507
- this.ionWillClose.emit();
508
- }
509
- }
510
- afterAnimation(isOpen) {
511
- var _a;
512
- // keep opening/closing the menu disabled for a touch more yet
513
- // only add listeners/css if it's enabled and isOpen
514
- // and only remove listeners/css if it's not open
515
- // emit opened/closed events
516
- this._isOpen = isOpen;
517
- this.isAnimating = false;
518
- if (!this._isOpen) {
519
- this.blocker.unblock();
520
- }
521
- if (isOpen) {
522
- // emit open event
523
- this.ionDidOpen.emit();
524
- /**
525
- * Move focus to the menu to prepare focus trapping, as long as
526
- * it isn't already focused. Use the host element instead of the
527
- * first descendant to avoid the scroll position jumping around.
528
- */
529
- const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
530
- if (focusedMenu !== this.el) {
531
- this.el.focus();
532
- }
533
- // start focus trapping
534
- document.addEventListener('focus', this.handleFocus, true);
260
+ focusLastDescendant() {
261
+ const { el } = this;
262
+ const inputs = Array.from(el.querySelectorAll(focusableQueryString));
263
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
264
+ if (lastInput) {
265
+ lastInput.focus();
266
+ }
267
+ else {
268
+ el.focus();
269
+ }
535
270
  }
536
- else {
537
- // remove css classes and unhide content from screen readers
538
- this.el.classList.remove(SHOW_MENU);
539
- /**
540
- * Remove tabindex from the menu component
541
- * so that is cannot be tabbed to.
542
- */
543
- this.el.removeAttribute('tabindex');
544
- if (this.contentEl) {
545
- this.contentEl.classList.remove(MENU_CONTENT_OPEN);
271
+ trapKeyboardFocus(ev, doc) {
272
+ const target = ev.target;
273
+ if (!target) {
274
+ return;
275
+ }
546
276
  /**
547
- * Remove aria-hidden so screen readers
548
- * can announce the main content again
549
- * now that the menu is not the main focus.
277
+ * If the target is inside the menu contents, let the browser
278
+ * focus as normal and keep a log of the last focused element.
550
279
  */
551
- this.contentEl.removeAttribute('aria-hidden');
552
- }
553
- if (this.backdropEl) {
554
- this.backdropEl.classList.remove(SHOW_BACKDROP);
555
- }
556
- if (this.animation) {
557
- this.animation.stop();
558
- }
559
- // emit close event
560
- this.ionDidClose.emit();
561
- // undo focus trapping so multiple menus don't collide
562
- document.removeEventListener('focus', this.handleFocus, true);
563
- }
564
- }
565
- updateState() {
566
- const isActive = this._isActive();
567
- if (this.gesture) {
568
- this.gesture.enable(isActive && this.swipeGesture);
569
- }
570
- /**
571
- * If the menu is disabled but it is still open
572
- * then we should close the menu immediately.
573
- * Additionally, if the menu is in the process
574
- * of animating {open, close} and the menu is disabled
575
- * then it should still be closed immediately.
576
- */
577
- if (!isActive) {
578
- /**
579
- * It is possible to disable the menu while
580
- * it is mid-animation. When this happens, we
581
- * need to set the operationCancelled flag
582
- * so that this._setOpen knows to return false
583
- * and not run the "afterAnimation" callback.
584
- */
585
- if (this.isAnimating) {
586
- this.operationCancelled = true;
587
- }
588
- /**
589
- * If the menu is disabled then we should
590
- * forcibly close the menu even if it is open.
591
- */
592
- this.afterAnimation(false);
593
- }
594
- }
595
- render() {
596
- const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
597
- const mode = getIonMode(this);
598
- return (h(Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
- [mode]: true,
600
- [`menu-type-${type}`]: true,
601
- 'menu-enabled': !disabled,
602
- [`menu-side-${side}`]: true,
603
- 'menu-pane-visible': isPaneVisible,
604
- } }, h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", null)), h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
605
- }
606
- static get is() { return "ion-menu"; }
607
- static get encapsulation() { return "shadow"; }
608
- static get originalStyleUrls() {
609
- return {
610
- "ios": ["menu.ios.scss"],
611
- "md": ["menu.md.scss"]
612
- };
613
- }
614
- static get styleUrls() {
615
- return {
616
- "ios": ["menu.ios.css"],
617
- "md": ["menu.md.css"]
618
- };
619
- }
620
- static get properties() {
621
- return {
622
- "contentId": {
623
- "type": "string",
624
- "mutable": false,
625
- "complexType": {
626
- "original": "string",
627
- "resolved": "string | undefined",
628
- "references": {}
629
- },
630
- "required": false,
631
- "optional": true,
632
- "docs": {
633
- "tags": [],
634
- "text": "The `id` of the main content. When using\na router this is typically `ion-router-outlet`.\nWhen not using a router, this is typically\nyour main view's `ion-content`. This is not the\nid of the `ion-content` inside of your `ion-menu`."
635
- },
636
- "attribute": "content-id",
637
- "reflect": true
638
- },
639
- "menuId": {
640
- "type": "string",
641
- "mutable": false,
642
- "complexType": {
643
- "original": "string",
644
- "resolved": "string | undefined",
645
- "references": {}
646
- },
647
- "required": false,
648
- "optional": true,
649
- "docs": {
650
- "tags": [],
651
- "text": "An id for the menu."
652
- },
653
- "attribute": "menu-id",
654
- "reflect": true
655
- },
656
- "type": {
657
- "type": "string",
658
- "mutable": true,
659
- "complexType": {
660
- "original": "string",
661
- "resolved": "string | undefined",
662
- "references": {}
663
- },
664
- "required": false,
665
- "optional": true,
666
- "docs": {
667
- "tags": [],
668
- "text": "The display type of the menu.\nAvailable options: `\"overlay\"`, `\"reveal\"`, `\"push\"`."
669
- },
670
- "attribute": "type",
671
- "reflect": false
672
- },
673
- "disabled": {
674
- "type": "boolean",
675
- "mutable": true,
676
- "complexType": {
677
- "original": "boolean",
678
- "resolved": "boolean",
679
- "references": {}
680
- },
681
- "required": false,
682
- "optional": false,
683
- "docs": {
684
- "tags": [],
685
- "text": "If `true`, the menu is disabled."
686
- },
687
- "attribute": "disabled",
688
- "reflect": false,
689
- "defaultValue": "false"
690
- },
691
- "side": {
692
- "type": "string",
693
- "mutable": false,
694
- "complexType": {
695
- "original": "Side",
696
- "resolved": "\"end\" | \"start\"",
697
- "references": {
698
- "Side": {
699
- "location": "import",
700
- "path": "./menu-interface",
701
- "id": "src/components/menu/menu-interface.ts::Side"
280
+ if (this.el.contains(target)) {
281
+ this.lastFocus = target;
282
+ }
283
+ else {
284
+ /**
285
+ * Otherwise, we are about to have focus go out of the menu.
286
+ * Wrap the focus to either the first or last element.
287
+ */
288
+ /**
289
+ * Once we call `focusFirstDescendant`, another focus event
290
+ * will fire, which will cause `lastFocus` to be updated
291
+ * before we can run the code after that. We cache the value
292
+ * here to avoid that.
293
+ */
294
+ this.focusFirstDescendant();
295
+ /**
296
+ * If the cached last focused element is the same as the now-
297
+ * active element, that means the user was on the first element
298
+ * already and pressed Shift + Tab, so we need to wrap to the
299
+ * last descendant.
300
+ */
301
+ if (this.lastFocus === doc.activeElement) {
302
+ this.focusLastDescendant();
702
303
  }
703
- }
704
- },
705
- "required": false,
706
- "optional": false,
707
- "docs": {
708
- "tags": [],
709
- "text": "Which side of the view the menu should be placed."
710
- },
711
- "attribute": "side",
712
- "reflect": true,
713
- "defaultValue": "'start'"
714
- },
715
- "swipeGesture": {
716
- "type": "boolean",
717
- "mutable": false,
718
- "complexType": {
719
- "original": "boolean",
720
- "resolved": "boolean",
721
- "references": {}
722
- },
723
- "required": false,
724
- "optional": false,
725
- "docs": {
726
- "tags": [],
727
- "text": "If `true`, swiping the menu is enabled."
728
- },
729
- "attribute": "swipe-gesture",
730
- "reflect": false,
731
- "defaultValue": "true"
732
- },
733
- "maxEdgeStart": {
734
- "type": "number",
735
- "mutable": false,
736
- "complexType": {
737
- "original": "number",
738
- "resolved": "number",
739
- "references": {}
740
- },
741
- "required": false,
742
- "optional": false,
743
- "docs": {
744
- "tags": [],
745
- "text": "The edge threshold for dragging the menu open.\nIf a drag/swipe happens over this value, the menu is not triggered."
746
- },
747
- "attribute": "max-edge-start",
748
- "reflect": false,
749
- "defaultValue": "50"
750
- }
751
- };
752
- }
753
- static get states() {
754
- return {
755
- "isPaneVisible": {},
756
- "isEndSide": {}
757
- };
758
- }
759
- static get events() {
760
- return [{
761
- "method": "ionWillOpen",
762
- "name": "ionWillOpen",
763
- "bubbles": true,
764
- "cancelable": true,
765
- "composed": true,
766
- "docs": {
767
- "tags": [],
768
- "text": "Emitted when the menu is about to be opened."
769
- },
770
- "complexType": {
771
- "original": "void",
772
- "resolved": "void",
773
- "references": {}
774
- }
775
- }, {
776
- "method": "ionWillClose",
777
- "name": "ionWillClose",
778
- "bubbles": true,
779
- "cancelable": true,
780
- "composed": true,
781
- "docs": {
782
- "tags": [],
783
- "text": "Emitted when the menu is about to be closed."
784
- },
785
- "complexType": {
786
- "original": "void",
787
- "resolved": "void",
788
- "references": {}
789
- }
790
- }, {
791
- "method": "ionDidOpen",
792
- "name": "ionDidOpen",
793
- "bubbles": true,
794
- "cancelable": true,
795
- "composed": true,
796
- "docs": {
797
- "tags": [],
798
- "text": "Emitted when the menu is open."
799
- },
800
- "complexType": {
801
- "original": "void",
802
- "resolved": "void",
803
- "references": {}
804
- }
805
- }, {
806
- "method": "ionDidClose",
807
- "name": "ionDidClose",
808
- "bubbles": true,
809
- "cancelable": true,
810
- "composed": true,
811
- "docs": {
812
- "tags": [],
813
- "text": "Emitted when the menu is closed."
814
- },
815
- "complexType": {
816
- "original": "void",
817
- "resolved": "void",
818
- "references": {}
819
- }
820
- }, {
821
- "method": "ionMenuChange",
822
- "name": "ionMenuChange",
823
- "bubbles": true,
824
- "cancelable": true,
825
- "composed": true,
826
- "docs": {
827
- "tags": [{
828
- "name": "internal",
829
- "text": undefined
830
- }],
831
- "text": "Emitted when the menu state is changed."
832
- },
833
- "complexType": {
834
- "original": "MenuChangeEventDetail",
835
- "resolved": "MenuChangeEventDetail",
836
- "references": {
837
- "MenuChangeEventDetail": {
838
- "location": "import",
839
- "path": "./menu-interface",
840
- "id": "src/components/menu/menu-interface.ts::MenuChangeEventDetail"
304
+ }
305
+ }
306
+ async _setOpen(shouldOpen, animated = true) {
307
+ // If the menu is disabled or it is currently being animated, let's do nothing
308
+ if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
309
+ return false;
310
+ }
311
+ this.beforeAnimation(shouldOpen);
312
+ await this.loadAnimation();
313
+ await this.startAnimation(shouldOpen, animated);
314
+ /**
315
+ * If the animation was cancelled then
316
+ * return false because the operation
317
+ * did not succeed.
318
+ */
319
+ if (this.operationCancelled) {
320
+ this.operationCancelled = false;
321
+ return false;
322
+ }
323
+ this.afterAnimation(shouldOpen);
324
+ return true;
325
+ }
326
+ async loadAnimation() {
327
+ // Menu swipe animation takes the menu's inner width as parameter,
328
+ // If `offsetWidth` changes, we need to create a new animation.
329
+ const width = this.menuInnerEl.offsetWidth;
330
+ /**
331
+ * Menu direction animation is calculated based on the document direction.
332
+ * If the document direction changes, we need to create a new animation.
333
+ */
334
+ const isEndSide = isEnd(this.side);
335
+ if (width === this.width && this.animation !== undefined && isEndSide === this.isEndSide) {
336
+ return;
337
+ }
338
+ this.width = width;
339
+ this.isEndSide = isEndSide;
340
+ // Destroy existing animation
341
+ if (this.animation) {
342
+ this.animation.destroy();
343
+ this.animation = undefined;
344
+ }
345
+ // Create new animation
346
+ const animation = (this.animation = await menuController._createAnimation(this.type, this));
347
+ if (!config.getBoolean('animated', true)) {
348
+ animation.duration(0);
349
+ }
350
+ animation.fill('both');
351
+ }
352
+ async startAnimation(shouldOpen, animated) {
353
+ const isReversed = !shouldOpen;
354
+ const mode = getIonMode(this);
355
+ const easing = mode === 'ios' ? iosEasing : mdEasing;
356
+ const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
357
+ const ani = this.animation
358
+ .direction(isReversed ? 'reverse' : 'normal')
359
+ .easing(isReversed ? easingReverse : easing);
360
+ if (animated) {
361
+ await ani.play();
362
+ }
363
+ else {
364
+ ani.play({ sync: true });
365
+ }
366
+ /**
367
+ * We run this after the play invocation
368
+ * instead of using ani.onFinish so that
369
+ * multiple onFinish callbacks do not get
370
+ * run if an animation is played, stopped,
371
+ * and then played again.
372
+ */
373
+ if (ani.getDirection() === 'reverse') {
374
+ ani.direction('normal');
375
+ }
376
+ }
377
+ _isActive() {
378
+ return !this.disabled && !this.isPaneVisible;
379
+ }
380
+ canSwipe() {
381
+ return this.swipeGesture && !this.isAnimating && this._isActive();
382
+ }
383
+ canStart(detail) {
384
+ // Do not allow swipe gesture if a modal is open
385
+ const isModalPresented = !!document.querySelector('ion-modal.show-modal');
386
+ if (isModalPresented || !this.canSwipe()) {
387
+ return false;
388
+ }
389
+ if (this._isOpen) {
390
+ return true;
391
+ }
392
+ else if (menuController._getOpenSync()) {
393
+ return false;
394
+ }
395
+ return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
396
+ }
397
+ onWillStart() {
398
+ this.beforeAnimation(!this._isOpen);
399
+ return this.loadAnimation();
400
+ }
401
+ onStart() {
402
+ if (!this.isAnimating || !this.animation) {
403
+ assert(false, 'isAnimating has to be true');
404
+ return;
405
+ }
406
+ // the cloned animation should not use an easing curve during seek
407
+ this.animation.progressStart(true, this._isOpen ? 1 : 0);
408
+ }
409
+ onMove(detail) {
410
+ if (!this.isAnimating || !this.animation) {
411
+ assert(false, 'isAnimating has to be true');
412
+ return;
413
+ }
414
+ const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
415
+ const stepValue = delta / this.width;
416
+ this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
417
+ }
418
+ onEnd(detail) {
419
+ if (!this.isAnimating || !this.animation) {
420
+ assert(false, 'isAnimating has to be true');
421
+ return;
422
+ }
423
+ const isOpen = this._isOpen;
424
+ const isEndSide = this.isEndSide;
425
+ const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
426
+ const width = this.width;
427
+ const stepValue = delta / width;
428
+ const velocity = detail.velocityX;
429
+ const z = width / 2.0;
430
+ const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
431
+ const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
432
+ const shouldComplete = isOpen
433
+ ? isEndSide
434
+ ? shouldCompleteRight
435
+ : shouldCompleteLeft
436
+ : isEndSide
437
+ ? shouldCompleteLeft
438
+ : shouldCompleteRight;
439
+ let shouldOpen = !isOpen && shouldComplete;
440
+ if (isOpen && !shouldComplete) {
441
+ shouldOpen = true;
442
+ }
443
+ this.lastOnEnd = detail.currentTime;
444
+ // Account for rounding errors in JS
445
+ let newStepValue = shouldComplete ? 0.001 : -0.001;
446
+ /**
447
+ * stepValue can sometimes return a negative
448
+ * value, but you can't have a negative time value
449
+ * for the cubic bezier curve (at least with web animations)
450
+ */
451
+ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
452
+ /**
453
+ * Animation will be reversed here, so need to
454
+ * reverse the easing curve as well
455
+ *
456
+ * Additionally, we need to account for the time relative
457
+ * to the new easing curve, as `stepValue` is going to be given
458
+ * in terms of a linear curve.
459
+ */
460
+ newStepValue +=
461
+ getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
462
+ const playTo = this._isOpen ? !shouldComplete : shouldComplete;
463
+ this.animation
464
+ .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
465
+ .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
466
+ .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
467
+ }
468
+ beforeAnimation(shouldOpen) {
469
+ assert(!this.isAnimating, '_before() should not be called while animating');
470
+ // this places the menu into the correct location before it animates in
471
+ // this css class doesn't actually kick off any animations
472
+ this.el.classList.add(SHOW_MENU);
473
+ /**
474
+ * We add a tabindex here so that focus trapping
475
+ * still works even if the menu does not have
476
+ * any focusable elements slotted inside. The
477
+ * focus trapping utility will fallback to focusing
478
+ * the menu so focus does not leave when the menu
479
+ * is open.
480
+ */
481
+ this.el.setAttribute('tabindex', '0');
482
+ if (this.backdropEl) {
483
+ this.backdropEl.classList.add(SHOW_BACKDROP);
484
+ }
485
+ // add css class and hide content behind menu from screen readers
486
+ if (this.contentEl) {
487
+ this.contentEl.classList.add(MENU_CONTENT_OPEN);
488
+ /**
489
+ * When the menu is open and overlaying the main
490
+ * content, the main content should not be announced
491
+ * by the screenreader as the menu is the main
492
+ * focus. This is useful with screenreaders that have
493
+ * "read from top" gestures that read the entire
494
+ * page from top to bottom when activated.
495
+ * This should be done before the animation starts
496
+ * so that users cannot accidentally scroll
497
+ * the content while dragging a menu open.
498
+ */
499
+ this.contentEl.setAttribute('aria-hidden', 'true');
500
+ }
501
+ this.blocker.block();
502
+ this.isAnimating = true;
503
+ if (shouldOpen) {
504
+ this.ionWillOpen.emit();
505
+ }
506
+ else {
507
+ this.ionWillClose.emit();
508
+ }
509
+ }
510
+ afterAnimation(isOpen) {
511
+ var _a;
512
+ // keep opening/closing the menu disabled for a touch more yet
513
+ // only add listeners/css if it's enabled and isOpen
514
+ // and only remove listeners/css if it's not open
515
+ // emit opened/closed events
516
+ this._isOpen = isOpen;
517
+ this.isAnimating = false;
518
+ if (!this._isOpen) {
519
+ this.blocker.unblock();
520
+ }
521
+ if (isOpen) {
522
+ // emit open event
523
+ this.ionDidOpen.emit();
524
+ /**
525
+ * Move focus to the menu to prepare focus trapping, as long as
526
+ * it isn't already focused. Use the host element instead of the
527
+ * first descendant to avoid the scroll position jumping around.
528
+ */
529
+ const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
530
+ if (focusedMenu !== this.el) {
531
+ this.el.focus();
841
532
  }
842
- }
843
- }
844
- }];
845
- }
846
- static get methods() {
847
- return {
848
- "isOpen": {
849
- "complexType": {
850
- "signature": "() => Promise<boolean>",
851
- "parameters": [],
852
- "references": {
853
- "Promise": {
854
- "location": "global",
855
- "id": "global::Promise"
533
+ // start focus trapping
534
+ document.addEventListener('focus', this.handleFocus, true);
535
+ }
536
+ else {
537
+ // remove css classes and unhide content from screen readers
538
+ this.el.classList.remove(SHOW_MENU);
539
+ /**
540
+ * Remove tabindex from the menu component
541
+ * so that is cannot be tabbed to.
542
+ */
543
+ this.el.removeAttribute('tabindex');
544
+ if (this.contentEl) {
545
+ this.contentEl.classList.remove(MENU_CONTENT_OPEN);
546
+ /**
547
+ * Remove aria-hidden so screen readers
548
+ * can announce the main content again
549
+ * now that the menu is not the main focus.
550
+ */
551
+ this.contentEl.removeAttribute('aria-hidden');
856
552
  }
857
- },
858
- "return": "Promise<boolean>"
859
- },
860
- "docs": {
861
- "text": "Returns `true` is the menu is open.",
862
- "tags": []
863
- }
864
- },
865
- "isActive": {
866
- "complexType": {
867
- "signature": "() => Promise<boolean>",
868
- "parameters": [],
869
- "references": {
870
- "Promise": {
871
- "location": "global",
872
- "id": "global::Promise"
553
+ if (this.backdropEl) {
554
+ this.backdropEl.classList.remove(SHOW_BACKDROP);
873
555
  }
874
- },
875
- "return": "Promise<boolean>"
876
- },
877
- "docs": {
878
- "text": "Returns `true` is the menu is active.\n\nA menu is active when it can be opened or closed, meaning it's enabled\nand it's not part of a `ion-split-pane`.",
879
- "tags": []
880
- }
881
- },
882
- "open": {
883
- "complexType": {
884
- "signature": "(animated?: boolean) => Promise<boolean>",
885
- "parameters": [{
886
- "tags": [],
887
- "text": ""
888
- }],
889
- "references": {
890
- "Promise": {
891
- "location": "global",
892
- "id": "global::Promise"
556
+ if (this.animation) {
557
+ this.animation.stop();
893
558
  }
894
- },
895
- "return": "Promise<boolean>"
896
- },
897
- "docs": {
898
- "text": "Opens the menu. If the menu is already open or it can't be opened,\nit returns `false`.",
899
- "tags": []
900
- }
901
- },
902
- "close": {
903
- "complexType": {
904
- "signature": "(animated?: boolean) => Promise<boolean>",
905
- "parameters": [{
906
- "tags": [],
907
- "text": ""
908
- }],
909
- "references": {
910
- "Promise": {
911
- "location": "global",
912
- "id": "global::Promise"
559
+ // emit close event
560
+ this.ionDidClose.emit();
561
+ // undo focus trapping so multiple menus don't collide
562
+ document.removeEventListener('focus', this.handleFocus, true);
563
+ }
564
+ }
565
+ updateState() {
566
+ const isActive = this._isActive();
567
+ if (this.gesture) {
568
+ this.gesture.enable(isActive && this.swipeGesture);
569
+ }
570
+ /**
571
+ * If the menu is disabled but it is still open
572
+ * then we should close the menu immediately.
573
+ * Additionally, if the menu is in the process
574
+ * of animating {open, close} and the menu is disabled
575
+ * then it should still be closed immediately.
576
+ */
577
+ if (!isActive) {
578
+ /**
579
+ * It is possible to disable the menu while
580
+ * it is mid-animation. When this happens, we
581
+ * need to set the operationCancelled flag
582
+ * so that this._setOpen knows to return false
583
+ * and not run the "afterAnimation" callback.
584
+ */
585
+ if (this.isAnimating) {
586
+ this.operationCancelled = true;
913
587
  }
914
- },
915
- "return": "Promise<boolean>"
916
- },
917
- "docs": {
918
- "text": "Closes the menu. If the menu is already closed or it can't be closed,\nit returns `false`.",
919
- "tags": []
920
- }
921
- },
922
- "toggle": {
923
- "complexType": {
924
- "signature": "(animated?: boolean) => Promise<boolean>",
925
- "parameters": [{
926
- "tags": [],
927
- "text": ""
928
- }],
929
- "references": {
930
- "Promise": {
931
- "location": "global",
932
- "id": "global::Promise"
588
+ /**
589
+ * If the menu is disabled then we should
590
+ * forcibly close the menu even if it is open.
591
+ */
592
+ this.afterAnimation(false);
593
+ }
594
+ }
595
+ render() {
596
+ const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
597
+ const mode = getIonMode(this);
598
+ return (h(Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
599
+ [mode]: true,
600
+ [`menu-type-${type}`]: true,
601
+ 'menu-enabled': !disabled,
602
+ [`menu-side-${side}`]: true,
603
+ 'menu-pane-visible': isPaneVisible,
604
+ } }, h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", null)), h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
605
+ }
606
+ static get is() { return "ion-menu"; }
607
+ static get encapsulation() { return "shadow"; }
608
+ static get originalStyleUrls() {
609
+ return {
610
+ "ios": ["menu.ios.scss"],
611
+ "md": ["menu.md.scss"]
612
+ };
613
+ }
614
+ static get styleUrls() {
615
+ return {
616
+ "ios": ["menu.ios.css"],
617
+ "md": ["menu.md.css"]
618
+ };
619
+ }
620
+ static get properties() {
621
+ return {
622
+ "contentId": {
623
+ "type": "string",
624
+ "mutable": false,
625
+ "complexType": {
626
+ "original": "string",
627
+ "resolved": "string | undefined",
628
+ "references": {}
629
+ },
630
+ "required": false,
631
+ "optional": true,
632
+ "docs": {
633
+ "tags": [],
634
+ "text": "The `id` of the main content. When using\na router this is typically `ion-router-outlet`.\nWhen not using a router, this is typically\nyour main view's `ion-content`. This is not the\nid of the `ion-content` inside of your `ion-menu`."
635
+ },
636
+ "attribute": "content-id",
637
+ "reflect": true
638
+ },
639
+ "menuId": {
640
+ "type": "string",
641
+ "mutable": false,
642
+ "complexType": {
643
+ "original": "string",
644
+ "resolved": "string | undefined",
645
+ "references": {}
646
+ },
647
+ "required": false,
648
+ "optional": true,
649
+ "docs": {
650
+ "tags": [],
651
+ "text": "An id for the menu."
652
+ },
653
+ "attribute": "menu-id",
654
+ "reflect": true
655
+ },
656
+ "type": {
657
+ "type": "string",
658
+ "mutable": true,
659
+ "complexType": {
660
+ "original": "string",
661
+ "resolved": "string | undefined",
662
+ "references": {}
663
+ },
664
+ "required": false,
665
+ "optional": true,
666
+ "docs": {
667
+ "tags": [],
668
+ "text": "The display type of the menu.\nAvailable options: `\"overlay\"`, `\"reveal\"`, `\"push\"`."
669
+ },
670
+ "attribute": "type",
671
+ "reflect": false
672
+ },
673
+ "disabled": {
674
+ "type": "boolean",
675
+ "mutable": true,
676
+ "complexType": {
677
+ "original": "boolean",
678
+ "resolved": "boolean",
679
+ "references": {}
680
+ },
681
+ "required": false,
682
+ "optional": false,
683
+ "docs": {
684
+ "tags": [],
685
+ "text": "If `true`, the menu is disabled."
686
+ },
687
+ "attribute": "disabled",
688
+ "reflect": false,
689
+ "defaultValue": "false"
690
+ },
691
+ "side": {
692
+ "type": "string",
693
+ "mutable": false,
694
+ "complexType": {
695
+ "original": "Side",
696
+ "resolved": "\"end\" | \"start\"",
697
+ "references": {
698
+ "Side": {
699
+ "location": "import",
700
+ "path": "./menu-interface",
701
+ "id": "src/components/menu/menu-interface.ts::Side"
702
+ }
703
+ }
704
+ },
705
+ "required": false,
706
+ "optional": false,
707
+ "docs": {
708
+ "tags": [],
709
+ "text": "Which side of the view the menu should be placed."
710
+ },
711
+ "attribute": "side",
712
+ "reflect": true,
713
+ "defaultValue": "'start'"
714
+ },
715
+ "swipeGesture": {
716
+ "type": "boolean",
717
+ "mutable": false,
718
+ "complexType": {
719
+ "original": "boolean",
720
+ "resolved": "boolean",
721
+ "references": {}
722
+ },
723
+ "required": false,
724
+ "optional": false,
725
+ "docs": {
726
+ "tags": [],
727
+ "text": "If `true`, swiping the menu is enabled."
728
+ },
729
+ "attribute": "swipe-gesture",
730
+ "reflect": false,
731
+ "defaultValue": "true"
732
+ },
733
+ "maxEdgeStart": {
734
+ "type": "number",
735
+ "mutable": false,
736
+ "complexType": {
737
+ "original": "number",
738
+ "resolved": "number",
739
+ "references": {}
740
+ },
741
+ "required": false,
742
+ "optional": false,
743
+ "docs": {
744
+ "tags": [],
745
+ "text": "The edge threshold for dragging the menu open.\nIf a drag/swipe happens over this value, the menu is not triggered."
746
+ },
747
+ "attribute": "max-edge-start",
748
+ "reflect": false,
749
+ "defaultValue": "50"
933
750
  }
934
- },
935
- "return": "Promise<boolean>"
936
- },
937
- "docs": {
938
- "text": "Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.\nIf the operation can't be completed successfully, it returns `false`.",
939
- "tags": []
940
- }
941
- },
942
- "setOpen": {
943
- "complexType": {
944
- "signature": "(shouldOpen: boolean, animated?: boolean) => Promise<boolean>",
945
- "parameters": [{
946
- "tags": [],
947
- "text": ""
751
+ };
752
+ }
753
+ static get states() {
754
+ return {
755
+ "isPaneVisible": {},
756
+ "isEndSide": {}
757
+ };
758
+ }
759
+ static get events() {
760
+ return [{
761
+ "method": "ionWillOpen",
762
+ "name": "ionWillOpen",
763
+ "bubbles": true,
764
+ "cancelable": true,
765
+ "composed": true,
766
+ "docs": {
767
+ "tags": [],
768
+ "text": "Emitted when the menu is about to be opened."
769
+ },
770
+ "complexType": {
771
+ "original": "void",
772
+ "resolved": "void",
773
+ "references": {}
774
+ }
775
+ }, {
776
+ "method": "ionWillClose",
777
+ "name": "ionWillClose",
778
+ "bubbles": true,
779
+ "cancelable": true,
780
+ "composed": true,
781
+ "docs": {
782
+ "tags": [],
783
+ "text": "Emitted when the menu is about to be closed."
784
+ },
785
+ "complexType": {
786
+ "original": "void",
787
+ "resolved": "void",
788
+ "references": {}
789
+ }
790
+ }, {
791
+ "method": "ionDidOpen",
792
+ "name": "ionDidOpen",
793
+ "bubbles": true,
794
+ "cancelable": true,
795
+ "composed": true,
796
+ "docs": {
797
+ "tags": [],
798
+ "text": "Emitted when the menu is open."
799
+ },
800
+ "complexType": {
801
+ "original": "void",
802
+ "resolved": "void",
803
+ "references": {}
804
+ }
948
805
  }, {
949
- "tags": [],
950
- "text": ""
951
- }],
952
- "references": {
953
- "Promise": {
954
- "location": "global",
955
- "id": "global::Promise"
806
+ "method": "ionDidClose",
807
+ "name": "ionDidClose",
808
+ "bubbles": true,
809
+ "cancelable": true,
810
+ "composed": true,
811
+ "docs": {
812
+ "tags": [],
813
+ "text": "Emitted when the menu is closed."
814
+ },
815
+ "complexType": {
816
+ "original": "void",
817
+ "resolved": "void",
818
+ "references": {}
819
+ }
820
+ }, {
821
+ "method": "ionMenuChange",
822
+ "name": "ionMenuChange",
823
+ "bubbles": true,
824
+ "cancelable": true,
825
+ "composed": true,
826
+ "docs": {
827
+ "tags": [{
828
+ "name": "internal",
829
+ "text": undefined
830
+ }],
831
+ "text": "Emitted when the menu state is changed."
832
+ },
833
+ "complexType": {
834
+ "original": "MenuChangeEventDetail",
835
+ "resolved": "MenuChangeEventDetail",
836
+ "references": {
837
+ "MenuChangeEventDetail": {
838
+ "location": "import",
839
+ "path": "./menu-interface",
840
+ "id": "src/components/menu/menu-interface.ts::MenuChangeEventDetail"
841
+ }
842
+ }
843
+ }
844
+ }];
845
+ }
846
+ static get methods() {
847
+ return {
848
+ "isOpen": {
849
+ "complexType": {
850
+ "signature": "() => Promise<boolean>",
851
+ "parameters": [],
852
+ "references": {
853
+ "Promise": {
854
+ "location": "global",
855
+ "id": "global::Promise"
856
+ }
857
+ },
858
+ "return": "Promise<boolean>"
859
+ },
860
+ "docs": {
861
+ "text": "Returns `true` is the menu is open.",
862
+ "tags": []
863
+ }
864
+ },
865
+ "isActive": {
866
+ "complexType": {
867
+ "signature": "() => Promise<boolean>",
868
+ "parameters": [],
869
+ "references": {
870
+ "Promise": {
871
+ "location": "global",
872
+ "id": "global::Promise"
873
+ }
874
+ },
875
+ "return": "Promise<boolean>"
876
+ },
877
+ "docs": {
878
+ "text": "Returns `true` is the menu is active.\n\nA menu is active when it can be opened or closed, meaning it's enabled\nand it's not part of a `ion-split-pane`.",
879
+ "tags": []
880
+ }
881
+ },
882
+ "open": {
883
+ "complexType": {
884
+ "signature": "(animated?: boolean) => Promise<boolean>",
885
+ "parameters": [{
886
+ "tags": [],
887
+ "text": ""
888
+ }],
889
+ "references": {
890
+ "Promise": {
891
+ "location": "global",
892
+ "id": "global::Promise"
893
+ }
894
+ },
895
+ "return": "Promise<boolean>"
896
+ },
897
+ "docs": {
898
+ "text": "Opens the menu. If the menu is already open or it can't be opened,\nit returns `false`.",
899
+ "tags": []
900
+ }
901
+ },
902
+ "close": {
903
+ "complexType": {
904
+ "signature": "(animated?: boolean) => Promise<boolean>",
905
+ "parameters": [{
906
+ "tags": [],
907
+ "text": ""
908
+ }],
909
+ "references": {
910
+ "Promise": {
911
+ "location": "global",
912
+ "id": "global::Promise"
913
+ }
914
+ },
915
+ "return": "Promise<boolean>"
916
+ },
917
+ "docs": {
918
+ "text": "Closes the menu. If the menu is already closed or it can't be closed,\nit returns `false`.",
919
+ "tags": []
920
+ }
921
+ },
922
+ "toggle": {
923
+ "complexType": {
924
+ "signature": "(animated?: boolean) => Promise<boolean>",
925
+ "parameters": [{
926
+ "tags": [],
927
+ "text": ""
928
+ }],
929
+ "references": {
930
+ "Promise": {
931
+ "location": "global",
932
+ "id": "global::Promise"
933
+ }
934
+ },
935
+ "return": "Promise<boolean>"
936
+ },
937
+ "docs": {
938
+ "text": "Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.\nIf the operation can't be completed successfully, it returns `false`.",
939
+ "tags": []
940
+ }
941
+ },
942
+ "setOpen": {
943
+ "complexType": {
944
+ "signature": "(shouldOpen: boolean, animated?: boolean) => Promise<boolean>",
945
+ "parameters": [{
946
+ "tags": [],
947
+ "text": ""
948
+ }, {
949
+ "tags": [],
950
+ "text": ""
951
+ }],
952
+ "references": {
953
+ "Promise": {
954
+ "location": "global",
955
+ "id": "global::Promise"
956
+ }
957
+ },
958
+ "return": "Promise<boolean>"
959
+ },
960
+ "docs": {
961
+ "text": "Opens or closes the button.\nIf the operation can't be completed successfully, it returns `false`.",
962
+ "tags": []
963
+ }
956
964
  }
957
- },
958
- "return": "Promise<boolean>"
959
- },
960
- "docs": {
961
- "text": "Opens or closes the button.\nIf the operation can't be completed successfully, it returns `false`.",
962
- "tags": []
963
- }
964
- }
965
- };
966
- }
967
- static get elementRef() { return "el"; }
968
- static get watchers() {
969
- return [{
970
- "propName": "type",
971
- "methodName": "typeChanged"
972
- }, {
973
- "propName": "disabled",
974
- "methodName": "disabledChanged"
975
- }, {
976
- "propName": "side",
977
- "methodName": "sideChanged"
978
- }, {
979
- "propName": "swipeGesture",
980
- "methodName": "swipeGestureChanged"
981
- }];
982
- }
983
- static get listeners() {
984
- return [{
985
- "name": "ionSplitPaneVisible",
986
- "method": "onSplitPaneChanged",
987
- "target": "body",
988
- "capture": false,
989
- "passive": false
990
- }, {
991
- "name": "click",
992
- "method": "onBackdropClick",
993
- "target": undefined,
994
- "capture": true,
995
- "passive": false
996
- }, {
997
- "name": "keydown",
998
- "method": "onKeydown",
999
- "target": undefined,
1000
- "capture": false,
1001
- "passive": false
1002
- }];
1003
- }
965
+ };
966
+ }
967
+ static get elementRef() { return "el"; }
968
+ static get watchers() {
969
+ return [{
970
+ "propName": "type",
971
+ "methodName": "typeChanged"
972
+ }, {
973
+ "propName": "disabled",
974
+ "methodName": "disabledChanged"
975
+ }, {
976
+ "propName": "side",
977
+ "methodName": "sideChanged"
978
+ }, {
979
+ "propName": "swipeGesture",
980
+ "methodName": "swipeGestureChanged"
981
+ }];
982
+ }
983
+ static get listeners() {
984
+ return [{
985
+ "name": "ionSplitPaneVisible",
986
+ "method": "onSplitPaneChanged",
987
+ "target": "body",
988
+ "capture": false,
989
+ "passive": false
990
+ }, {
991
+ "name": "click",
992
+ "method": "onBackdropClick",
993
+ "target": undefined,
994
+ "capture": true,
995
+ "passive": false
996
+ }, {
997
+ "name": "keydown",
998
+ "method": "onKeydown",
999
+ "target": undefined,
1000
+ "capture": false,
1001
+ "passive": false
1002
+ }];
1003
+ }
1004
1004
  }
1005
1005
  const computeDelta = (deltaX, isOpen, isEndSide) => {
1006
- return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
1006
+ return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
1007
1007
  };
1008
1008
  const checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {
1009
- if (isEndSide) {
1010
- return posX >= win.innerWidth - maxEdgeStart;
1011
- }
1012
- else {
1013
- return posX <= maxEdgeStart;
1014
- }
1009
+ if (isEndSide) {
1010
+ return posX >= win.innerWidth - maxEdgeStart;
1011
+ }
1012
+ else {
1013
+ return posX <= maxEdgeStart;
1014
+ }
1015
1015
  };
1016
1016
  const SHOW_MENU = 'show-menu';
1017
1017
  const SHOW_BACKDROP = 'show-backdrop';