voyager-ionic-core 7.5.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1918) hide show
  1. package/components/action-sheet.js +299 -289
  2. package/components/alert.js +477 -467
  3. package/components/animation.js +992 -976
  4. package/components/backdrop.js +56 -56
  5. package/components/button-active.js +56 -56
  6. package/components/button.js +236 -236
  7. package/components/buttons.js +29 -29
  8. package/components/capacitor.js +4 -4
  9. package/components/checkbox.js +172 -170
  10. package/components/config.js +142 -142
  11. package/components/cubic-bezier.js +49 -49
  12. package/components/data.js +1055 -1055
  13. package/components/dir.js +5 -5
  14. package/components/focus-visible.js +63 -63
  15. package/components/form-controller.js +45 -49
  16. package/components/framework-delegate.js +121 -121
  17. package/components/gesture-controller.js +182 -182
  18. package/components/haptic.js +150 -150
  19. package/components/hardware-back-button.js +48 -48
  20. package/components/helpers.js +257 -257
  21. package/components/icon.js +133 -133
  22. package/components/index.js +95 -95
  23. package/components/index2.js +163 -163
  24. package/components/index3.js +417 -417
  25. package/components/index4.js +257 -259
  26. package/components/index5.js +0 -22
  27. package/components/index6.js +3 -3
  28. package/components/index8.js +58 -59
  29. package/components/index9.js +171 -171
  30. package/components/input-shims.js +488 -475
  31. package/components/input.utils.js +107 -106
  32. package/components/ion-accordion-group.d.ts +2 -2
  33. package/components/ion-accordion-group.js +223 -213
  34. package/components/ion-accordion.d.ts +2 -2
  35. package/components/ion-accordion.js +326 -326
  36. package/components/ion-action-sheet.d.ts +2 -2
  37. package/components/ion-alert.d.ts +2 -2
  38. package/components/ion-app.d.ts +2 -2
  39. package/components/ion-app.js +93 -93
  40. package/components/ion-avatar.d.ts +2 -2
  41. package/components/ion-avatar.js +23 -23
  42. package/components/ion-back-button.d.ts +2 -2
  43. package/components/ion-back-button.js +102 -102
  44. package/components/ion-backdrop.d.ts +2 -2
  45. package/components/ion-badge.d.ts +2 -2
  46. package/components/ion-badge.js +29 -29
  47. package/components/ion-breadcrumb.d.ts +2 -2
  48. package/components/ion-breadcrumb.js +111 -111
  49. package/components/ion-breadcrumbs.d.ts +2 -2
  50. package/components/ion-breadcrumbs.js +139 -139
  51. package/components/ion-button.d.ts +2 -2
  52. package/components/ion-buttons.d.ts +2 -2
  53. package/components/ion-card-content.d.ts +2 -2
  54. package/components/ion-card-content.js +27 -27
  55. package/components/ion-card-header.d.ts +2 -2
  56. package/components/ion-card-header.js +33 -33
  57. package/components/ion-card-subtitle.d.ts +2 -2
  58. package/components/ion-card-subtitle.js +30 -30
  59. package/components/ion-card-title.d.ts +2 -2
  60. package/components/ion-card-title.js +30 -30
  61. package/components/ion-card.d.ts +2 -2
  62. package/components/ion-card.js +78 -78
  63. package/components/ion-checkbox.d.ts +2 -2
  64. package/components/ion-chip.d.ts +2 -2
  65. package/components/ion-chip.js +41 -41
  66. package/components/ion-col.d.ts +2 -2
  67. package/components/ion-col.js +156 -156
  68. package/components/ion-content.d.ts +2 -2
  69. package/components/ion-content.js +394 -394
  70. package/components/ion-datetime-button.d.ts +2 -2
  71. package/components/ion-datetime-button.js +348 -348
  72. package/components/ion-datetime.d.ts +2 -2
  73. package/components/ion-datetime.js +1722 -1684
  74. package/components/ion-fab-button.d.ts +2 -2
  75. package/components/ion-fab-button.js +109 -109
  76. package/components/ion-fab-list.d.ts +2 -2
  77. package/components/ion-fab-list.js +45 -45
  78. package/components/ion-fab.d.ts +2 -2
  79. package/components/ion-fab.js +76 -76
  80. package/components/ion-footer.d.ts +2 -2
  81. package/components/ion-footer.js +124 -124
  82. package/components/ion-grid.d.ts +2 -2
  83. package/components/ion-grid.js +27 -27
  84. package/components/ion-header.d.ts +2 -2
  85. package/components/ion-header.js +299 -299
  86. package/components/ion-img.d.ts +2 -2
  87. package/components/ion-img.js +97 -97
  88. package/components/ion-infinite-scroll-content.d.ts +2 -2
  89. package/components/ion-infinite-scroll-content.js +49 -49
  90. package/components/ion-infinite-scroll.d.ts +2 -2
  91. package/components/ion-infinite-scroll.js +187 -179
  92. package/components/ion-input.d.ts +2 -2
  93. package/components/ion-input.js +482 -450
  94. package/components/ion-item-divider.d.ts +2 -2
  95. package/components/ion-item-divider.js +36 -36
  96. package/components/ion-item-group.d.ts +2 -2
  97. package/components/ion-item-group.js +28 -28
  98. package/components/ion-item-option.d.ts +2 -2
  99. package/components/ion-item-option.js +69 -69
  100. package/components/ion-item-options.d.ts +2 -2
  101. package/components/ion-item-options.js +50 -50
  102. package/components/ion-item-sliding.d.ts +2 -2
  103. package/components/ion-item-sliding.js +404 -404
  104. package/components/ion-item.d.ts +2 -2
  105. package/components/ion-label.d.ts +2 -2
  106. package/components/ion-list-header.d.ts +2 -2
  107. package/components/ion-list.d.ts +2 -2
  108. package/components/ion-loading.d.ts +2 -2
  109. package/components/ion-loading.js +257 -247
  110. package/components/ion-menu-button.d.ts +2 -2
  111. package/components/ion-menu-button.js +77 -77
  112. package/components/ion-menu-toggle.d.ts +2 -2
  113. package/components/ion-menu-toggle.js +41 -41
  114. package/components/ion-menu.d.ts +2 -2
  115. package/components/ion-menu.js +631 -619
  116. package/components/ion-modal.d.ts +2 -2
  117. package/components/ion-modal.js +1451 -1441
  118. package/components/ion-nav-link.d.ts +2 -2
  119. package/components/ion-nav-link.js +47 -47
  120. package/components/ion-nav.d.ts +2 -2
  121. package/components/ion-nav.js +910 -910
  122. package/components/ion-note.d.ts +2 -2
  123. package/components/ion-picker-column-internal.d.ts +2 -2
  124. package/components/ion-picker-column.d.ts +2 -2
  125. package/components/ion-picker-internal.d.ts +2 -2
  126. package/components/ion-picker.d.ts +2 -2
  127. package/components/ion-picker.js +263 -253
  128. package/components/ion-popover.d.ts +2 -2
  129. package/components/ion-progress-bar.d.ts +2 -2
  130. package/components/ion-progress-bar.js +57 -57
  131. package/components/ion-radio-group.d.ts +2 -2
  132. package/components/ion-radio.d.ts +2 -2
  133. package/components/ion-range.d.ts +2 -2
  134. package/components/ion-range.js +593 -591
  135. package/components/ion-refresher-content.d.ts +2 -2
  136. package/components/ion-refresher-content.js +63 -63
  137. package/components/ion-refresher.d.ts +2 -2
  138. package/components/ion-refresher.js +747 -740
  139. package/components/ion-reorder-group.d.ts +2 -2
  140. package/components/ion-reorder-group.js +259 -259
  141. package/components/ion-reorder.d.ts +2 -2
  142. package/components/ion-reorder.js +41 -41
  143. package/components/ion-ripple-effect.d.ts +2 -2
  144. package/components/ion-route-redirect.d.ts +2 -2
  145. package/components/ion-route-redirect.js +34 -34
  146. package/components/ion-route.d.ts +2 -2
  147. package/components/ion-route.js +56 -56
  148. package/components/ion-router-link.d.ts +2 -2
  149. package/components/ion-router-link.js +45 -45
  150. package/components/ion-router-outlet.d.ts +2 -2
  151. package/components/ion-router-outlet.js +193 -193
  152. package/components/ion-router.d.ts +2 -2
  153. package/components/ion-router.js +632 -632
  154. package/components/ion-row.d.ts +2 -2
  155. package/components/ion-row.js +20 -20
  156. package/components/ion-searchbar.d.ts +2 -2
  157. package/components/ion-searchbar.js +406 -397
  158. package/components/ion-segment-button.d.ts +2 -2
  159. package/components/ion-segment-button.js +117 -117
  160. package/components/ion-segment.d.ts +2 -2
  161. package/components/ion-segment.js +427 -401
  162. package/components/ion-select-option.d.ts +2 -2
  163. package/components/ion-select-option.js +27 -27
  164. package/components/ion-select-popover.d.ts +2 -2
  165. package/components/ion-select.d.ts +2 -2
  166. package/components/ion-select.js +778 -763
  167. package/components/ion-skeleton-text.d.ts +2 -2
  168. package/components/ion-skeleton-text.js +45 -32
  169. package/components/ion-spinner.d.ts +2 -2
  170. package/components/ion-split-pane.d.ts +2 -2
  171. package/components/ion-split-pane.js +145 -145
  172. package/components/ion-tab-bar.d.ts +2 -2
  173. package/components/ion-tab-bar.js +79 -79
  174. package/components/ion-tab-button.d.ts +2 -2
  175. package/components/ion-tab-button.js +106 -106
  176. package/components/ion-tab.d.ts +2 -2
  177. package/components/ion-tab.js +72 -72
  178. package/components/ion-tabs.d.ts +2 -2
  179. package/components/ion-tabs.js +160 -160
  180. package/components/ion-text.d.ts +2 -2
  181. package/components/ion-text.js +26 -26
  182. package/components/ion-textarea.d.ts +2 -2
  183. package/components/ion-textarea.js +424 -392
  184. package/components/ion-thumbnail.d.ts +2 -2
  185. package/components/ion-thumbnail.js +20 -20
  186. package/components/ion-title.d.ts +2 -2
  187. package/components/ion-title.js +57 -57
  188. package/components/ion-toast.d.ts +2 -2
  189. package/components/ion-toast.js +819 -464
  190. package/components/ion-toggle.d.ts +2 -2
  191. package/components/ion-toggle.js +243 -241
  192. package/components/ion-toolbar.d.ts +2 -2
  193. package/components/ion-toolbar.js +71 -71
  194. package/components/ionic-global.js +163 -163
  195. package/components/ios.transition.js +598 -598
  196. package/components/item.js +301 -301
  197. package/components/keyboard-controller.js +128 -128
  198. package/components/keyboard.js +62 -62
  199. package/components/keyboard2.js +59 -59
  200. package/components/label.js +85 -85
  201. package/components/list-header.js +35 -35
  202. package/components/list.js +52 -52
  203. package/components/lock-controller.js +24 -24
  204. package/components/md.transition.js +44 -44
  205. package/components/menu-toggle-util.js +2 -2
  206. package/components/notch-controller.js +120 -120
  207. package/components/note.js +29 -29
  208. package/components/overlays.js +496 -495
  209. package/components/picker-column-internal.js +350 -345
  210. package/components/picker-column.js +334 -334
  211. package/components/picker-internal.js +470 -470
  212. package/components/popover.js +1156 -1146
  213. package/components/radio-group.js +162 -151
  214. package/components/radio.js +248 -209
  215. package/components/ripple-effect.js +81 -81
  216. package/components/select-popover.js +163 -163
  217. package/components/spinner.js +182 -182
  218. package/components/status-tap.js +26 -26
  219. package/components/swipe-back.js +65 -65
  220. package/components/theme.js +23 -23
  221. package/components/watch-options.js +37 -26
  222. package/css/core.css +66 -0
  223. package/css/core.css.map +1 -1
  224. package/css/display.css +44 -0
  225. package/css/display.css.map +1 -1
  226. package/css/float-elements.css +44 -0
  227. package/css/float-elements.css.map +1 -1
  228. package/css/global.bundle.css +88 -0
  229. package/css/global.bundle.css.map +1 -1
  230. package/css/ionic-swiper.css +22 -0
  231. package/css/ionic-swiper.css.map +1 -1
  232. package/css/ionic.bundle.css.map +1 -1
  233. package/css/padding.css +44 -0
  234. package/css/padding.css.map +1 -1
  235. package/css/structure.css +44 -0
  236. package/css/structure.css.map +1 -1
  237. package/css/text-alignment.css +44 -0
  238. package/css/text-alignment.css.map +1 -1
  239. package/css/text-transformation.css +44 -0
  240. package/css/text-transformation.css.map +1 -1
  241. package/css/typography.css +44 -0
  242. package/css/typography.css.map +1 -1
  243. package/css/utils.bundle.css +220 -0
  244. package/css/utils.bundle.css.map +1 -1
  245. package/dist/cjs/animation-9b401d39.js +1062 -0
  246. package/dist/cjs/{app-globals-fe1ad535.js → app-globals-0af482c7.js} +1 -1
  247. package/dist/cjs/button-active-a5185907.js +69 -0
  248. package/dist/cjs/{capacitor-2ffba62a.js → capacitor-c04564bf.js} +5 -5
  249. package/dist/cjs/compare-with-utils-df1001d7.js +44 -0
  250. package/dist/cjs/config-4f60b98a.js +199 -0
  251. package/dist/cjs/cubic-bezier-f2dccc53.js +92 -0
  252. package/dist/cjs/data-36b9094e.js +1622 -0
  253. package/dist/cjs/{dir-f1e0ca26.js → dir-94c21456.js} +5 -5
  254. package/dist/cjs/focus-visible-7a0ce04f.js +77 -0
  255. package/dist/cjs/form-controller-7d42a722.js +66 -0
  256. package/dist/cjs/framework-delegate-1c29b14a.js +144 -0
  257. package/dist/cjs/gesture-controller-c40c045a.js +197 -0
  258. package/dist/cjs/haptic-b882e0bb.js +212 -0
  259. package/dist/cjs/hardware-back-button-76833cac.js +76 -0
  260. package/dist/cjs/helpers-76bb7efb.js +441 -0
  261. package/dist/cjs/{index-cc7dfb7c.js → index-5915f9b3.js} +3 -3
  262. package/dist/cjs/index-b4f986cd.js +198 -0
  263. package/dist/cjs/{index-305a23dc.js → index-bbb4336c.js} +184 -63
  264. package/dist/cjs/index-c8d52405.js +10 -0
  265. package/dist/cjs/index-ce101dc9.js +308 -0
  266. package/dist/cjs/index-d1b59ffa.js +459 -0
  267. package/dist/cjs/{index-10873539.js → index-da15e99c.js} +60 -61
  268. package/dist/cjs/index-f8f13389.js +243 -0
  269. package/dist/cjs/index.cjs.js +113 -113
  270. package/dist/cjs/input-shims-a23bb0f4.js +601 -0
  271. package/dist/cjs/input.utils-3d0166a2.js +138 -0
  272. package/dist/cjs/ion-accordion_2.cjs.entry.js +491 -481
  273. package/dist/cjs/ion-action-sheet.cjs.entry.js +262 -252
  274. package/dist/cjs/ion-alert.cjs.entry.js +442 -432
  275. package/dist/cjs/ion-app_8.cjs.entry.js +1153 -1153
  276. package/dist/cjs/ion-avatar_3.cjs.entry.js +29 -29
  277. package/dist/cjs/ion-back-button.cjs.entry.js +73 -73
  278. package/dist/cjs/ion-backdrop.cjs.entry.js +40 -40
  279. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +194 -194
  280. package/dist/cjs/ion-button_2.cjs.entry.js +303 -303
  281. package/dist/cjs/ion-card_5.cjs.entry.js +105 -105
  282. package/dist/cjs/ion-checkbox.cjs.entry.js +149 -147
  283. package/dist/cjs/ion-chip.cjs.entry.js +20 -20
  284. package/dist/cjs/ion-col_3.cjs.entry.js +136 -136
  285. package/dist/cjs/ion-datetime-button.cjs.entry.js +325 -325
  286. package/dist/cjs/ion-datetime_3.cjs.entry.js +2185 -2137
  287. package/dist/cjs/ion-fab_3.cjs.entry.js +152 -152
  288. package/dist/cjs/ion-img.cjs.entry.js +79 -79
  289. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +198 -190
  290. package/dist/cjs/ion-input.cjs.entry.js +426 -394
  291. package/dist/cjs/ion-item-option_3.cjs.entry.js +459 -459
  292. package/dist/cjs/ion-item_8.cjs.entry.js +447 -434
  293. package/dist/cjs/ion-loading.cjs.entry.js +220 -210
  294. package/dist/cjs/ion-menu_3.cjs.entry.js +670 -658
  295. package/dist/cjs/ion-modal.cjs.entry.js +1415 -1405
  296. package/dist/cjs/ion-nav_2.cjs.entry.js +904 -904
  297. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +331 -327
  298. package/dist/cjs/ion-picker-internal.cjs.entry.js +455 -455
  299. package/dist/cjs/ion-popover.cjs.entry.js +1110 -1100
  300. package/dist/cjs/ion-progress-bar.cjs.entry.js +40 -40
  301. package/dist/cjs/ion-radio_2.cjs.entry.js +322 -309
  302. package/dist/cjs/ion-range.cjs.entry.js +558 -556
  303. package/dist/cjs/ion-refresher_2.cjs.entry.js +786 -779
  304. package/dist/cjs/ion-reorder_2.cjs.entry.js +269 -269
  305. package/dist/cjs/ion-ripple-effect.cjs.entry.js +66 -66
  306. package/dist/cjs/ion-route_4.cjs.entry.js +693 -693
  307. package/dist/cjs/ion-searchbar.cjs.entry.js +363 -354
  308. package/dist/cjs/ion-segment_2.cjs.entry.js +509 -483
  309. package/dist/cjs/ion-select_3.cjs.entry.js +784 -768
  310. package/dist/cjs/ion-spinner.cjs.entry.js +46 -46
  311. package/dist/cjs/ion-split-pane.cjs.entry.js +117 -117
  312. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +142 -142
  313. package/dist/cjs/ion-tab_2.cjs.entry.js +187 -187
  314. package/dist/cjs/ion-text.cjs.entry.js +13 -13
  315. package/dist/cjs/ion-textarea.cjs.entry.js +381 -349
  316. package/dist/cjs/ion-toast.cjs.entry.js +771 -419
  317. package/dist/cjs/ion-toggle.cjs.entry.js +227 -225
  318. package/dist/cjs/ionic-global-f4a2093b.js +230 -0
  319. package/dist/cjs/ionic.cjs.js +5 -5
  320. package/dist/cjs/ios.transition-6787b799.js +654 -0
  321. package/dist/cjs/keyboard-0272231f.js +81 -0
  322. package/dist/cjs/{keyboard-38f2bb7b.js → keyboard-af1bb365.js} +62 -62
  323. package/dist/cjs/keyboard-controller-c05e747a.js +167 -0
  324. package/dist/cjs/loader.cjs.js +4 -4
  325. package/dist/cjs/lock-controller-6585a42a.js +40 -0
  326. package/dist/cjs/md.transition-e033d20a.js +59 -0
  327. package/dist/cjs/notch-controller-9735e7ac.js +155 -0
  328. package/dist/cjs/overlays-27a6fb16.js +716 -0
  329. package/dist/cjs/spinner-configs-282fd50a.js +147 -0
  330. package/dist/cjs/status-tap-415acac6.js +42 -0
  331. package/dist/cjs/swipe-back-e37a1a5c.js +81 -0
  332. package/dist/cjs/theme-d1c573d2.js +48 -0
  333. package/dist/cjs/watch-options-f5f3e158.js +49 -0
  334. package/dist/collection/collection-manifest.json +7 -7
  335. package/dist/collection/components/accordion/accordion.ios.css +44 -0
  336. package/dist/collection/components/accordion/accordion.js +410 -410
  337. package/dist/collection/components/accordion/accordion.md.css +22 -0
  338. package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +31 -31
  339. package/dist/collection/components/accordion/test/accordion.e2e.js +24 -24
  340. package/dist/collection/components/accordion/test/accordion.spec.js +195 -0
  341. package/dist/collection/components/accordion/test/basic/accordion.e2e.js +26 -26
  342. package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +18 -18
  343. package/dist/collection/components/accordion/test/nested/accordion.e2e.js +16 -16
  344. package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +6 -6
  345. package/dist/collection/components/accordion-group/accordion-group.ios.css +44 -0
  346. package/dist/collection/components/accordion-group/accordion-group.js +422 -412
  347. package/dist/collection/components/accordion-group/accordion-group.md.css +68 -2
  348. package/dist/collection/components/action-sheet/action-sheet.ios.css +62 -5
  349. package/dist/collection/components/action-sheet/action-sheet.js +739 -729
  350. package/dist/collection/components/action-sheet/action-sheet.md.css +62 -5
  351. package/dist/collection/components/action-sheet/animations/ios.enter.js +18 -18
  352. package/dist/collection/components/action-sheet/animations/ios.leave.js +12 -12
  353. package/dist/collection/components/action-sheet/animations/md.enter.js +18 -18
  354. package/dist/collection/components/action-sheet/animations/md.leave.js +12 -12
  355. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +59 -59
  356. package/dist/collection/components/action-sheet/test/action-sheet-id.spec.js +32 -0
  357. package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +33 -33
  358. package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +118 -59
  359. package/dist/collection/components/action-sheet/test/basic/action-sheet.spec.js +18 -0
  360. package/dist/collection/components/action-sheet/test/basic/fixture.js +23 -23
  361. package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +25 -25
  362. package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +10 -10
  363. package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +21 -21
  364. package/dist/collection/components/alert/alert.ios.css +122 -5
  365. package/dist/collection/components/alert/alert.js +977 -967
  366. package/dist/collection/components/alert/alert.md.css +152 -7
  367. package/dist/collection/components/alert/animations/ios.enter.js +19 -19
  368. package/dist/collection/components/alert/animations/ios.leave.js +13 -13
  369. package/dist/collection/components/alert/animations/md.enter.js +19 -19
  370. package/dist/collection/components/alert/animations/md.leave.js +10 -10
  371. package/dist/collection/components/alert/test/a11y/alert.e2e.js +139 -91
  372. package/dist/collection/components/alert/test/alert-id.spec.js +32 -0
  373. package/dist/collection/components/alert/test/alert.spec.js +37 -0
  374. package/dist/collection/components/alert/test/basic/alert-tablet.e2e.js +40 -0
  375. package/dist/collection/components/alert/test/basic/alert.e2e.js +96 -96
  376. package/dist/collection/components/alert/test/is-open/alert.e2e.js +25 -25
  377. package/dist/collection/components/alert/test/standalone/alert.e2e.js +9 -9
  378. package/dist/collection/components/alert/test/trigger/alert.e2e.js +21 -21
  379. package/dist/collection/components/app/app.js +116 -116
  380. package/dist/collection/components/app/test/safe-area/app.e2e.js +24 -24
  381. package/dist/collection/components/avatar/avatar.ios.css +44 -0
  382. package/dist/collection/components/avatar/avatar.js +17 -17
  383. package/dist/collection/components/avatar/avatar.md.css +44 -0
  384. package/dist/collection/components/avatar/test/basic/avatar.e2e.js +12 -12
  385. package/dist/collection/components/back-button/back-button.ios.css +44 -0
  386. package/dist/collection/components/back-button/back-button.js +214 -214
  387. package/dist/collection/components/back-button/back-button.md.css +44 -0
  388. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +6 -6
  389. package/dist/collection/components/back-button/test/back-button.spec.js +86 -0
  390. package/dist/collection/components/back-button/test/basic/back-button.e2e.js +6 -6
  391. package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +6 -6
  392. package/dist/collection/components/backdrop/backdrop.ios.css +44 -0
  393. package/dist/collection/components/backdrop/backdrop.js +131 -131
  394. package/dist/collection/components/backdrop/backdrop.md.css +44 -0
  395. package/dist/collection/components/badge/badge.ios.css +44 -0
  396. package/dist/collection/components/badge/badge.js +49 -49
  397. package/dist/collection/components/badge/badge.md.css +44 -0
  398. package/dist/collection/components/badge/test/a11y/badge.e2e.js +6 -6
  399. package/dist/collection/components/badge/test/basic/badge.e2e.js +6 -6
  400. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +44 -0
  401. package/dist/collection/components/breadcrumb/breadcrumb.js +395 -395
  402. package/dist/collection/components/breadcrumb/breadcrumb.md.css +44 -0
  403. package/dist/collection/components/breadcrumb/test/aria.spec.js +22 -0
  404. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +22 -0
  405. package/dist/collection/components/breadcrumbs/breadcrumbs.js +247 -247
  406. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +22 -0
  407. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +12 -12
  408. package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +6 -6
  409. package/dist/collection/components/breadcrumbs/test/breadcrumbs.spec.js +58 -0
  410. package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +6 -6
  411. package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +43 -43
  412. package/dist/collection/components/button/button.ios.css +66 -0
  413. package/dist/collection/components/button/button.js +541 -541
  414. package/dist/collection/components/button/button.md.css +44 -0
  415. package/dist/collection/components/button/test/a11y/button.e2e.js +21 -21
  416. package/dist/collection/components/button/test/basic/button.e2e.js +32 -32
  417. package/dist/collection/components/button/test/clear/button.e2e.js +6 -6
  418. package/dist/collection/components/button/test/expand/button.e2e.js +6 -6
  419. package/dist/collection/components/button/test/form-reference/button.e2e.js +84 -84
  420. package/dist/collection/components/button/test/form-reference/button.spec.js +26 -0
  421. package/dist/collection/components/button/test/icon/button.e2e.js +6 -6
  422. package/dist/collection/components/button/test/outline/button.e2e.js +6 -6
  423. package/dist/collection/components/button/test/round/button.e2e.js +6 -6
  424. package/dist/collection/components/button/test/size/button.e2e.js +22 -22
  425. package/dist/collection/components/button/test/strong/button.e2e.js +22 -22
  426. package/dist/collection/components/button/test/wrap/button.e2e.js +73 -73
  427. package/dist/collection/components/buttons/buttons.ios.css +66 -0
  428. package/dist/collection/components/buttons/buttons.js +46 -46
  429. package/dist/collection/components/buttons/buttons.md.css +66 -0
  430. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +21 -21
  431. package/dist/collection/components/card/card.ios.css +44 -0
  432. package/dist/collection/components/card/card.js +251 -251
  433. package/dist/collection/components/card/card.md.css +44 -0
  434. package/dist/collection/components/card/test/a11y/card.e2e.js +6 -6
  435. package/dist/collection/components/card/test/aria.spec.js +16 -0
  436. package/dist/collection/components/card/test/basic/card.e2e.js +38 -38
  437. package/dist/collection/components/card-content/card-content.ios.css +44 -0
  438. package/dist/collection/components/card-content/card-content.js +21 -21
  439. package/dist/collection/components/card-content/card-content.md.css +44 -0
  440. package/dist/collection/components/card-header/card-header.ios.css +44 -0
  441. package/dist/collection/components/card-header/card-header.js +70 -70
  442. package/dist/collection/components/card-header/card-header.md.css +44 -0
  443. package/dist/collection/components/card-header/test/basic/card-header.e2e.js +6 -6
  444. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +44 -0
  445. package/dist/collection/components/card-subtitle/card-subtitle.js +50 -50
  446. package/dist/collection/components/card-subtitle/card-subtitle.md.css +44 -0
  447. package/dist/collection/components/card-title/card-title.ios.css +44 -0
  448. package/dist/collection/components/card-title/card-title.js +50 -50
  449. package/dist/collection/components/card-title/card-title.md.css +44 -0
  450. package/dist/collection/components/checkbox/checkbox.ios.css +69 -9
  451. package/dist/collection/components/checkbox/checkbox.js +418 -415
  452. package/dist/collection/components/checkbox/checkbox.md.css +69 -9
  453. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +14 -14
  454. package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +50 -50
  455. package/dist/collection/components/checkbox/test/checkbox.spec.js +34 -0
  456. package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +11 -11
  457. package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +6 -6
  458. package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +29 -29
  459. package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +75 -75
  460. package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +45 -45
  461. package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +6 -6
  462. package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +21 -21
  463. package/dist/collection/components/chip/chip.ios.css +22 -0
  464. package/dist/collection/components/chip/chip.js +90 -90
  465. package/dist/collection/components/chip/chip.md.css +22 -0
  466. package/dist/collection/components/chip/test/a11y/chip.e2e.js +19 -19
  467. package/dist/collection/components/chip/test/basic/chip.e2e.js +42 -42
  468. package/dist/collection/components/chip/test/states/chip.e2e.js +14 -14
  469. package/dist/collection/components/col/col.css +66 -0
  470. package/dist/collection/components/col/col.js +536 -536
  471. package/dist/collection/components/content/content.css +22 -0
  472. package/dist/collection/components/content/content.js +745 -745
  473. package/dist/collection/components/content/test/basic/content.e2e.js +6 -6
  474. package/dist/collection/components/content/test/fixed/content.e2e.js +6 -6
  475. package/dist/collection/components/content/test/fullscreen/content.e2e.js +6 -6
  476. package/dist/collection/components/content/test/standalone/content.e2e.js +5 -5
  477. package/dist/collection/components/datetime/datetime.ios.css +69 -4
  478. package/dist/collection/components/datetime/datetime.js +2246 -2208
  479. package/dist/collection/components/datetime/datetime.md.css +69 -8
  480. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +73 -7
  481. package/dist/collection/components/datetime/test/a11y/datetime.spec.js +43 -0
  482. package/dist/collection/components/datetime/test/basic/datetime.e2e.js +241 -241
  483. package/dist/collection/components/datetime/test/color/datetime.e2e.js +9 -9
  484. package/dist/collection/components/datetime/test/comparison.spec.js +43 -0
  485. package/dist/collection/components/datetime/test/custom/datetime.e2e.js +37 -37
  486. package/dist/collection/components/datetime/test/data.spec.js +456 -0
  487. package/dist/collection/components/datetime/test/datetime.e2e.js +29 -29
  488. package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +119 -119
  489. package/dist/collection/components/datetime/test/disabled/datetime.e2e.js +68 -0
  490. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +33 -0
  491. package/dist/collection/components/datetime/test/display/datetime.e2e.js +86 -86
  492. package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +6 -6
  493. package/dist/collection/components/datetime/test/format.spec.js +124 -0
  494. package/dist/collection/components/datetime/test/helpers.spec.js +72 -0
  495. package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +76 -76
  496. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +21 -21
  497. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +98 -98
  498. package/dist/collection/components/datetime/test/manipulation.spec.js +433 -0
  499. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +178 -178
  500. package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +17 -17
  501. package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +170 -170
  502. package/dist/collection/components/datetime/test/parse.spec.js +222 -0
  503. package/dist/collection/components/datetime/test/position/datetime.e2e.js +14 -14
  504. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +263 -263
  505. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +137 -137
  506. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +113 -0
  507. package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +40 -40
  508. package/dist/collection/components/datetime/test/state.spec.js +114 -0
  509. package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +13 -13
  510. package/dist/collection/components/datetime/test/values/datetime.e2e.js +77 -77
  511. package/dist/collection/components/datetime/utils/comparison.js +22 -22
  512. package/dist/collection/components/datetime/utils/data.js +394 -394
  513. package/dist/collection/components/datetime/utils/format.js +143 -143
  514. package/dist/collection/components/datetime/utils/helpers.js +74 -74
  515. package/dist/collection/components/datetime/utils/manipulation.js +274 -274
  516. package/dist/collection/components/datetime/utils/parse.js +139 -139
  517. package/dist/collection/components/datetime/utils/state.js +123 -123
  518. package/dist/collection/components/datetime-button/datetime-button.css +22 -0
  519. package/dist/collection/components/datetime-button/datetime-button.js +399 -399
  520. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +11 -11
  521. package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +123 -123
  522. package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +13 -13
  523. package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +38 -38
  524. package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +102 -102
  525. package/dist/collection/components/fab/fab.css +112 -36
  526. package/dist/collection/components/fab/fab.js +179 -179
  527. package/dist/collection/components/fab/test/basic/fab.e2e.js +50 -50
  528. package/dist/collection/components/fab/test/custom-size/fab.e2e.js +6 -6
  529. package/dist/collection/components/fab/test/safe-area/fab.e2e.js +63 -0
  530. package/dist/collection/components/fab/test/states/fab.e2e.js +6 -6
  531. package/dist/collection/components/fab/test/translucent/fab.e2e.js +17 -17
  532. package/dist/collection/components/fab-button/fab-button.ios.css +44 -0
  533. package/dist/collection/components/fab-button/fab-button.js +374 -374
  534. package/dist/collection/components/fab-button/fab-button.md.css +44 -0
  535. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +6 -6
  536. package/dist/collection/components/fab-list/fab-list.css +46 -2
  537. package/dist/collection/components/fab-list/fab-list.js +79 -79
  538. package/dist/collection/components/footer/footer.ios.css +44 -0
  539. package/dist/collection/components/footer/footer.js +135 -135
  540. package/dist/collection/components/footer/footer.md.css +44 -0
  541. package/dist/collection/components/footer/footer.utils.js +25 -25
  542. package/dist/collection/components/footer/test/basic/footer.e2e.js +18 -18
  543. package/dist/collection/components/footer/test/fade/footer.e2e.js +10 -10
  544. package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +15 -15
  545. package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +6 -6
  546. package/dist/collection/components/grid/grid.css +66 -0
  547. package/dist/collection/components/grid/grid.js +44 -44
  548. package/dist/collection/components/grid/test/basic/grid.e2e.js +6 -6
  549. package/dist/collection/components/grid/test/offsets/grid.e2e.js +6 -6
  550. package/dist/collection/components/grid/test/padding/grid.e2e.js +6 -6
  551. package/dist/collection/components/grid/test/sizes/grid.e2e.js +6 -6
  552. package/dist/collection/components/header/header.ios.css +48 -1
  553. package/dist/collection/components/header/header.js +181 -181
  554. package/dist/collection/components/header/header.md.css +44 -0
  555. package/dist/collection/components/header/header.utils.js +148 -148
  556. package/dist/collection/components/header/test/a11y/header.e2e.js +18 -18
  557. package/dist/collection/components/header/test/basic/header.e2e.js +23 -23
  558. package/dist/collection/components/header/test/condense/header.e2e.js +25 -25
  559. package/dist/collection/components/header/test/fade/header.e2e.js +10 -10
  560. package/dist/collection/components/header/test/scroll-target/header.e2e.js +15 -15
  561. package/dist/collection/components/icon/test/basic/icon.e2e.js +6 -6
  562. package/dist/collection/components/icon/test/dir/icon.e2e.js +11 -11
  563. package/dist/collection/components/img/img.js +177 -177
  564. package/dist/collection/components/img/test/basic/img.e2e.js +62 -62
  565. package/dist/collection/components/img/test/draggable/img.e2e.js +10 -10
  566. package/dist/collection/components/infinite-scroll/infinite-scroll.js +279 -271
  567. package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +11 -11
  568. package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +11 -11
  569. package/dist/collection/components/infinite-scroll/test/small-dom-update/infinite-scroll.e2e.js +31 -0
  570. package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +11 -11
  571. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +44 -0
  572. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +86 -86
  573. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +44 -0
  574. package/dist/collection/components/infinite-scroll-content/test/infinite-scroll-content.spec.js +37 -0
  575. package/dist/collection/components/input/input.ios.css +91 -18
  576. package/dist/collection/components/input/input.js +1234 -1200
  577. package/dist/collection/components/input/input.md.css +167 -22
  578. package/dist/collection/components/input/input.utils.js +22 -22
  579. package/dist/collection/components/input/test/a11y/input.e2e.js +12 -12
  580. package/dist/collection/components/input/test/basic/input.e2e.js +63 -63
  581. package/dist/collection/components/input/test/bottom-content/input.e2e.js +89 -89
  582. package/dist/collection/components/input/test/card/input.e2e.js +6 -6
  583. package/dist/collection/components/input/test/clear-on-edit/input.e2e.js +25 -25
  584. package/dist/collection/components/input/test/color/input.e2e.js +88 -88
  585. package/dist/collection/components/input/test/fill/input.e2e.js +63 -63
  586. package/dist/collection/components/input/test/highlight/input.e2e.js +52 -52
  587. package/dist/collection/components/input/test/input.e2e.js +6 -6
  588. package/dist/collection/components/input/test/input.spec.js +85 -0
  589. package/dist/collection/components/input/test/item/input.e2e.js +11 -11
  590. package/dist/collection/components/input/test/item/input.spec.js +24 -0
  591. package/dist/collection/components/input/test/label-placement/input.e2e.js +104 -104
  592. package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +15 -15
  593. package/dist/collection/components/input/test/legacy/basic/input.e2e.js +102 -102
  594. package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +44 -44
  595. package/dist/collection/components/input/test/legacy/input-events.e2e.js +56 -56
  596. package/dist/collection/components/input/test/legacy/masking/input.e2e.js +15 -15
  597. package/dist/collection/components/input/test/legacy/spec/input.e2e.js +8 -8
  598. package/dist/collection/components/input/test/slot/input.e2e.js +51 -0
  599. package/dist/collection/components/input/test/states/input.e2e.js +11 -11
  600. package/dist/collection/components/item/item.ios.css +145 -15
  601. package/dist/collection/components/item/item.js +614 -614
  602. package/dist/collection/components/item/item.md.css +192 -18
  603. package/dist/collection/components/item/test/a11y/item.e2e.js +47 -47
  604. package/dist/collection/components/item/test/a11y/item.spec.js +48 -0
  605. package/dist/collection/components/item/test/alignment/item.e2e.js +6 -6
  606. package/dist/collection/components/item/test/basic/item.e2e.js +32 -6
  607. package/dist/collection/components/item/test/buttons/item.e2e.js +18 -18
  608. package/dist/collection/components/item/test/colors/item.e2e.js +6 -6
  609. package/dist/collection/components/item/test/counter/item.e2e.js +34 -34
  610. package/dist/collection/components/item/test/css-variables/item.e2e.js +6 -6
  611. package/dist/collection/components/item/test/disabled/item.e2e.js +6 -7
  612. package/dist/collection/components/item/test/dividers/item.e2e.js +6 -6
  613. package/dist/collection/components/item/test/groups/item.e2e.js +8 -8
  614. package/dist/collection/components/item/test/highlight/item.e2e.js +6 -6
  615. package/dist/collection/components/item/test/icons/item.e2e.js +6 -6
  616. package/dist/collection/components/item/test/images/item.e2e.js +6 -6
  617. package/dist/collection/components/item/test/inputs/item.e2e.js +139 -139
  618. package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +6 -6
  619. package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +6 -6
  620. package/dist/collection/components/item/test/legacy/fill/item.e2e.js +6 -6
  621. package/dist/collection/components/item/test/legacy/form/item.e2e.js +6 -6
  622. package/dist/collection/components/item/test/lines/item.e2e.js +6 -6
  623. package/dist/collection/components/item/test/media/item.e2e.js +6 -6
  624. package/dist/collection/components/item/test/reorder/item.e2e.js +8 -8
  625. package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +6 -6
  626. package/dist/collection/components/item/test/states/item.e2e.js +6 -6
  627. package/dist/collection/components/item-divider/item-divider.ios.css +101 -8
  628. package/dist/collection/components/item-divider/item-divider.js +71 -71
  629. package/dist/collection/components/item-divider/item-divider.md.css +101 -8
  630. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +11 -11
  631. package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +38 -16
  632. package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +8 -8
  633. package/dist/collection/components/item-group/item-group.ios.css +44 -0
  634. package/dist/collection/components/item-group/item-group.js +22 -22
  635. package/dist/collection/components/item-group/item-group.md.css +44 -0
  636. package/dist/collection/components/item-option/item-option.ios.css +44 -10
  637. package/dist/collection/components/item-option/item-option.js +197 -197
  638. package/dist/collection/components/item-option/item-option.md.css +44 -10
  639. package/dist/collection/components/item-options/item-options.ios.css +66 -0
  640. package/dist/collection/components/item-options/item-options.js +110 -110
  641. package/dist/collection/components/item-options/item-options.md.css +66 -0
  642. package/dist/collection/components/item-sliding/item-sliding.css +22 -0
  643. package/dist/collection/components/item-sliding/item-sliding.js +538 -538
  644. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +5 -5
  645. package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +25 -25
  646. package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +140 -63
  647. package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -20
  648. package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +18 -18
  649. package/dist/collection/components/item-sliding/test/test.utils.js +20 -20
  650. package/dist/collection/components/label/label.ios.css +81 -4
  651. package/dist/collection/components/label/label.js +174 -174
  652. package/dist/collection/components/label/label.md.css +80 -3
  653. package/dist/collection/components/label/test/a11y/label.e2e.js +21 -21
  654. package/dist/collection/components/label/test/basic/label.e2e.js +21 -21
  655. package/dist/collection/components/label/test/color/label.e2e.js +21 -21
  656. package/dist/collection/components/label/test/headings/label.e2e.js +5 -5
  657. package/dist/collection/components/list/list.ios.css +81 -1
  658. package/dist/collection/components/list/list.js +101 -101
  659. package/dist/collection/components/list/list.md.css +107 -3
  660. package/dist/collection/components/list/test/a11y/list.e2e.js +6 -6
  661. package/dist/collection/components/list/test/basic/list.e2e.js +6 -6
  662. package/dist/collection/components/list/test/inset/list.e2e.js +16 -16
  663. package/dist/collection/components/list/test/lines/list.e2e.js +158 -15
  664. package/dist/collection/components/list-header/list-header.ios.css +81 -2
  665. package/dist/collection/components/list-header/list-header.js +69 -69
  666. package/dist/collection/components/list-header/list-header.md.css +81 -2
  667. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +6 -6
  668. package/dist/collection/components/list-header/test/basic/list-header.e2e.js +34 -6
  669. package/dist/collection/components/loading/animations/ios.enter.js +19 -19
  670. package/dist/collection/components/loading/animations/ios.leave.js +13 -13
  671. package/dist/collection/components/loading/animations/md.enter.js +19 -19
  672. package/dist/collection/components/loading/animations/md.leave.js +13 -13
  673. package/dist/collection/components/loading/loading.ios.css +44 -0
  674. package/dist/collection/components/loading/loading.js +730 -720
  675. package/dist/collection/components/loading/loading.md.css +44 -0
  676. package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -26
  677. package/dist/collection/components/loading/test/basic/loading.e2e.js +60 -60
  678. package/dist/collection/components/loading/test/basic/loading.spec.js +16 -0
  679. package/dist/collection/components/loading/test/is-open/loading.e2e.js +17 -17
  680. package/dist/collection/components/loading/test/loading-id.spec.js +32 -0
  681. package/dist/collection/components/loading/test/loading.spec.js +37 -0
  682. package/dist/collection/components/loading/test/standalone/loading.e2e.js +13 -13
  683. package/dist/collection/components/loading/test/trigger/loading.e2e.js +21 -21
  684. package/dist/collection/components/menu/menu.ios.css +48 -4
  685. package/dist/collection/components/menu/menu.js +956 -944
  686. package/dist/collection/components/menu/menu.md.css +48 -4
  687. package/dist/collection/components/menu/test/a11y/menu.e2e.js +13 -13
  688. package/dist/collection/components/menu/test/basic/menu.e2e.js +102 -102
  689. package/dist/collection/components/menu/test/disable/menu.e2e.js +44 -44
  690. package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +61 -61
  691. package/dist/collection/components/menu/test/multiple/menu.e2e.js +49 -49
  692. package/dist/collection/components/menu/test/safe-area/menu.e2e.js +54 -54
  693. package/dist/collection/components/menu-button/menu-button.ios.css +44 -0
  694. package/dist/collection/components/menu-button/menu-button.js +173 -173
  695. package/dist/collection/components/menu-button/menu-button.md.css +44 -0
  696. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +12 -12
  697. package/dist/collection/components/menu-button/test/async/menu-button.e2e.js +12 -12
  698. package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +6 -6
  699. package/dist/collection/components/menu-toggle/menu-toggle-util.js +2 -2
  700. package/dist/collection/components/menu-toggle/menu-toggle.js +93 -93
  701. package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +33 -33
  702. package/dist/collection/components/modal/animations/ios.enter.js +81 -81
  703. package/dist/collection/components/modal/animations/ios.leave.js +74 -74
  704. package/dist/collection/components/modal/animations/md.enter.js +21 -21
  705. package/dist/collection/components/modal/animations/md.leave.js +15 -15
  706. package/dist/collection/components/modal/animations/sheet.js +43 -43
  707. package/dist/collection/components/modal/gestures/sheet.js +289 -289
  708. package/dist/collection/components/modal/gestures/swipe-to-close.js +248 -247
  709. package/dist/collection/components/modal/gestures/utils.js +39 -39
  710. package/dist/collection/components/modal/modal.ios.css +46 -2
  711. package/dist/collection/components/modal/modal.js +1290 -1280
  712. package/dist/collection/components/modal/modal.md.css +44 -0
  713. package/dist/collection/components/modal/test/a11y/modal.e2e.js +12 -12
  714. package/dist/collection/components/modal/test/a11y/modal.spec.js +22 -0
  715. package/dist/collection/components/modal/test/basic/modal.e2e.js +110 -110
  716. package/dist/collection/components/modal/test/basic/modal.spec.js +16 -0
  717. package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +44 -44
  718. package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +62 -62
  719. package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +16 -16
  720. package/dist/collection/components/modal/test/can-dismiss/modal.spec.js +191 -0
  721. package/dist/collection/components/modal/test/card/modal-card.e2e.js +69 -69
  722. package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +67 -67
  723. package/dist/collection/components/modal/test/card-nav/modal.e2e.js +26 -26
  724. package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +14 -14
  725. package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +34 -34
  726. package/dist/collection/components/modal/test/custom/modal.e2e.js +16 -16
  727. package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +12 -12
  728. package/dist/collection/components/modal/test/dark-mode/model.e2e.js +12 -12
  729. package/dist/collection/components/modal/test/fixtures.js +21 -21
  730. package/dist/collection/components/modal/test/inline/modal.e2e.js +34 -34
  731. package/dist/collection/components/modal/test/is-open/modal.e2e.js +17 -17
  732. package/dist/collection/components/modal/test/modal-id.spec.js +32 -0
  733. package/dist/collection/components/modal/test/sheet/modal.e2e.js +178 -178
  734. package/dist/collection/components/modal/test/standalone/modal.e2e.js +12 -12
  735. package/dist/collection/components/modal/test/trigger/modal.e2e.js +23 -23
  736. package/dist/collection/components/modal/utils.js +55 -55
  737. package/dist/collection/components/modal/utils.spec.js +7 -7
  738. package/dist/collection/components/nav/nav.css +22 -0
  739. package/dist/collection/components/nav/nav.js +1748 -1748
  740. package/dist/collection/components/nav/test/basic/nav.e2e.js +58 -58
  741. package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +52 -52
  742. package/dist/collection/components/nav/test/nav-controller.spec.js +749 -0
  743. package/dist/collection/components/nav/test/nested/nav.e2e.js +54 -54
  744. package/dist/collection/components/nav/test/routing/nav.e2e.js +75 -75
  745. package/dist/collection/components/nav/view-controller.js +52 -52
  746. package/dist/collection/components/nav-link/nav-link-utils.js +16 -16
  747. package/dist/collection/components/nav-link/nav-link.js +106 -106
  748. package/dist/collection/components/note/note.ios.css +44 -0
  749. package/dist/collection/components/note/note.js +49 -49
  750. package/dist/collection/components/note/note.md.css +44 -0
  751. package/dist/collection/components/note/test/a11y/note.e2e.js +59 -16
  752. package/dist/collection/components/note/test/basic/note.e2e.js +33 -33
  753. package/dist/collection/components/picker/animations/ios.enter.js +18 -18
  754. package/dist/collection/components/picker/animations/ios.leave.js +14 -14
  755. package/dist/collection/components/picker/picker.ios.css +45 -1
  756. package/dist/collection/components/picker/picker.js +782 -772
  757. package/dist/collection/components/picker/picker.md.css +45 -1
  758. package/dist/collection/components/picker/test/basic/picker.e2e.js +17 -17
  759. package/dist/collection/components/picker/test/is-open/picker.e2e.js +17 -17
  760. package/dist/collection/components/picker/test/picker-id.spec.js +32 -0
  761. package/dist/collection/components/picker/test/trigger/picker.e2e.js +21 -21
  762. package/dist/collection/components/picker-column/picker-column.ios.css +44 -0
  763. package/dist/collection/components/picker-column/picker-column.js +377 -377
  764. package/dist/collection/components/picker-column/picker-column.md.css +44 -0
  765. package/dist/collection/components/picker-column/test/picker-column-aria.spec.js +35 -0
  766. package/dist/collection/components/picker-column/test/picker-column-dynamic.spec.js +29 -0
  767. package/dist/collection/components/picker-column/test/picker-column.spec.js +17 -0
  768. package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +27 -27
  769. package/dist/collection/components/picker-column/test/test.utils.js +29 -29
  770. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -3
  771. package/dist/collection/components/picker-column-internal/picker-column-internal.js +523 -501
  772. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +55 -3
  773. package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +53 -53
  774. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +66 -37
  775. package/dist/collection/components/picker-internal/picker-internal.ios.css +46 -2
  776. package/dist/collection/components/picker-internal/picker-internal.js +517 -517
  777. package/dist/collection/components/picker-internal/picker-internal.md.css +46 -2
  778. package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +6 -6
  779. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +76 -71
  780. package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +39 -39
  781. package/dist/collection/components/popover/animations/ios.enter.js +79 -79
  782. package/dist/collection/components/popover/animations/ios.leave.js +28 -28
  783. package/dist/collection/components/popover/animations/md.enter.js +58 -58
  784. package/dist/collection/components/popover/animations/md.leave.js +19 -19
  785. package/dist/collection/components/popover/popover.ios.css +48 -4
  786. package/dist/collection/components/popover/popover.js +1189 -1179
  787. package/dist/collection/components/popover/popover.md.css +46 -2
  788. package/dist/collection/components/popover/test/adjustment/popover.e2e.js +22 -22
  789. package/dist/collection/components/popover/test/arrow/popover.e2e.js +15 -15
  790. package/dist/collection/components/popover/test/async/popover.e2e.js +29 -29
  791. package/dist/collection/components/popover/test/basic/popover.e2e.js +108 -108
  792. package/dist/collection/components/popover/test/basic/popover.spec.js +16 -0
  793. package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +26 -26
  794. package/dist/collection/components/popover/test/fixture.js +16 -16
  795. package/dist/collection/components/popover/test/inline/popover.e2e.js +18 -18
  796. package/dist/collection/components/popover/test/is-open/popover.e2e.js +5 -5
  797. package/dist/collection/components/popover/test/nested/popover.e2e.js +81 -81
  798. package/dist/collection/components/popover/test/popover-id.spec.js +32 -0
  799. package/dist/collection/components/popover/test/position/popover.e2e.js +18 -18
  800. package/dist/collection/components/popover/test/reference/popover.e2e.js +14 -14
  801. package/dist/collection/components/popover/test/size/popover.e2e.js +29 -29
  802. package/dist/collection/components/popover/test/standalone/popover.e2e.js +7 -7
  803. package/dist/collection/components/popover/test/test.utils.js +23 -23
  804. package/dist/collection/components/popover/test/trigger/popover.e2e.js +35 -35
  805. package/dist/collection/components/popover/test/util.spec.js +53 -0
  806. package/dist/collection/components/popover/utils.js +606 -606
  807. package/dist/collection/components/progress-bar/progress-bar.ios.css +22 -0
  808. package/dist/collection/components/progress-bar/progress-bar.js +145 -145
  809. package/dist/collection/components/progress-bar/progress-bar.md.css +22 -0
  810. package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +6 -6
  811. package/dist/collection/components/progress-bar/test/buffer/progress-bar.e2e.js +10 -10
  812. package/dist/collection/components/progress-bar/test/determinate/progress-bar.e2e.js +10 -10
  813. package/dist/collection/components/radio/radio.ios.css +70 -10
  814. package/dist/collection/components/radio/radio.js +454 -447
  815. package/dist/collection/components/radio/radio.md.css +70 -10
  816. package/dist/collection/components/radio/test/a11y/radio.e2e.js +40 -40
  817. package/dist/collection/components/radio/test/color/radio.e2e.js +11 -11
  818. package/dist/collection/components/radio/test/item/radio.e2e.js +37 -37
  819. package/dist/collection/components/radio/test/label-placement/radio.e2e.js +70 -70
  820. package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +29 -29
  821. package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +43 -43
  822. package/dist/collection/components/radio/test/radio.spec.js +60 -0
  823. package/dist/collection/components/radio/test/states/radio.e2e.js +21 -21
  824. package/dist/collection/components/radio-group/radio-group.js +280 -247
  825. package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +35 -35
  826. package/dist/collection/components/radio-group/test/fixtures.js +22 -22
  827. package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +39 -39
  828. package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +59 -59
  829. package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +22 -22
  830. package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +27 -27
  831. package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +42 -42
  832. package/dist/collection/components/radio-group/test/radio-group.spec.js +69 -0
  833. package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +23 -23
  834. package/dist/collection/components/range/range.ios.css +45 -7
  835. package/dist/collection/components/range/range.js +1001 -998
  836. package/dist/collection/components/range/range.md.css +45 -7
  837. package/dist/collection/components/range/test/a11y/range.e2e.js +46 -46
  838. package/dist/collection/components/range/test/active-bar-start/range.e2e.js +6 -6
  839. package/dist/collection/components/range/test/basic/range.e2e.js +23 -23
  840. package/dist/collection/components/range/test/color/range.e2e.js +6 -6
  841. package/dist/collection/components/range/test/custom/range.e2e.js +6 -6
  842. package/dist/collection/components/range/test/item/range.e2e.js +28 -28
  843. package/dist/collection/components/range/test/label/range.e2e.js +99 -99
  844. package/dist/collection/components/range/test/label/range.spec.js +23 -0
  845. package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +25 -25
  846. package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +6 -6
  847. package/dist/collection/components/range/test/legacy/basic/range.e2e.js +61 -61
  848. package/dist/collection/components/range/test/legacy/range-events.e2e.js +80 -80
  849. package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +23 -23
  850. package/dist/collection/components/range/test/range-events.e2e.js +135 -135
  851. package/dist/collection/components/range/test/range.spec.js +221 -0
  852. package/dist/collection/components/range/test/scroll-target/range.e2e.js +23 -23
  853. package/dist/collection/components/range/test/states/range.e2e.js +21 -21
  854. package/dist/collection/components/refresher/refresher.ios.css +44 -0
  855. package/dist/collection/components/refresher/refresher.js +806 -806
  856. package/dist/collection/components/refresher/refresher.md.css +44 -0
  857. package/dist/collection/components/refresher/refresher.utils.js +148 -141
  858. package/dist/collection/components/refresher/test/basic/refresher.e2e.js +25 -25
  859. package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +25 -25
  860. package/dist/collection/components/refresher/test/test.utils.js +5 -5
  861. package/dist/collection/components/refresher-content/refresher-content.js +131 -131
  862. package/dist/collection/components/refresher-content/test/refresher-content.spec.js +46 -0
  863. package/dist/collection/components/reorder/reorder.ios.css +23 -34
  864. package/dist/collection/components/reorder/reorder.js +37 -37
  865. package/dist/collection/components/reorder/reorder.md.css +23 -34
  866. package/dist/collection/components/reorder-group/reorder-group.css +22 -0
  867. package/dist/collection/components/reorder-group/reorder-group.js +327 -327
  868. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +6 -6
  869. package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +11 -11
  870. package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +21 -21
  871. package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +21 -21
  872. package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +21 -21
  873. package/dist/collection/components/ripple-effect/ripple-effect.css +22 -0
  874. package/dist/collection/components/ripple-effect/ripple-effect.js +135 -135
  875. package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +48 -48
  876. package/dist/collection/components/route/route.js +151 -151
  877. package/dist/collection/components/route-redirect/route-redirect.js +76 -76
  878. package/dist/collection/components/router/router.js +472 -472
  879. package/dist/collection/components/router/test/basic/router.e2e.js +55 -55
  880. package/dist/collection/components/router/test/guards/href/router.e2e.js +51 -51
  881. package/dist/collection/components/router/test/guards/link/router.e2e.js +51 -51
  882. package/dist/collection/components/router/test/guards/push/router.e2e.js +51 -51
  883. package/dist/collection/components/router/test/guards/router.e2e.js +5 -5
  884. package/dist/collection/components/router/test/guards/test.utils.js +2 -2
  885. package/dist/collection/components/router/test/matching.spec.js +250 -0
  886. package/dist/collection/components/router/test/parser.spec.js +133 -0
  887. package/dist/collection/components/router/test/path.spec.js +218 -0
  888. package/dist/collection/components/router/test/router.spec.js +55 -0
  889. package/dist/collection/components/router/utils/debug.js +14 -14
  890. package/dist/collection/components/router/utils/dom.js +56 -56
  891. package/dist/collection/components/router/utils/matching.js +150 -150
  892. package/dist/collection/components/router/utils/parser.js +52 -52
  893. package/dist/collection/components/router/utils/path.js +66 -66
  894. package/dist/collection/components/router-link/router-link.css +22 -0
  895. package/dist/collection/components/router-link/router-link.js +157 -157
  896. package/dist/collection/components/router-outlet/router-outlet.css +22 -0
  897. package/dist/collection/components/router-outlet/router-outlet.js +459 -459
  898. package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +31 -31
  899. package/dist/collection/components/row/row.css +66 -0
  900. package/dist/collection/components/row/row.js +15 -15
  901. package/dist/collection/components/searchbar/searchbar.ios.css +44 -0
  902. package/dist/collection/components/searchbar/searchbar.js +893 -884
  903. package/dist/collection/components/searchbar/searchbar.md.css +56 -6
  904. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +11 -11
  905. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +116 -91
  906. package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +55 -55
  907. package/dist/collection/components/searchbar/test/searchbar.spec.js +15 -0
  908. package/dist/collection/components/segment/segment.ios.css +66 -0
  909. package/dist/collection/components/segment/segment.js +633 -607
  910. package/dist/collection/components/segment/segment.md.css +66 -0
  911. package/dist/collection/components/segment/test/a11y/segment.e2e.js +37 -37
  912. package/dist/collection/components/segment/test/basic/segment.e2e.js +22 -22
  913. package/dist/collection/components/segment/test/custom/segment.e2e.js +6 -6
  914. package/dist/collection/components/segment/test/icon/segment.e2e.js +6 -6
  915. package/dist/collection/components/segment/test/modes/segment.e2e.js +15 -15
  916. package/dist/collection/components/segment/test/scrollable/segment.e2e.js +12 -12
  917. package/dist/collection/components/segment/test/segment-events.e2e.js +97 -97
  918. package/dist/collection/components/segment/test/segment.spec.js +37 -0
  919. package/dist/collection/components/segment/test/toolbar/segment.e2e.js +21 -21
  920. package/dist/collection/components/segment/test/wrap/segment.e2e.js +21 -21
  921. package/dist/collection/components/segment-button/segment-button.ios.css +44 -0
  922. package/dist/collection/components/segment-button/segment-button.js +217 -217
  923. package/dist/collection/components/segment-button/segment-button.md.css +44 -0
  924. package/dist/collection/components/select/select.ios.css +138 -22
  925. package/dist/collection/components/select/select.js +1201 -1184
  926. package/dist/collection/components/select/select.md.css +189 -26
  927. package/dist/collection/components/select/test/a11y/select.e2e.js +14 -14
  928. package/dist/collection/components/select/test/async/select.e2e.js +14 -14
  929. package/dist/collection/components/select/test/basic/select.e2e.js +140 -140
  930. package/dist/collection/components/select/test/card/select.e2e.js +6 -6
  931. package/dist/collection/components/select/test/color/select.e2e.js +22 -22
  932. package/dist/collection/components/select/test/compare-with/select.e2e.js +33 -33
  933. package/dist/collection/components/select/test/custom/select.e2e.js +19 -19
  934. package/dist/collection/components/select/test/disabled/select.e2e.js +17 -17
  935. package/dist/collection/components/select/test/fill/select.e2e.js +63 -63
  936. package/dist/collection/components/select/test/highlight/select.e2e.js +74 -74
  937. package/dist/collection/components/select/test/item/select.e2e.js +26 -11
  938. package/dist/collection/components/select/test/label/select.e2e.js +141 -141
  939. package/dist/collection/components/select/test/legacy/async/select.e2e.js +8 -8
  940. package/dist/collection/components/select/test/legacy/basic/select.e2e.js +108 -108
  941. package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +33 -33
  942. package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +5 -5
  943. package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +8 -8
  944. package/dist/collection/components/select/test/legacy/spec/select.e2e.js +6 -6
  945. package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +11 -11
  946. package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +17 -17
  947. package/dist/collection/components/select/test/popover-size/select.e2e.js +63 -63
  948. package/dist/collection/components/select/test/select.spec.js +59 -0
  949. package/dist/collection/components/select/test/slot/select.e2e.js +67 -0
  950. package/dist/collection/components/select/test/states/select.e2e.js +21 -21
  951. package/dist/collection/components/select/test/toggle-icon/select.e2e.js +14 -14
  952. package/dist/collection/components/select/test/wrapping/select.e2e.js +16 -16
  953. package/dist/collection/components/select-option/select-option.js +60 -60
  954. package/dist/collection/components/select-popover/select-popover.ios.css +66 -0
  955. package/dist/collection/components/select-popover/select-popover.js +197 -197
  956. package/dist/collection/components/select-popover/select-popover.md.css +66 -0
  957. package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +52 -52
  958. package/dist/collection/components/select-popover/test/fixtures.js +33 -33
  959. package/dist/collection/components/skeleton-text/skeleton-text.css +22 -0
  960. package/dist/collection/components/skeleton-text/skeleton-text.js +87 -48
  961. package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +6 -6
  962. package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +6 -6
  963. package/dist/collection/components/slides/IonicSlides.js +95 -95
  964. package/dist/collection/components/spinner/spinner-configs.js +121 -121
  965. package/dist/collection/components/spinner/spinner.css +22 -0
  966. package/dist/collection/components/spinner/spinner.js +137 -137
  967. package/dist/collection/components/spinner/test/basic/spinner.e2e.js +10 -10
  968. package/dist/collection/components/spinner/test/color/spinner.e2e.js +10 -10
  969. package/dist/collection/components/spinner/test/resize/spinner.e2e.js +8 -8
  970. package/dist/collection/components/split-pane/split-pane.ios.css +66 -0
  971. package/dist/collection/components/split-pane/split-pane.js +225 -225
  972. package/dist/collection/components/split-pane/split-pane.md.css +66 -0
  973. package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +18 -18
  974. package/dist/collection/components/split-pane/test/multiple/split-pane.e2e.js +31 -0
  975. package/dist/collection/components/tab/tab.js +170 -170
  976. package/dist/collection/components/tab-bar/tab-bar.ios.css +70 -4
  977. package/dist/collection/components/tab-bar/tab-bar.js +177 -177
  978. package/dist/collection/components/tab-bar/tab-bar.md.css +70 -4
  979. package/dist/collection/components/tab-bar/test/basic/tab-bar.e2e.js +43 -0
  980. package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +6 -6
  981. package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +14 -14
  982. package/dist/collection/components/tab-button/tab-button.ios.css +47 -3
  983. package/dist/collection/components/tab-button/tab-button.js +267 -267
  984. package/dist/collection/components/tab-button/tab-button.md.css +47 -3
  985. package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +6 -6
  986. package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +16 -16
  987. package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +26 -26
  988. package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +26 -26
  989. package/dist/collection/components/tabs/tabs.css +22 -0
  990. package/dist/collection/components/tabs/tabs.js +344 -344
  991. package/dist/collection/components/tabs/test/basic/tabs.e2e.js +24 -24
  992. package/dist/collection/components/tabs/test/placements/tabs.e2e.js +17 -17
  993. package/dist/collection/components/text/test/basic/text.e2e.js +11 -11
  994. package/dist/collection/components/text/text.css +22 -0
  995. package/dist/collection/components/text/text.js +47 -47
  996. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +12 -12
  997. package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +31 -31
  998. package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +82 -82
  999. package/dist/collection/components/textarea/test/card/textarea.e2e.js +6 -6
  1000. package/dist/collection/components/textarea/test/clear-on-edit/textarea.e2e.js +17 -17
  1001. package/dist/collection/components/textarea/test/color/textarea.e2e.js +88 -88
  1002. package/dist/collection/components/textarea/test/cols/textarea.e2e.js +11 -11
  1003. package/dist/collection/components/textarea/test/fill/textarea.e2e.js +63 -63
  1004. package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +52 -52
  1005. package/dist/collection/components/textarea/test/item/textarea.e2e.js +11 -11
  1006. package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +150 -150
  1007. package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +15 -15
  1008. package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +31 -31
  1009. package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +30 -30
  1010. package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +17 -17
  1011. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +51 -0
  1012. package/dist/collection/components/textarea/test/states/textarea.e2e.js +11 -11
  1013. package/dist/collection/components/textarea/test/textarea-events.e2e.js +57 -57
  1014. package/dist/collection/components/textarea/test/textarea.spec.js +59 -0
  1015. package/dist/collection/components/textarea/textarea.ios.css +144 -24
  1016. package/dist/collection/components/textarea/textarea.js +1050 -1016
  1017. package/dist/collection/components/textarea/textarea.md.css +205 -34
  1018. package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +28 -28
  1019. package/dist/collection/components/thumbnail/thumbnail.css +22 -0
  1020. package/dist/collection/components/thumbnail/thumbnail.js +15 -15
  1021. package/dist/collection/components/title/test/a11y/title.e2e.js +17 -17
  1022. package/dist/collection/components/title/test/basic/title.e2e.js +13 -13
  1023. package/dist/collection/components/title/title.ios.css +24 -2
  1024. package/dist/collection/components/title/title.js +119 -119
  1025. package/dist/collection/components/title/title.md.css +22 -0
  1026. package/dist/collection/components/toast/animations/ios.enter.js +21 -20
  1027. package/dist/collection/components/toast/animations/ios.leave.js +18 -18
  1028. package/dist/collection/components/toast/animations/md.enter.js +23 -22
  1029. package/dist/collection/components/toast/animations/md.leave.js +6 -6
  1030. package/dist/collection/components/toast/animations/utils.js +62 -56
  1031. package/dist/collection/components/toast/gestures/swipe-to-dismiss.js +267 -0
  1032. package/dist/collection/components/toast/test/a11y/toast.e2e.js +92 -92
  1033. package/dist/collection/components/toast/test/basic/toast.e2e.js +101 -101
  1034. package/dist/collection/components/toast/test/is-open/toast.e2e.js +17 -17
  1035. package/dist/collection/components/toast/test/layout/toast.e2e.js +9 -9
  1036. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +37 -37
  1037. package/dist/collection/components/toast/test/standalone/toast.e2e.js +10 -10
  1038. package/dist/collection/components/toast/test/swipe-gesture/toast.e2e.js +84 -0
  1039. package/dist/collection/components/toast/test/toast-config.spec.js +25 -0
  1040. package/dist/collection/components/toast/test/toast-id.spec.js +32 -0
  1041. package/dist/collection/components/toast/test/toast.spec.js +200 -0
  1042. package/dist/collection/components/toast/test/trigger/toast.e2e.js +21 -21
  1043. package/dist/collection/components/toast/toast.ios.css +55 -11
  1044. package/dist/collection/components/toast/toast.js +1065 -952
  1045. package/dist/collection/components/toast/toast.md.css +55 -1
  1046. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +6 -6
  1047. package/dist/collection/components/toggle/test/color/toggle.e2e.js +11 -11
  1048. package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +27 -27
  1049. package/dist/collection/components/toggle/test/item/toggle.e2e.js +52 -52
  1050. package/dist/collection/components/toggle/test/label/toggle.e2e.js +65 -65
  1051. package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +69 -69
  1052. package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +23 -23
  1053. package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +6 -6
  1054. package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +6 -6
  1055. package/dist/collection/components/toggle/test/states/toggle.e2e.js +16 -16
  1056. package/dist/collection/components/toggle/test/toggle.spec.js +67 -0
  1057. package/dist/collection/components/toggle/toggle.ios.css +69 -9
  1058. package/dist/collection/components/toggle/toggle.js +487 -484
  1059. package/dist/collection/components/toggle/toggle.md.css +69 -9
  1060. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +7 -7
  1061. package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +6 -6
  1062. package/dist/collection/components/toolbar/toolbar.ios.css +44 -0
  1063. package/dist/collection/components/toolbar/toolbar.js +100 -100
  1064. package/dist/collection/components/toolbar/toolbar.md.css +44 -0
  1065. package/dist/collection/css/test/a11y/typography.e2e.js +6 -6
  1066. package/dist/collection/global/config.js +51 -51
  1067. package/dist/collection/global/ionic-global.js +54 -54
  1068. package/dist/collection/global/test/config-controller.spec.js +77 -0
  1069. package/dist/collection/utils/animation/animation-utils.js +91 -91
  1070. package/dist/collection/utils/animation/animation.js +906 -890
  1071. package/dist/collection/utils/animation/cubic-bezier.js +49 -49
  1072. package/dist/collection/utils/animation/test/animation.spec.js +447 -0
  1073. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +26 -26
  1074. package/dist/collection/utils/animation/test/basic/animation.e2e.js +12 -12
  1075. package/dist/collection/utils/animation/test/display/animation.e2e.js +18 -18
  1076. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +39 -39
  1077. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +27 -27
  1078. package/dist/collection/utils/browser/index.js +0 -22
  1079. package/dist/collection/utils/config.js +20 -20
  1080. package/dist/collection/utils/content/content.utils.spec.js +121 -121
  1081. package/dist/collection/utils/content/index.js +58 -59
  1082. package/dist/collection/utils/floating-point/floating-point.spec.js +14 -14
  1083. package/dist/collection/utils/floating-point/index.js +5 -5
  1084. package/dist/collection/utils/focus-visible.js +63 -63
  1085. package/dist/collection/utils/forms/compare-with-utils.js +39 -0
  1086. package/dist/collection/utils/forms/form-controller.js +45 -49
  1087. package/dist/collection/utils/forms/index.js +1 -0
  1088. package/dist/collection/utils/forms/notch-controller.js +120 -120
  1089. package/dist/collection/utils/framework-delegate.js +121 -121
  1090. package/dist/collection/utils/gesture/button-active.js +56 -56
  1091. package/dist/collection/utils/gesture/gesture-controller.js +182 -182
  1092. package/dist/collection/utils/gesture/index.js +222 -222
  1093. package/dist/collection/utils/gesture/listener.js +36 -36
  1094. package/dist/collection/utils/gesture/pointer-events.js +113 -113
  1095. package/dist/collection/utils/gesture/recognizers.js +46 -46
  1096. package/dist/collection/utils/gesture/swipe-back.js +65 -65
  1097. package/dist/collection/utils/hardware-back-button.js +48 -48
  1098. package/dist/collection/utils/helpers.js +258 -258
  1099. package/dist/collection/utils/helpers.spec.js +28 -28
  1100. package/dist/collection/utils/input-shims/hacks/common.js +61 -53
  1101. package/dist/collection/utils/input-shims/hacks/hide-caret.js +19 -19
  1102. package/dist/collection/utils/input-shims/hacks/input-blurring.js +47 -47
  1103. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +225 -225
  1104. package/dist/collection/utils/input-shims/hacks/scroll-data.js +29 -29
  1105. package/dist/collection/utils/input-shims/hacks/scroll-padding.js +21 -21
  1106. package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +97 -97
  1107. package/dist/collection/utils/input-shims/input-shims.js +87 -81
  1108. package/dist/collection/utils/keyboard/keyboard-controller.js +128 -128
  1109. package/dist/collection/utils/keyboard/keyboard.js +59 -59
  1110. package/dist/collection/utils/keyboard/test/keyboard-controller.spec.js +21 -0
  1111. package/dist/collection/utils/keyboard/test/keyboard.spec.js +214 -0
  1112. package/dist/collection/utils/lock-controller.js +24 -24
  1113. package/dist/collection/utils/logging/index.js +3 -3
  1114. package/dist/collection/utils/media.js +13 -13
  1115. package/dist/collection/utils/menu-controller/animations/base.js +8 -8
  1116. package/dist/collection/utils/menu-controller/animations/overlay.js +21 -21
  1117. package/dist/collection/utils/menu-controller/animations/push.js +20 -20
  1118. package/dist/collection/utils/menu-controller/animations/reveal.js +6 -6
  1119. package/dist/collection/utils/menu-controller/index.js +204 -206
  1120. package/dist/collection/utils/native/capacitor.js +4 -4
  1121. package/dist/collection/utils/native/haptic.js +151 -151
  1122. package/dist/collection/utils/native/keyboard.js +47 -47
  1123. package/dist/collection/utils/native/native-interface.js +15 -15
  1124. package/dist/collection/utils/native/status-bar.js +36 -36
  1125. package/dist/collection/utils/overlays.js +495 -494
  1126. package/dist/collection/utils/platform.js +56 -56
  1127. package/dist/collection/utils/rtl/dir.js +5 -5
  1128. package/dist/collection/utils/rtl/dir.spec.js +17 -17
  1129. package/dist/collection/utils/sanitization/index.js +122 -122
  1130. package/dist/collection/utils/sanitization/test/sanitization.spec.js +43 -0
  1131. package/dist/collection/utils/slot-mutation-controller.js +86 -85
  1132. package/dist/collection/utils/status-tap.js +26 -26
  1133. package/dist/collection/utils/tap-click/index.js +171 -171
  1134. package/dist/collection/utils/tap-click/test/tap-click.e2e.js +12 -12
  1135. package/dist/collection/utils/test/aria.spec.js +79 -0
  1136. package/dist/collection/utils/test/attributes.spec.js +53 -0
  1137. package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +25 -25
  1138. package/dist/collection/utils/test/hardware-back-button.spec.js +53 -0
  1139. package/dist/collection/utils/test/overlays/overlays.e2e.js +137 -137
  1140. package/dist/collection/utils/test/overlays/overlays.spec.js +102 -0
  1141. package/dist/collection/utils/test/platform.spec.js +132 -0
  1142. package/dist/collection/utils/test/platform.utils.js +77 -77
  1143. package/dist/collection/utils/test/playwright/drag-element.js +69 -69
  1144. package/dist/collection/utils/test/playwright/generator.js +48 -25
  1145. package/dist/collection/utils/test/playwright/matchers/index.js +3 -3
  1146. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +21 -21
  1147. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +28 -28
  1148. package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +22 -22
  1149. package/dist/collection/utils/test/playwright/page/event-spy.js +110 -110
  1150. package/dist/collection/utils/test/playwright/page/utils/goto.js +52 -52
  1151. package/dist/collection/utils/test/playwright/page/utils/locator.js +8 -8
  1152. package/dist/collection/utils/test/playwright/page/utils/set-content.js +44 -35
  1153. package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +19 -19
  1154. package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +4 -4
  1155. package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +48 -48
  1156. package/dist/collection/utils/test/playwright/playwright-page.js +35 -35
  1157. package/dist/collection/utils/test/playwright/viewports/index.js +13 -13
  1158. package/dist/collection/utils/test/press-keys.js +77 -77
  1159. package/dist/collection/utils/test/ready.spec.js +39 -0
  1160. package/dist/collection/utils/test/theme.spec.js +56 -0
  1161. package/dist/collection/utils/theme.js +23 -23
  1162. package/dist/collection/utils/transition/index.js +163 -163
  1163. package/dist/collection/utils/transition/ios.transition.js +598 -598
  1164. package/dist/collection/utils/transition/md.transition.js +44 -44
  1165. package/dist/collection/utils/watch-options.js +37 -26
  1166. package/dist/docs.json +196 -39
  1167. package/dist/esm/animation-dde8cc0d.js +1060 -0
  1168. package/dist/esm/{app-globals-ec816a70.js → app-globals-722340c4.js} +1 -1
  1169. package/dist/esm/button-active-c6ee4f50.js +67 -0
  1170. package/dist/esm/capacitor-59395cbd.js +13 -0
  1171. package/dist/esm/compare-with-utils-a96ff2ea.js +41 -0
  1172. package/dist/esm/config-49c88215.js +193 -0
  1173. package/dist/esm/cubic-bezier-fe2083dc.js +90 -0
  1174. package/dist/esm/data-f5c75b4e.js +1575 -0
  1175. package/dist/esm/{dir-912e3e13.js → dir-babeabeb.js} +5 -5
  1176. package/dist/esm/focus-visible-dd40d69f.js +75 -0
  1177. package/dist/esm/form-controller-548aa79c.js +64 -0
  1178. package/dist/esm/framework-delegate-bc1fd82a.js +140 -0
  1179. package/dist/esm/gesture-controller-1bf57181.js +195 -0
  1180. package/dist/esm/haptic-554688a5.js +206 -0
  1181. package/dist/esm/hardware-back-button-b2bc76db.js +71 -0
  1182. package/dist/esm/helpers-ae653409.js +418 -0
  1183. package/dist/esm/{index-b49b173c.js → index-08d686eb.js} +184 -63
  1184. package/dist/esm/index-0c12c22b.js +306 -0
  1185. package/dist/esm/index-1932b201.js +231 -0
  1186. package/dist/esm/index-2cf77112.js +457 -0
  1187. package/dist/esm/index-82eeb47f.js +196 -0
  1188. package/dist/esm/{index-595d62c9.js → index-9b0d46f4.js} +3 -3
  1189. package/dist/esm/index-a5d50daf.js +7 -0
  1190. package/dist/esm/{index-746a238e.js → index-b9e742e5.js} +60 -61
  1191. package/dist/esm/index.js +113 -113
  1192. package/dist/esm/input-shims-6539ce13.js +599 -0
  1193. package/dist/esm/input.utils-a5a2d164.js +135 -0
  1194. package/dist/esm/ion-accordion_2.entry.js +491 -481
  1195. package/dist/esm/ion-action-sheet.entry.js +262 -252
  1196. package/dist/esm/ion-alert.entry.js +442 -432
  1197. package/dist/esm/ion-app_8.entry.js +1153 -1153
  1198. package/dist/esm/ion-avatar_3.entry.js +29 -29
  1199. package/dist/esm/ion-back-button.entry.js +73 -73
  1200. package/dist/esm/ion-backdrop.entry.js +40 -40
  1201. package/dist/esm/ion-breadcrumb_2.entry.js +194 -194
  1202. package/dist/esm/ion-button_2.entry.js +303 -303
  1203. package/dist/esm/ion-card_5.entry.js +105 -105
  1204. package/dist/esm/ion-checkbox.entry.js +149 -147
  1205. package/dist/esm/ion-chip.entry.js +20 -20
  1206. package/dist/esm/ion-col_3.entry.js +136 -136
  1207. package/dist/esm/ion-datetime-button.entry.js +325 -325
  1208. package/dist/esm/ion-datetime_3.entry.js +2185 -2137
  1209. package/dist/esm/ion-fab_3.entry.js +152 -152
  1210. package/dist/esm/ion-img.entry.js +79 -79
  1211. package/dist/esm/ion-infinite-scroll_2.entry.js +198 -190
  1212. package/dist/esm/ion-input.entry.js +426 -394
  1213. package/dist/esm/ion-item-option_3.entry.js +459 -459
  1214. package/dist/esm/ion-item_8.entry.js +447 -434
  1215. package/dist/esm/ion-loading.entry.js +220 -210
  1216. package/dist/esm/ion-menu_3.entry.js +670 -658
  1217. package/dist/esm/ion-modal.entry.js +1415 -1405
  1218. package/dist/esm/ion-nav_2.entry.js +904 -904
  1219. package/dist/esm/ion-picker-column-internal.entry.js +331 -327
  1220. package/dist/esm/ion-picker-internal.entry.js +455 -455
  1221. package/dist/esm/ion-popover.entry.js +1110 -1100
  1222. package/dist/esm/ion-progress-bar.entry.js +40 -40
  1223. package/dist/esm/ion-radio_2.entry.js +322 -309
  1224. package/dist/esm/ion-range.entry.js +558 -556
  1225. package/dist/esm/ion-refresher_2.entry.js +786 -779
  1226. package/dist/esm/ion-reorder_2.entry.js +269 -269
  1227. package/dist/esm/ion-ripple-effect.entry.js +66 -66
  1228. package/dist/esm/ion-route_4.entry.js +693 -693
  1229. package/dist/esm/ion-searchbar.entry.js +363 -354
  1230. package/dist/esm/ion-segment_2.entry.js +509 -483
  1231. package/dist/esm/ion-select_3.entry.js +784 -768
  1232. package/dist/esm/ion-spinner.entry.js +46 -46
  1233. package/dist/esm/ion-split-pane.entry.js +117 -117
  1234. package/dist/esm/ion-tab-bar_2.entry.js +142 -142
  1235. package/dist/esm/ion-tab_2.entry.js +187 -187
  1236. package/dist/esm/ion-text.entry.js +13 -13
  1237. package/dist/esm/ion-textarea.entry.js +381 -349
  1238. package/dist/esm/ion-toast.entry.js +771 -419
  1239. package/dist/esm/ion-toggle.entry.js +227 -225
  1240. package/dist/esm/ionic-global-c0cda98e.js +224 -0
  1241. package/dist/esm/ionic.js +6 -6
  1242. package/dist/esm/ios.transition-802a84a6.js +651 -0
  1243. package/dist/esm/keyboard-52278bd7.js +146 -0
  1244. package/dist/esm/keyboard-73175e24.js +79 -0
  1245. package/dist/esm/keyboard-controller-ec5c2bfa.js +165 -0
  1246. package/dist/esm/loader.js +5 -5
  1247. package/dist/esm/lock-controller-316928be.js +38 -0
  1248. package/dist/esm/md.transition-43c2874d.js +57 -0
  1249. package/dist/esm/notch-controller-fea7f9c5.js +153 -0
  1250. package/dist/esm/overlays-32ef481d.js +693 -0
  1251. package/dist/esm/spinner-configs-964f7cf3.js +145 -0
  1252. package/dist/esm/status-tap-2b93b1b5.js +40 -0
  1253. package/dist/esm/swipe-back-18cb49f7.js +79 -0
  1254. package/dist/esm/theme-01f3f29c.js +43 -0
  1255. package/dist/esm/watch-options-c2911ace.js +47 -0
  1256. package/dist/esm-es5/animation-dde8cc0d.js +4 -0
  1257. package/dist/esm-es5/app-globals-722340c4.js +4 -0
  1258. package/dist/esm-es5/{button-active-d926d4f4.js → button-active-c6ee4f50.js} +1 -1
  1259. package/dist/esm-es5/{capacitor-b4979570.js → capacitor-59395cbd.js} +1 -1
  1260. package/dist/esm-es5/compare-with-utils-a96ff2ea.js +4 -0
  1261. package/dist/esm-es5/config-49c88215.js +4 -0
  1262. package/dist/esm-es5/cubic-bezier-fe2083dc.js +4 -0
  1263. package/dist/esm-es5/data-f5c75b4e.js +4 -0
  1264. package/dist/esm-es5/{dir-912e3e13.js → dir-babeabeb.js} +1 -1
  1265. package/dist/esm-es5/focus-visible-dd40d69f.js +4 -0
  1266. package/dist/esm-es5/form-controller-548aa79c.js +4 -0
  1267. package/dist/esm-es5/framework-delegate-bc1fd82a.js +4 -0
  1268. package/dist/esm-es5/{gesture-controller-0fa396c4.js → gesture-controller-1bf57181.js} +1 -1
  1269. package/dist/esm-es5/{haptic-1243b917.js → haptic-554688a5.js} +1 -1
  1270. package/dist/esm-es5/hardware-back-button-b2bc76db.js +4 -0
  1271. package/dist/esm-es5/helpers-ae653409.js +4 -0
  1272. package/dist/esm-es5/index-08d686eb.js +5 -0
  1273. package/dist/esm-es5/index-0c12c22b.js +4 -0
  1274. package/dist/esm-es5/{index-a09eac70.js → index-1932b201.js} +1 -1
  1275. package/dist/esm-es5/index-2cf77112.js +4 -0
  1276. package/dist/esm-es5/index-82eeb47f.js +4 -0
  1277. package/dist/esm-es5/index-b9e742e5.js +4 -0
  1278. package/dist/esm-es5/index.js +1 -1
  1279. package/dist/esm-es5/input-shims-6539ce13.js +4 -0
  1280. package/dist/esm-es5/input.utils-a5a2d164.js +4 -0
  1281. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  1282. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  1283. package/dist/esm-es5/ion-alert.entry.js +1 -1
  1284. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  1285. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  1286. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  1287. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  1288. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  1289. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  1290. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  1291. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  1292. package/dist/esm-es5/ion-chip.entry.js +1 -1
  1293. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  1294. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  1295. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  1296. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  1297. package/dist/esm-es5/ion-img.entry.js +1 -1
  1298. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  1299. package/dist/esm-es5/ion-input.entry.js +1 -1
  1300. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  1301. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  1302. package/dist/esm-es5/ion-loading.entry.js +1 -1
  1303. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  1304. package/dist/esm-es5/ion-modal.entry.js +1 -1
  1305. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  1306. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  1307. package/dist/esm-es5/ion-picker-internal.entry.js +1 -1
  1308. package/dist/esm-es5/ion-popover.entry.js +1 -1
  1309. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  1310. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  1311. package/dist/esm-es5/ion-range.entry.js +1 -1
  1312. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  1313. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  1314. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  1315. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  1316. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  1317. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  1318. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  1319. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  1320. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  1321. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  1322. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  1323. package/dist/esm-es5/ion-text.entry.js +1 -1
  1324. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  1325. package/dist/esm-es5/ion-toast.entry.js +1 -1
  1326. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  1327. package/dist/esm-es5/ionic-global-c0cda98e.js +4 -0
  1328. package/dist/esm-es5/ionic.js +1 -1
  1329. package/dist/esm-es5/{ios.transition-4d1322d6.js → ios.transition-802a84a6.js} +1 -1
  1330. package/dist/esm-es5/{keyboard-b551279d.js → keyboard-52278bd7.js} +1 -1
  1331. package/dist/esm-es5/{keyboard-b063f012.js → keyboard-73175e24.js} +1 -1
  1332. package/dist/esm-es5/keyboard-controller-ec5c2bfa.js +4 -0
  1333. package/dist/esm-es5/loader.js +1 -1
  1334. package/dist/esm-es5/md.transition-43c2874d.js +4 -0
  1335. package/dist/esm-es5/notch-controller-fea7f9c5.js +4 -0
  1336. package/dist/esm-es5/overlays-32ef481d.js +4 -0
  1337. package/dist/esm-es5/spinner-configs-964f7cf3.js +4 -0
  1338. package/dist/esm-es5/status-tap-2b93b1b5.js +4 -0
  1339. package/dist/esm-es5/swipe-back-18cb49f7.js +4 -0
  1340. package/dist/esm-es5/watch-options-c2911ace.js +4 -0
  1341. package/dist/html.html-data.json +17 -4
  1342. package/dist/ionic/index.esm.js +1 -1
  1343. package/dist/ionic/ionic.esm.js +1 -1
  1344. package/dist/ionic/ionic.js +15 -15
  1345. package/dist/ionic/p-012c3ceb.system.js +4 -0
  1346. package/dist/ionic/p-013013a3.js +4 -0
  1347. package/dist/ionic/p-01d14eba.system.entry.js +4 -0
  1348. package/dist/ionic/p-042e6f4b.entry.js +4 -0
  1349. package/dist/ionic/{p-819ff3b9.system.js → p-08e01816.system.js} +1 -1
  1350. package/dist/ionic/{p-f919c026.entry.js → p-0add7211.entry.js} +1 -1
  1351. package/dist/ionic/p-0bd51c34.system.js +4 -0
  1352. package/dist/ionic/{p-6f6646bf.system.entry.js → p-0e53f8ea.system.entry.js} +1 -1
  1353. package/dist/ionic/{p-6ea2e653.entry.js → p-1161a793.entry.js} +1 -1
  1354. package/dist/ionic/{p-96ba8eac.entry.js → p-1208f939.entry.js} +1 -1
  1355. package/dist/ionic/p-16756e94.system.entry.js +4 -0
  1356. package/dist/ionic/p-1786bc72.js +4 -0
  1357. package/dist/ionic/{p-1ecba429.entry.js → p-17da5ed1.entry.js} +1 -1
  1358. package/dist/ionic/p-18ba8221.entry.js +4 -0
  1359. package/dist/ionic/p-1b19c04b.entry.js +4 -0
  1360. package/dist/ionic/p-1cca10d6.system.js +4 -0
  1361. package/dist/ionic/p-1e4371bd.js +4 -0
  1362. package/dist/ionic/{p-fcf47f80.entry.js → p-2092f39f.entry.js} +1 -1
  1363. package/dist/ionic/p-251666e2.entry.js +4 -0
  1364. package/dist/ionic/{p-7423746f.entry.js → p-270e1a1d.entry.js} +1 -1
  1365. package/dist/ionic/{p-419eb426.js → p-27281edd.js} +1 -1
  1366. package/dist/ionic/p-28249b10.system.entry.js +4 -0
  1367. package/dist/ionic/p-28a2c2a2.entry.js +4 -0
  1368. package/dist/ionic/{p-6129af0a.system.entry.js → p-2938823a.system.entry.js} +1 -1
  1369. package/dist/ionic/p-29d03b3a.js +4 -0
  1370. package/dist/ionic/{p-17240d90.js → p-2aea8b1e.js} +1 -1
  1371. package/dist/ionic/p-2b7827c7.js +4 -0
  1372. package/dist/ionic/p-2d3b9fa3.system.entry.js +4 -0
  1373. package/dist/ionic/p-2d539df1.entry.js +4 -0
  1374. package/dist/ionic/p-31b2326e.system.js +4 -0
  1375. package/dist/ionic/{p-e028178a.system.js → p-31fcb233.system.js} +1 -1
  1376. package/dist/ionic/p-32ad210f.system.js +4 -0
  1377. package/dist/ionic/{p-aa377971.system.js → p-33a37fad.system.js} +1 -1
  1378. package/dist/ionic/p-350f7292.system.entry.js +4 -0
  1379. package/dist/ionic/{p-cabd2c6d.entry.js → p-353b349d.entry.js} +1 -1
  1380. package/dist/ionic/p-36d187af.js +4 -0
  1381. package/dist/ionic/p-376a6063.js +4 -0
  1382. package/dist/ionic/p-38c337e7.system.js +4 -0
  1383. package/dist/ionic/p-38f2c6bb.system.js +4 -0
  1384. package/dist/ionic/{p-9e106f58.entry.js → p-3a45a82b.entry.js} +1 -1
  1385. package/dist/ionic/{p-3bad5c1a.js → p-3a75d7fd.js} +1 -1
  1386. package/dist/ionic/p-3dd98a73.entry.js +4 -0
  1387. package/dist/ionic/p-3e6b47e8.system.entry.js +4 -0
  1388. package/dist/ionic/p-3f5179b5.entry.js +4 -0
  1389. package/dist/ionic/p-40f68333.system.js +4 -0
  1390. package/dist/ionic/p-4155f352.system.js +4 -0
  1391. package/dist/ionic/{p-b287ab05.js → p-4180a747.js} +1 -1
  1392. package/dist/ionic/p-4233cc1e.system.entry.js +4 -0
  1393. package/dist/ionic/{p-b923f3d7.js → p-42f189f4.js} +1 -1
  1394. package/dist/ionic/p-459d13d5.js +4 -0
  1395. package/dist/ionic/p-4609d030.system.js +4 -0
  1396. package/dist/ionic/p-46d400b4.system.entry.js +4 -0
  1397. package/dist/ionic/{p-cf62e1c8.js → p-47b6ba5b.js} +1 -1
  1398. package/dist/ionic/p-4d67d27a.entry.js +4 -0
  1399. package/dist/ionic/p-4f255d5a.system.js +4 -0
  1400. package/dist/ionic/p-4fb51e61.system.entry.js +4 -0
  1401. package/dist/ionic/{p-c575a7b8.system.entry.js → p-517a9885.system.entry.js} +1 -1
  1402. package/dist/ionic/{p-8083aadb.entry.js → p-51a087d6.entry.js} +1 -1
  1403. package/dist/ionic/p-53ec4f1c.system.js +4 -0
  1404. package/dist/ionic/{p-6f8a95a3.system.entry.js → p-564af202.system.entry.js} +2 -2
  1405. package/dist/ionic/{p-0ac3fb2c.entry.js → p-588fdf40.entry.js} +1 -1
  1406. package/dist/ionic/p-5b365ca7.system.js +4 -0
  1407. package/dist/ionic/{p-c42c86c0.system.entry.js → p-5bebc7b3.system.entry.js} +1 -1
  1408. package/dist/ionic/p-5e4eec2e.entry.js +4 -0
  1409. package/dist/ionic/{p-2a8eeef7.system.js → p-5e745192.system.js} +1 -1
  1410. package/dist/ionic/{p-76378400.js → p-5ecae037.js} +1 -1
  1411. package/dist/ionic/{p-c679fcb5.entry.js → p-5eda1d7d.entry.js} +1 -1
  1412. package/dist/ionic/{p-1289b3b5.system.entry.js → p-6577aea9.system.entry.js} +2 -2
  1413. package/dist/ionic/p-66d633fb.js +4 -0
  1414. package/dist/ionic/{p-0bbede6a.system.entry.js → p-6ad34705.system.entry.js} +1 -1
  1415. package/dist/ionic/p-6de472cb.js +4 -0
  1416. package/dist/ionic/{p-ce7d67a7.system.entry.js → p-6de62649.system.entry.js} +2 -2
  1417. package/dist/ionic/{p-8a2801f1.system.entry.js → p-6e70dd1a.system.entry.js} +1 -1
  1418. package/dist/ionic/{p-61b192a4.system.entry.js → p-6f8dbe92.system.entry.js} +1 -1
  1419. package/dist/ionic/{p-0b00b937.entry.js → p-6fbecbda.entry.js} +1 -1
  1420. package/dist/ionic/p-72f6ff89.js +4 -0
  1421. package/dist/ionic/p-765f4dde.entry.js +4 -0
  1422. package/dist/ionic/p-7798c78a.system.js +4 -0
  1423. package/dist/ionic/p-78aadecb.entry.js +4 -0
  1424. package/dist/ionic/p-790220fd.system.js +4 -0
  1425. package/dist/ionic/p-7d92bf15.system.entry.js +4 -0
  1426. package/dist/ionic/p-80fa068e.entry.js +4 -0
  1427. package/dist/ionic/p-82e3d633.system.js +4 -0
  1428. package/dist/ionic/p-8314281e.system.js +4 -0
  1429. package/dist/ionic/p-8804a472.system.entry.js +4 -0
  1430. package/dist/ionic/p-888db766.system.js +4 -0
  1431. package/dist/ionic/p-88d5fbd3.js +4 -0
  1432. package/dist/ionic/p-88fde0e0.entry.js +4 -0
  1433. package/dist/ionic/p-8985cdb6.system.js +4 -0
  1434. package/dist/ionic/p-8aa1d0b7.system.js +4 -0
  1435. package/dist/ionic/p-8acae6b0.system.entry.js +4 -0
  1436. package/dist/ionic/p-8d69a624.entry.js +4 -0
  1437. package/dist/ionic/p-8f5d30f5.entry.js +4 -0
  1438. package/dist/ionic/{p-beb864e4.system.entry.js → p-908475e7.system.entry.js} +1 -1
  1439. package/dist/ionic/p-91d33c4a.js +4 -0
  1440. package/dist/ionic/p-953009b1.entry.js +4 -0
  1441. package/dist/ionic/{p-eb8dc56f.system.entry.js → p-958d6ebe.system.entry.js} +2 -2
  1442. package/dist/ionic/{p-78030c1f.system.entry.js → p-9709ebd8.system.entry.js} +1 -1
  1443. package/dist/ionic/p-9738fd82.js +5 -0
  1444. package/dist/ionic/p-979d4f5c.system.js +4 -0
  1445. package/dist/ionic/{p-c4a5de01.entry.js → p-98f3d827.entry.js} +1 -1
  1446. package/dist/ionic/p-9b7f0b0f.entry.js +4 -0
  1447. package/dist/ionic/p-9e447eb1.system.js +4 -0
  1448. package/dist/ionic/p-9eec42cc.system.entry.js +4 -0
  1449. package/dist/ionic/p-9f6ee2c0.system.entry.js +4 -0
  1450. package/dist/ionic/p-a0bb7b92.system.entry.js +4 -0
  1451. package/dist/ionic/p-a0d7bb5e.system.js +4 -0
  1452. package/dist/ionic/p-a1987850.entry.js +4 -0
  1453. package/dist/ionic/{p-8209372c.entry.js → p-a3277a67.entry.js} +1 -1
  1454. package/dist/ionic/{p-4e6e43c1.entry.js → p-a4afcc88.entry.js} +1 -1
  1455. package/dist/ionic/p-a9978d08.entry.js +4 -0
  1456. package/dist/ionic/p-ada96dd0.system.entry.js +4 -0
  1457. package/dist/ionic/p-afd6ca9d.entry.js +4 -0
  1458. package/dist/ionic/p-b3b3efba.system.entry.js +4 -0
  1459. package/dist/ionic/p-b4a51c42.system.js +4 -0
  1460. package/dist/ionic/p-b56d0866.system.entry.js +4 -0
  1461. package/dist/ionic/{p-4e50b8d1.entry.js → p-b5f9f14c.entry.js} +1 -1
  1462. package/dist/ionic/{p-eab10949.system.entry.js → p-b6f5e4f2.system.entry.js} +1 -1
  1463. package/dist/ionic/p-b6f9d32a.entry.js +4 -0
  1464. package/dist/ionic/p-b7010c69.system.entry.js +4 -0
  1465. package/dist/ionic/{p-181b7c2a.js → p-c3c3333a.js} +1 -1
  1466. package/dist/ionic/p-c468af8a.system.js +4 -0
  1467. package/dist/ionic/p-c61cc894.js +4 -0
  1468. package/dist/ionic/p-c7c8429a.system.js +4 -0
  1469. package/dist/ionic/p-c847fb35.system.entry.js +4 -0
  1470. package/dist/ionic/{p-e0f52215.system.entry.js → p-c91ccbfa.system.entry.js} +1 -1
  1471. package/dist/ionic/p-c9a21dfd.system.entry.js +4 -0
  1472. package/dist/ionic/p-cabad15b.system.js +4 -0
  1473. package/dist/ionic/{p-8c1805f4.system.entry.js → p-caf21b46.system.entry.js} +1 -1
  1474. package/dist/ionic/p-cce9f61a.system.entry.js +4 -0
  1475. package/dist/ionic/{p-de68588d.js → p-cdbeaadc.js} +1 -1
  1476. package/dist/ionic/{p-108f9d49.entry.js → p-cfe57b1b.entry.js} +1 -1
  1477. package/dist/ionic/p-d032f825.system.entry.js +4 -0
  1478. package/dist/ionic/{p-31119a15.entry.js → p-d37b441e.entry.js} +1 -1
  1479. package/dist/ionic/p-d3b030b8.system.js +5 -0
  1480. package/dist/ionic/p-d51674c5.system.js +4 -0
  1481. package/dist/ionic/p-d8d84afa.system.js +4 -0
  1482. package/dist/ionic/p-dc6af8e9.entry.js +4 -0
  1483. package/dist/ionic/{p-3818f63f.entry.js → p-ddb30596.entry.js} +1 -1
  1484. package/dist/ionic/p-ddbb2d5b.system.js +4 -0
  1485. package/dist/ionic/p-de6f8b28.system.js +4 -0
  1486. package/dist/ionic/p-de756e5c.js +4 -0
  1487. package/dist/ionic/p-dee7c1d0.system.entry.js +4 -0
  1488. package/dist/ionic/{p-e0f0d55f.system.js → p-e24ce1e5.system.js} +1 -1
  1489. package/dist/ionic/p-e3584231.system.js +4 -0
  1490. package/dist/ionic/{p-c4f2dce7.system.js → p-e673a0a2.system.js} +1 -1
  1491. package/dist/ionic/p-e6d68e02.system.entry.js +4 -0
  1492. package/dist/ionic/{p-012952cd.system.entry.js → p-e7ea9815.system.entry.js} +2 -2
  1493. package/dist/ionic/{p-db1a1e00.entry.js → p-e94c392d.entry.js} +1 -1
  1494. package/dist/ionic/{p-a04bfada.entry.js → p-ea69616e.entry.js} +1 -1
  1495. package/dist/ionic/p-eef72e06.js +4 -0
  1496. package/dist/ionic/p-ef126ae8.system.entry.js +4 -0
  1497. package/dist/ionic/p-f0445d82.system.entry.js +4 -0
  1498. package/dist/ionic/p-f233f1e0.system.js +4 -0
  1499. package/dist/ionic/p-f5d2dc9b.js +4 -0
  1500. package/dist/ionic/p-f656e032.system.entry.js +4 -0
  1501. package/dist/ionic/p-f70970cf.js +4 -0
  1502. package/dist/ionic/p-f8a5bb89.entry.js +4 -0
  1503. package/dist/ionic/p-fba0a6e7.system.entry.js +4 -0
  1504. package/dist/ionic/p-feae5133.entry.js +4 -0
  1505. package/dist/ionic/p-ff4b7e40.system.js +4 -0
  1506. package/dist/types/components/accordion/accordion.d.ts +62 -62
  1507. package/dist/types/components/accordion-group/accordion-group-interface.d.ts +3 -3
  1508. package/dist/types/components/accordion-group/accordion-group.d.ts +76 -76
  1509. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +25 -25
  1510. package/dist/types/components/action-sheet/action-sheet.d.ts +149 -149
  1511. package/dist/types/components/action-sheet/test/basic/fixture.d.ts +7 -7
  1512. package/dist/types/components/alert/alert-interface.d.ts +45 -45
  1513. package/dist/types/components/alert/alert.d.ts +181 -181
  1514. package/dist/types/components/app/app.d.ts +15 -15
  1515. package/dist/types/components/avatar/avatar.d.ts +1 -1
  1516. package/dist/types/components/back-button/back-button.d.ts +41 -41
  1517. package/dist/types/components/backdrop/backdrop.d.ts +22 -22
  1518. package/dist/types/components/badge/badge.d.ts +7 -7
  1519. package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +4 -4
  1520. package/dist/types/components/breadcrumb/breadcrumb.d.ts +87 -87
  1521. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +39 -39
  1522. package/dist/types/components/button/button.d.ts +121 -121
  1523. package/dist/types/components/buttons/buttons.d.ts +14 -14
  1524. package/dist/types/components/card/card.d.ts +57 -57
  1525. package/dist/types/components/card-content/card-content.d.ts +1 -1
  1526. package/dist/types/components/card-header/card-header.d.ts +13 -13
  1527. package/dist/types/components/card-subtitle/card-subtitle.d.ts +7 -7
  1528. package/dist/types/components/card-title/card-title.d.ts +7 -7
  1529. package/dist/types/components/checkbox/checkbox-interface.d.ts +4 -4
  1530. package/dist/types/components/checkbox/checkbox.d.ts +112 -111
  1531. package/dist/types/components/chip/chip.d.ts +15 -15
  1532. package/dist/types/components/col/col.d.ts +128 -128
  1533. package/dist/types/components/content/content-interface.d.ts +6 -6
  1534. package/dist/types/components/content/content.d.ts +129 -129
  1535. package/dist/types/components/datetime/datetime-interface.d.ts +15 -15
  1536. package/dist/types/components/datetime/datetime.d.ts +407 -407
  1537. package/dist/types/components/datetime/utils/data.d.ts +11 -11
  1538. package/dist/types/components/datetime/utils/manipulation.d.ts +25 -25
  1539. package/dist/types/components/datetime/utils/state.d.ts +8 -8
  1540. package/dist/types/components/datetime-button/datetime-button.d.ts +59 -59
  1541. package/dist/types/components/fab/fab.d.ts +33 -33
  1542. package/dist/types/components/fab-button/fab-button.d.ts +88 -88
  1543. package/dist/types/components/fab-list/fab-list.d.ts +11 -11
  1544. package/dist/types/components/footer/footer.d.ts +27 -27
  1545. package/dist/types/components/grid/grid.d.ts +5 -5
  1546. package/dist/types/components/header/header.d.ts +31 -31
  1547. package/dist/types/components/header/header.utils.d.ts +7 -7
  1548. package/dist/types/components/img/img.d.ts +30 -30
  1549. package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +1 -1
  1550. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +65 -58
  1551. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +23 -23
  1552. package/dist/types/components/input/input-interface.d.ts +6 -6
  1553. package/dist/types/components/input/input.d.ts +321 -315
  1554. package/dist/types/components/item/item.d.ts +111 -111
  1555. package/dist/types/components/item-divider/item-divider.d.ts +16 -16
  1556. package/dist/types/components/item-group/item-group.d.ts +1 -1
  1557. package/dist/types/components/item-option/item-option.d.ts +44 -44
  1558. package/dist/types/components/item-options/item-options.d.ts +13 -13
  1559. package/dist/types/components/item-sliding/item-sliding-interface.d.ts +1 -1
  1560. package/dist/types/components/item-sliding/item-sliding.d.ts +75 -75
  1561. package/dist/types/components/label/label.d.ts +30 -30
  1562. package/dist/types/components/list/list.d.ts +17 -17
  1563. package/dist/types/components/list-header/list-header.d.ts +11 -11
  1564. package/dist/types/components/loading/loading-interface.d.ts +16 -16
  1565. package/dist/types/components/loading/loading.d.ts +152 -152
  1566. package/dist/types/components/menu/menu-interface.d.ts +39 -39
  1567. package/dist/types/components/menu/menu.d.ts +140 -140
  1568. package/dist/types/components/menu-button/menu-button.d.ts +30 -30
  1569. package/dist/types/components/menu-toggle/menu-toggle.d.ts +21 -21
  1570. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  1571. package/dist/types/components/modal/gestures/sheet.d.ts +30 -30
  1572. package/dist/types/components/modal/gestures/swipe-to-close.d.ts +1 -1
  1573. package/dist/types/components/modal/modal-interface.d.ts +27 -27
  1574. package/dist/types/components/modal/modal.d.ts +265 -265
  1575. package/dist/types/components/modal/test/fixtures.d.ts +7 -7
  1576. package/dist/types/components/nav/nav-interface.d.ts +40 -40
  1577. package/dist/types/components/nav/nav.d.ts +247 -247
  1578. package/dist/types/components/nav/view-controller.d.ts +13 -13
  1579. package/dist/types/components/nav-link/nav-link.d.ts +19 -19
  1580. package/dist/types/components/note/note.d.ts +7 -7
  1581. package/dist/types/components/picker/picker-interface.d.ts +43 -43
  1582. package/dist/types/components/picker/picker.d.ts +149 -149
  1583. package/dist/types/components/picker-column/picker-column.d.ts +39 -39
  1584. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +3 -3
  1585. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +93 -89
  1586. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +4 -4
  1587. package/dist/types/components/picker-internal/picker-internal.d.ts +94 -94
  1588. package/dist/types/components/popover/popover-interface.d.ts +26 -26
  1589. package/dist/types/components/popover/popover.d.ts +279 -279
  1590. package/dist/types/components/popover/test/fixture.d.ts +5 -5
  1591. package/dist/types/components/popover/utils.d.ts +25 -25
  1592. package/dist/types/components/progress-bar/progress-bar.d.ts +27 -27
  1593. package/dist/types/components/radio/radio.d.ts +100 -99
  1594. package/dist/types/components/radio-group/radio-group-interface.d.ts +5 -4
  1595. package/dist/types/components/radio-group/radio-group.d.ts +51 -44
  1596. package/dist/types/components/radio-group/test/fixtures.d.ts +5 -5
  1597. package/dist/types/components/range/range-interface.d.ts +7 -7
  1598. package/dist/types/components/range/range.d.ts +193 -192
  1599. package/dist/types/components/refresher/refresher-interface.d.ts +3 -3
  1600. package/dist/types/components/refresher/refresher.d.ts +132 -132
  1601. package/dist/types/components/refresher-content/refresher-content.d.ts +44 -44
  1602. package/dist/types/components/reorder/reorder.d.ts +3 -3
  1603. package/dist/types/components/reorder-group/reorder-group-interface.d.ts +5 -5
  1604. package/dist/types/components/reorder-group/reorder-group.d.ts +53 -53
  1605. package/dist/types/components/ripple-effect/ripple-effect.d.ts +20 -20
  1606. package/dist/types/components/route/route-interface.d.ts +1 -1
  1607. package/dist/types/components/route/route.d.ts +43 -43
  1608. package/dist/types/components/route-redirect/route-redirect.d.ts +33 -33
  1609. package/dist/types/components/router/router.d.ts +74 -73
  1610. package/dist/types/components/router/utils/dom.d.ts +2 -2
  1611. package/dist/types/components/router/utils/interface.d.ts +31 -31
  1612. package/dist/types/components/router/utils/matching.d.ts +6 -6
  1613. package/dist/types/components/router-link/router-link.d.ts +34 -34
  1614. package/dist/types/components/router-outlet/router-outlet.d.ts +41 -41
  1615. package/dist/types/components/row/row.d.ts +1 -1
  1616. package/dist/types/components/searchbar/searchbar-interface.d.ts +6 -6
  1617. package/dist/types/components/searchbar/searchbar.d.ts +235 -233
  1618. package/dist/types/components/segment/segment-interface.d.ts +3 -3
  1619. package/dist/types/components/segment/segment.d.ts +82 -82
  1620. package/dist/types/components/segment-button/segment-button.d.ts +36 -36
  1621. package/dist/types/components/select/select-interface.d.ts +3 -3
  1622. package/dist/types/components/select/select.d.ts +238 -233
  1623. package/dist/types/components/select-option/select-option.d.ts +11 -11
  1624. package/dist/types/components/select-popover/select-popover-interface.d.ts +8 -8
  1625. package/dist/types/components/select-popover/select-popover.d.ts +39 -39
  1626. package/dist/types/components/select-popover/test/fixtures.d.ts +12 -12
  1627. package/dist/types/components/skeleton-text/skeleton-text.d.ts +15 -7
  1628. package/dist/types/components/spinner/spinner-configs.d.ts +96 -96
  1629. package/dist/types/components/spinner/spinner-interface.d.ts +14 -14
  1630. package/dist/types/components/spinner/spinner.d.ts +21 -21
  1631. package/dist/types/components/split-pane/split-pane.d.ts +33 -33
  1632. package/dist/types/components/tab/tab.d.ts +21 -21
  1633. package/dist/types/components/tab-bar/tab-bar-interface.d.ts +4 -4
  1634. package/dist/types/components/tab-bar/tab-bar.d.ts +34 -34
  1635. package/dist/types/components/tab-button/tab-button.d.ts +56 -56
  1636. package/dist/types/components/tabs/tabs-interface.d.ts +4 -4
  1637. package/dist/types/components/tabs/tabs.d.ts +52 -52
  1638. package/dist/types/components/text/text.d.ts +7 -7
  1639. package/dist/types/components/textarea/textarea-interface.d.ts +6 -6
  1640. package/dist/types/components/textarea/textarea.d.ts +275 -269
  1641. package/dist/types/components/thumbnail/thumbnail.d.ts +1 -1
  1642. package/dist/types/components/title/title.d.ts +21 -21
  1643. package/dist/types/components/toast/animations/utils.d.ts +15 -4
  1644. package/dist/types/components/toast/gestures/swipe-to-dismiss.d.ts +9 -0
  1645. package/dist/types/components/toast/toast-interface.d.ts +37 -35
  1646. package/dist/types/components/toast/toast.d.ts +241 -214
  1647. package/dist/types/components/toggle/toggle-interface.d.ts +4 -4
  1648. package/dist/types/components/toggle/toggle.d.ts +117 -116
  1649. package/dist/types/components/toolbar/toolbar.d.ts +11 -11
  1650. package/dist/types/components.d.ts +679 -16
  1651. package/dist/types/global/config.d.ts +6 -6
  1652. package/dist/types/interface.d.ts +1 -5
  1653. package/dist/types/jest.d.ts +5 -0
  1654. package/dist/types/stencil-public-runtime.d.ts +10 -0
  1655. package/dist/types/utils/animation/animation-interface.d.ts +205 -205
  1656. package/dist/types/utils/browser/index.d.ts +17 -8
  1657. package/dist/types/utils/config.d.ts +175 -175
  1658. package/dist/types/utils/content/index.d.ts +1 -1
  1659. package/dist/types/utils/element-interface.d.ts +6 -6
  1660. package/dist/types/utils/focus-visible.d.ts +5 -4
  1661. package/dist/types/utils/forms/compare-with-utils.d.ts +18 -0
  1662. package/dist/types/utils/forms/form-controller.d.ts +3 -3
  1663. package/dist/types/utils/forms/index.d.ts +1 -0
  1664. package/dist/types/utils/forms/notch-controller.d.ts +2 -2
  1665. package/dist/types/utils/framework-delegate.d.ts +3 -3
  1666. package/dist/types/utils/gesture/gesture-controller.d.ts +49 -49
  1667. package/dist/types/utils/gesture/index.d.ts +31 -31
  1668. package/dist/types/utils/gesture/listener.d.ts +2 -2
  1669. package/dist/types/utils/gesture/pointer-events.d.ts +12 -12
  1670. package/dist/types/utils/gesture/recognizers.d.ts +4 -4
  1671. package/dist/types/utils/hardware-back-button.d.ts +4 -0
  1672. package/dist/types/utils/helpers.d.ts +8 -8
  1673. package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +4 -4
  1674. package/dist/types/utils/keyboard/keyboard-controller.d.ts +3 -3
  1675. package/dist/types/utils/lock-controller.d.ts +1 -1
  1676. package/dist/types/utils/native/haptic.d.ts +38 -38
  1677. package/dist/types/utils/native/keyboard.d.ts +29 -29
  1678. package/dist/types/utils/native/native-interface.d.ts +15 -15
  1679. package/dist/types/utils/native/status-bar.d.ts +8 -8
  1680. package/dist/types/utils/overlays-interface.d.ts +27 -27
  1681. package/dist/types/utils/overlays.d.ts +29 -28
  1682. package/dist/types/utils/platform.d.ts +16 -16
  1683. package/dist/types/utils/sanitization/index.d.ts +2 -2
  1684. package/dist/types/utils/slot-mutation-controller.d.ts +3 -3
  1685. package/dist/types/utils/test/platform.utils.d.ts +67 -67
  1686. package/dist/types/utils/test/playwright/generator.d.ts +16 -7
  1687. package/dist/types/utils/test/playwright/matchers/index.d.ts +3 -3
  1688. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +2 -2
  1689. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +2 -2
  1690. package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +2 -2
  1691. package/dist/types/utils/test/playwright/page/event-spy.d.ts +15 -15
  1692. package/dist/types/utils/test/playwright/page/utils/goto.d.ts +3 -3
  1693. package/dist/types/utils/test/playwright/page/utils/locator.d.ts +15 -15
  1694. package/dist/types/utils/test/playwright/playwright-declarations.d.ts +92 -92
  1695. package/dist/types/utils/test/playwright/playwright-page.d.ts +3 -3
  1696. package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -12
  1697. package/dist/types/utils/test/press-keys.d.ts +14 -14
  1698. package/dist/types/utils/transition/index.d.ts +6 -6
  1699. package/dist/types/utils/watch-options.d.ts +9 -1
  1700. package/hydrate/index.d.ts +1 -1
  1701. package/hydrate/index.js +30673 -29948
  1702. package/package.json +10 -12
  1703. package/dist/cjs/animation-c8bdd3c7.js +0 -1046
  1704. package/dist/cjs/button-active-c0ff1915.js +0 -69
  1705. package/dist/cjs/config-d5882735.js +0 -199
  1706. package/dist/cjs/cubic-bezier-6b9222ad.js +0 -92
  1707. package/dist/cjs/data-c8d21093.js +0 -1622
  1708. package/dist/cjs/focus-visible-a7545600.js +0 -77
  1709. package/dist/cjs/form-controller-5e223b54.js +0 -70
  1710. package/dist/cjs/framework-delegate-c0873a6f.js +0 -144
  1711. package/dist/cjs/gesture-controller-b46721be.js +0 -197
  1712. package/dist/cjs/haptic-678abc9f.js +0 -212
  1713. package/dist/cjs/hardware-back-button-b67c8e75.js +0 -76
  1714. package/dist/cjs/helpers-ea4ccbcb.js +0 -441
  1715. package/dist/cjs/index-0ee995e4.js +0 -459
  1716. package/dist/cjs/index-306a7476.js +0 -32
  1717. package/dist/cjs/index-5e7529f6.js +0 -310
  1718. package/dist/cjs/index-9f379eaa.js +0 -198
  1719. package/dist/cjs/index-eccba000.js +0 -243
  1720. package/dist/cjs/input-shims-da7dc0de.js +0 -588
  1721. package/dist/cjs/input.utils-0fe3097c.js +0 -137
  1722. package/dist/cjs/ionic-global-fb752503.js +0 -230
  1723. package/dist/cjs/ios.transition-5af5991e.js +0 -654
  1724. package/dist/cjs/keyboard-controller-50beb83a.js +0 -167
  1725. package/dist/cjs/keyboard-fd7db491.js +0 -81
  1726. package/dist/cjs/lock-controller-4ae2eb59.js +0 -40
  1727. package/dist/cjs/md.transition-1e740a6a.js +0 -59
  1728. package/dist/cjs/notch-controller-f4f6af5d.js +0 -155
  1729. package/dist/cjs/overlays-1a734051.js +0 -714
  1730. package/dist/cjs/spinner-configs-f7b5105b.js +0 -147
  1731. package/dist/cjs/status-tap-778e8054.js +0 -42
  1732. package/dist/cjs/swipe-back-7e843e77.js +0 -81
  1733. package/dist/cjs/theme-fbc56b3b.js +0 -48
  1734. package/dist/cjs/watch-options-f3f77e54.js +0 -38
  1735. package/dist/collection/components/item/test/text/item.e2e.js +0 -14
  1736. package/dist/esm/animation-92066c62.js +0 -1044
  1737. package/dist/esm/button-active-d926d4f4.js +0 -67
  1738. package/dist/esm/capacitor-b4979570.js +0 -13
  1739. package/dist/esm/config-96c9ace3.js +0 -193
  1740. package/dist/esm/cubic-bezier-66542bc5.js +0 -90
  1741. package/dist/esm/data-44d9e816.js +0 -1575
  1742. package/dist/esm/focus-visible-85493433.js +0 -75
  1743. package/dist/esm/form-controller-ed77647a.js +0 -68
  1744. package/dist/esm/framework-delegate-aa433dea.js +0 -140
  1745. package/dist/esm/gesture-controller-0fa396c4.js +0 -195
  1746. package/dist/esm/haptic-1243b917.js +0 -206
  1747. package/dist/esm/hardware-back-button-39299f84.js +0 -71
  1748. package/dist/esm/helpers-3379ba19.js +0 -418
  1749. package/dist/esm/index-7a14ecec.js +0 -29
  1750. package/dist/esm/index-a09eac70.js +0 -231
  1751. package/dist/esm/index-df55802d.js +0 -308
  1752. package/dist/esm/index-f0cc4e14.js +0 -196
  1753. package/dist/esm/index-ff313b19.js +0 -457
  1754. package/dist/esm/input-shims-d78a3c77.js +0 -586
  1755. package/dist/esm/input.utils-ec063df4.js +0 -134
  1756. package/dist/esm/ionic-global-246ca78f.js +0 -224
  1757. package/dist/esm/ios.transition-4d1322d6.js +0 -651
  1758. package/dist/esm/keyboard-b063f012.js +0 -79
  1759. package/dist/esm/keyboard-b551279d.js +0 -146
  1760. package/dist/esm/keyboard-controller-0c2dce71.js +0 -165
  1761. package/dist/esm/lock-controller-e8c6c051.js +0 -38
  1762. package/dist/esm/md.transition-66b425d0.js +0 -57
  1763. package/dist/esm/notch-controller-8c9c0e54.js +0 -153
  1764. package/dist/esm/overlays-cec6bac8.js +0 -692
  1765. package/dist/esm/spinner-configs-d09fbbbb.js +0 -145
  1766. package/dist/esm/status-tap-9aeeaca5.js +0 -40
  1767. package/dist/esm/swipe-back-cd4295f3.js +0 -79
  1768. package/dist/esm/theme-17531cdf.js +0 -43
  1769. package/dist/esm/watch-options-355a920a.js +0 -36
  1770. package/dist/esm-es5/animation-92066c62.js +0 -4
  1771. package/dist/esm-es5/app-globals-ec816a70.js +0 -4
  1772. package/dist/esm-es5/config-96c9ace3.js +0 -4
  1773. package/dist/esm-es5/cubic-bezier-66542bc5.js +0 -4
  1774. package/dist/esm-es5/data-44d9e816.js +0 -4
  1775. package/dist/esm-es5/focus-visible-85493433.js +0 -4
  1776. package/dist/esm-es5/form-controller-ed77647a.js +0 -4
  1777. package/dist/esm-es5/framework-delegate-aa433dea.js +0 -4
  1778. package/dist/esm-es5/hardware-back-button-39299f84.js +0 -4
  1779. package/dist/esm-es5/helpers-3379ba19.js +0 -4
  1780. package/dist/esm-es5/index-746a238e.js +0 -4
  1781. package/dist/esm-es5/index-b49b173c.js +0 -5
  1782. package/dist/esm-es5/index-df55802d.js +0 -4
  1783. package/dist/esm-es5/index-f0cc4e14.js +0 -4
  1784. package/dist/esm-es5/index-ff313b19.js +0 -4
  1785. package/dist/esm-es5/input-shims-d78a3c77.js +0 -4
  1786. package/dist/esm-es5/input.utils-ec063df4.js +0 -4
  1787. package/dist/esm-es5/ionic-global-246ca78f.js +0 -4
  1788. package/dist/esm-es5/keyboard-controller-0c2dce71.js +0 -4
  1789. package/dist/esm-es5/md.transition-66b425d0.js +0 -4
  1790. package/dist/esm-es5/notch-controller-8c9c0e54.js +0 -4
  1791. package/dist/esm-es5/overlays-cec6bac8.js +0 -4
  1792. package/dist/esm-es5/spinner-configs-d09fbbbb.js +0 -4
  1793. package/dist/esm-es5/status-tap-9aeeaca5.js +0 -4
  1794. package/dist/esm-es5/swipe-back-cd4295f3.js +0 -4
  1795. package/dist/esm-es5/watch-options-355a920a.js +0 -4
  1796. package/dist/ionic/p-015187e5.system.js +0 -4
  1797. package/dist/ionic/p-06ac429a.js +0 -5
  1798. package/dist/ionic/p-091c8792.system.js +0 -4
  1799. package/dist/ionic/p-0b7c25ee.system.entry.js +0 -4
  1800. package/dist/ionic/p-0f1f59da.system.entry.js +0 -4
  1801. package/dist/ionic/p-19fba51c.entry.js +0 -4
  1802. package/dist/ionic/p-1a463b1e.system.entry.js +0 -4
  1803. package/dist/ionic/p-1edb53a1.entry.js +0 -4
  1804. package/dist/ionic/p-1f260a7b.entry.js +0 -4
  1805. package/dist/ionic/p-1f81b5be.entry.js +0 -4
  1806. package/dist/ionic/p-276afddd.js +0 -4
  1807. package/dist/ionic/p-28ea45b9.js +0 -4
  1808. package/dist/ionic/p-29073efe.system.entry.js +0 -4
  1809. package/dist/ionic/p-2b89ea1b.system.js +0 -4
  1810. package/dist/ionic/p-303bf1e8.system.entry.js +0 -4
  1811. package/dist/ionic/p-32083c2d.js +0 -4
  1812. package/dist/ionic/p-33a8349a.system.entry.js +0 -4
  1813. package/dist/ionic/p-34259245.system.entry.js +0 -4
  1814. package/dist/ionic/p-35b26732.entry.js +0 -4
  1815. package/dist/ionic/p-35e399bd.entry.js +0 -4
  1816. package/dist/ionic/p-3632220b.system.js +0 -4
  1817. package/dist/ionic/p-38089641.entry.js +0 -4
  1818. package/dist/ionic/p-38c5fe2b.system.entry.js +0 -4
  1819. package/dist/ionic/p-3a58e3a4.system.entry.js +0 -4
  1820. package/dist/ionic/p-3d726a67.system.js +0 -4
  1821. package/dist/ionic/p-3f3da911.system.entry.js +0 -4
  1822. package/dist/ionic/p-41477ad9.system.js +0 -4
  1823. package/dist/ionic/p-4215652f.system.entry.js +0 -4
  1824. package/dist/ionic/p-446230d7.js +0 -4
  1825. package/dist/ionic/p-44bc8b45.system.js +0 -4
  1826. package/dist/ionic/p-479cdbf8.system.js +0 -4
  1827. package/dist/ionic/p-4f97c112.entry.js +0 -4
  1828. package/dist/ionic/p-54200074.entry.js +0 -4
  1829. package/dist/ionic/p-54f6cd27.system.entry.js +0 -4
  1830. package/dist/ionic/p-56dc022e.system.js +0 -4
  1831. package/dist/ionic/p-572cce26.system.entry.js +0 -4
  1832. package/dist/ionic/p-5b976d70.entry.js +0 -4
  1833. package/dist/ionic/p-5bf16a18.js +0 -4
  1834. package/dist/ionic/p-613d4042.system.js +0 -4
  1835. package/dist/ionic/p-629aa3fd.system.js +0 -5
  1836. package/dist/ionic/p-62e7d4fa.js +0 -4
  1837. package/dist/ionic/p-64475ab5.system.js +0 -4
  1838. package/dist/ionic/p-673846f6.entry.js +0 -4
  1839. package/dist/ionic/p-6ce0a709.system.entry.js +0 -4
  1840. package/dist/ionic/p-755b2917.system.js +0 -4
  1841. package/dist/ionic/p-772f6c84.system.js +0 -4
  1842. package/dist/ionic/p-815c2fba.system.js +0 -4
  1843. package/dist/ionic/p-818b2e75.entry.js +0 -4
  1844. package/dist/ionic/p-81c818e7.js +0 -4
  1845. package/dist/ionic/p-81ef7437.system.entry.js +0 -4
  1846. package/dist/ionic/p-87411e39.system.js +0 -4
  1847. package/dist/ionic/p-8b1be026.js +0 -4
  1848. package/dist/ionic/p-8c15eda7.system.js +0 -4
  1849. package/dist/ionic/p-8cf94fc1.js +0 -4
  1850. package/dist/ionic/p-8d6728a1.system.entry.js +0 -4
  1851. package/dist/ionic/p-8e24ebbc.js +0 -4
  1852. package/dist/ionic/p-8f01a9a2.system.js +0 -4
  1853. package/dist/ionic/p-939e0fa1.system.js +0 -4
  1854. package/dist/ionic/p-9ab6f3e6.system.js +0 -4
  1855. package/dist/ionic/p-9dc85536.system.entry.js +0 -4
  1856. package/dist/ionic/p-9e852ff1.system.js +0 -4
  1857. package/dist/ionic/p-9f2e0db9.js +0 -4
  1858. package/dist/ionic/p-a164e3ab.system.entry.js +0 -4
  1859. package/dist/ionic/p-a200a7fc.entry.js +0 -4
  1860. package/dist/ionic/p-a34fc12e.system.entry.js +0 -4
  1861. package/dist/ionic/p-a9c32660.entry.js +0 -4
  1862. package/dist/ionic/p-ab4cff27.system.js +0 -4
  1863. package/dist/ionic/p-ad48dd13.system.js +0 -4
  1864. package/dist/ionic/p-afb6658f.entry.js +0 -4
  1865. package/dist/ionic/p-b132c2c0.system.js +0 -4
  1866. package/dist/ionic/p-b24aa895.js +0 -4
  1867. package/dist/ionic/p-b3c68723.system.js +0 -4
  1868. package/dist/ionic/p-b4b4bb29.system.js +0 -4
  1869. package/dist/ionic/p-b61a2fa0.system.entry.js +0 -4
  1870. package/dist/ionic/p-b753ec0d.system.entry.js +0 -4
  1871. package/dist/ionic/p-b8c3f071.system.js +0 -4
  1872. package/dist/ionic/p-b912e055.system.js +0 -4
  1873. package/dist/ionic/p-bb055450.system.entry.js +0 -4
  1874. package/dist/ionic/p-bba2ce59.system.js +0 -4
  1875. package/dist/ionic/p-c105bd36.entry.js +0 -4
  1876. package/dist/ionic/p-c44fe9fd.js +0 -4
  1877. package/dist/ionic/p-c49672d8.system.js +0 -4
  1878. package/dist/ionic/p-c87827ca.system.js +0 -4
  1879. package/dist/ionic/p-c8c9d699.system.entry.js +0 -4
  1880. package/dist/ionic/p-c92f0a6d.system.entry.js +0 -4
  1881. package/dist/ionic/p-c956e82c.system.entry.js +0 -4
  1882. package/dist/ionic/p-ca5cf574.js +0 -4
  1883. package/dist/ionic/p-cc196b34.js +0 -4
  1884. package/dist/ionic/p-ccdcb022.system.js +0 -4
  1885. package/dist/ionic/p-cd2d17c3.system.entry.js +0 -4
  1886. package/dist/ionic/p-cf0c93e3.system.entry.js +0 -4
  1887. package/dist/ionic/p-d1de1188.js +0 -4
  1888. package/dist/ionic/p-d35217be.entry.js +0 -4
  1889. package/dist/ionic/p-d6e53e66.entry.js +0 -4
  1890. package/dist/ionic/p-e1d5752d.system.entry.js +0 -4
  1891. package/dist/ionic/p-e25cb483.entry.js +0 -4
  1892. package/dist/ionic/p-e65ebe96.entry.js +0 -4
  1893. package/dist/ionic/p-e74faf2a.entry.js +0 -4
  1894. package/dist/ionic/p-eac263dd.entry.js +0 -4
  1895. package/dist/ionic/p-eb7d0922.js +0 -4
  1896. package/dist/ionic/p-f4309ac7.entry.js +0 -4
  1897. package/dist/ionic/p-f5bf698b.entry.js +0 -4
  1898. package/dist/ionic/p-f7566bad.entry.js +0 -4
  1899. package/dist/ionic/p-f9fa802c.system.entry.js +0 -4
  1900. package/dist/ionic/p-fa8d4788.system.js +0 -4
  1901. package/dist/ionic/p-ff5a10f9.system.js +0 -4
  1902. /package/dist/esm-es5/{index-595d62c9.js → index-9b0d46f4.js} +0 -0
  1903. /package/dist/esm-es5/{index-7a14ecec.js → index-a5d50daf.js} +0 -0
  1904. /package/dist/esm-es5/{lock-controller-e8c6c051.js → lock-controller-316928be.js} +0 -0
  1905. /package/dist/esm-es5/{theme-17531cdf.js → theme-01f3f29c.js} +0 -0
  1906. /package/dist/ionic/{p-1b8e1d03.js → p-06fee233.js} +0 -0
  1907. /package/dist/ionic/{p-63eb0acd.js → p-23a9d086.js} +0 -0
  1908. /package/dist/ionic/{p-7c2bac85.js → p-2408c236.js} +0 -0
  1909. /package/dist/ionic/{p-7b021525.js → p-41d5544e.js} +0 -0
  1910. /package/dist/ionic/{p-1d072d3d.js → p-47794def.js} +0 -0
  1911. /package/dist/ionic/{p-185e427e.js → p-4b3623da.js} +0 -0
  1912. /package/dist/ionic/{p-0e94957a.system.js → p-792919fd.system.js} +0 -0
  1913. /package/dist/ionic/{p-b347cfd1.js → p-7b30edcc.js} +0 -0
  1914. /package/dist/ionic/{p-e0b06b65.js → p-bb3615f7.js} +0 -0
  1915. /package/dist/ionic/{p-53b2a46f.js → p-ccd02320.js} +0 -0
  1916. /package/dist/ionic/{p-76fce40e.js → p-d47265c8.js} +0 -0
  1917. /package/dist/ionic/{p-c18d6eac.js → p-f0c2a614.js} +0 -0
  1918. /package/dist/ionic/{p-6dbfe5d4.js → p-fb813dab.js} +0 -0
