voyager-ionic-core 8.0.0-beta.3 → 8.0.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 (716) hide show
  1. package/components/action-sheet.js +3 -3
  2. package/components/alert.js +2 -2
  3. package/components/animation.js +9 -250
  4. package/components/backdrop.js +1 -1
  5. package/components/button.js +18 -5
  6. package/components/buttons.js +2 -2
  7. package/components/checkbox.js +5 -5
  8. package/components/haptic.js +6 -54
  9. package/components/helpers.js +1 -4
  10. package/components/index7.js +3 -1
  11. package/components/index9.js +5 -34
  12. package/components/ion-app.js +1 -1
  13. package/components/ion-avatar.js +1 -1
  14. package/components/ion-back-button.js +2 -2
  15. package/components/ion-badge.js +2 -2
  16. package/components/ion-breadcrumb.js +4 -4
  17. package/components/ion-breadcrumbs.js +2 -2
  18. package/components/ion-card-content.js +1 -1
  19. package/components/ion-card-header.js +2 -2
  20. package/components/ion-card-subtitle.js +2 -2
  21. package/components/ion-card-title.js +2 -2
  22. package/components/ion-card.js +1 -1
  23. package/components/ion-chip.js +2 -2
  24. package/components/ion-col.js +2 -2
  25. package/components/ion-content.js +3 -3
  26. package/components/ion-datetime-button.js +2 -2
  27. package/components/ion-datetime.js +2 -2
  28. package/components/ion-fab-button.js +2 -2
  29. package/components/ion-fab-list.js +2 -2
  30. package/components/ion-fab.js +2 -2
  31. package/components/ion-footer.js +2 -2
  32. package/components/ion-grid.js +2 -2
  33. package/components/ion-header.js +2 -2
  34. package/components/ion-img.js +1 -1
  35. package/components/ion-infinite-scroll-content.js +2 -2
  36. package/components/ion-infinite-scroll.js +1 -1
  37. package/components/ion-input-password-toggle.d.ts +11 -0
  38. package/components/ion-input-password-toggle.js +132 -0
  39. package/components/ion-input.js +27 -8
  40. package/components/ion-item-divider.js +2 -2
  41. package/components/ion-item-group.js +1 -1
  42. package/components/ion-item-option.js +2 -2
  43. package/components/ion-item-options.js +1 -1
  44. package/components/ion-item-sliding.js +1 -1
  45. package/components/ion-loading.js +2 -2
  46. package/components/ion-menu-button.js +3 -3
  47. package/components/ion-menu-toggle.js +2 -2
  48. package/components/ion-menu.js +2 -2
  49. package/components/ion-modal.js +47 -23
  50. package/components/ion-nav-link.js +1 -1
  51. package/components/ion-nav.js +1 -1
  52. package/components/ion-note.js +2 -2
  53. package/components/ion-picker-legacy.js +2 -2
  54. package/components/ion-progress-bar.js +1 -1
  55. package/components/ion-range.js +3 -3
  56. package/components/ion-refresher-content.js +2 -2
  57. package/components/ion-refresher.js +1 -1
  58. package/components/ion-reorder-group.js +1 -1
  59. package/components/ion-reorder.js +2 -2
  60. package/components/ion-router-link.js +2 -2
  61. package/components/ion-router-outlet.js +1 -1
  62. package/components/ion-row.js +1 -1
  63. package/components/ion-searchbar.js +7 -7
  64. package/components/ion-segment-button.js +3 -3
  65. package/components/ion-segment.js +2 -2
  66. package/components/ion-select-option.js +1 -1
  67. package/components/ion-select.js +3 -3
  68. package/components/ion-skeleton-text.js +2 -2
  69. package/components/ion-split-pane.js +2 -2
  70. package/components/ion-tab-bar.js +2 -2
  71. package/components/ion-tab-button.js +2 -2
  72. package/components/ion-tab.js +2 -2
  73. package/components/ion-tabs.js +1 -1
  74. package/components/ion-text.js +2 -2
  75. package/components/ion-textarea.js +2 -3
  76. package/components/ion-thumbnail.js +1 -1
  77. package/components/ion-title.js +2 -2
  78. package/components/ion-toast.js +2 -2
  79. package/components/ion-toggle.js +6 -6
  80. package/components/ion-toolbar.js +2 -2
  81. package/components/item.js +1 -1
  82. package/components/label.js +2 -2
  83. package/components/list-header.js +2 -2
  84. package/components/list.js +1 -1
  85. package/components/picker-column-option.js +2 -2
  86. package/components/picker-column.js +3 -3
  87. package/components/picker-column2.js +2 -2
  88. package/components/picker.js +2 -2
  89. package/components/popover.js +4 -4
  90. package/components/radio-group.js +1 -1
  91. package/components/radio.js +5 -5
  92. package/components/ripple-effect.js +1 -1
  93. package/components/select-popover.js +1 -1
  94. package/components/spinner.js +1 -1
  95. package/css/core.css +1 -624
  96. package/css/core.css.map +1 -1
  97. package/css/display.css +1 -131
  98. package/css/display.css.map +1 -1
  99. package/css/flex-utils.css +1 -81
  100. package/css/flex-utils.css.map +1 -1
  101. package/css/float-elements.css +1 -293
  102. package/css/float-elements.css.map +1 -1
  103. package/css/global.bundle.css +1 -457
  104. package/css/global.bundle.css.map +1 -1
  105. package/css/ionic-swiper.css +1 -127
  106. package/css/ionic-swiper.css.map +1 -1
  107. package/css/ionic.bundle.css +1 -1
  108. package/css/ionic.bundle.css.map +1 -1
  109. package/css/normalize.css +1 -150
  110. package/css/normalize.css.map +1 -1
  111. package/css/padding.css +1 -202
  112. package/css/padding.css.map +1 -1
  113. package/css/palettes/dark.always.css +1 -160
  114. package/css/palettes/dark.always.css.map +1 -1
  115. package/css/palettes/dark.class.css +1 -160
  116. package/css/palettes/dark.class.css.map +1 -1
  117. package/css/palettes/dark.css +0 -2
  118. package/css/palettes/dark.system.css +1 -162
  119. package/css/palettes/dark.system.css.map +1 -1
  120. package/css/palettes/high-contrast-dark.always.css +1 -180
  121. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  122. package/css/palettes/high-contrast-dark.class.css +1 -180
  123. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  124. package/css/palettes/high-contrast-dark.css +0 -2
  125. package/css/palettes/high-contrast-dark.system.css +1 -182
  126. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  127. package/css/palettes/high-contrast.always.css +1 -101
  128. package/css/palettes/high-contrast.always.css.map +1 -1
  129. package/css/palettes/high-contrast.class.css +1 -101
  130. package/css/palettes/high-contrast.class.css.map +1 -1
  131. package/css/palettes/high-contrast.css +0 -2
  132. package/css/palettes/high-contrast.system.css +1 -103
  133. package/css/palettes/high-contrast.system.css.map +1 -1
  134. package/css/structure.css +1 -152
  135. package/css/structure.css.map +1 -1
  136. package/css/text-alignment.css +1 -243
  137. package/css/text-alignment.css.map +1 -1
  138. package/css/text-transformation.css +1 -158
  139. package/css/text-transformation.css.map +1 -1
  140. package/css/typography.css +1 -157
  141. package/css/typography.css.map +1 -1
  142. package/css/utils.bundle.css +1 -1100
  143. package/css/utils.bundle.css.map +1 -1
  144. package/dist/cjs/{animation-58ecfe20.js → animation-b4fdf128.js} +9 -250
  145. package/dist/cjs/{app-globals-e132c781.js → app-globals-5bfa2d7f.js} +1 -1
  146. package/dist/cjs/{button-active-60ecf64d.js → button-active-564be49f.js} +2 -2
  147. package/dist/cjs/{framework-delegate-df3a2b04.js → framework-delegate-55f5683a.js} +1 -1
  148. package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
  149. package/dist/cjs/{hardware-back-button-1c67a5a2.js → hardware-back-button-44e7c052.js} +2 -2
  150. package/dist/cjs/{helpers-71097d9c.js → helpers-afaa9001.js} +0 -4
  151. package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
  152. package/dist/cjs/{index-7479ea5a.js → index-5b6a7459.js} +1 -1
  153. package/dist/cjs/{index-14ae0c27.js → index-6d6ac424.js} +4 -4
  154. package/dist/cjs/{index-a91a3e24.js → index-9509ecad.js} +5 -34
  155. package/dist/cjs/{index-2d21d526.js → index-bbc6c29f.js} +48 -12
  156. package/dist/cjs/{index-289297dc.js → index-defd575f.js} +4 -4
  157. package/dist/cjs/index.cjs.js +11 -11
  158. package/dist/cjs/{input-shims-77b14f24.js → input-shims-20d639e6.js} +2 -2
  159. package/dist/cjs/{input.utils-ca74d73a.js → input.utils-611cde0b.js} +1 -1
  160. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  161. package/dist/cjs/ion-action-sheet.cjs.entry.js +12 -12
  162. package/dist/cjs/ion-alert.cjs.entry.js +11 -11
  163. package/dist/cjs/ion-app_8.cjs.entry.js +27 -27
  164. package/dist/cjs/ion-avatar_3.cjs.entry.js +6 -6
  165. package/dist/cjs/ion-back-button.cjs.entry.js +6 -6
  166. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  167. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +10 -10
  168. package/dist/cjs/ion-button_2.cjs.entry.js +19 -7
  169. package/dist/cjs/ion-card_5.cjs.entry.js +11 -11
  170. package/dist/cjs/ion-checkbox.cjs.entry.js +8 -8
  171. package/dist/cjs/ion-chip.cjs.entry.js +4 -4
  172. package/dist/cjs/ion-col_3.cjs.entry.js +7 -7
  173. package/dist/cjs/ion-datetime-button.cjs.entry.js +5 -5
  174. package/dist/cjs/ion-datetime_3.cjs.entry.js +15 -15
  175. package/dist/cjs/ion-fab_3.cjs.entry.js +10 -10
  176. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  177. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  178. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +93 -0
  179. package/dist/cjs/ion-input.cjs.entry.js +30 -12
  180. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  181. package/dist/cjs/ion-item_8.cjs.entry.js +17 -17
  182. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  183. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -15
  184. package/dist/cjs/ion-modal.cjs.entry.js +56 -32
  185. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  186. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  187. package/dist/cjs/ion-picker-column.cjs.entry.js +7 -7
  188. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  189. package/dist/cjs/ion-popover.cjs.entry.js +12 -12
  190. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  191. package/dist/cjs/ion-radio_2.cjs.entry.js +9 -9
  192. package/dist/cjs/ion-range.cjs.entry.js +7 -7
  193. package/dist/cjs/ion-refresher_2.cjs.entry.js +9 -9
  194. package/dist/cjs/ion-reorder_2.cjs.entry.js +8 -8
  195. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  196. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  197. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -10
  198. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  199. package/dist/cjs/ion-select_3.cjs.entry.js +12 -12
  200. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  201. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  202. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  203. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  204. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  205. package/dist/cjs/ion-textarea.cjs.entry.js +7 -8
  206. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  207. package/dist/cjs/ion-toggle.cjs.entry.js +10 -10
  208. package/dist/cjs/{ionic-global-5762eca9.js → ionic-global-62487d02.js} +1 -1
  209. package/dist/cjs/ionic.cjs.js +5 -5
  210. package/dist/cjs/{ios.transition-8e0ca8ed.js → ios.transition-d4f0ca4e.js} +4 -4
  211. package/dist/cjs/loader.cjs.js +4 -4
  212. package/dist/cjs/{md.transition-5d0f134b.js → md.transition-857328f3.js} +4 -4
  213. package/dist/cjs/{notch-controller-0042ad49.js → notch-controller-d69150f5.js} +1 -1
  214. package/dist/cjs/{overlays-30b83581.js → overlays-10c452b2.js} +4 -4
  215. package/dist/cjs/{status-tap-dc3b8fda.js → status-tap-81daddfa.js} +3 -3
  216. package/dist/cjs/{swipe-back-49825f1f.js → swipe-back-f38a434a.js} +1 -1
  217. package/dist/collection/collection-manifest.json +3 -2
  218. package/dist/collection/components/action-sheet/action-sheet.js +3 -3
  219. package/dist/collection/components/alert/alert.js +2 -2
  220. package/dist/collection/components/app/app.js +1 -1
  221. package/dist/collection/components/avatar/avatar.js +1 -1
  222. package/dist/collection/components/back-button/back-button.js +2 -2
  223. package/dist/collection/components/backdrop/backdrop.js +1 -1
  224. package/dist/collection/components/badge/badge.js +2 -2
  225. package/dist/collection/components/breadcrumb/breadcrumb.js +4 -4
  226. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  227. package/dist/collection/components/button/button.ios.css +76 -15
  228. package/dist/collection/components/button/button.js +19 -2
  229. package/dist/collection/components/button/button.md.css +75 -19
  230. package/dist/collection/components/button/test/round/button.e2e.js +39 -4
  231. package/dist/collection/components/buttons/buttons.js +2 -2
  232. package/dist/collection/components/card/card.js +1 -1
  233. package/dist/collection/components/card-content/card-content.js +1 -1
  234. package/dist/collection/components/card-header/card-header.js +2 -2
  235. package/dist/collection/components/card-subtitle/card-subtitle.js +2 -2
  236. package/dist/collection/components/card-title/card-title.js +2 -2
  237. package/dist/collection/components/checkbox/checkbox.ios.css +1 -0
  238. package/dist/collection/components/checkbox/checkbox.js +3 -3
  239. package/dist/collection/components/checkbox/checkbox.md.css +1 -0
  240. package/dist/collection/components/chip/chip.js +2 -2
  241. package/dist/collection/components/col/col.js +2 -2
  242. package/dist/collection/components/content/content.js +3 -3
  243. package/dist/collection/components/datetime/datetime.js +2 -2
  244. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  245. package/dist/collection/components/fab/fab.js +2 -2
  246. package/dist/collection/components/fab-button/fab-button.js +2 -2
  247. package/dist/collection/components/fab-list/fab-list.js +2 -2
  248. package/dist/collection/components/footer/footer.js +2 -2
  249. package/dist/collection/components/grid/grid.js +2 -2
  250. package/dist/collection/components/header/header.js +2 -2
  251. package/dist/collection/components/img/img.js +1 -1
  252. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  253. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  254. package/dist/collection/components/input/input.ios.css +9 -0
  255. package/dist/collection/components/input/input.js +26 -29
  256. package/dist/collection/components/input/input.md.css +9 -0
  257. package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
  258. package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
  259. package/dist/collection/components/input-password-toggle/test/a11y/input-password-toggle.e2e.js +21 -0
  260. package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +38 -0
  261. package/dist/collection/components/input-password-toggle/test/input-password-toggle.spec.js +76 -0
  262. package/dist/collection/components/item/item.js +1 -1
  263. package/dist/collection/components/item-divider/item-divider.js +2 -2
  264. package/dist/collection/components/item-group/item-group.js +1 -1
  265. package/dist/collection/components/item-option/item-option.js +2 -2
  266. package/dist/collection/components/item-options/item-options.js +1 -1
  267. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  268. package/dist/collection/components/label/label.js +2 -2
  269. package/dist/collection/components/list/list.js +1 -1
  270. package/dist/collection/components/list-header/list-header.js +2 -2
  271. package/dist/collection/components/loading/loading.js +2 -2
  272. package/dist/collection/components/menu/menu.js +2 -2
  273. package/dist/collection/components/menu-button/menu-button.js +2 -2
  274. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  275. package/dist/collection/components/modal/gestures/sheet.js +45 -20
  276. package/dist/collection/components/modal/modal.js +4 -4
  277. package/dist/collection/components/nav/nav.js +1 -1
  278. package/dist/collection/components/nav-link/nav-link.js +1 -1
  279. package/dist/collection/components/note/note.js +2 -2
  280. package/dist/collection/components/picker/picker.js +2 -2
  281. package/dist/collection/components/picker-column/picker-column.js +3 -3
  282. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  283. package/dist/collection/components/picker-legacy/picker.js +2 -2
  284. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  285. package/dist/collection/components/popover/popover.ios.css +0 -1
  286. package/dist/collection/components/popover/popover.js +2 -2
  287. package/dist/collection/components/popover/popover.md.css +0 -1
  288. package/dist/collection/components/popover/test/basic/popover.e2e.js +76 -0
  289. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  290. package/dist/collection/components/radio/radio.ios.css +1 -0
  291. package/dist/collection/components/radio/radio.js +3 -3
  292. package/dist/collection/components/radio/radio.md.css +1 -0
  293. package/dist/collection/components/radio-group/radio-group.js +1 -1
  294. package/dist/collection/components/range/range.js +3 -3
  295. package/dist/collection/components/refresher/refresher.js +1 -1
  296. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  297. package/dist/collection/components/reorder/reorder.js +1 -1
  298. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  299. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  300. package/dist/collection/components/router-link/router-link.js +2 -2
  301. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  302. package/dist/collection/components/row/row.js +1 -1
  303. package/dist/collection/components/searchbar/searchbar.js +9 -8
  304. package/dist/collection/components/segment/segment.js +2 -2
  305. package/dist/collection/components/segment-button/segment-button.js +3 -3
  306. package/dist/collection/components/select/select.js +2 -2
  307. package/dist/collection/components/select-option/select-option.js +1 -1
  308. package/dist/collection/components/select-popover/select-popover.js +1 -1
  309. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  310. package/dist/collection/components/spinner/spinner.js +1 -1
  311. package/dist/collection/components/split-pane/split-pane.js +2 -2
  312. package/dist/collection/components/tab/tab.js +2 -2
  313. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  314. package/dist/collection/components/tab-button/tab-button.js +2 -2
  315. package/dist/collection/components/tabs/tabs.js +1 -1
  316. package/dist/collection/components/text/text.js +2 -2
  317. package/dist/collection/components/textarea/textarea.js +2 -26
  318. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  319. package/dist/collection/components/title/title.js +2 -2
  320. package/dist/collection/components/toast/toast.js +2 -2
  321. package/dist/collection/components/toggle/toggle.ios.css +1 -0
  322. package/dist/collection/components/toggle/toggle.js +3 -3
  323. package/dist/collection/components/toggle/toggle.md.css +1 -0
  324. package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +133 -5
  325. package/dist/collection/components/toolbar/toolbar.js +2 -2
  326. package/dist/collection/utils/animation/animation-utils.js +0 -102
  327. package/dist/collection/utils/animation/animation.js +10 -141
  328. package/dist/collection/utils/animation/test/animation.spec.js +0 -89
  329. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
  330. package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
  331. package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
  332. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
  333. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
  334. package/dist/collection/utils/native/haptic.js +6 -54
  335. package/dist/collection/utils/tap-click/index.js +5 -34
  336. package/dist/docs.json +182 -7
  337. package/dist/esm/{animation-6a3c0abb.js → animation-eab5a4ca.js} +9 -250
  338. package/dist/esm/{app-globals-80842d68.js → app-globals-49873df1.js} +1 -1
  339. package/dist/esm/{button-active-c6e18fac.js → button-active-46df59c1.js} +2 -2
  340. package/dist/esm/{framework-delegate-3dede018.js → framework-delegate-63d1a679.js} +1 -1
  341. package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
  342. package/dist/esm/{hardware-back-button-fb295e3a.js → hardware-back-button-ba8f64c2.js} +2 -2
  343. package/dist/esm/{helpers-eab4f597.js → helpers-da915de8.js} +1 -4
  344. package/dist/esm/{index-95a691d4.js → index-56d90da9.js} +4 -4
  345. package/dist/esm/{index-044b5a86.js → index-5cc724f3.js} +1 -1
  346. package/dist/esm/{index-fa221975.js → index-79b30591.js} +5 -34
  347. package/dist/esm/{index-5d6a0317.js → index-bcd8859b.js} +48 -12
  348. package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
  349. package/dist/esm/{index-136e99c8.js → index-f0d7371a.js} +4 -4
  350. package/dist/esm/index.js +11 -11
  351. package/dist/esm/{input-shims-196afa11.js → input-shims-4530285e.js} +2 -2
  352. package/dist/esm/{input.utils-426cc674.js → input.utils-09c71bc7.js} +1 -1
  353. package/dist/esm/ion-accordion_2.entry.js +4 -4
  354. package/dist/esm/ion-action-sheet.entry.js +12 -12
  355. package/dist/esm/ion-alert.entry.js +11 -11
  356. package/dist/esm/ion-app_8.entry.js +27 -27
  357. package/dist/esm/ion-avatar_3.entry.js +6 -6
  358. package/dist/esm/ion-back-button.entry.js +6 -6
  359. package/dist/esm/ion-backdrop.entry.js +3 -3
  360. package/dist/esm/ion-breadcrumb_2.entry.js +10 -10
  361. package/dist/esm/ion-button_2.entry.js +19 -7
  362. package/dist/esm/ion-card_5.entry.js +11 -11
  363. package/dist/esm/ion-checkbox.entry.js +8 -8
  364. package/dist/esm/ion-chip.entry.js +4 -4
  365. package/dist/esm/ion-col_3.entry.js +7 -7
  366. package/dist/esm/ion-datetime-button.entry.js +5 -5
  367. package/dist/esm/ion-datetime_3.entry.js +15 -15
  368. package/dist/esm/ion-fab_3.entry.js +10 -10
  369. package/dist/esm/ion-img.entry.js +4 -4
  370. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  371. package/dist/esm/ion-input-password-toggle.entry.js +89 -0
  372. package/dist/esm/ion-input.entry.js +30 -12
  373. package/dist/esm/ion-item-option_3.entry.js +8 -8
  374. package/dist/esm/ion-item_8.entry.js +17 -17
  375. package/dist/esm/ion-loading.entry.js +9 -9
  376. package/dist/esm/ion-menu_3.entry.js +15 -15
  377. package/dist/esm/ion-modal.entry.js +56 -32
  378. package/dist/esm/ion-nav_2.entry.js +8 -8
  379. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  380. package/dist/esm/ion-picker-column.entry.js +7 -7
  381. package/dist/esm/ion-picker.entry.js +4 -4
  382. package/dist/esm/ion-popover.entry.js +12 -12
  383. package/dist/esm/ion-progress-bar.entry.js +4 -4
  384. package/dist/esm/ion-radio_2.entry.js +9 -9
  385. package/dist/esm/ion-range.entry.js +7 -7
  386. package/dist/esm/ion-refresher_2.entry.js +9 -9
  387. package/dist/esm/ion-reorder_2.entry.js +8 -8
  388. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  389. package/dist/esm/ion-route_4.entry.js +5 -5
  390. package/dist/esm/ion-searchbar.entry.js +10 -10
  391. package/dist/esm/ion-segment_2.entry.js +8 -8
  392. package/dist/esm/ion-select_3.entry.js +12 -12
  393. package/dist/esm/ion-spinner.entry.js +3 -3
  394. package/dist/esm/ion-split-pane.entry.js +4 -4
  395. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  396. package/dist/esm/ion-tab_2.entry.js +6 -6
  397. package/dist/esm/ion-text.entry.js +4 -4
  398. package/dist/esm/ion-textarea.entry.js +7 -8
  399. package/dist/esm/ion-toast.entry.js +9 -9
  400. package/dist/esm/ion-toggle.entry.js +10 -10
  401. package/dist/esm/{ionic-global-a589c12c.js → ionic-global-e6c98cd0.js} +1 -1
  402. package/dist/esm/ionic.js +6 -6
  403. package/dist/esm/{ios.transition-d1c8eea2.js → ios.transition-71bfa932.js} +4 -4
  404. package/dist/esm/loader.js +5 -5
  405. package/dist/esm/{md.transition-0d2de76d.js → md.transition-86aef3c0.js} +4 -4
  406. package/dist/esm/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
  407. package/dist/esm/{overlays-d41f74ac.js → overlays-6fb4a2f2.js} +4 -4
  408. package/dist/esm/{status-tap-45595148.js → status-tap-299361cd.js} +3 -3
  409. package/dist/esm/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
  410. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  411. package/dist/esm-es5/app-globals-49873df1.js +4 -0
  412. package/dist/esm-es5/{button-active-c6e18fac.js → button-active-46df59c1.js} +1 -1
  413. package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
  414. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  415. package/dist/esm-es5/{hardware-back-button-fb295e3a.js → hardware-back-button-ba8f64c2.js} +1 -1
  416. package/dist/esm-es5/{helpers-eab4f597.js → helpers-da915de8.js} +1 -1
  417. package/dist/esm-es5/index-56d90da9.js +4 -0
  418. package/dist/esm-es5/{index-044b5a86.js → index-5cc724f3.js} +1 -1
  419. package/dist/esm-es5/index-79b30591.js +4 -0
  420. package/dist/esm-es5/index-bcd8859b.js +5 -0
  421. package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
  422. package/dist/esm-es5/{index-136e99c8.js → index-f0d7371a.js} +1 -1
  423. package/dist/esm-es5/index.js +1 -1
  424. package/dist/esm-es5/input-shims-4530285e.js +4 -0
  425. package/dist/esm-es5/{input.utils-426cc674.js → input.utils-09c71bc7.js} +1 -1
  426. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  427. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  428. package/dist/esm-es5/ion-alert.entry.js +1 -1
  429. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  430. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  431. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  432. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  433. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  434. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  435. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  436. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  437. package/dist/esm-es5/ion-chip.entry.js +1 -1
  438. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  439. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  440. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  441. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  442. package/dist/esm-es5/ion-img.entry.js +1 -1
  443. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  444. package/dist/esm-es5/ion-input-password-toggle.entry.js +4 -0
  445. package/dist/esm-es5/ion-input.entry.js +1 -1
  446. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  447. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  448. package/dist/esm-es5/ion-loading.entry.js +1 -1
  449. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  450. package/dist/esm-es5/ion-modal.entry.js +1 -1
  451. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  452. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  453. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  454. package/dist/esm-es5/ion-picker.entry.js +1 -1
  455. package/dist/esm-es5/ion-popover.entry.js +1 -1
  456. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  457. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  458. package/dist/esm-es5/ion-range.entry.js +1 -1
  459. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  460. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  461. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  462. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  463. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  464. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  465. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  466. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  467. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  468. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  469. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  470. package/dist/esm-es5/ion-text.entry.js +1 -1
  471. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  472. package/dist/esm-es5/ion-toast.entry.js +1 -1
  473. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  474. package/dist/esm-es5/{ionic-global-a589c12c.js → ionic-global-e6c98cd0.js} +1 -1
  475. package/dist/esm-es5/ionic.js +1 -1
  476. package/dist/esm-es5/{ios.transition-d1c8eea2.js → ios.transition-71bfa932.js} +1 -1
  477. package/dist/esm-es5/loader.js +1 -1
  478. package/dist/esm-es5/md.transition-86aef3c0.js +4 -0
  479. package/dist/esm-es5/{notch-controller-cff691e5.js → notch-controller-55b09e11.js} +1 -1
  480. package/dist/esm-es5/{overlays-d41f74ac.js → overlays-6fb4a2f2.js} +1 -1
  481. package/dist/esm-es5/{status-tap-45595148.js → status-tap-299361cd.js} +1 -1
  482. package/dist/esm-es5/{swipe-back-5aa5feeb.js → swipe-back-b613d7db.js} +1 -1
  483. package/dist/html.html-data.json +68 -0
  484. package/dist/ionic/index.esm.js +1 -1
  485. package/dist/ionic/ionic.esm.js +1 -1
  486. package/dist/ionic/ionic.js +1 -1
  487. package/dist/ionic/{p-91567c90.system.entry.js → p-005deca1.system.entry.js} +1 -1
  488. package/dist/ionic/{p-325c61a4.js → p-06e58c4e.js} +1 -1
  489. package/dist/ionic/{p-853bd866.system.js → p-07584ab4.system.js} +1 -1
  490. package/dist/ionic/p-0bd47555.js +4 -0
  491. package/dist/ionic/{p-4a3055ef.system.js → p-0c06e09b.system.js} +1 -1
  492. package/dist/ionic/{p-98c86cdd.js → p-0e713efe.js} +1 -1
  493. package/dist/ionic/p-13cc6ee6.entry.js +4 -0
  494. package/dist/ionic/p-1472c130.entry.js +4 -0
  495. package/dist/ionic/{p-bb5eba12.entry.js → p-151e8afd.entry.js} +1 -1
  496. package/dist/ionic/p-184fbc9e.system.js +4 -0
  497. package/dist/ionic/{p-2cc2c631.system.js → p-19ea7bff.system.js} +1 -1
  498. package/dist/ionic/{p-d5ab02f5.entry.js → p-1b0f4e6c.entry.js} +1 -1
  499. package/dist/ionic/p-1ba197b6.entry.js +4 -0
  500. package/dist/ionic/p-1c42ad90.entry.js +4 -0
  501. package/dist/ionic/p-1e955a45.system.js +4 -0
  502. package/dist/ionic/{p-a94092b9.entry.js → p-1fa53d02.entry.js} +1 -1
  503. package/dist/ionic/{p-7680d0ec.entry.js → p-1fe1f512.entry.js} +1 -1
  504. package/dist/ionic/{p-fb870c48.entry.js → p-23fdee0e.entry.js} +1 -1
  505. package/dist/ionic/{p-f85a4df5.system.js → p-2613c305.system.js} +1 -1
  506. package/dist/ionic/{p-a6b8342e.system.entry.js → p-275dd0ba.system.entry.js} +1 -1
  507. package/dist/ionic/{p-42fecf9c.system.entry.js → p-2b86020c.system.entry.js} +1 -1
  508. package/dist/ionic/{p-d0496c22.system.entry.js → p-3008ca4e.system.entry.js} +1 -1
  509. package/dist/ionic/p-332aa81e.entry.js +4 -0
  510. package/dist/ionic/p-341b3f37.entry.js +4 -0
  511. package/dist/ionic/{p-a600a3e3.js → p-34b11c24.js} +1 -1
  512. package/dist/ionic/{p-668607c2.system.js → p-3ad285e3.system.js} +1 -1
  513. package/dist/ionic/{p-c6f9f3eb.js → p-3cc276f4.js} +1 -1
  514. package/dist/ionic/{p-40976b1c.system.entry.js → p-3d977e09.system.entry.js} +2 -2
  515. package/dist/ionic/{p-219c17cf.system.entry.js → p-3de2aab8.system.entry.js} +1 -1
  516. package/dist/ionic/p-405fd996.entry.js +4 -0
  517. package/dist/ionic/p-46111310.js +4 -0
  518. package/dist/ionic/p-46f407f0.system.js +4 -0
  519. package/dist/ionic/{p-bb608006.system.entry.js → p-4809ddae.system.entry.js} +1 -1
  520. package/dist/ionic/{p-8a881b39.entry.js → p-48f60474.entry.js} +1 -1
  521. package/dist/ionic/p-495ed1c3.entry.js +4 -0
  522. package/dist/ionic/{p-7002bc75.entry.js → p-4a01cec0.entry.js} +1 -1
  523. package/dist/ionic/p-4de53118.js +4 -0
  524. package/dist/ionic/p-4edce583.system.entry.js +4 -0
  525. package/dist/ionic/p-4f6ebc2b.entry.js +4 -0
  526. package/dist/ionic/p-4f77a080.system.entry.js +4 -0
  527. package/dist/ionic/{p-da5bbd4f.entry.js → p-4fadf4b0.entry.js} +1 -1
  528. package/dist/ionic/{p-db7fcadb.system.entry.js → p-50205ef9.system.entry.js} +2 -2
  529. package/dist/ionic/{p-6d9f8fac.system.js → p-510cb8e6.system.js} +1 -1
  530. package/dist/ionic/p-530207f9.entry.js +4 -0
  531. package/dist/ionic/p-53d37363.entry.js +4 -0
  532. package/dist/ionic/{p-7d29dff0.system.entry.js → p-53d69c70.system.entry.js} +1 -1
  533. package/dist/ionic/{p-af2e3481.system.entry.js → p-55bc2a11.system.entry.js} +1 -1
  534. package/dist/ionic/p-582db405.system.entry.js +4 -0
  535. package/dist/ionic/p-5ad55625.entry.js +4 -0
  536. package/dist/ionic/p-5c26fed5.system.entry.js +4 -0
  537. package/dist/ionic/p-5f28cb75.js +4 -0
  538. package/dist/ionic/{p-239906f1.js → p-67f5b57a.js} +1 -1
  539. package/dist/ionic/{p-f7af3144.system.entry.js → p-68afa357.system.entry.js} +2 -2
  540. package/dist/ionic/{p-af9256a0.system.js → p-6ac30fc3.system.js} +1 -1
  541. package/dist/ionic/p-6c5c1bb5.system.js +4 -0
  542. package/dist/ionic/{p-92b05b70.system.entry.js → p-6cf780b6.system.entry.js} +1 -1
  543. package/dist/ionic/p-6dc81903.entry.js +4 -0
  544. package/dist/ionic/{p-8ed900e4.entry.js → p-6e4dac1a.entry.js} +1 -1
  545. package/dist/ionic/{p-6a888b39.system.entry.js → p-6ef17d86.system.entry.js} +1 -1
  546. package/dist/ionic/p-72812e99.js +4 -0
  547. package/dist/ionic/p-7372cf23.system.entry.js +4 -0
  548. package/dist/ionic/p-7492572a.entry.js +4 -0
  549. package/dist/ionic/p-7596e24d.system.js +5 -0
  550. package/dist/ionic/p-76971b4f.entry.js +4 -0
  551. package/dist/ionic/{p-9e3177a5.system.js → p-7a7ff5e3.system.js} +1 -1
  552. package/dist/ionic/{p-6a62da36.system.js → p-7bbcce53.system.js} +1 -1
  553. package/dist/ionic/{p-5ac63b19.system.entry.js → p-7c93f00b.system.entry.js} +1 -1
  554. package/dist/ionic/{p-9e6a5e3d.system.entry.js → p-7f33a6e2.system.entry.js} +2 -2
  555. package/dist/ionic/{p-7adde43c.system.entry.js → p-814efd87.system.entry.js} +1 -1
  556. package/dist/ionic/{p-031c5621.js → p-83b445c3.js} +1 -1
  557. package/dist/ionic/p-8635f5e6.system.js +4 -0
  558. package/dist/ionic/p-89b61afc.js +4 -0
  559. package/dist/ionic/{p-00a6f38d.entry.js → p-8a5152e5.entry.js} +1 -1
  560. package/dist/ionic/{p-976c7c54.js → p-8f9e2850.js} +1 -1
  561. package/dist/ionic/{p-c41e0b5f.system.entry.js → p-904df2ee.system.entry.js} +2 -2
  562. package/dist/ionic/{p-02a803dc.entry.js → p-90f8498c.entry.js} +1 -1
  563. package/dist/ionic/p-9146695e.system.js +4 -0
  564. package/dist/ionic/p-91b568e2.system.entry.js +4 -0
  565. package/dist/ionic/{p-07759435.system.js → p-91dabef7.system.js} +1 -1
  566. package/dist/ionic/{p-78b3da77.js → p-96a561dd.js} +1 -1
  567. package/dist/ionic/{p-a3dae2ce.js → p-96cc4814.js} +1 -1
  568. package/dist/ionic/p-987e38ef.system.entry.js +4 -0
  569. package/dist/ionic/{p-a88b41d1.system.entry.js → p-98af538a.system.entry.js} +2 -2
  570. package/dist/ionic/p-9ccc8035.system.entry.js +4 -0
  571. package/dist/ionic/{p-e0d52ee3.system.js → p-9ea607bd.system.js} +2 -2
  572. package/dist/ionic/p-9fa5ff32.system.js +4 -0
  573. package/dist/ionic/{p-8dd3d9c3.system.entry.js → p-9fd3ca09.system.entry.js} +1 -1
  574. package/dist/ionic/p-a15ddedb.system.js +4 -0
  575. package/dist/ionic/p-a28ea4d8.system.entry.js +4 -0
  576. package/dist/ionic/{p-2bb65deb.entry.js → p-a39a73e3.entry.js} +1 -1
  577. package/dist/ionic/{p-978f4710.js → p-a90201f2.js} +1 -1
  578. package/dist/ionic/p-a93873de.system.js +4 -0
  579. package/dist/ionic/{p-185db19b.system.entry.js → p-aa79cc0e.system.entry.js} +2 -2
  580. package/dist/ionic/{p-1bb1ef31.system.entry.js → p-aa8a2f40.system.entry.js} +1 -1
  581. package/dist/ionic/p-ac045dad.entry.js +4 -0
  582. package/dist/ionic/{p-dd9168f3.entry.js → p-ad2b9596.entry.js} +1 -1
  583. package/dist/ionic/p-ae42c907.entry.js +4 -0
  584. package/dist/ionic/{p-23838a94.system.entry.js → p-aea5f293.system.entry.js} +1 -1
  585. package/dist/ionic/p-b4a7f856.system.entry.js +4 -0
  586. package/dist/ionic/{p-364044f0.js → p-b51e4004.js} +1 -1
  587. package/dist/ionic/p-b6519a42.entry.js +4 -0
  588. package/dist/ionic/p-b7af48c0.js +4 -0
  589. package/dist/ionic/{p-54c31b4f.entry.js → p-ba35f07f.entry.js} +1 -1
  590. package/dist/ionic/{p-d4d17d47.entry.js → p-bc3d649d.entry.js} +1 -1
  591. package/dist/ionic/p-c1c77386.js +5 -0
  592. package/dist/ionic/{p-85f43165.system.entry.js → p-c2762c6a.system.entry.js} +1 -1
  593. package/dist/ionic/p-c4e495a3.system.js +4 -0
  594. package/dist/ionic/p-c4eafa12.system.entry.js +4 -0
  595. package/dist/ionic/{p-294c47cd.system.entry.js → p-c54b167f.system.entry.js} +1 -1
  596. package/dist/ionic/p-c7e16491.js +4 -0
  597. package/dist/ionic/{p-17ee2784.system.entry.js → p-c927dbe2.system.entry.js} +1 -1
  598. package/dist/ionic/{p-282bd5f9.system.entry.js → p-ca5bb110.system.entry.js} +1 -1
  599. package/dist/ionic/p-ca6decbd.entry.js +4 -0
  600. package/dist/ionic/p-cbd87df6.entry.js +4 -0
  601. package/dist/ionic/p-cf45a5c7.system.entry.js +4 -0
  602. package/dist/ionic/{p-1685d81c.system.entry.js → p-cf8101a6.system.entry.js} +1 -1
  603. package/dist/ionic/p-d061515d.system.entry.js +4 -0
  604. package/dist/ionic/{p-3ae4a2a2.entry.js → p-d73f49d0.entry.js} +1 -1
  605. package/dist/ionic/p-da2b833b.js +4 -0
  606. package/dist/ionic/p-dbc3e90c.entry.js +4 -0
  607. package/dist/ionic/{p-70c278c4.system.entry.js → p-dc4406d7.system.entry.js} +1 -1
  608. package/dist/ionic/p-dec86943.entry.js +4 -0
  609. package/dist/ionic/p-df0d39c7.system.entry.js +4 -0
  610. package/dist/ionic/{p-1a8bbd2e.entry.js → p-e099a6f3.entry.js} +1 -1
  611. package/dist/ionic/p-e1ad8e76.entry.js +4 -0
  612. package/dist/ionic/{p-d286cfbe.system.entry.js → p-e292247e.system.entry.js} +1 -1
  613. package/dist/ionic/p-e548fedf.system.entry.js +4 -0
  614. package/dist/ionic/{p-7c7e495d.system.js → p-e5a3659f.system.js} +1 -1
  615. package/dist/ionic/{p-5a277399.system.entry.js → p-e6d46b5d.system.entry.js} +1 -1
  616. package/dist/ionic/p-e781c893.entry.js +4 -0
  617. package/dist/ionic/{p-d8ffe61c.system.entry.js → p-e81c3ca2.system.entry.js} +1 -1
  618. package/dist/ionic/{p-fa8ee4c3.entry.js → p-e8a713b5.entry.js} +1 -1
  619. package/dist/ionic/{p-b141e253.entry.js → p-e93cd31c.entry.js} +1 -1
  620. package/dist/ionic/p-ec178f19.entry.js +4 -0
  621. package/dist/ionic/{p-3cd3214e.entry.js → p-eda2459e.entry.js} +1 -1
  622. package/dist/ionic/p-f13dc6bd.system.entry.js +4 -0
  623. package/dist/ionic/p-f6ca4d02.js +4 -0
  624. package/dist/ionic/{p-1807190c.entry.js → p-f6fec6a0.entry.js} +1 -1
  625. package/dist/ionic/{p-2852c537.system.entry.js → p-f8f8c5a8.system.entry.js} +1 -1
  626. package/dist/ionic/p-f956e38a.entry.js +4 -0
  627. package/dist/ionic/p-fea11771.entry.js +4 -0
  628. package/dist/ionic/{p-30dfa360.system.js → p-ffbc80ae.system.js} +1 -1
  629. package/dist/types/components/button/button.d.ts +5 -0
  630. package/dist/types/components/datetime/utils/manipulation.d.ts +7 -7
  631. package/dist/types/components/datetime/utils/state.d.ts +2 -2
  632. package/dist/types/components/input/input.d.ts +7 -6
  633. package/dist/types/components/input/input.utils.d.ts +1 -1
  634. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +37 -0
  635. package/dist/types/components/searchbar/searchbar.d.ts +0 -14
  636. package/dist/types/components/textarea/textarea.d.ts +1 -6
  637. package/dist/types/components.d.ts +47 -3
  638. package/dist/types/utils/animation/animation-utils.d.ts +0 -12
  639. package/dist/types/utils/focus-trap.d.ts +2 -2
  640. package/dist/types/utils/framework-delegate.d.ts +1 -1
  641. package/dist/types/utils/keyboard/keyboard-controller.d.ts +1 -1
  642. package/dist/types/utils/overlays.d.ts +2 -2
  643. package/hydrate/index.js +425 -525
  644. package/package.json +6 -6
  645. package/dist/esm-es5/animation-6a3c0abb.js +0 -4
  646. package/dist/esm-es5/app-globals-80842d68.js +0 -4
  647. package/dist/esm-es5/framework-delegate-3dede018.js +0 -4
  648. package/dist/esm-es5/haptic-554688a5.js +0 -4
  649. package/dist/esm-es5/index-5d6a0317.js +0 -5
  650. package/dist/esm-es5/index-95a691d4.js +0 -4
  651. package/dist/esm-es5/index-fa221975.js +0 -4
  652. package/dist/esm-es5/input-shims-196afa11.js +0 -4
  653. package/dist/esm-es5/md.transition-0d2de76d.js +0 -4
  654. package/dist/ionic/p-0051ceb9.entry.js +0 -4
  655. package/dist/ionic/p-08a8971e.system.js +0 -4
  656. package/dist/ionic/p-0e4c9e45.system.js +0 -4
  657. package/dist/ionic/p-103ec049.system.entry.js +0 -4
  658. package/dist/ionic/p-17043350.system.js +0 -4
  659. package/dist/ionic/p-1c801dd4.entry.js +0 -4
  660. package/dist/ionic/p-2130b526.entry.js +0 -4
  661. package/dist/ionic/p-22b5c888.system.entry.js +0 -4
  662. package/dist/ionic/p-23cff6c1.system.js +0 -4
  663. package/dist/ionic/p-23efc001.entry.js +0 -4
  664. package/dist/ionic/p-244f56fd.js +0 -4
  665. package/dist/ionic/p-27c668a0.entry.js +0 -4
  666. package/dist/ionic/p-29ef3b9b.entry.js +0 -4
  667. package/dist/ionic/p-2f53c3eb.js +0 -4
  668. package/dist/ionic/p-2f6bc4a9.system.entry.js +0 -4
  669. package/dist/ionic/p-34c50a42.system.entry.js +0 -4
  670. package/dist/ionic/p-3785c067.entry.js +0 -4
  671. package/dist/ionic/p-3e6e53fe.system.entry.js +0 -4
  672. package/dist/ionic/p-42f189f4.js +0 -4
  673. package/dist/ionic/p-43c751c6.system.entry.js +0 -4
  674. package/dist/ionic/p-4d325220.system.entry.js +0 -4
  675. package/dist/ionic/p-4d361c89.entry.js +0 -4
  676. package/dist/ionic/p-5b2951c1.system.entry.js +0 -4
  677. package/dist/ionic/p-5b52897c.js +0 -4
  678. package/dist/ionic/p-5e39b9d8.entry.js +0 -4
  679. package/dist/ionic/p-610f0e12.entry.js +0 -4
  680. package/dist/ionic/p-66e50777.entry.js +0 -4
  681. package/dist/ionic/p-6a448415.entry.js +0 -4
  682. package/dist/ionic/p-7d4d9c40.system.entry.js +0 -4
  683. package/dist/ionic/p-7e7d534c.js +0 -4
  684. package/dist/ionic/p-831269de.js +0 -4
  685. package/dist/ionic/p-86c17a09.entry.js +0 -4
  686. package/dist/ionic/p-9b5d033a.system.entry.js +0 -4
  687. package/dist/ionic/p-a0e8f913.entry.js +0 -4
  688. package/dist/ionic/p-a4c287f9.entry.js +0 -4
  689. package/dist/ionic/p-ac6db4c2.js +0 -4
  690. package/dist/ionic/p-b0aaa59a.system.entry.js +0 -4
  691. package/dist/ionic/p-b1d9b078.entry.js +0 -4
  692. package/dist/ionic/p-ba0290d1.entry.js +0 -4
  693. package/dist/ionic/p-c385e49d.entry.js +0 -4
  694. package/dist/ionic/p-c3f5d0e7.js +0 -4
  695. package/dist/ionic/p-c629d22b.system.js +0 -5
  696. package/dist/ionic/p-c8383c20.entry.js +0 -4
  697. package/dist/ionic/p-c995da88.system.js +0 -4
  698. package/dist/ionic/p-cbf0a046.system.entry.js +0 -4
  699. package/dist/ionic/p-d372938e.system.entry.js +0 -4
  700. package/dist/ionic/p-d704f798.system.js +0 -4
  701. package/dist/ionic/p-d8090ce4.entry.js +0 -4
  702. package/dist/ionic/p-d80b7e31.system.js +0 -4
  703. package/dist/ionic/p-dad515dc.js +0 -4
  704. package/dist/ionic/p-dfb6de03.system.js +0 -4
  705. package/dist/ionic/p-e3611c25.entry.js +0 -4
  706. package/dist/ionic/p-e4ca94bd.js +0 -4
  707. package/dist/ionic/p-e7b0b64d.system.js +0 -4
  708. package/dist/ionic/p-ebc5b98f.entry.js +0 -4
  709. package/dist/ionic/p-ec34194e.system.entry.js +0 -4
  710. package/dist/ionic/p-ec613387.entry.js +0 -4
  711. package/dist/ionic/p-ed3463be.entry.js +0 -4
  712. package/dist/ionic/p-f1d1524c.entry.js +0 -4
  713. package/dist/ionic/p-f7a1318d.system.entry.js +0 -4
  714. package/dist/ionic/p-f8502e85.js +0 -5
  715. package/dist/ionic/p-fe1fd531.system.js +0 -4
  716. package/dist/ionic/p-fe35b5c0.entry.js +0 -4