@@ -5,24 +5,24 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const index = require('./index-305a23dc.js');
9
- const cubicBezier = require('./cubic-bezier-6b9222ad.js');
10
- const gestureController = require('./gesture-controller-b46721be.js');
11
- const helpers = require('./helpers-ea4ccbcb.js');
12
- const index$1 = require('./index-5e7529f6.js');
13
- const overlays = require('./overlays-1a734051.js');
14
- const ionicGlobal = require('./ionic-global-fb752503.js');
15
- const theme = require('./theme-fbc56b3b.js');
8
+ const index = require('./index-bbb4336c.js');
9
+ const cubicBezier = require('./cubic-bezier-f2dccc53.js');
10
+ const gestureController = require('./gesture-controller-c40c045a.js');
11
+ const helpers = require('./helpers-76bb7efb.js');
12
+ const index$1 = require('./index-ce101dc9.js');
13
+ const overlays = require('./overlays-27a6fb16.js');
14
+ const ionicGlobal = require('./ionic-global-f4a2093b.js');
15
+ const theme = require('./theme-d1c573d2.js');
16
16
  const index$2 = require('./index-09471526.js');
17
- require('./index-cc7dfb7c.js');
18
- require('./hardware-back-button-b67c8e75.js');
19
- require('./animation-c8bdd3c7.js');
20
- require('./index-306a7476.js');
21
- require('./framework-delegate-c0873a6f.js');
17
+ require('./index-c8d52405.js');
18
+ require('./hardware-back-button-76833cac.js');
19
+ require('./index-5915f9b3.js');
20
+ require('./animation-9b401d39.js');
21
+ require('./framework-delegate-1c29b14a.js');
22
22
 
23
- const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
23
+ const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
24
24
 
25
- const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start) .menu-inner:dir(rtl){--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end) .menu-inner:dir(rtl){--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
25
+ const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{-webkit-transform:translateX(-9999px);transform:translateX(-9999px);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{inset-inline-start:0;inset-inline-end:auto}}@supports not (inset-inline-start: 0){:host(.menu-side-start) .menu-inner{left:0;right:auto}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{left:unset;right:unset;left:auto;right:0}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{left:unset;right:unset;left:auto;right:0}}}:host-context([dir=rtl]):host(.menu-side-start) .menu-inner,:host-context([dir=rtl]).menu-side-start .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}@supports selector(:dir(rtl)){:host(.menu-side-start:dir(rtl)) .menu-inner{--ion-safe-area-right:unset;--ion-safe-area-left:0px}}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;top:0;bottom:0}@supports (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{inset-inline-start:auto;inset-inline-end:0}}@supports not (inset-inline-start: 0){:host(.menu-side-end) .menu-inner{left:auto;right:0}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{left:unset;right:unset;left:0;right:auto}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{left:unset;right:unset;left:0;right:auto}}}:host-context([dir=rtl]):host(.menu-side-end) .menu-inner,:host-context([dir=rtl]).menu-side-end .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}@supports selector(:dir(rtl)){:host(.menu-side-end:dir(rtl)) .menu-inner{--ion-safe-area-left:unset;--ion-safe-area-right:0px}}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;-webkit-transform:none !important;transform:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{-webkit-box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18);box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
26
26
 