@@ -47,12 +47,6 @@ var NotificationType;
47
47
  })(NotificationType || (NotificationType = {}));
48
48
  const HapticEngine = {
49
49
  getEngine() {
50
- const tapticEngine = window.TapticEngine;
51
- if (tapticEngine) {
52
- // Cordova
53
- // TODO FW-4707 - Remove this in Ionic 8
54
- return tapticEngine;
55
- }
56
50
  const capacitor = getCapacitor();
57
51
  if (capacitor === null || capacitor === void 0 ? void 0 : capacitor.isPluginAvailable('Haptics')) {
58
52
  // Capacitor
@@ -81,85 +75,43 @@ const HapticEngine = {
81
75
  }
82
76
  return true;
83
77
  },
84
- isCordova() {
85
- return window.TapticEngine !== undefined;
86
- },
87
- isCapacitor() {
88
- return getCapacitor() !== undefined;
89
- },
90
78
  impact(options) {
91
79
  const engine = this.getEngine();
92
80
  if (!engine) {
93
81
  return;
94
82
  }
95
- /**
96
- * To provide backwards compatibility with Cordova apps,
97
- * we convert the style to lowercase.
98
- *
99
- * TODO: FW-4707 - Remove this in Ionic 8
100
- */
101
- const style = this.isCapacitor() ? options.style : options.style.toLowerCase();
102
- engine.impact({ style });
83
+ engine.impact({ style: options.style });
103
84
  },
104
85
  notification(options) {
105
86
  const engine = this.getEngine();
106
87
  if (!engine) {
107
88
  return;
108
89
  }
109
- /**
110
- * To provide backwards compatibility with Cordova apps,
111
- * we convert the style to lowercase.
112
- *
113
- * TODO: FW-4707 - Remove this in Ionic 8
114
- */
115
- const type = this.isCapacitor() ? options.type : options.type.toLowerCase();
116
- engine.notification({ type });
90
+ engine.notification({ type: options.type });
117
91
  },
118
92
  selection() {
119
- /**
120
- * To provide backwards compatibility with Cordova apps,
121
- * we convert the style to lowercase.
122
- *
123
- * TODO: FW-4707 - Remove this in Ionic 8
124
- */
125
- const style = this.isCapacitor() ? ImpactStyle.Light : 'light';
126
- this.impact({ style });
93
+ this.impact({ style: ImpactStyle.Light });
127
94
  },
128
95
  selectionStart() {
129
96
  const engine = this.getEngine();
130
97
  if (!engine) {
131
98
  return;
132
99
  }
133
- if (this.isCapacitor()) {
134
- engine.selectionStart();
135
- }
136
- else {
137
- engine.gestureSelectionStart();
138
- }
100
+ engine.selectionStart();
139
101
  },
140
102
  selectionChanged() {
141
103
  const engine = this.getEngine();
142
104
  if (!engine) {
143
105
  return;
144
106
  }
145
- if (this.isCapacitor()) {
146
- engine.selectionChanged();
147
- }
148
- else {
149
- engine.gestureSelectionChanged();
150
- }
107
+ engine.selectionChanged();
151
108
  },
152
109
  selectionEnd() {
153
110
  const engine = this.getEngine();
154
111
  if (!engine) {
155
112
  return;
156
113
  }
157
- if (this.isCapacitor()) {
158
- engine.selectionEnd();
159
- }
160
- else {
161
- engine.gestureSelectionEnd();
162
- }
114
+ engine.selectionEnd();
163
115
  },
164
116
  };
165
117
  /**
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { c as config } from './ionic-global-a589c12c.js';
6
- import './index-5d6a0317.js';
5
+ import { c as config } from './ionic-global-e6c98cd0.js';
6
+ import './index-bcd8859b.js';
7
7
 
8
8
  /**
9
9
  * CloseWatcher is a newer API that lets
@@ -284,9 +284,6 @@ const assert = (actual, reason) => {
284
284
  throw new Error(message);
285
285
  }
286
286
  };
287
- const now = (ev) => {
288
- return ev.timeStamp || Date.now();
289
- };
290
287
  const pointerCoord = (ev) => {
291
288
  // get X coordinates for either a mouse click
292
289
  // or a touch depending on the given event
@@ -362,4 +359,4 @@ const shallowEqualStringMap = (map1, map2) => {
362
359
  return true;
363
360
  };
364
361
 
365
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o, now as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
362
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, isEndSide as n, debounce as o, pointerCoord as p, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-fb295e3a.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-ba8f64c2.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
- import { c as componentOnReady } from './helpers-eab4f597.js';
8
- import { b as getIonMode } from './ionic-global-a589c12c.js';
9
- import { c as createAnimation } from './animation-6a3c0abb.js';
7
+ import { c as componentOnReady } from './helpers-da915de8.js';
8
+ import { b as getIonMode } from './ionic-global-e6c98cd0.js';
9
+ import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
11
11
  /**
12
12
  * baseAnimation
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-eab4f597.js';
4
+ import { c as componentOnReady } from './helpers-da915de8.js';
5
5
  import { b as printRequiredElementError } from './index-9b0d46f4.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
@@ -2,44 +2,18 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { p as now, q as pointerCoord } from './helpers-eab4f597.js';
5
+ import { p as pointerCoord } from './helpers-da915de8.js';
6
6
 
7
7
  const startTapClick = (config) => {
8
8
  if (doc === undefined) {
9
9
  return;
10
10
  }
11
- let lastTouch = -MOUSE_WAIT * 10;
12
11
  let lastActivated = 0;
13
12
  let activatableEle;
14
13
  let activeRipple;
15
14
  let activeDefer;
16
15
  const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
17
16
  const clearDefers = new WeakMap();
18
- // Touch Events
19
- const onTouchStart = (ev) => {
20
- lastTouch = now(ev);
21
- pointerDown(ev);
22
- };
23
- const onTouchEnd = (ev) => {
24
- lastTouch = now(ev);
25
- pointerUp(ev);
26
- };
27
- const onMouseDown = (ev) => {
28
- // Ignore right clicks
29
- if (ev.button === 2) {
30
- return;
31
- }
32
- const t = now(ev) - MOUSE_WAIT;
33
- if (lastTouch < t) {
34
- pointerDown(ev);
35
- }
36
- };
37
- const onMouseUp = (ev) => {
38
- const t = now(ev) - MOUSE_WAIT;
39
- if (lastTouch < t) {
40
- pointerUp(ev);
41
- }
42
- };
43
17
  const cancelActive = () => {
44
18
  if (activeDefer)
45
19
  clearTimeout(activeDefer);
@@ -50,7 +24,8 @@ const startTapClick = (config) => {
50
24
  }
51
25
  };
52
26
  const pointerDown = (ev) => {
53
- if (activatableEle) {
27
+ // Ignore right clicks
28
+ if (activatableEle || ev.button === 2) {
54
29
  return;
55
30
  }
56
31
  setActivatedElement(getActivatableTarget(ev), ev);
@@ -134,9 +109,8 @@ const startTapClick = (config) => {
134
109
  }
135
110
  };
136
111
  doc.addEventListener('ionGestureCaptured', cancelActive);
137
- doc.addEventListener('touchstart', onTouchStart, true);
138
- doc.addEventListener('touchcancel', onTouchEnd, true);
139
- doc.addEventListener('touchend', onTouchEnd, true);
112
+ doc.addEventListener('pointerdown', pointerDown, true);
113
+ doc.addEventListener('pointerup', pointerUp, true);
140
114
  /**
141
115
  * Tap click effects such as the ripple effect should
142
116
  * not happen when scrolling. For example, if a user scrolls
@@ -150,8 +124,6 @@ const startTapClick = (config) => {
150
124
  * ion-content's scroll events.
151
125
  */
152
126
  doc.addEventListener('pointercancel', cancelActive, true);
153
- doc.addEventListener('mousedown', onMouseDown, true);
154
- doc.addEventListener('mouseup', onMouseUp, true);
155
127
  };