27
27
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
28
28
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -30,612 +30,624 @@ const iosEasingReverse = 'cubic-bezier(1, 0, 0.68, 0.28)';
30
30
  const mdEasingReverse = 'cubic-bezier(0.4, 0, 0.6, 1)';
31
31
  const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
32
32
  const Menu = class {
33
- constructor(hostRef) {
34
- index.registerInstance(this, hostRef);
35
- this.ionWillOpen = index.createEvent(this, "ionWillOpen", 7);
36
- this.ionWillClose = index.createEvent(this, "ionWillClose", 7);
37
- this.ionDidOpen = index.createEvent(this, "ionDidOpen", 7);
38
- this.ionDidClose = index.createEvent(this, "ionDidClose", 7);
39
- this.ionMenuChange = index.createEvent(this, "ionMenuChange", 7);
40
- this.lastOnEnd = 0;
41
- this.blocker = gestureController.GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
42
- this.didLoad = false;
43
- /**
44
- * Flag used to determine if an open/close
45
- * operation was cancelled. For example, if
46
- * an app calls "menu.open" then disables the menu
47
- * part way through the animation, then this would
48
- * be considered a cancelled operation.
49
- */
50
- this.operationCancelled = false;
51
- this.isAnimating = false;
52
- this._isOpen = false;
53
- this.inheritedAttributes = {};
54
- this.handleFocus = (ev) => {
55
- /**
56
- * Overlays have their own focus trapping listener
57
- * so we do not want the two listeners to conflict
58
- * with each other. If the top-most overlay that is
59
- * open does not contain this ion-menu, then ion-menu's
60
- * focus trapping should not run.
61
- */
62
- const lastOverlay = overlays.getPresentedOverlay(document);
63
- if (lastOverlay && !lastOverlay.contains(this.el)) {
64
- return;
65
- }
66
- this.trapKeyboardFocus(ev, document);
67
- };
68
- this.isPaneVisible = false;
69
- this.isEndSide = false;
70
- this.contentId = undefined;
71
- this.menuId = undefined;
72
- this.type = undefined;
73
- this.disabled = false;
74
- this.side = 'start';
75
- this.swipeGesture = true;
76
- this.maxEdgeStart = 50;
77
- }
78
- typeChanged(type, oldType) {
79
- const contentEl = this.contentEl;
80
- if (contentEl) {
81
- if (oldType !== undefined) {
82
- contentEl.classList.remove(`menu-content-${oldType}`);
83
- }
84
- contentEl.classList.add(`menu-content-${type}`);
85
- contentEl.removeAttribute('style');
86
- }
87
- if (this.menuInnerEl) {
88
- // Remove effects of previous animations
89
- this.menuInnerEl.removeAttribute('style');
90
- }
91
- this.animation = undefined;
92
- }
93
- disabledChanged() {
94
- this.updateState();
95
- this.ionMenuChange.emit({
96
- disabled: this.disabled,
97
- open: this._isOpen,
98
- });
99
- }
100
- sideChanged() {
101
- this.isEndSide = helpers.isEndSide(this.side);
102
- /**
103
- * Menu direction animation is calculated based on the document direction.
104
- * If the document direction changes, we need to create a new animation.
105
- */
106
- this.animation = undefined;
107
- }
108
- swipeGestureChanged() {
109
- this.updateState();
110
- }
111
- async connectedCallback() {
112
- // TODO: connectedCallback is fired in CE build
113
- // before WC is defined. This needs to be fixed in Stencil.
114
- if (typeof customElements !== 'undefined' && customElements != null) {
115
- await customElements.whenDefined('ion-menu');
116
- }
117
- if (this.type === undefined) {
118
- this.type = ionicGlobal.config.get('menuType', 'overlay');
119
- }
120
- const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
121
- if (content === null) {
122
- console.error('Menu: must have a "content" element to listen for drag events on.');
123
- return;
124
- }
125
- if (this.el.contains(content)) {
126
- console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
127
- }
128
- this.contentEl = content;
129
- // add menu's content classes
130
- content.classList.add('menu-content');
131
- this.typeChanged(this.type, undefined);
132
- this.sideChanged();
133
- // register this menu with the app's menu controller
134
- index$1.menuController._register(this);
135
- this.menuChanged();
136
- this.gesture = (await Promise.resolve().then(function () { return require('./index-0ee995e4.js'); })).createGesture({
137
- el: document,
138
- gestureName: 'menu-swipe',
139
- gesturePriority: 30,
140
- threshold: 10,
141
- blurOnStart: true,
142
- canStart: (ev) => this.canStart(ev),
143
- onWillStart: () => this.onWillStart(),
144
- onStart: () => this.onStart(),
145
- onMove: (ev) => this.onMove(ev),
146
- onEnd: (ev) => this.onEnd(ev),
147
- });
148
- this.updateState();
149
- }
150
- componentWillLoad() {
151
- this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
152
- }
153
- async componentDidLoad() {
154
- this.didLoad = true;
155
- this.menuChanged();
156
- this.updateState();
157
- }
158
- menuChanged() {
159
- /**
160
- * Inform dependent components such as ion-menu-button
161
- * that the menu is ready. Note that we only want to do this
162
- * once the menu has been rendered which is why we check for didLoad.
163
- */
164
- if (this.didLoad) {
165
- this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
166
- }
167
- }
168
- async disconnectedCallback() {
169
- /**
170
- * The menu should be closed when it is
171
- * unmounted from the DOM.
172
- * This is an async call, so we need to wait for
173
- * this to finish otherwise contentEl
174
- * will not have MENU_CONTENT_OPEN removed.
175
- */
176
- await this.close(false);
177
- this.blocker.destroy();
178
- index$1.menuController._unregister(this);
179
- if (this.animation) {
180
- this.animation.destroy();
181
- }
182
- if (this.gesture) {
183
- this.gesture.destroy();
184
- this.gesture = undefined;
185
- }
186
- this.animation = undefined;
187
- this.contentEl = undefined;
188
- }
189
- onSplitPaneChanged(ev) {
190
- this.isPaneVisible = ev.detail.isPane(this.el);
191
- this.updateState();
192
- }
193
- onBackdropClick(ev) {
194
- // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
195
- if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
196
- const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
197
- if (shouldClose) {
198
- ev.preventDefault();
199
- ev.stopPropagation();
200
- this.close();
201
- }
202
- }
203
- }
204
- onKeydown(ev) {
205
- if (ev.key === 'Escape') {
206
- this.close();
207
- }
208
- }
209
- /**
210
- * Returns `true` is the menu is open.
211
- */
212
- isOpen() {
213
- return Promise.resolve(this._isOpen);
214
- }
215
- /**
216
- * Returns `true` is the menu is active.
217
- *
218
- * A menu is active when it can be opened or closed, meaning it's enabled
219
- * and it's not part of a `ion-split-pane`.
220
- */
221
- isActive() {
222
- return Promise.resolve(this._isActive());
223
- }
224
- /**
225
- * Opens the menu. If the menu is already open or it can't be opened,
226
- * it returns `false`.
227
- */
228
- open(animated = true) {
229
- return this.setOpen(true, animated);
230
- }
231
- /**
232
- * Closes the menu. If the menu is already closed or it can't be closed,
233
- * it returns `false`.
234
- */
235
- close(animated = true) {
236
- return this.setOpen(false, animated);
237
- }
238
- /**
239
- * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
240
- * If the operation can't be completed successfully, it returns `false`.
241
- */
242
- toggle(animated = true) {
243
- return this.setOpen(!this._isOpen, animated);
244
- }
245
- /**
246
- * Opens or closes the button.
247
- * If the operation can't be completed successfully, it returns `false`.
248
- */
249
- setOpen(shouldOpen, animated = true) {
250
- return index$1.menuController._setOpen(this, shouldOpen, animated);
251
- }
252
- focusFirstDescendant() {
253
- const { el } = this;
254
- const firstInput = el.querySelector(focusableQueryString);
255
- if (firstInput) {
256
- firstInput.focus();
257
- }
258
- else {
259
- el.focus();
260
- }
261
- }
262
- focusLastDescendant() {
263
- const { el } = this;
264
- const inputs = Array.from(el.querySelectorAll(focusableQueryString));
265
- const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
266
- if (lastInput) {
267
- lastInput.focus();
268
- }
269
- else {
270
- el.focus();
33
+ constructor(hostRef) {
34
+ index.registerInstance(this, hostRef);
35
+ this.ionWillOpen = index.createEvent(this, "ionWillOpen", 7);
36
+ this.ionWillClose = index.createEvent(this, "ionWillClose", 7);
37
+ this.ionDidOpen = index.createEvent(this, "ionDidOpen", 7);
38
+ this.ionDidClose = index.createEvent(this, "ionDidClose", 7);
39
+ this.ionMenuChange = index.createEvent(this, "ionMenuChange", 7);
40
+ this.lastOnEnd = 0;
41
+ this.blocker = gestureController.GESTURE_CONTROLLER.createBlocker({ disableScroll: true });
42
+ this.didLoad = false;
43
+ /**
44
+ * Flag used to determine if an open/close
45
+ * operation was cancelled. For example, if
46
+ * an app calls "menu.open" then disables the menu
47
+ * part way through the animation, then this would
48
+ * be considered a cancelled operation.
49
+ */
50
+ this.operationCancelled = false;
51
+ this.isAnimating = false;
52
+ this._isOpen = false;
53
+ this.inheritedAttributes = {};
54
+ this.handleFocus = (ev) => {
55
+ /**
56
+ * Overlays have their own focus trapping listener
57
+ * so we do not want the two listeners to conflict
58
+ * with each other. If the top-most overlay that is
59
+ * open does not contain this ion-menu, then ion-menu's
60
+ * focus trapping should not run.
61
+ */
62
+ const lastOverlay = overlays.getPresentedOverlay(document);
63
+ if (lastOverlay && !lastOverlay.contains(this.el)) {
64
+ return;
65
+ }
66
+ this.trapKeyboardFocus(ev, document);
67
+ };
68
+ this.isPaneVisible = false;
69
+ this.isEndSide = false;
70
+ this.contentId = undefined;
71
+ this.menuId = undefined;
72
+ this.type = undefined;
73
+ this.disabled = false;
74
+ this.side = 'start';
75
+ this.swipeGesture = true;
76
+ this.maxEdgeStart = 50;
77
+ }
78
+ typeChanged(type, oldType) {
79
+ const contentEl = this.contentEl;
80
+ if (contentEl) {
81
+ if (oldType !== undefined) {
82
+ contentEl.classList.remove(`menu-content-${oldType}`);
83
+ }
84
+ contentEl.classList.add(`menu-content-${type}`);
85
+ contentEl.removeAttribute('style');
86
+ }
87
+ if (this.menuInnerEl) {
88
+ // Remove effects of previous animations
89
+ this.menuInnerEl.removeAttribute('style');
90
+ }
91
+ this.animation = undefined;
92
+ }
93
+ disabledChanged() {
94
+ this.updateState();
95
+ this.ionMenuChange.emit({
96
+ disabled: this.disabled,
97
+ open: this._isOpen,
98
+ });
99
+ }
100
+ sideChanged() {
101
+ this.isEndSide = helpers.isEndSide(this.side);
102
+ /**
103
+ * Menu direction animation is calculated based on the document direction.
104
+ * If the document direction changes, we need to create a new animation.
105
+ */
106
+ this.animation = undefined;
107
+ }
108
+ swipeGestureChanged() {
109
+ this.updateState();
110
+ }
111
+ async connectedCallback() {
112
+ // TODO: connectedCallback is fired in CE build
113
+ // before WC is defined. This needs to be fixed in Stencil.
114
+ if (typeof customElements !== 'undefined' && customElements != null) {
115
+ await customElements.whenDefined('ion-menu');
116
+ }
117
+ if (this.type === undefined) {
118
+ this.type = ionicGlobal.config.get('menuType', 'overlay');
119
+ }
120
+ const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
121
+ if (content === null) {
122
+ console.error('Menu: must have a "content" element to listen for drag events on.');
123
+ return;
124
+ }
125
+ if (this.el.contains(content)) {
126
+ console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
127
+ }
128
+ this.contentEl = content;
129
+ // add menu's content classes
130
+ content.classList.add('menu-content');
131
+ this.typeChanged(this.type, undefined);
132
+ this.sideChanged();
133
+ // register this menu with the app's menu controller
134
+ index$1.menuController._register(this);
135
+ this.menuChanged();
136
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-d1b59ffa.js'); })).createGesture({
137
+ el: document,
138
+ gestureName: 'menu-swipe',
139
+ gesturePriority: 30,
140
+ threshold: 10,
141
+ blurOnStart: true,
142
+ canStart: (ev) => this.canStart(ev),
143
+ onWillStart: () => this.onWillStart(),
144
+ onStart: () => this.onStart(),
145
+ onMove: (ev) => this.onMove(ev),
146
+ onEnd: (ev) => this.onEnd(ev),
147
+ });
148
+ this.updateState();
149
+ }
150
+ componentWillLoad() {
151
+ this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
152
+ }
153
+ async componentDidLoad() {
154
+ this.didLoad = true;
155
+ this.menuChanged();
156
+ this.updateState();
157
+ }
158
+ menuChanged() {
159
+ /**
160
+ * Inform dependent components such as ion-menu-button
161
+ * that the menu is ready. Note that we only want to do this
162
+ * once the menu has been rendered which is why we check for didLoad.
163
+ */
164
+ if (this.didLoad) {
165
+ this.ionMenuChange.emit({ disabled: this.disabled, open: this._isOpen });
166
+ }
271
167
  }
272
- }
273
- trapKeyboardFocus(ev, doc) {
274
- const target = ev.target;
275
- if (!target) {
276
- return;
168
+ async disconnectedCallback() {
169
+ /**
170
+ * The menu should be closed when it is
171
+ * unmounted from the DOM.
172
+ * This is an async call, so we need to wait for
173
+ * this to finish otherwise contentEl
174
+ * will not have MENU_CONTENT_OPEN removed.
175
+ */
176
+ await this.close(false);
177
+ this.blocker.destroy();
178
+ index$1.menuController._unregister(this);
179
+ if (this.animation) {
180
+ this.animation.destroy();
181
+ }
182
+ if (this.gesture) {
183
+ this.gesture.destroy();
184
+ this.gesture = undefined;
185
+ }
186
+ this.animation = undefined;
187
+ this.contentEl = undefined;
188
+ }
189
+ onSplitPaneChanged(ev) {
190
+ const { target } = ev;
191
+ const closestSplitPane = this.el.closest('ion-split-pane');
192
+ /**
193
+ * Menu listens on the body for "ionSplitPaneVisible".
194
+ * However, this means the callback will run any time
195
+ * a SplitPane changes visibility. As a result, we only want
196
+ * Menu's visibility state to update if its parent SplitPane
197
+ * changes visibility.
198
+ */
199
+ if (target !== closestSplitPane) {
200
+ return;
201
+ }
202
+ this.isPaneVisible = ev.detail.isPane(this.el);
203
+ this.updateState();
204
+ }
205
+ onBackdropClick(ev) {
206
+ // TODO(FW-2832): type (CustomEvent triggers errors which should be sorted)
207
+ if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
208
+ const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
209
+ if (shouldClose) {
210
+ ev.preventDefault();
211
+ ev.stopPropagation();
212
+ this.close();
213
+ }
214
+ }
215
+ }
216
+ onKeydown(ev) {
217
+ if (ev.key === 'Escape') {
218
+ this.close();
219
+ }
277
220
  }
278
221
  /**
279
- * If the target is inside the menu contents, let the browser
280
- * focus as normal and keep a log of the last focused element.
222
+ * Returns `true` is the menu is open.
281
223
  */
282
- if (this.el.contains(target)) {
283
- this.lastFocus = target;
224
+ isOpen() {
225
+ return Promise.resolve(this._isOpen);
284
226
  }
285
- else {
286
- /**
287
- * Otherwise, we are about to have focus go out of the menu.
288
- * Wrap the focus to either the first or last element.
289
- */
290
- /**
291
- * Once we call `focusFirstDescendant`, another focus event
292
- * will fire, which will cause `lastFocus` to be updated
293
- * before we can run the code after that. We cache the value
294
- * here to avoid that.
295
- */
296
- this.focusFirstDescendant();
297
- /**
298
- * If the cached last focused element is the same as the now-
299
- * active element, that means the user was on the first element
300
- * already and pressed Shift + Tab, so we need to wrap to the
301
- * last descendant.
302
- */
303
- if (this.lastFocus === doc.activeElement) {
304
- this.focusLastDescendant();
305
- }
306
- }
307
- }
308
- async _setOpen(shouldOpen, animated = true) {
309
- // If the menu is disabled or it is currently being animated, let's do nothing
310
- if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
311
- return false;
312
- }
313
- this.beforeAnimation(shouldOpen);
314
- await this.loadAnimation();
315
- await this.startAnimation(shouldOpen, animated);
316
- /**
317
- * If the animation was cancelled then
318
- * return false because the operation
319
- * did not succeed.
320
- */
321
- if (this.operationCancelled) {
322
- this.operationCancelled = false;
323
- return false;
324
- }
325
- this.afterAnimation(shouldOpen);
326
- return true;
327
- }
328
- async loadAnimation() {
329
- // Menu swipe animation takes the menu's inner width as parameter,
330
- // If `offsetWidth` changes, we need to create a new animation.
331
- const width = this.menuInnerEl.offsetWidth;
332
227
  /**
333
- * Menu direction animation is calculated based on the document direction.
334
- * If the document direction changes, we need to create a new animation.
228
+ * Returns `true` is the menu is active.
229
+ *
230
+ * A menu is active when it can be opened or closed, meaning it's enabled
231
+ * and it's not part of a `ion-split-pane`.
335
232
  */
336
- const isEndSide = helpers.isEndSide(this.side);
337
- if (width === this.width && this.animation !== undefined && isEndSide === this.isEndSide) {
338
- return;
339
- }
340
- this.width = width;
341
- this.isEndSide = isEndSide;
342
- // Destroy existing animation
343
- if (this.animation) {
344
- this.animation.destroy();
345
- this.animation = undefined;
346
- }
347
- // Create new animation
348
- this.animation = await index$1.menuController._createAnimation(this.type, this);
349
- if (!ionicGlobal.config.getBoolean('animated', true)) {
350
- this.animation.duration(0);
351
- }
352
- this.animation.fill('both');
353
- }
354
- async startAnimation(shouldOpen, animated) {
355
- const isReversed = !shouldOpen;
356
- const mode = ionicGlobal.getIonMode(this);
357
- const easing = mode === 'ios' ? iosEasing : mdEasing;
358
- const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
359
- const ani = this.animation
360
- .direction(isReversed ? 'reverse' : 'normal')
361
- .easing(isReversed ? easingReverse : easing);
362
- if (animated) {
363
- await ani.play();
364
- }
365
- else {
366
- ani.play({ sync: true });
233
+ isActive() {
234
+ return Promise.resolve(this._isActive());
367
235
  }
368
236
  /**
369
- * We run this after the play invocation
370
- * instead of using ani.onFinish so that
371
- * multiple onFinish callbacks do not get
372
- * run if an animation is played, stopped,
373
- * and then played again.
237
+ * Opens the menu. If the menu is already open or it can't be opened,
238
+ * it returns `false`.
374
239
  */
375
- if (ani.getDirection() === 'reverse') {
376
- ani.direction('normal');
377
- }
378
- }
379
- _isActive() {
380
- return !this.disabled && !this.isPaneVisible;
381
- }
382
- canSwipe() {
383
- return this.swipeGesture && !this.isAnimating && this._isActive();
384
- }
385
- canStart(detail) {
386
- // Do not allow swipe gesture if a modal is open
387
- const isModalPresented = !!document.querySelector('ion-modal.show-modal');
388
- if (isModalPresented || !this.canSwipe()) {
389
- return false;
390
- }
391
- if (this._isOpen) {
392
- return true;
393
- }
394
- else if (index$1.menuController._getOpenSync()) {
395
- return false;
396
- }
397
- return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
398
- }
399
- onWillStart() {
400
- this.beforeAnimation(!this._isOpen);
401
- return this.loadAnimation();
402
- }
403
- onStart() {
404
- if (!this.isAnimating || !this.animation) {
405
- helpers.assert(false, 'isAnimating has to be true');
406
- return;
407
- }
408
- // the cloned animation should not use an easing curve during seek
409
- this.animation.progressStart(true, this._isOpen ? 1 : 0);
410
- }
411
- onMove(detail) {
412
- if (!this.isAnimating || !this.animation) {
413
- helpers.assert(false, 'isAnimating has to be true');
414
- return;
415
- }
416
- const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
417
- const stepValue = delta / this.width;
418
- this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
419
- }
420
- onEnd(detail) {
421
- if (!this.isAnimating || !this.animation) {
422
- helpers.assert(false, 'isAnimating has to be true');
423
- return;
424
- }
425
- const isOpen = this._isOpen;
426
- const isEndSide = this.isEndSide;
427
- const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
428
- const width = this.width;
429
- const stepValue = delta / width;
430
- const velocity = detail.velocityX;
431
- const z = width / 2.0;
432
- const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
433
- const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
434
- const shouldComplete = isOpen
435
- ? isEndSide
436
- ? shouldCompleteRight
437
- : shouldCompleteLeft
438
- : isEndSide
439
- ? shouldCompleteLeft
440
- : shouldCompleteRight;
441
- let shouldOpen = !isOpen && shouldComplete;
442
- if (isOpen && !shouldComplete) {
443
- shouldOpen = true;
444
- }
445
- this.lastOnEnd = detail.currentTime;
446
- // Account for rounding errors in JS
447
- let newStepValue = shouldComplete ? 0.001 : -0.001;
240
+ open(animated = true) {
241
+ return this.setOpen(true, animated);
242
+ }
448
243
  /**
449
- * stepValue can sometimes return a negative
450
- * value, but you can't have a negative time value
451
- * for the cubic bezier curve (at least with web animations)
244
+ * Closes the menu. If the menu is already closed or it can't be closed,
245
+ * it returns `false`.
452
246
  */
453
- const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
247
+ close(animated = true) {
248
+ return this.setOpen(false, animated);
249
+ }
454
250
  /**
455
- * Animation will be reversed here, so need to
456
- * reverse the easing curve as well
457
- *
458
- * Additionally, we need to account for the time relative
459
- * to the new easing curve, as `stepValue` is going to be given
460
- * in terms of a linear curve.
251
+ * Toggles the menu. If the menu is already open, it will try to close, otherwise it will try to open it.
252
+ * If the operation can't be completed successfully, it returns `false`.
461
253
  */
462
- newStepValue +=
463
- cubicBezier.getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], helpers.clamp(0, adjustedStepValue, 0.9999))[0] || 0;
464
- const playTo = this._isOpen ? !shouldComplete : shouldComplete;
465
- this.animation
466
- .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
467
- .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
468
- .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
469
- }
470
- beforeAnimation(shouldOpen) {
471
- helpers.assert(!this.isAnimating, '_before() should not be called while animating');
472
- // this places the menu into the correct location before it animates in
473
- // this css class doesn't actually kick off any animations
474
- this.el.classList.add(SHOW_MENU);
254
+ toggle(animated = true) {
255
+ return this.setOpen(!this._isOpen, animated);
256
+ }
475
257
  /**
476
- * We add a tabindex here so that focus trapping
477
- * still works even if the menu does not have
478
- * any focusable elements slotted inside. The
479
- * focus trapping utility will fallback to focusing
480
- * the menu so focus does not leave when the menu
481
- * is open.
258
+ * Opens or closes the button.
259
+ * If the operation can't be completed successfully, it returns `false`.
482
260
  */
483
- this.el.setAttribute('tabindex', '0');
484
- if (this.backdropEl) {
485
- this.backdropEl.classList.add(SHOW_BACKDROP);
486
- }
487
- // add css class and hide content behind menu from screen readers
488
- if (this.contentEl) {
489
- this.contentEl.classList.add(MENU_CONTENT_OPEN);
490
- /**
491
- * When the menu is open and overlaying the main
492
- * content, the main content should not be announced
493
- * by the screenreader as the menu is the main
494
- * focus. This is useful with screenreaders that have
495
- * "read from top" gestures that read the entire
496
- * page from top to bottom when activated.
497
- * This should be done before the animation starts
498
- * so that users cannot accidentally scroll
499
- * the content while dragging a menu open.
500
- */
501
- this.contentEl.setAttribute('aria-hidden', 'true');
502
- }
503
- this.blocker.block();
504
- this.isAnimating = true;
505
- if (shouldOpen) {
506
- this.ionWillOpen.emit();
507
- }
508
- else {
509
- this.ionWillClose.emit();
510
- }
511
- }
512
- afterAnimation(isOpen) {
513
- var _a;
514
- // keep opening/closing the menu disabled for a touch more yet
515
- // only add listeners/css if it's enabled and isOpen
516
- // and only remove listeners/css if it's not open
517
- // emit opened/closed events
518
- this._isOpen = isOpen;
519
- this.isAnimating = false;
520
- if (!this._isOpen) {
521
- this.blocker.unblock();
522
- }
523
- if (isOpen) {
524
- // emit open event
525
- this.ionDidOpen.emit();
526
- /**
527
- * Move focus to the menu to prepare focus trapping, as long as
528
- * it isn't already focused. Use the host element instead of the
529
- * first descendant to avoid the scroll position jumping around.
530
- */
531
- const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
532
- if (focusedMenu !== this.el) {
533
- this.el.focus();
534
- }
535
- // start focus trapping
536
- document.addEventListener('focus', this.handleFocus, true);
537
- }
538
- else {
539
- // remove css classes and unhide content from screen readers
540
- this.el.classList.remove(SHOW_MENU);
541
- /**
542
- * Remove tabindex from the menu component
543
- * so that is cannot be tabbed to.
544
- */
545
- this.el.removeAttribute('tabindex');
546
- if (this.contentEl) {
547
- this.contentEl.classList.remove(MENU_CONTENT_OPEN);
261
+ setOpen(shouldOpen, animated = true) {
262
+ return index$1.menuController._setOpen(this, shouldOpen, animated);
263
+ }
264
+ focusFirstDescendant() {
265
+ const { el } = this;
266
+ const firstInput = el.querySelector(focusableQueryString);
267
+ if (firstInput) {
268
+ firstInput.focus();
269
+ }
270
+ else {
271
+ el.focus();
272
+ }
273
+ }
274
+ focusLastDescendant() {
275
+ const { el } = this;
276
+ const inputs = Array.from(el.querySelectorAll(focusableQueryString));
277
+ const lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
278
+ if (lastInput) {
279
+ lastInput.focus();
280
+ }
281
+ else {
282
+ el.focus();
283
+ }
284
+ }
285
+ trapKeyboardFocus(ev, doc) {
286
+ const target = ev.target;
287
+ if (!target) {
288
+ return;
289
+ }
548
290
  /**
549
- * Remove aria-hidden so screen readers
550
- * can announce the main content again
551
- * now that the menu is not the main focus.
291
+ * If the target is inside the menu contents, let the browser
292
+ * focus as normal and keep a log of the last focused element.
552
293
  */
553
- this.contentEl.removeAttribute('aria-hidden');
554
- }
555
- if (this.backdropEl) {
556
- this.backdropEl.classList.remove(SHOW_BACKDROP);
557
- }
558
- if (this.animation) {
559
- this.animation.stop();
560
- }
561
- // emit close event
562
- this.ionDidClose.emit();
563
- // undo focus trapping so multiple menus don't collide
564
- document.removeEventListener('focus', this.handleFocus, true);
565
- }
566
- }
567
- updateState() {
568
- const isActive = this._isActive();
569
- if (this.gesture) {
570
- this.gesture.enable(isActive && this.swipeGesture);
571
- }
572
- /**
573
- * If the menu is disabled but it is still open
574
- * then we should close the menu immediately.
575
- * Additionally, if the menu is in the process
576
- * of animating {open, close} and the menu is disabled
577
- * then it should still be closed immediately.
578
- */
579
- if (!isActive) {
580
- /**
581
- * It is possible to disable the menu while
582
- * it is mid-animation. When this happens, we
583
- * need to set the operationCancelled flag
584
- * so that this._setOpen knows to return false
585
- * and not run the "afterAnimation" callback.
586
- */
587
- if (this.isAnimating) {
588
- this.operationCancelled = true;
589
- }
590
- /**
591
- * If the menu is disabled then we should
592
- * forcibly close the menu even if it is open.
593
- */
594
- this.afterAnimation(false);
595
- }
596
- }
597
- render() {
598
- const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
599
- const mode = ionicGlobal.getIonMode(this);
600
- return (index.h(index.Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
601
- [mode]: true,
602
- [`menu-type-${type}`]: true,
603
- 'menu-enabled': !disabled,
604
- [`menu-side-${side}`]: true,
605
- 'menu-pane-visible': isPaneVisible,
606
- } }, index.h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", null)), index.h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
607
- }
608
- get el() { return index.getElement(this); }
609
- static get watchers() { return {
610
- "type": ["typeChanged"],
611
- "disabled": ["disabledChanged"],
612
- "side": ["sideChanged"],
613
- "swipeGesture": ["swipeGestureChanged"]
614
- }; }
294
+ if (this.el.contains(target)) {
295
+ this.lastFocus = target;
296
+ }
297
+ else {
298
+ /**
299
+ * Otherwise, we are about to have focus go out of the menu.
300
+ * Wrap the focus to either the first or last element.
301
+ */
302
+ /**
303
+ * Once we call `focusFirstDescendant`, another focus event
304
+ * will fire, which will cause `lastFocus` to be updated
305
+ * before we can run the code after that. We cache the value
306
+ * here to avoid that.
307
+ */
308
+ this.focusFirstDescendant();
309
+ /**
310
+ * If the cached last focused element is the same as the now-
311
+ * active element, that means the user was on the first element
312
+ * already and pressed Shift + Tab, so we need to wrap to the
313
+ * last descendant.
314
+ */
315
+ if (this.lastFocus === doc.activeElement) {
316
+ this.focusLastDescendant();
317
+ }
318
+ }
319
+ }
320
+ async _setOpen(shouldOpen, animated = true) {
321
+ // If the menu is disabled or it is currently being animated, let's do nothing
322
+ if (!this._isActive() || this.isAnimating || shouldOpen === this._isOpen) {
323
+ return false;
324
+ }
325
+ this.beforeAnimation(shouldOpen);
326
+ await this.loadAnimation();
327
+ await this.startAnimation(shouldOpen, animated);
328
+ /**
329
+ * If the animation was cancelled then
330
+ * return false because the operation
331
+ * did not succeed.
332
+ */
333
+ if (this.operationCancelled) {
334
+ this.operationCancelled = false;
335
+ return false;
336
+ }
337
+ this.afterAnimation(shouldOpen);
338
+ return true;
339
+ }
340
+ async loadAnimation() {
341
+ // Menu swipe animation takes the menu's inner width as parameter,
342
+ // If `offsetWidth` changes, we need to create a new animation.
343
+ const width = this.menuInnerEl.offsetWidth;
344
+ /**
345
+ * Menu direction animation is calculated based on the document direction.
346
+ * If the document direction changes, we need to create a new animation.
347
+ */
348
+ const isEndSide = helpers.isEndSide(this.side);
349
+ if (width === this.width && this.animation !== undefined && isEndSide === this.isEndSide) {
350
+ return;
351
+ }
352
+ this.width = width;
353
+ this.isEndSide = isEndSide;
354
+ // Destroy existing animation
355
+ if (this.animation) {
356
+ this.animation.destroy();
357
+ this.animation = undefined;
358
+ }
359
+ // Create new animation
360
+ const animation = (this.animation = await index$1.menuController._createAnimation(this.type, this));
361
+ if (!ionicGlobal.config.getBoolean('animated', true)) {
362
+ animation.duration(0);
363
+ }
364
+ animation.fill('both');
365
+ }
366
+ async startAnimation(shouldOpen, animated) {
367
+ const isReversed = !shouldOpen;
368
+ const mode = ionicGlobal.getIonMode(this);
369
+ const easing = mode === 'ios' ? iosEasing : mdEasing;
370
+ const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
371
+ const ani = this.animation
372
+ .direction(isReversed ? 'reverse' : 'normal')
373
+ .easing(isReversed ? easingReverse : easing);
374
+ if (animated) {
375
+ await ani.play();
376
+ }
377
+ else {
378
+ ani.play({ sync: true });
379
+ }
380
+ /**
381
+ * We run this after the play invocation
382
+ * instead of using ani.onFinish so that
383
+ * multiple onFinish callbacks do not get
384
+ * run if an animation is played, stopped,
385
+ * and then played again.
386
+ */
387
+ if (ani.getDirection() === 'reverse') {
388
+ ani.direction('normal');
389
+ }
390
+ }
391
+ _isActive() {
392
+ return !this.disabled && !this.isPaneVisible;
393
+ }
394
+ canSwipe() {
395
+ return this.swipeGesture && !this.isAnimating && this._isActive();
396
+ }
397
+ canStart(detail) {
398
+ // Do not allow swipe gesture if a modal is open
399
+ const isModalPresented = !!document.querySelector('ion-modal.show-modal');
400
+ if (isModalPresented || !this.canSwipe()) {
401
+ return false;
402
+ }
403
+ if (this._isOpen) {
404
+ return true;
405
+ }
406
+ else if (index$1.menuController._getOpenSync()) {
407
+ return false;
408
+ }
409
+ return checkEdgeSide(window, detail.currentX, this.isEndSide, this.maxEdgeStart);
410
+ }
411
+ onWillStart() {
412
+ this.beforeAnimation(!this._isOpen);
413
+ return this.loadAnimation();
414
+ }
415
+ onStart() {
416
+ if (!this.isAnimating || !this.animation) {
417
+ helpers.assert(false, 'isAnimating has to be true');
418
+ return;
419
+ }
420
+ // the cloned animation should not use an easing curve during seek
421
+ this.animation.progressStart(true, this._isOpen ? 1 : 0);
422
+ }
423
+ onMove(detail) {
424
+ if (!this.isAnimating || !this.animation) {
425
+ helpers.assert(false, 'isAnimating has to be true');
426
+ return;
427
+ }
428
+ const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
429
+ const stepValue = delta / this.width;
430
+ this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
431
+ }
432
+ onEnd(detail) {
433
+ if (!this.isAnimating || !this.animation) {
434
+ helpers.assert(false, 'isAnimating has to be true');
435
+ return;
436
+ }
437
+ const isOpen = this._isOpen;
438
+ const isEndSide = this.isEndSide;
439
+ const delta = computeDelta(detail.deltaX, isOpen, isEndSide);
440
+ const width = this.width;
441
+ const stepValue = delta / width;
442
+ const velocity = detail.velocityX;
443
+ const z = width / 2.0;
444
+ const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
445
+ const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
446
+ const shouldComplete = isOpen
447
+ ? isEndSide
448
+ ? shouldCompleteRight
449
+ : shouldCompleteLeft
450
+ : isEndSide
451
+ ? shouldCompleteLeft
452
+ : shouldCompleteRight;
453
+ let shouldOpen = !isOpen && shouldComplete;
454
+ if (isOpen && !shouldComplete) {
455
+ shouldOpen = true;
456
+ }
457
+ this.lastOnEnd = detail.currentTime;
458
+ // Account for rounding errors in JS
459
+ let newStepValue = shouldComplete ? 0.001 : -0.001;
460
+ /**
461
+ * stepValue can sometimes return a negative
462
+ * value, but you can't have a negative time value
463
+ * for the cubic bezier curve (at least with web animations)
464
+ */
465
+ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
466
+ /**
467
+ * Animation will be reversed here, so need to
468
+ * reverse the easing curve as well
469
+ *
470
+ * Additionally, we need to account for the time relative
471
+ * to the new easing curve, as `stepValue` is going to be given
472
+ * in terms of a linear curve.
473
+ */
474
+ newStepValue +=
475
+ cubicBezier.getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], helpers.clamp(0, adjustedStepValue, 0.9999))[0] || 0;
476
+ const playTo = this._isOpen ? !shouldComplete : shouldComplete;
477
+ this.animation
478
+ .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
479
+ .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
480
+ .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
481
+ }
482
+ beforeAnimation(shouldOpen) {
483
+ helpers.assert(!this.isAnimating, '_before() should not be called while animating');
484
+ // this places the menu into the correct location before it animates in
485
+ // this css class doesn't actually kick off any animations
486
+ this.el.classList.add(SHOW_MENU);
487
+ /**
488
+ * We add a tabindex here so that focus trapping
489
+ * still works even if the menu does not have
490
+ * any focusable elements slotted inside. The
491
+ * focus trapping utility will fallback to focusing
492
+ * the menu so focus does not leave when the menu
493
+ * is open.
494
+ */
495
+ this.el.setAttribute('tabindex', '0');
496
+ if (this.backdropEl) {
497
+ this.backdropEl.classList.add(SHOW_BACKDROP);
498
+ }
499
+ // add css class and hide content behind menu from screen readers
500
+ if (this.contentEl) {
501
+ this.contentEl.classList.add(MENU_CONTENT_OPEN);
502
+ /**
503
+ * When the menu is open and overlaying the main
504
+ * content, the main content should not be announced
505
+ * by the screenreader as the menu is the main
506
+ * focus. This is useful with screenreaders that have
507
+ * "read from top" gestures that read the entire
508
+ * page from top to bottom when activated.
509
+ * This should be done before the animation starts
510
+ * so that users cannot accidentally scroll
511
+ * the content while dragging a menu open.
512
+ */
513
+ this.contentEl.setAttribute('aria-hidden', 'true');
514
+ }
515
+ this.blocker.block();
516
+ this.isAnimating = true;
517
+ if (shouldOpen) {
518
+ this.ionWillOpen.emit();
519
+ }
520
+ else {
521
+ this.ionWillClose.emit();
522
+ }
523
+ }
524
+ afterAnimation(isOpen) {
525
+ var _a;
526
+ // keep opening/closing the menu disabled for a touch more yet
527
+ // only add listeners/css if it's enabled and isOpen
528
+ // and only remove listeners/css if it's not open
529
+ // emit opened/closed events
530
+ this._isOpen = isOpen;
531
+ this.isAnimating = false;
532
+ if (!this._isOpen) {
533
+ this.blocker.unblock();
534
+ }
535
+ if (isOpen) {
536
+ // emit open event
537
+ this.ionDidOpen.emit();
538
+ /**
539
+ * Move focus to the menu to prepare focus trapping, as long as
540
+ * it isn't already focused. Use the host element instead of the
541
+ * first descendant to avoid the scroll position jumping around.
542
+ */
543
+ const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
544
+ if (focusedMenu !== this.el) {
545
+ this.el.focus();
546
+ }
547
+ // start focus trapping
548
+ document.addEventListener('focus', this.handleFocus, true);
549
+ }
550
+ else {
551
+ // remove css classes and unhide content from screen readers
552
+ this.el.classList.remove(SHOW_MENU);
553
+ /**
554
+ * Remove tabindex from the menu component
555
+ * so that is cannot be tabbed to.
556
+ */
557
+ this.el.removeAttribute('tabindex');
558
+ if (this.contentEl) {
559
+ this.contentEl.classList.remove(MENU_CONTENT_OPEN);
560
+ /**
561
+ * Remove aria-hidden so screen readers
562
+ * can announce the main content again
563
+ * now that the menu is not the main focus.
564
+ */
565
+ this.contentEl.removeAttribute('aria-hidden');
566
+ }
567
+ if (this.backdropEl) {
568
+ this.backdropEl.classList.remove(SHOW_BACKDROP);
569
+ }
570
+ if (this.animation) {
571
+ this.animation.stop();
572
+ }
573
+ // emit close event
574
+ this.ionDidClose.emit();
575
+ // undo focus trapping so multiple menus don't collide
576
+ document.removeEventListener('focus', this.handleFocus, true);
577
+ }
578
+ }
579
+ updateState() {
580
+ const isActive = this._isActive();
581
+ if (this.gesture) {
582
+ this.gesture.enable(isActive && this.swipeGesture);
583
+ }
584
+ /**
585
+ * If the menu is disabled but it is still open
586
+ * then we should close the menu immediately.
587
+ * Additionally, if the menu is in the process
588
+ * of animating {open, close} and the menu is disabled
589
+ * then it should still be closed immediately.
590
+ */
591
+ if (!isActive) {
592
+ /**
593
+ * It is possible to disable the menu while
594
+ * it is mid-animation. When this happens, we
595
+ * need to set the operationCancelled flag
596
+ * so that this._setOpen knows to return false
597
+ * and not run the "afterAnimation" callback.
598
+ */
599
+ if (this.isAnimating) {
600
+ this.operationCancelled = true;
601
+ }
602
+ /**
603
+ * If the menu is disabled then we should
604
+ * forcibly close the menu even if it is open.
605
+ */
606
+ this.afterAnimation(false);
607
+ }
608
+ }
609
+ render() {
610
+ const { type, disabled, isPaneVisible, inheritedAttributes, side } = this;
611
+ const mode = ionicGlobal.getIonMode(this);
612
+ return (index.h(index.Host, { role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
613
+ [mode]: true,
614
+ [`menu-type-${type}`]: true,
615
+ 'menu-enabled': !disabled,
616
+ [`menu-side-${side}`]: true,
617
+ 'menu-pane-visible': isPaneVisible,
618
+ } }, index.h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", null)), index.h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
619
+ }
620
+ get el() { return index.getElement(this); }
621
+ static get watchers() { return {
622
+ "type": ["typeChanged"],
623
+ "disabled": ["disabledChanged"],
624
+ "side": ["sideChanged"],
625
+ "swipeGesture": ["swipeGestureChanged"]
626
+ }; }
615
627
  };