156
128
  // TODO(FW-2832): type
157
129
  const getActivatableTarget = (ev) => {
@@ -191,6 +163,5 @@ const getRippleEffect = (el) => {
191
163
  const ACTIVATED = 'ion-activated';
192
164
  const ADD_ACTIVATED_DEFERS = 100;
193
165
  const CLEAR_STATE_DEFERS = 150;
194
- const MOUSE_WAIT = 2500;
195
166
 
196
167
  export { startTapClick };
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  const NAMESPACE = 'ionic';
5
+ const BUILD = /* ionic */ { allRenderFn: false, appendChildSlotFix: true, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: true, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: true, experimentalSlotFixes: true, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: true, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
5
6
 
6
7
  /**
7
8
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -863,17 +864,35 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
863
864
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
864
865
  {
865
866
  // remove attributes no longer present on the vnode by setting them to undefined
866
- for (memberName in oldVnodeAttrs) {
867
+ for (memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
867
868
  if (!(memberName in newVnodeAttrs)) {
868
869
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
869
870
  }
870
871
  }
871
872
  }
872
873
  // add new & update changed attributes
873
- for (memberName in newVnodeAttrs) {
874
+ for (memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
874
875
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
875
876
  }
876
877
  };
878
+ /**
879
+ * Sort a list of attribute names to ensure that all the attribute names which
880
+ * are _not_ `"ref"` come before `"ref"`. Preserve the order of the non-ref
881
+ * attributes.
882
+ *
883
+ * **Note**: if the supplied attributes do not include `'ref'` then the same
884
+ * (by reference) array will be returned without modification.
885
+ *
886
+ * @param attrNames attribute names to sort
887
+ * @returns a list of attribute names, sorted if they include `"ref"`
888
+ */
889
+ function sortedAttrNames(attrNames) {
890
+ return attrNames.includes('ref')
891
+ ? // we need to sort these to ensure that `'ref'` is the last attr
892
+ [...attrNames.filter((attr) => attr !== 'ref'), 'ref']
893
+ : // no need to sort, return the original array
894
+ attrNames;
895
+ }
877
896
  /**
878
897
  * Create a DOM Node corresponding to one of the children of a given VNode.
879
898
  *
@@ -885,6 +904,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
885
904
  * @returns the newly created node
886
905
  */
887
906
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
907
+ var _a;
888
908
  // tslint:disable-next-line: prefer-const
889
909
  const newVNode = newParentVNode.$children$[childIndex];
890
910
  let i = 0;
@@ -969,6 +989,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
969
989
  elm['s-cr'] = contentRef;
970
990
  // remember the slot name, or empty string for default slot
971
991
  elm['s-sn'] = newVNode.$name$ || '';
992
+ // remember the ref callback function
993
+ elm['s-rf'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.ref;
972
994
  // check if we've got an old vnode for this slot
973
995
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
974
996
  if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
@@ -1014,7 +1036,15 @@ const relocateToHostRoot = (parentElm) => {
1014
1036
  };
1015
1037
  const putBackInOriginalLocation = (parentElm, recursive) => {
1016
1038
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1017
- const oldSlotChildNodes = parentElm.childNodes;
1039
+ const oldSlotChildNodes = Array.from(parentElm.childNodes);
1040
+ if (parentElm['s-sr'] && BUILD.experimentalSlotFixes) {
1041
+ let node = parentElm;
1042
+ while ((node = node.nextSibling)) {
1043
+ if (node && node['s-sn'] === parentElm['s-sn'] && node['s-sh'] === hostTagName) {
1044
+ oldSlotChildNodes.push(node);
1045
+ }
1046
+ }
1047
+ }
1018
1048
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
1019
1049
  const childNode = oldSlotChildNodes[i];
1020
1050
  if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
@@ -1749,7 +1779,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1749
1779
  // If the node we're currently planning on inserting the new node before is an element,
1750
1780
  // we need to do some additional checks to make sure we're inserting the node in the correct order.
1751
1781
  // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1752
- // to make sure they get inserted into their new how in the same order they were declared in their original location.
1782
+ // to make sure they get inserted into their new home in the same order they were declared in their original location.
1753
1783
  //
1754
1784
  // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1755
1785
  if ((insertBeforeNode && insertBeforeNode.nodeType === 1 /* NODE_TYPE.ElementNode */)) {
@@ -1758,6 +1788,11 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1758
1788
  let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1759
1789
  if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1760
1790
  refNode = refNode.nextSibling;
1791
+ // If the refNode is the same node to be relocated or another element's slot reference, keep searching to find the
1792
+ // correct relocation target
1793
+ while (refNode === nodeToRelocate || (refNode === null || refNode === void 0 ? void 0 : refNode['s-sr'])) {
1794
+ refNode = refNode === null || refNode === void 0 ? void 0 : refNode.nextSibling;
1795
+ }
1761
1796
  if (!refNode || !refNode['s-nr']) {
1762
1797
  insertBeforeNode = refNode;
1763
1798
  break;
@@ -1786,6 +1821,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1786
1821
  }
1787
1822
  }
1788
1823
  }
1824
+ nodeToRelocate && typeof slotRefNode['s-rf'] === 'function' && slotRefNode['s-rf'](nodeToRelocate);
1789
1825
  }
1790
1826
  else {
1791
1827
  // this node doesn't have a slot home to go to, so let's hide it
@@ -2550,6 +2586,7 @@ const patchCloneNode = (HostElementPrototype) => {
2550
2586
  's-ol',
2551
2587
  's-nr',
2552
2588
  's-si',
2589
+ 's-rf',
2553
2590
  ];
2554
2591
  for (; i < srcNode.childNodes.length; i++) {
2555
2592
  slotted = srcNode.childNodes[i]['s-nr'];
@@ -2582,15 +2619,13 @@ const patchSlotAppendChild = (HostElementPrototype) => {
2582
2619
  HostElementPrototype.__appendChild = HostElementPrototype.appendChild;
2583
2620
  HostElementPrototype.appendChild = function (newChild) {
2584
2621
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2585
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2622
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2586
2623
  if (slotNode) {
2587
2624
  const slotChildNodes = getHostSlotChildNodes(slotNode, slotName);
2588
2625
  const appendAfter = slotChildNodes[slotChildNodes.length - 1];
2589
2626
  const insertedNode = appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling);
2590
2627
  // Check if there is fallback content that should be hidden
2591
2628
  updateFallbackSlotVisibility(this);
2592
- // Force a re-render of the host element
2593
- forceUpdate(this);
2594
2629
  return insertedNode;
2595
2630
  }
2596
2631
  return this.__appendChild(newChild);
@@ -2607,7 +2642,7 @@ const patchSlotRemoveChild = (ElementPrototype) => {
2607
2642
  ElementPrototype.__removeChild = ElementPrototype.removeChild;
2608
2643
  ElementPrototype.removeChild = function (toRemove) {
2609
2644
  if (toRemove && typeof toRemove['s-sn'] !== 'undefined') {
2610
- const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn']);
2645
+ const slotNode = getHostSlotNode(this.childNodes, toRemove['s-sn'], this.tagName);
2611
2646
  if (slotNode) {
2612
2647
  // Get all slot content
2613
2648
  const slotChildNodes = getHostSlotChildNodes(slotNode, toRemove['s-sn']);
@@ -2638,7 +2673,7 @@ const patchSlotPrepend = (HostElementPrototype) => {
2638
2673
  newChild = this.ownerDocument.createTextNode(newChild);
2639
2674
  }
2640
2675
  const slotName = (newChild['s-sn'] = getSlotName(newChild));
2641
- const slotNode = getHostSlotNode(this.childNodes, slotName);
2676
+ const slotNode = getHostSlotNode(this.childNodes, slotName, this.tagName);
2642
2677
  if (slotNode) {
2643
2678
  const slotPlaceholder = document.createTextNode('');
2644
2679
  slotPlaceholder['s-nr'] = newChild;
@@ -2855,17 +2890,18 @@ const getSlotName = (node) => node['s-sn'] || (node.nodeType === 1 && node.getAt
2855
2890
  * Recursively searches a series of child nodes for a slot with the provided name.
2856
2891
  * @param childNodes the nodes to search for a slot with a specific name.
2857
2892
  * @param slotName the name of the slot to match on.
2893
+ * @param hostName the host name of the slot to match on.
2858
2894
  * @returns a reference to the slot node that matches the provided name, `null` otherwise
2859
2895
  */
2860
- const getHostSlotNode = (childNodes, slotName) => {
2896
+ const getHostSlotNode = (childNodes, slotName, hostName) => {
2861
2897
  let i = 0;
2862
2898
  let childNode;
2863
2899
  for (; i < childNodes.length; i++) {
2864
2900
  childNode = childNodes[i];
2865
- if (childNode['s-sr'] && childNode['s-sn'] === slotName) {
2901
+ if (childNode['s-sr'] && childNode['s-sn'] === slotName && childNode['s-hn'] === hostName) {
2866
2902
  return childNode;
2867
2903
  }
2868
- childNode = getHostSlotNode(childNode.childNodes, slotName);
2904
+ childNode = getHostSlotNode(childNode.childNodes, slotName, hostName);
2869
2905
  if (childNode) {
2870
2906
  return childNode;
2871
2907
  }
@@ -18,6 +18,8 @@ const closeCircle = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/
18
18
  const closeSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M400 145.49L366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49z'/></svg>";
19
19
  const ellipseOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><circle cx='256' cy='256' r='192' stroke-linecap='round' stroke-linejoin='round' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
20
20
  const ellipsisHorizontal = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><circle cx='256' cy='256' r='48'/><circle cx='416' cy='256' r='48'/><circle cx='96' cy='256' r='48'/></svg>";
21
+ const eye = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><circle cx='256' cy='256' r='64'/><path d='M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96c-42.52 0-84.33 12.15-124.27 36.11-40.73 24.43-77.63 60.12-109.68 106.07a31.92 31.92 0 00-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416c46.71 0 93.81-14.43 136.2-41.72 38.46-24.77 72.72-59.66 99.08-100.92a32.2 32.2 0 00-.1-34.76zM256 352a96 96 0 1196-96 96.11 96.11 0 01-96 96z'/></svg>";
22
+ const eyeOff = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M432 448a15.92 15.92 0 01-11.31-4.69l-352-352a16 16 0 0122.62-22.62l352 352A16 16 0 01432 448zM248 315.85l-51.79-51.79a2 2 0 00-3.39 1.69 64.11 64.11 0 0053.49 53.49 2 2 0 001.69-3.39zM264 196.15L315.87 248a2 2 0 003.4-1.69 64.13 64.13 0 00-53.55-53.55 2 2 0 00-1.72 3.39z'/><path d='M491 273.36a32.2 32.2 0 00-.1-34.76c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.68 96a226.54 226.54 0 00-71.82 11.79 4 4 0 00-1.56 6.63l47.24 47.24a4 4 0 003.82 1.05 96 96 0 01116 116 4 4 0 001.05 3.81l67.95 68a4 4 0 005.4.24 343.81 343.81 0 0067.24-77.4zM256 352a96 96 0 01-93.3-118.63 4 4 0 00-1.05-3.81l-66.84-66.87a4 4 0 00-5.41-.23c-24.39 20.81-47 46.13-67.67 75.72a31.92 31.92 0 00-.64 35.54c26.41 41.33 60.39 76.14 98.28 100.65C162.06 402 207.92 416 255.68 416a238.22 238.22 0 0072.64-11.55 4 4 0 001.61-6.64l-47.47-47.46a4 4 0 00-3.81-1.05A96 96 0 01256 352z'/></svg>";
21
23
  const menuOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='round' stroke-miterlimit='10' d='M80 160h352M80 256h352M80 352h352' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
22
24
  const menuSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M64 384h384v-42.67H64zm0-106.67h384v-42.66H64zM64 128v42.67h384V128z'/></svg>";
23
25
  const removeOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path stroke-linecap='round' stroke-linejoin='round' d='M400 256H112' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
@@ -26,4 +28,4 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
26
28
  const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linecap='round' stroke-miterlimit='10' d='M338.29 338.29L448 448' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
27
29
  const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M464 428L339.92 303.9a160.48 160.48 0 0030.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0094.58-30.72L428 464zM209.32 319.69a110.38 110.38 0 11110.37-110.37 110.5 110.5 0 01-110.37 110.37z'/></svg>";
28
30
 
29
- export { arrowBackSharp as a, closeCircle as b, chevronBack as c, closeSharp as d, searchSharp as e, checkmarkOutline as f, ellipseOutline as g, caretBackSharp as h, arrowDown as i, reorderThreeOutline as j, reorderTwoSharp as k, chevronDown as l, chevronForwardOutline as m, ellipsisHorizontal as n, chevronForward as o, caretUpSharp as p, caretDownSharp as q, removeOutline as r, searchOutline as s, close as t, menuOutline as u, menuSharp as v, chevronExpand as w };
31
+ export { arrowBackSharp as a, closeCircle as b, chevronBack as c, closeSharp as d, searchSharp as e, checkmarkOutline as f, ellipseOutline as g, caretBackSharp as h, arrowDown as i, reorderThreeOutline as j, reorderTwoSharp as k, chevronDown as l, chevronForwardOutline as m, ellipsisHorizontal as n, chevronForward as o, caretUpSharp as p, caretDownSharp as q, removeOutline as r, searchOutline as s, close as t, menuOutline as u, menuSharp as v, chevronExpand as w, eye as x, eyeOff as y };
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as writeTask, B as Build } from './index-5d6a0317.js';
5
- import { r as raf } from './helpers-eab4f597.js';
4
+ import { w as writeTask, B as Build } from './index-bcd8859b.js';
5
+ import { r as raf } from './helpers-da915de8.js';
6
6
 
7
7
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
8
8
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -10,8 +10,8 @@ const LIFECYCLE_WILL_LEAVE = 'ionViewWillLeave';
10
10
  const LIFECYCLE_DID_LEAVE = 'ionViewDidLeave';
11
11
  const LIFECYCLE_WILL_UNLOAD = 'ionViewWillUnload';
12
12
 
13
- const iosTransitionAnimation = () => import('./ios.transition-d1c8eea2.js');
14
- const mdTransitionAnimation = () => import('./md.transition-0d2de76d.js');
13
+ const iosTransitionAnimation = () => import('./ios.transition-71bfa932.js');
14
+ const mdTransitionAnimation = () => import('./md.transition-86aef3c0.js');
15
15
  // TODO(FW-2832): types
16
16
  const transition = (opts) => {
17
17
  return new Promise((resolve, reject) => {
package/dist/esm/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- export { c as createAnimation } from './animation-6a3c0abb.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-136e99c8.js';
6
- export { iosTransitionAnimation } from './ios.transition-d1c8eea2.js';
7
- export { mdTransitionAnimation } from './md.transition-0d2de76d.js';
4
+ export { c as createAnimation } from './animation-eab5a4ca.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-f0d7371a.js';
6
+ export { iosTransitionAnimation } from './ios.transition-71bfa932.js';
7
+ export { mdTransitionAnimation } from './md.transition-86aef3c0.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-39782642.js';
10
- export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-a589c12c.js';
11
- export { c as componentOnReady } from './helpers-eab4f597.js';
10
+ export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-e6c98cd0.js';
11
+ export { c as componentOnReady } from './helpers-da915de8.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-95a691d4.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-d41f74ac.js';
14
+ export { m as menuController } from './index-56d90da9.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-6fb4a2f2.js';
16
16
  import './index-a5d50daf.js';
17
- import './index-5d6a0317.js';
17
+ import './index-bcd8859b.js';
18
18
  import './gesture-controller-314a54f6.js';
19
- import './hardware-back-button-fb295e3a.js';
19
+ import './hardware-back-button-ba8f64c2.js';
20
20
  import './index-9b0d46f4.js';
21
- import './framework-delegate-3dede018.js';
21
+ import './framework-delegate-63d1a679.js';
22
22
 
23
23
  const IonicSlides = (opts) => {
24
24
  const { swiper, extendParams } = opts;
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win, d as doc } from './index-a5d50daf.js';
5
- import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-044b5a86.js';
6
- import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-eab4f597.js';
5
+ import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-5cc724f3.js';
6
+ import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-da915de8.js';
7
7
  import { a as KeyboardResize, K as Keyboard } from './keyboard-73175e24.js';
8
8
  import './index-9b0d46f4.js';
9
9
  import './capacitor-59395cbd.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { r as raf } from './helpers-eab4f597.js';
5
+ import { r as raf } from './helpers-da915de8.js';
6
6
  import { a as printIonError } from './index-9b0d46f4.js';
7
7
 
8
8
  /**
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-5d6a0317.js';
5
- import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-eab4f597.js';
6
- import { l as chevronDown } from './index-f7dc70ba.js';
7
- import { c as config, b as getIonMode } from './ionic-global-a589c12c.js';
4
+ import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-bcd8859b.js';
5
+ import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-da915de8.js';
6
+ import { l as chevronDown } from './index-e2cf2ceb.js';
7
+ import { c as config, b as getIonMode } from './ionic-global-e6c98cd0.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
9
9
 
10
10
  const accordionIosCss = ":host{display:block;position:relative;width:100%;background-color:var(--ion-background-color, #ffffff);overflow:hidden;z-index:0}:host(.accordion-expanding) ::slotted(ion-item[slot=header]),:host(.accordion-expanded) ::slotted(ion-item[slot=header]){--border-width:0px}:host(.accordion-animated){-webkit-transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:all 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}:host(.accordion-animated) #content{-webkit-transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1);transition:max-height 300ms cubic-bezier(0.25, 0.8, 0.5, 1)}#content{overflow:hidden;will-change:max-height}:host(.accordion-collapsing) #content{max-height:0 !important}:host(.accordion-collapsed) #content{display:none}:host(.accordion-expanding) #content{max-height:0}:host(.accordion-expanding) #content-wrapper{overflow:auto}:host(.accordion-disabled) #header,:host(.accordion-readonly) #header,:host(.accordion-disabled) #content,:host(.accordion-readonly) #content{pointer-events:none}:host(.accordion-disabled) #header,:host(.accordion-disabled) #content{opacity:0.4}@media (prefers-reduced-motion: reduce){:host,#content{-webkit-transition:none !important;transition:none !important}}:host(.accordion-next) ::slotted(ion-item[slot=header]){--border-width:0.55px 0px 0.55px 0px}";
@@ -1,21 +1,21 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i as getElement } from './index-5d6a0317.js';
5
- import { c as createButtonActiveGesture } from './button-active-c6e18fac.js';
6
- import { r as raf } from './helpers-eab4f597.js';
4
+ import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i as getElement } from './index-bcd8859b.js';
5
+ import { c as createButtonActiveGesture } from './button-active-46df59c1.js';
6
+ import { r as raf } from './helpers-da915de8.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-d41f74ac.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-6fb4a2f2.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
- import { b as getIonMode } from './ionic-global-a589c12c.js';
11
- import { c as createAnimation } from './animation-6a3c0abb.js';
12
- import './haptic-554688a5.js';
10
+ import { b as getIonMode } from './ionic-global-e6c98cd0.js';
11
+ import { c as createAnimation } from './animation-eab5a4ca.js';
12
+ import './haptic-ac164e4c.js';
13
13
  import './capacitor-59395cbd.js';
14
14
  import './index-a5d50daf.js';
15
15
  import './index-39782642.js';
16
16
  import './gesture-controller-314a54f6.js';
17
- import './hardware-back-button-fb295e3a.js';
18
- import './framework-delegate-3dede018.js';
17
+ import './hardware-back-button-ba8f64c2.js';
18
+ import './framework-delegate-63d1a679.js';
19
19
  import './index-9b0d46f4.js';
20
20
 
21
21
  /**
@@ -293,12 +293,12 @@ const ActionSheet = class {
293
293
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
294
294
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
295
295
  const headerID = `action-sheet-${overlayIndex}-header`;
296
- return (h(Host, Object.assign({ key: 'b81b5301c2544d6474561047fa8f3cf1b27882fb', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
296
+ return (h(Host, Object.assign({ key: 'b640e9730af4bd9ec569884cf203c63102e0ea59', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1" }, htmlAttributes, { style: {
297
297
  zIndex: `${20000 + this.overlayIndex}`,
298
- }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'b98bfa2ed6b6c8f5648f5fe52968c7f79fd3557b', tappable: this.backdropDismiss }), h("div", { key: '15354a41ab7eb1014bb65638dad9daa7c8bf8167', tabindex: "0" }), h("div", { key: 'dff2e93f5f44b5f6488cf2a7da55563ce9a9cfdb', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '25981afc3a174fb44a6d97b4118b3a39792211c8', class: "action-sheet-container" }, h("div", { key: '5a9d5174b3fe7b59e08f8022df8ead909650da53', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { id: headerID, class: {
298
+ }, class: Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'action-sheet-translucent': this.translucent }), onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: 'bcfa5b7ffb5c265ef54caa114e697ada11f20c12', tappable: this.backdropDismiss }), h("div", { key: '207ae95b5365ce1d76170a05bdf8c83c3ba5de42', tabindex: "0" }), h("div", { key: 'bf2b4e8d57c822a4ea2bbe6c34b1b2f2067e4c02', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '9c4841eb03ca1378c5abc1e3aafbbcfaaa43c345', class: "action-sheet-container" }, h("div", { key: 'fa438b8663f5d30852e5967da0471489efa783b2', class: "action-sheet-group", ref: (el) => (this.groupEl = el) }, header !== undefined && (h("div", { key: '2c600f1cd8314d65137fb1bfa180312b4791121a', id: headerID, class: {
299
299
  'action-sheet-title': true,
300
300
  'action-sheet-has-sub-title': this.subHeader !== undefined,
301
- } }, header, this.subHeader && h("div", { class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({}, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", null)))))), h("div", { key: 'b1891248a8269c9077f48cd4af210072daf7c119', tabindex: "0" })));
301
+ } }, header, this.subHeader && h("div", { key: 'a98d6a3f7948733de22a07432e56255f11243b7b', class: "action-sheet-sub-title" }, this.subHeader))), buttons.map((b) => (h("button", Object.assign({}, b.htmlAttributes, { type: "button", id: b.id, class: buttonClass(b), onClick: () => this.buttonClick(b), disabled: b.disabled }), h("span", { class: "action-sheet-button-inner" }, b.icon && h("ion-icon", { icon: b.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" }), b.text), mode === 'md' && h("ion-ripple-effect", null))))), cancelButton && (h("div", { key: '5c5abd0e0b3d486ba2bfe437e28a23b2c7c4c955', class: "action-sheet-group action-sheet-group-cancel" }, h("button", Object.assign({ key: '520a23bbbe6c7436f5bc58bad162d7894b870e54' }, cancelButton.htmlAttributes, { type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }), h("span", { key: '28c90f66786ee82316adc6cfd68d322d2038357d', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: 'fd49fcea260c7addc9b07718eeb02d4fa6e4d900', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: 'c83f636e171fe77635a4fce2b97161447e10546a' })))))), h("div", { key: 'd304920fc7cb006b87542183a3224a7e460abd3d', tabindex: "0" })));
302
302
  }
303
303
  get el() { return getElement(this); }
304
304
  static get watchers() { return {