616
628
  const computeDelta = (deltaX, isOpen, isEndSide) => {
617
- return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
629
+ return Math.max(0, isOpen !== isEndSide ? -deltaX : deltaX);
618
630
  };
619
631
  const checkEdgeSide = (win, posX, isEndSide, maxEdgeStart) => {
620
- if (isEndSide) {
621
- return posX >= win.innerWidth - maxEdgeStart;
622
- }
623
- else {
624
- return posX <= maxEdgeStart;
625
- }
632
+ if (isEndSide) {
633
+ return posX >= win.innerWidth - maxEdgeStart;
634
+ }
635
+ else {
636
+ return posX <= maxEdgeStart;
637
+ }
626
638
  };
627
639
  const SHOW_MENU = 'show-menu';
628
640
  const SHOW_BACKDROP = 'show-backdrop';
629
641
  const MENU_CONTENT_OPEN = 'menu-content-open';
630
642
  Menu.style = {
631
- ios: menuIosCss,
632
- md: menuMdCss
643
+ ios: menuIosCss,
644
+ md: menuMdCss
633
645
  };
634
646
 
635
647
  // Given a menu, return whether or not the menu toggle should be visible
636
648
  const updateVisibility = async (menu) => {
637
- const menuEl = await index$1.menuController.get(menu);
638
- return !!(menuEl && (await menuEl.isActive()));
649
+ const menuEl = await index$1.menuController.get(menu);
650
+ return !!(menuEl && (await menuEl.isActive()));
639
651
  };
640
652
 
641
653
  const menuButtonIosCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.1;--border-radius:4px;--color:var(--ion-color-primary, #3880ff);--padding-start:5px;--padding-end:5px;min-height:32px;font-size:clamp(31px, 1.9375rem, 38.13px)}:host(.ion-activated){opacity:0.4}@media (any-hover: hover){:host(:hover){opacity:0.6}}";
@@ -643,81 +655,81 @@ const menuButtonIosCss = ":host{--background:transparent;--color-focused:current
643
655
  const menuButtonMdCss = ":host{--background:transparent;--color-focused:currentColor;--border-radius:initial;--padding-top:0;--padding-bottom:0;color:var(--color);text-align:center;text-decoration:none;text-overflow:ellipsis;text-transform:none;white-space:nowrap;-webkit-font-kerning:none;font-kerning:none}.button-native{border-radius:var(--border-radius);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;border:0;outline:none;background:var(--background);line-height:1;cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.button-inner{display:-ms-flexbox;display:flex;position:relative;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%;min-height:inherit;z-index:1}ion-icon{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;pointer-events:none}:host(.menu-button-hidden){display:none}:host(.menu-button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.ion-focused) .button-native{color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}@media (any-hover: hover){:host(:hover) .button-native{color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity, 0)}}:host(.ion-color) .button-native{color:var(--ion-color-base)}:host(.in-toolbar:not(.in-toolbar-color)){color:var(--ion-toolbar-color, var(--color))}:host{--background-focused:currentColor;--background-focused-opacity:.12;--background-hover:currentColor;--background-hover-opacity:.04;--border-radius:50%;--color:initial;--padding-start:8px;--padding-end:8px;width:3rem;height:3rem;font-size:1.5rem}:host(.ion-color.ion-focused)::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
644
656
 
645
657
  const MenuButton = class {
646
- constructor(hostRef) {
647
- index.registerInstance(this, hostRef);
648
- this.inheritedAttributes = {};
649
- this.onClick = async () => {
650
- return index$1.menuController.toggle(this.menu);
651
- };
652
- this.visible = false;
653
- this.color = undefined;
654
- this.disabled = false;
655
- this.menu = undefined;
656
- this.autoHide = true;
657
- this.type = 'button';
658
- }
659
- componentWillLoad() {
660
- this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
661
- }
662
- componentDidLoad() {
663
- this.visibilityChanged();
664
- }
665
- async visibilityChanged() {
666
- this.visible = await updateVisibility(this.menu);
667
- }
668
- render() {
669
- const { color, disabled, inheritedAttributes } = this;
670
- const mode = ionicGlobal.getIonMode(this);
671
- const menuIcon = ionicGlobal.config.get('menuIcon', mode === 'ios' ? index$2.menuOutline : index$2.menuSharp);
672
- const hidden = this.autoHide && !this.visible;
673
- const attrs = {
674
- type: this.type,
675
- };
676
- const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
677
- return (index.h(index.Host, { onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
678
- [mode]: true,
679
- button: true,
680
- 'menu-button-hidden': hidden,
681
- 'menu-button-disabled': disabled,
682
- 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
683
- 'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
684
- 'ion-activatable': true,
685
- 'ion-focusable': true,
686
- }) }, index.h("button", Object.assign({}, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { class: "button-inner" }, index.h("slot", null, index.h("ion-icon", { part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { type: "unbounded" }))));
687
- }
688
- get el() { return index.getElement(this); }
658
+ constructor(hostRef) {
659
+ index.registerInstance(this, hostRef);
660
+ this.inheritedAttributes = {};
661
+ this.onClick = async () => {
662
+ return index$1.menuController.toggle(this.menu);
663
+ };
664
+ this.visible = false;
665
+ this.color = undefined;
666
+ this.disabled = false;
667
+ this.menu = undefined;
668
+ this.autoHide = true;
669
+ this.type = 'button';
670
+ }
671
+ componentWillLoad() {
672
+ this.inheritedAttributes = helpers.inheritAriaAttributes(this.el);
673
+ }
674
+ componentDidLoad() {
675
+ this.visibilityChanged();
676
+ }
677
+ async visibilityChanged() {
678
+ this.visible = await updateVisibility(this.menu);
679
+ }
680
+ render() {
681
+ const { color, disabled, inheritedAttributes } = this;
682
+ const mode = ionicGlobal.getIonMode(this);
683
+ const menuIcon = ionicGlobal.config.get('menuIcon', mode === 'ios' ? index$2.menuOutline : index$2.menuSharp);
684
+ const hidden = this.autoHide && !this.visible;
685
+ const attrs = {
686
+ type: this.type,
687
+ };
688
+ const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
689
+ return (index.h(index.Host, { onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: theme.createColorClasses(color, {
690
+ [mode]: true,
691
+ button: true,
692
+ 'menu-button-hidden': hidden,
693
+ 'menu-button-disabled': disabled,
694
+ 'in-toolbar': theme.hostContext('ion-toolbar', this.el),
695
+ 'in-toolbar-color': theme.hostContext('ion-toolbar[color]', this.el),
696
+ 'ion-activatable': true,
697
+ 'ion-focusable': true,
698
+ }) }, index.h("button", Object.assign({}, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), index.h("span", { class: "button-inner" }, index.h("slot", null, index.h("ion-icon", { part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && index.h("ion-ripple-effect", { type: "unbounded" }))));
699
+ }
700
+ get el() { return index.getElement(this); }
689
701
  };
690
702
  MenuButton.style = {
691
- ios: menuButtonIosCss,
692
- md: menuButtonMdCss
703
+ ios: menuButtonIosCss,
704
+ md: menuButtonMdCss
693
705
  };
694
706
 
695
707
  const menuToggleCss = ":host(.menu-toggle-hidden){display:none}";
696
708
 
697
709
  const MenuToggle = class {
698
- constructor(hostRef) {
699
- index.registerInstance(this, hostRef);
700
- this.onClick = () => {
701
- return index$1.menuController.toggle(this.menu);
702
- };
703
- this.visible = false;
704
- this.menu = undefined;
705
- this.autoHide = true;
706
- }
707
- connectedCallback() {
708
- this.visibilityChanged();
709
- }
710
- async visibilityChanged() {
711
- this.visible = await updateVisibility(this.menu);
712
- }
713
- render() {
714
- const mode = ionicGlobal.getIonMode(this);
715
- const hidden = this.autoHide && !this.visible;
716
- return (index.h(index.Host, { onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
717
- [mode]: true,
718
- 'menu-toggle-hidden': hidden,
719
- } }, index.h("slot", null)));
720
- }
710
+ constructor(hostRef) {
711
+ index.registerInstance(this, hostRef);
712
+ this.onClick = () => {
713
+ return index$1.menuController.toggle(this.menu);
714
+ };
715
+ this.visible = false;
716
+ this.menu = undefined;
717
+ this.autoHide = true;
718
+ }
719
+ connectedCallback() {
720
+ this.visibilityChanged();
721
+ }
722
+ async visibilityChanged() {
723
+ this.visible = await updateVisibility(this.menu);
724
+ }
725
+ render() {
726
+ const mode = ionicGlobal.getIonMode(this);
727
+ const hidden = this.autoHide && !this.visible;
728
+ return (index.h(index.Host, { onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
729
+ [mode]: true,
730
+ 'menu-toggle-hidden': hidden,
731
+ } }, index.h("slot", null)));
732
+ }
721
733
  };
722
734
  MenuToggle.style = menuToggleCss;
723
735