voyager-ionic-core 8.0.0-beta.2 → 8.0.0-rc.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 (678) hide show
  1. package/components/animation.js +9 -250
  2. package/components/button.js +18 -5
  3. package/components/haptic.js +6 -54
  4. package/components/helpers.js +1 -50
  5. package/components/index7.js +3 -1
  6. package/components/index9.js +5 -34
  7. package/components/ion-datetime-button.js +1 -1
  8. package/components/ion-datetime.js +7 -6
  9. package/components/ion-fab-button.js +2 -2
  10. package/components/ion-fab-list.js +2 -2
  11. package/components/ion-fab.js +2 -2
  12. package/components/ion-footer.js +2 -2
  13. package/components/ion-grid.js +2 -2
  14. package/components/ion-header.js +3 -3
  15. package/components/ion-img.js +1 -1
  16. package/components/ion-infinite-scroll-content.js +2 -2
  17. package/components/ion-infinite-scroll.js +1 -1
  18. package/components/ion-input-password-toggle.d.ts +11 -0
  19. package/components/ion-input-password-toggle.js +132 -0
  20. package/components/ion-input.js +27 -8
  21. package/components/ion-item-divider.js +2 -2
  22. package/components/ion-item-group.js +1 -1
  23. package/components/ion-item-option.js +2 -2
  24. package/components/ion-item-options.js +1 -1
  25. package/components/ion-item-sliding.js +1 -1
  26. package/components/ion-loading.js +2 -2
  27. package/components/ion-menu-button.js +3 -3
  28. package/components/ion-menu-toggle.js +2 -2
  29. package/components/ion-menu.js +2 -2
  30. package/components/ion-modal.js +3 -3
  31. package/components/ion-nav-link.js +1 -1
  32. package/components/ion-nav.js +1 -1
  33. package/components/ion-note.js +2 -2
  34. package/components/ion-picker-legacy.js +2 -2
  35. package/components/ion-progress-bar.js +1 -1
  36. package/components/ion-range.js +11 -24
  37. package/components/ion-refresher-content.js +2 -2
  38. package/components/ion-refresher.js +1 -1
  39. package/components/ion-reorder-group.js +1 -1
  40. package/components/ion-reorder.js +2 -2
  41. package/components/ion-router-link.js +2 -2
  42. package/components/ion-router-outlet.js +1 -1
  43. package/components/ion-router.js +1 -1
  44. package/components/ion-row.js +1 -1
  45. package/components/ion-searchbar.js +7 -7
  46. package/components/ion-segment-button.js +3 -3
  47. package/components/ion-segment.js +2 -2
  48. package/components/ion-select-option.js +1 -1
  49. package/components/ion-select.js +10 -10
  50. package/components/ion-skeleton-text.js +2 -2
  51. package/components/ion-split-pane.js +2 -2
  52. package/components/ion-tab-bar.js +2 -2
  53. package/components/ion-tab-button.js +2 -2
  54. package/components/ion-tab.js +2 -2
  55. package/components/ion-tabs.js +1 -1
  56. package/components/ion-text.js +2 -2
  57. package/components/ion-textarea.js +4 -5
  58. package/components/ion-thumbnail.js +1 -1
  59. package/components/ion-title.js +2 -2
  60. package/components/ion-toast.js +2 -2
  61. package/components/ion-toggle.js +4 -4
  62. package/components/ion-toolbar.js +2 -2
  63. package/components/label.js +2 -2
  64. package/components/list-header.js +2 -2
  65. package/components/list.js +1 -1
  66. package/components/picker-column-option.js +2 -2
  67. package/components/picker-column.js +8 -4
  68. package/components/picker-column2.js +2 -2
  69. package/components/picker.js +2 -2
  70. package/components/popover.js +2 -2
  71. package/components/radio-group.js +1 -1
  72. package/components/radio.js +3 -3
  73. package/components/ripple-effect.js +1 -1
  74. package/components/select-popover.js +1 -1
  75. package/components/spinner.js +1 -1
  76. package/css/palettes/dark.always.css.map +1 -0
  77. package/css/{themes → palettes}/dark.class.css +4 -4
  78. package/css/palettes/dark.class.css.map +1 -0
  79. package/css/palettes/dark.system.css.map +1 -0
  80. package/css/palettes/high-contrast-dark.always.css.map +1 -0
  81. package/css/{themes → palettes}/high-contrast-dark.class.css +10 -10
  82. package/css/palettes/high-contrast-dark.class.css.map +1 -0
  83. package/css/palettes/high-contrast-dark.system.css.map +1 -0
  84. package/css/palettes/high-contrast.always.css.map +1 -0
  85. package/css/{themes → palettes}/high-contrast.class.css +31 -31
  86. package/css/palettes/high-contrast.class.css.map +1 -0
  87. package/css/palettes/high-contrast.system.css.map +1 -0
  88. package/dist/cjs/{animation-3e7bb91e.js → animation-b4fdf128.js} +9 -250
  89. package/dist/cjs/{app-globals-e132c781.js → app-globals-63aebf89.js} +1 -1
  90. package/dist/cjs/{button-active-60ecf64d.js → button-active-bd13859e.js} +2 -2
  91. package/dist/cjs/{framework-delegate-0499d444.js → framework-delegate-55f5683a.js} +1 -1
  92. package/dist/cjs/{haptic-b882e0bb.js → haptic-f6b37aa3.js} +6 -54
  93. package/dist/cjs/{hardware-back-button-1c67a5a2.js → hardware-back-button-ad9299b4.js} +2 -2
  94. package/dist/cjs/{helpers-668b3d95.js → helpers-afaa9001.js} +0 -51
  95. package/dist/cjs/{index-f52c6d38.js → index-073c7cdc.js} +4 -0
  96. package/dist/cjs/{index-c49cb371.js → index-5b6a7459.js} +1 -1
  97. package/dist/cjs/{index-ba7ba0af.js → index-5cf05f94.js} +4 -4
  98. package/dist/cjs/{index-275cc12e.js → index-9509ecad.js} +5 -34
  99. package/dist/cjs/{index-2d21d526.js → index-af6d0fbb.js} +16 -4
  100. package/dist/cjs/{index-e4b6c97e.js → index-ff66cc7c.js} +4 -4
  101. package/dist/cjs/index.cjs.js +11 -11
  102. package/dist/cjs/{input-shims-b419f083.js → input-shims-20d639e6.js} +2 -2
  103. package/dist/cjs/{input.utils-32c0a14a.js → input.utils-611cde0b.js} +1 -1
  104. package/dist/cjs/ion-accordion_2.cjs.entry.js +4 -4
  105. package/dist/cjs/ion-action-sheet.cjs.entry.js +9 -9
  106. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  107. package/dist/cjs/ion-app_8.cjs.entry.js +22 -22
  108. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-back-button.cjs.entry.js +4 -4
  110. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  111. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-button_2.cjs.entry.js +19 -7
  113. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  114. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -3
  115. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  116. package/dist/cjs/ion-col_3.cjs.entry.js +5 -5
  117. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  118. package/dist/cjs/ion-datetime_3.cjs.entry.js +20 -19
  119. package/dist/cjs/ion-fab_3.cjs.entry.js +10 -10
  120. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  121. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  122. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +93 -0
  123. package/dist/cjs/ion-input.cjs.entry.js +30 -12
  124. package/dist/cjs/ion-item-option_3.cjs.entry.js +8 -8
  125. package/dist/cjs/ion-item_8.cjs.entry.js +16 -16
  126. package/dist/cjs/ion-loading.cjs.entry.js +9 -9
  127. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -15
  128. package/dist/cjs/ion-modal.cjs.entry.js +12 -12
  129. package/dist/cjs/ion-nav_2.cjs.entry.js +8 -8
  130. package/dist/cjs/ion-picker-column-option.cjs.entry.js +5 -5
  131. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -8
  132. package/dist/cjs/ion-picker.cjs.entry.js +4 -4
  133. package/dist/cjs/ion-popover.cjs.entry.js +10 -10
  134. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -4
  135. package/dist/cjs/ion-radio_2.cjs.entry.js +7 -7
  136. package/dist/cjs/ion-range.cjs.entry.js +14 -27
  137. package/dist/cjs/ion-refresher_2.cjs.entry.js +9 -9
  138. package/dist/cjs/ion-reorder_2.cjs.entry.js +8 -8
  139. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  140. package/dist/cjs/ion-route_4.cjs.entry.js +5 -5
  141. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -10
  142. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -8
  143. package/dist/cjs/ion-select_3.cjs.entry.js +18 -18
  144. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  145. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  146. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +7 -7
  147. package/dist/cjs/ion-tab_2.cjs.entry.js +6 -6
  148. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  149. package/dist/cjs/ion-textarea.cjs.entry.js +9 -10
  150. package/dist/cjs/ion-toast.cjs.entry.js +9 -9
  151. package/dist/cjs/ion-toggle.cjs.entry.js +8 -8
  152. package/dist/cjs/{ionic-global-5762eca9.js → ionic-global-1adf9bc4.js} +1 -1
  153. package/dist/cjs/ionic.cjs.js +5 -5
  154. package/dist/cjs/{ios.transition-3e119901.js → ios.transition-06673f18.js} +4 -4
  155. package/dist/cjs/loader.cjs.js +4 -4
  156. package/dist/cjs/{md.transition-c1392f92.js → md.transition-4d7bb4b1.js} +4 -4
  157. package/dist/cjs/{notch-controller-08a24f39.js → notch-controller-d69150f5.js} +1 -1
  158. package/dist/cjs/{overlays-44b8d0e0.js → overlays-6487955a.js} +4 -4
  159. package/dist/cjs/{status-tap-32430b3e.js → status-tap-0be20572.js} +3 -3
  160. package/dist/cjs/{swipe-back-b8484483.js → swipe-back-f38a434a.js} +1 -1
  161. package/dist/collection/collection-manifest.json +3 -2
  162. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +1 -1
  163. package/dist/collection/components/alert/test/a11y/alert.e2e.js +5 -1
  164. package/dist/collection/components/alert/test/basic/alert.e2e.js +1 -1
  165. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +1 -1
  166. package/dist/collection/components/badge/test/a11y/badge.e2e.js +1 -1
  167. package/dist/collection/components/button/button.ios.css +32 -10
  168. package/dist/collection/components/button/button.js +19 -2
  169. package/dist/collection/components/button/button.md.css +28 -13
  170. package/dist/collection/components/button/test/a11y/button.e2e.js +2 -2
  171. package/dist/collection/components/button/test/round/button.e2e.js +39 -4
  172. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +1 -1
  173. package/dist/collection/components/datetime/datetime.js +7 -6
  174. package/dist/collection/components/datetime-button/datetime-button.js +1 -1
  175. package/dist/collection/components/fab/fab.js +2 -2
  176. package/dist/collection/components/fab-button/fab-button.js +2 -2
  177. package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +1 -1
  178. package/dist/collection/components/fab-list/fab-list.js +2 -2
  179. package/dist/collection/components/footer/footer.js +2 -2
  180. package/dist/collection/components/grid/grid.js +2 -2
  181. package/dist/collection/components/header/header.ios.css +5 -2
  182. package/dist/collection/components/header/header.js +2 -2
  183. package/dist/collection/components/header/test/basic/header.e2e.js +77 -0
  184. package/dist/collection/components/img/img.js +1 -1
  185. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  186. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  187. package/dist/collection/components/input/input.ios.css +11 -2
  188. package/dist/collection/components/input/input.js +27 -30
  189. package/dist/collection/components/input/input.md.css +11 -2
  190. package/dist/collection/components/input/test/a11y/input.e2e.js +1 -1
  191. package/dist/collection/components/input/test/slot/input.e2e.js +8 -0
  192. package/dist/collection/components/input-password-toggle/input-password-toggle.css +0 -0
  193. package/dist/collection/components/input-password-toggle/input-password-toggle.js +183 -0
  194. package/dist/collection/components/input-password-toggle/test/a11y/input-password-toggle.e2e.js +21 -0
  195. package/dist/collection/components/input-password-toggle/test/basic/input-password-toggle.e2e.js +38 -0
  196. package/dist/collection/components/input-password-toggle/test/input-password-toggle.spec.js +76 -0
  197. package/dist/collection/components/item/test/buttons/item.e2e.js +20 -4
  198. package/dist/collection/components/item-divider/item-divider.js +2 -2
  199. package/dist/collection/components/item-group/item-group.js +1 -1
  200. package/dist/collection/components/item-option/item-option.js +2 -2
  201. package/dist/collection/components/item-options/item-options.js +1 -1
  202. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  203. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +1 -1
  204. package/dist/collection/components/label/label.js +2 -2
  205. package/dist/collection/components/label/test/a11y/label.e2e.js +1 -1
  206. package/dist/collection/components/list/list.js +1 -1
  207. package/dist/collection/components/list-header/list-header.js +2 -2
  208. package/dist/collection/components/loading/loading.js +2 -2
  209. package/dist/collection/components/loading/test/a11y/loading.e2e.js +1 -1
  210. package/dist/collection/components/menu/menu.js +2 -2
  211. package/dist/collection/components/menu-button/menu-button.js +2 -2
  212. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +1 -1
  213. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  214. package/dist/collection/components/modal/modal.js +3 -3
  215. package/dist/collection/components/nav/nav.js +1 -1
  216. package/dist/collection/components/nav-link/nav-link.js +1 -1
  217. package/dist/collection/components/note/note.js +2 -2
  218. package/dist/collection/components/picker/picker.js +2 -2
  219. package/dist/collection/components/picker-column/picker-column.js +8 -4
  220. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  221. package/dist/collection/components/picker-legacy/picker.js +2 -2
  222. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  223. package/dist/collection/components/popover/popover.js +2 -2
  224. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  225. package/dist/collection/components/progress-bar/test/a11y/progress-bar.e2e.js +1 -1
  226. package/dist/collection/components/radio/radio.js +3 -3
  227. package/dist/collection/components/radio/test/a11y/radio.e2e.js +1 -1
  228. package/dist/collection/components/radio-group/radio-group.js +1 -1
  229. package/dist/collection/components/range/range.js +11 -24
  230. package/dist/collection/components/range/test/a11y/range.e2e.js +1 -1
  231. package/dist/collection/components/range/test/label/range.spec.js +24 -0
  232. package/dist/collection/components/refresher/refresher.js +1 -1
  233. package/dist/collection/components/refresher/test/a11y/refresher.e2e.js +1 -1
  234. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  235. package/dist/collection/components/reorder/reorder.js +1 -1
  236. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  237. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  238. package/dist/collection/components/router-link/router-link.js +2 -2
  239. package/dist/collection/components/router-link/test/a11y/router-link.e2e.js +1 -1
  240. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  241. package/dist/collection/components/row/row.js +1 -1
  242. package/dist/collection/components/searchbar/searchbar.js +10 -9
  243. package/dist/collection/components/segment/segment.js +2 -2
  244. package/dist/collection/components/segment/test/a11y/segment.e2e.js +1 -1
  245. package/dist/collection/components/segment-button/segment-button.js +3 -3
  246. package/dist/collection/components/select/select.ios.css +2 -2
  247. package/dist/collection/components/select/select.js +7 -7
  248. package/dist/collection/components/select/select.md.css +2 -2
  249. package/dist/collection/components/select/test/a11y/select.e2e.js +1 -1
  250. package/dist/collection/components/select/test/select.spec.js +22 -0
  251. package/dist/collection/components/select/test/slot/select.e2e.js +8 -0
  252. package/dist/collection/components/select-option/select-option.js +1 -1
  253. package/dist/collection/components/select-popover/select-popover.js +1 -1
  254. package/dist/collection/components/select-popover/test/a11y/select-popover.e2e.js +1 -1
  255. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  256. package/dist/collection/components/spinner/spinner.js +1 -1
  257. package/dist/collection/components/split-pane/split-pane.js +2 -2
  258. package/dist/collection/components/tab/tab.js +2 -2
  259. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  260. package/dist/collection/components/tab-button/tab-button.js +2 -2
  261. package/dist/collection/components/tabs/tabs.js +1 -1
  262. package/dist/collection/components/text/text.js +2 -2
  263. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +1 -1
  264. package/dist/collection/components/textarea/test/slot/textarea.e2e.js +8 -0
  265. package/dist/collection/components/textarea/textarea.ios.css +2 -2
  266. package/dist/collection/components/textarea/textarea.js +2 -26
  267. package/dist/collection/components/textarea/textarea.md.css +2 -2
  268. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  269. package/dist/collection/components/title/title.js +2 -2
  270. package/dist/collection/components/toast/test/a11y/toast.e2e.js +2 -2
  271. package/dist/collection/components/toast/toast.js +2 -2
  272. package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +1 -1
  273. package/dist/collection/components/toggle/toggle.js +4 -4
  274. package/dist/collection/components/toolbar/toolbar.js +2 -2
  275. package/dist/collection/css/test/a11y/typography.e2e.js +1 -1
  276. package/dist/collection/themes/test/colors/theme.e2e.js +2 -2
  277. package/dist/collection/utils/animation/animation-utils.js +0 -102
  278. package/dist/collection/utils/animation/animation.js +10 -141
  279. package/dist/collection/utils/animation/test/animation.spec.js +0 -89
  280. package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +0 -4
  281. package/dist/collection/utils/animation/test/basic/animation.e2e.js +0 -4
  282. package/dist/collection/utils/animation/test/display/animation.e2e.js +0 -4
  283. package/dist/collection/utils/animation/test/hooks/animation.e2e.js +0 -4
  284. package/dist/collection/utils/animation/test/multiple/animation.e2e.js +0 -7
  285. package/dist/collection/utils/helpers.js +0 -46
  286. package/dist/collection/utils/native/haptic.js +6 -54
  287. package/dist/collection/utils/tap-click/index.js +5 -34
  288. package/dist/collection/utils/test/playwright/generator.js +17 -17
  289. package/dist/collection/utils/test/playwright/page/utils/set-content.js +6 -6
  290. package/dist/docs.json +211 -36
  291. package/dist/esm/{animation-9a23ed8d.js → animation-eab5a4ca.js} +9 -250
  292. package/dist/esm/{app-globals-80842d68.js → app-globals-b8e5e7fa.js} +1 -1
  293. package/dist/esm/{button-active-c6e18fac.js → button-active-a411da52.js} +2 -2
  294. package/dist/esm/{framework-delegate-3fd96df8.js → framework-delegate-63d1a679.js} +1 -1
  295. package/dist/esm/{haptic-554688a5.js → haptic-ac164e4c.js} +6 -54
  296. package/dist/esm/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +2 -2
  297. package/dist/esm/{helpers-f51cf76f.js → helpers-da915de8.js} +1 -50
  298. package/dist/esm/{index-9d7e5d3e.js → index-10916999.js} +4 -4
  299. package/dist/esm/{index-86688780.js → index-5cc724f3.js} +1 -1
  300. package/dist/esm/{index-5d6a0317.js → index-6e4709ff.js} +16 -4
  301. package/dist/esm/{index-1262064c.js → index-79b30591.js} +5 -34
  302. package/dist/esm/{index-f7dc70ba.js → index-e2cf2ceb.js} +3 -1
  303. package/dist/esm/{index-6da05eef.js → index-f1f5de26.js} +4 -4
  304. package/dist/esm/index.js +11 -11
  305. package/dist/esm/{input-shims-2a4ad5a1.js → input-shims-4530285e.js} +2 -2
  306. package/dist/esm/{input.utils-d2dee48e.js → input.utils-09c71bc7.js} +1 -1
  307. package/dist/esm/ion-accordion_2.entry.js +4 -4
  308. package/dist/esm/ion-action-sheet.entry.js +9 -9
  309. package/dist/esm/ion-alert.entry.js +9 -9
  310. package/dist/esm/ion-app_8.entry.js +22 -22
  311. package/dist/esm/ion-avatar_3.entry.js +3 -3
  312. package/dist/esm/ion-back-button.entry.js +4 -4
  313. package/dist/esm/ion-backdrop.entry.js +2 -2
  314. package/dist/esm/ion-breadcrumb_2.entry.js +4 -4
  315. package/dist/esm/ion-button_2.entry.js +19 -7
  316. package/dist/esm/ion-card_5.entry.js +3 -3
  317. package/dist/esm/ion-checkbox.entry.js +3 -3
  318. package/dist/esm/ion-chip.entry.js +2 -2
  319. package/dist/esm/ion-col_3.entry.js +5 -5
  320. package/dist/esm/ion-datetime-button.entry.js +4 -4
  321. package/dist/esm/ion-datetime_3.entry.js +20 -19
  322. package/dist/esm/ion-fab_3.entry.js +10 -10
  323. package/dist/esm/ion-img.entry.js +4 -4
  324. package/dist/esm/ion-infinite-scroll_2.entry.js +7 -7
  325. package/dist/esm/ion-input-password-toggle.entry.js +89 -0
  326. package/dist/esm/ion-input.entry.js +30 -12
  327. package/dist/esm/ion-item-option_3.entry.js +8 -8
  328. package/dist/esm/ion-item_8.entry.js +16 -16
  329. package/dist/esm/ion-loading.entry.js +9 -9
  330. package/dist/esm/ion-menu_3.entry.js +15 -15
  331. package/dist/esm/ion-modal.entry.js +12 -12
  332. package/dist/esm/ion-nav_2.entry.js +8 -8
  333. package/dist/esm/ion-picker-column-option.entry.js +5 -5
  334. package/dist/esm/ion-picker-column.entry.js +12 -8
  335. package/dist/esm/ion-picker.entry.js +4 -4
  336. package/dist/esm/ion-popover.entry.js +10 -10
  337. package/dist/esm/ion-progress-bar.entry.js +4 -4
  338. package/dist/esm/ion-radio_2.entry.js +7 -7
  339. package/dist/esm/ion-range.entry.js +14 -27
  340. package/dist/esm/ion-refresher_2.entry.js +9 -9
  341. package/dist/esm/ion-reorder_2.entry.js +8 -8
  342. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  343. package/dist/esm/ion-route_4.entry.js +5 -5
  344. package/dist/esm/ion-searchbar.entry.js +10 -10
  345. package/dist/esm/ion-segment_2.entry.js +8 -8
  346. package/dist/esm/ion-select_3.entry.js +18 -18
  347. package/dist/esm/ion-spinner.entry.js +3 -3
  348. package/dist/esm/ion-split-pane.entry.js +4 -4
  349. package/dist/esm/ion-tab-bar_2.entry.js +7 -7
  350. package/dist/esm/ion-tab_2.entry.js +6 -6
  351. package/dist/esm/ion-text.entry.js +4 -4
  352. package/dist/esm/ion-textarea.entry.js +9 -10
  353. package/dist/esm/ion-toast.entry.js +9 -9
  354. package/dist/esm/ion-toggle.entry.js +8 -8
  355. package/dist/esm/{ionic-global-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
  356. package/dist/esm/ionic.js +6 -6
  357. package/dist/esm/{ios.transition-fbde96b0.js → ios.transition-8e181a7e.js} +4 -4
  358. package/dist/esm/loader.js +5 -5
  359. package/dist/esm/{md.transition-76e0020b.js → md.transition-f1c3c737.js} +4 -4
  360. package/dist/esm/{notch-controller-00572cf8.js → notch-controller-55b09e11.js} +1 -1
  361. package/dist/esm/{overlays-b1ac1c63.js → overlays-9472c98b.js} +4 -4
  362. package/dist/esm/{status-tap-84b41f36.js → status-tap-39da9160.js} +3 -3
  363. package/dist/esm/{swipe-back-4f2e5d47.js → swipe-back-b613d7db.js} +1 -1
  364. package/dist/esm-es5/animation-eab5a4ca.js +4 -0
  365. package/dist/esm-es5/app-globals-b8e5e7fa.js +4 -0
  366. package/dist/esm-es5/{button-active-c6e18fac.js → button-active-a411da52.js} +1 -1
  367. package/dist/esm-es5/framework-delegate-63d1a679.js +4 -0
  368. package/dist/esm-es5/haptic-ac164e4c.js +4 -0
  369. package/dist/esm-es5/{hardware-back-button-fb295e3a.js → hardware-back-button-329c81fd.js} +1 -1
  370. package/dist/esm-es5/helpers-da915de8.js +4 -0
  371. package/dist/esm-es5/index-10916999.js +4 -0
  372. package/dist/esm-es5/{index-86688780.js → index-5cc724f3.js} +1 -1
  373. package/dist/esm-es5/index-6e4709ff.js +5 -0
  374. package/dist/esm-es5/index-79b30591.js +4 -0
  375. package/dist/esm-es5/{index-f7dc70ba.js → index-e2cf2ceb.js} +1 -1
  376. package/dist/esm-es5/{index-6da05eef.js → index-f1f5de26.js} +1 -1
  377. package/dist/esm-es5/index.js +1 -1
  378. package/dist/esm-es5/input-shims-4530285e.js +4 -0
  379. package/dist/esm-es5/{input.utils-d2dee48e.js → input.utils-09c71bc7.js} +1 -1
  380. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  381. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  382. package/dist/esm-es5/ion-alert.entry.js +1 -1
  383. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  384. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  385. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  386. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  387. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  388. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  389. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  390. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  391. package/dist/esm-es5/ion-chip.entry.js +1 -1
  392. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  393. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  394. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  395. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  396. package/dist/esm-es5/ion-img.entry.js +1 -1
  397. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  398. package/dist/esm-es5/ion-input-password-toggle.entry.js +4 -0
  399. package/dist/esm-es5/ion-input.entry.js +1 -1
  400. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  401. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  402. package/dist/esm-es5/ion-loading.entry.js +1 -1
  403. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  404. package/dist/esm-es5/ion-modal.entry.js +1 -1
  405. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  406. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  407. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  408. package/dist/esm-es5/ion-picker.entry.js +1 -1
  409. package/dist/esm-es5/ion-popover.entry.js +1 -1
  410. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  411. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  412. package/dist/esm-es5/ion-range.entry.js +1 -1
  413. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  414. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  415. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  416. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  417. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  418. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  419. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  420. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  421. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  422. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  423. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  424. package/dist/esm-es5/ion-text.entry.js +1 -1
  425. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  426. package/dist/esm-es5/ion-toast.entry.js +1 -1
  427. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  428. package/dist/esm-es5/{ionic-global-a589c12c.js → ionic-global-c4e0c089.js} +1 -1
  429. package/dist/esm-es5/ionic.js +1 -1
  430. package/dist/esm-es5/{ios.transition-fbde96b0.js → ios.transition-8e181a7e.js} +1 -1
  431. package/dist/esm-es5/loader.js +1 -1
  432. package/dist/esm-es5/md.transition-f1c3c737.js +4 -0
  433. package/dist/esm-es5/{notch-controller-00572cf8.js → notch-controller-55b09e11.js} +1 -1
  434. package/dist/esm-es5/{overlays-b1ac1c63.js → overlays-9472c98b.js} +1 -1
  435. package/dist/esm-es5/{status-tap-84b41f36.js → status-tap-39da9160.js} +1 -1
  436. package/dist/esm-es5/{swipe-back-4f2e5d47.js → swipe-back-b613d7db.js} +1 -1
  437. package/dist/html.html-data.json +87 -19
  438. package/dist/ionic/index.esm.js +1 -1
  439. package/dist/ionic/ionic.esm.js +1 -1
  440. package/dist/ionic/ionic.js +1 -1
  441. package/dist/ionic/{p-f15b0bbc.system.entry.js → p-04070329.system.entry.js} +1 -1
  442. package/dist/ionic/p-049fa018.system.entry.js +4 -0
  443. package/dist/ionic/{p-4ba6d7d1.js → p-06e58c4e.js} +1 -1
  444. package/dist/ionic/{p-f8dfae89.system.entry.js → p-07ae133d.system.entry.js} +1 -1
  445. package/dist/ionic/p-0aa4682e.entry.js +4 -0
  446. package/dist/ionic/{p-2028668d.system.entry.js → p-0bbb6edf.system.entry.js} +1 -1
  447. package/dist/ionic/{p-8dfe436d.system.js → p-0c06e09b.system.js} +1 -1
  448. package/dist/ionic/p-0de546bb.entry.js +4 -0
  449. package/dist/ionic/{p-6d75fbe8.system.entry.js → p-0ebb1fe7.system.entry.js} +1 -1
  450. package/dist/ionic/p-0f2d99a6.entry.js +4 -0
  451. package/dist/ionic/p-100bedc4.system.entry.js +4 -0
  452. package/dist/ionic/{p-91567c90.system.entry.js → p-105f7d62.system.entry.js} +1 -1
  453. package/dist/ionic/{p-ff740d68.system.entry.js → p-1672c4fd.system.entry.js} +2 -2
  454. package/dist/ionic/{p-d85eebc3.entry.js → p-17978fce.entry.js} +1 -1
  455. package/dist/ionic/{p-0eb381c3.system.js → p-184fbc9e.system.js} +1 -1
  456. package/dist/ionic/{p-3944820a.system.js → p-19ea7bff.system.js} +1 -1
  457. package/dist/ionic/{p-7200f2da.entry.js → p-1b235142.entry.js} +1 -1
  458. package/dist/ionic/{p-21e88629.entry.js → p-1cff9cad.entry.js} +1 -1
  459. package/dist/ionic/p-1e955a45.system.js +4 -0
  460. package/dist/ionic/{p-234dc736.entry.js → p-1f9cdee2.entry.js} +1 -1
  461. package/dist/ionic/p-23b89985.entry.js +4 -0
  462. package/dist/ionic/{p-53c592ec.system.js → p-25575222.system.js} +1 -1
  463. package/dist/ionic/{p-ea5173f9.system.js → p-266fc56e.system.js} +1 -1
  464. package/dist/ionic/p-2e12bda2.entry.js +4 -0
  465. package/dist/ionic/{p-a5c33d6b.system.entry.js → p-2f6cedaf.system.entry.js} +1 -1
  466. package/dist/ionic/{p-78b3da77.js → p-3040730e.js} +1 -1
  467. package/dist/ionic/{p-75addf49.entry.js → p-3391d9a3.entry.js} +1 -1
  468. package/dist/ionic/{p-4da2ae44.js → p-34b11c24.js} +1 -1
  469. package/dist/ionic/{p-f6db2e96.system.entry.js → p-352f7037.system.entry.js} +2 -2
  470. package/dist/ionic/{p-5054b3db.entry.js → p-35b9e842.entry.js} +1 -1
  471. package/dist/ionic/p-3ad285e3.system.js +4 -0
  472. package/dist/ionic/{p-95648db9.entry.js → p-3c70b01b.entry.js} +1 -1
  473. package/dist/ionic/{p-46a4e4e8.js → p-3cc276f4.js} +1 -1
  474. package/dist/ionic/{p-566818dd.system.entry.js → p-3d6e882f.system.entry.js} +1 -1
  475. package/dist/ionic/{p-2e2635b4.system.entry.js → p-3e3b34f7.system.entry.js} +1 -1
  476. package/dist/ionic/{p-0da58e53.entry.js → p-3f70bfba.entry.js} +1 -1
  477. package/dist/ionic/{p-a43fbe0a.system.entry.js → p-43505ff8.system.entry.js} +1 -1
  478. package/dist/ionic/{p-f012e8f2.system.entry.js → p-4429fc97.system.entry.js} +1 -1
  479. package/dist/ionic/{p-2c560619.system.entry.js → p-4511ba0e.system.entry.js} +1 -1
  480. package/dist/ionic/p-46111310.js +4 -0
  481. package/dist/ionic/p-46f407f0.system.js +4 -0
  482. package/dist/ionic/p-49b6fee0.system.entry.js +4 -0
  483. package/dist/ionic/{p-eb546888.entry.js → p-4a615fea.entry.js} +1 -1
  484. package/dist/ionic/{p-f3e8c505.system.js → p-4dd82d9d.system.js} +1 -1
  485. package/dist/ionic/{p-696db6f4.system.js → p-5033128d.system.js} +2 -2
  486. package/dist/ionic/{p-0afaf65b.system.entry.js → p-510578f3.system.entry.js} +1 -1
  487. package/dist/ionic/{p-7162350a.system.entry.js → p-51b68ec9.system.entry.js} +1 -1
  488. package/dist/ionic/{p-42d9f81e.entry.js → p-51ff648c.entry.js} +1 -1
  489. package/dist/ionic/p-546433d2.js +4 -0
  490. package/dist/ionic/{p-3a572692.js → p-54f76ced.js} +1 -1
  491. package/dist/ionic/{p-66e50777.entry.js → p-56c3b69c.entry.js} +1 -1
  492. package/dist/ionic/p-58ea73f7.system.entry.js +4 -0
  493. package/dist/ionic/p-596e0cf8.system.entry.js +4 -0
  494. package/dist/ionic/p-5ae49f12.entry.js +4 -0
  495. package/dist/ionic/{p-ba9120fe.system.entry.js → p-5b1273f4.system.entry.js} +2 -2
  496. package/dist/ionic/p-5d3f6707.entry.js +4 -0
  497. package/dist/ionic/{p-e5e492d8.entry.js → p-5da04d11.entry.js} +1 -1
  498. package/dist/ionic/p-5e7c32e8.system.entry.js +4 -0
  499. package/dist/ionic/p-65d26d94.system.entry.js +4 -0
  500. package/dist/ionic/{p-cada6331.entry.js → p-6744e460.entry.js} +1 -1
  501. package/dist/ionic/{p-d09c9468.system.entry.js → p-68a1e274.system.entry.js} +1 -1
  502. package/dist/ionic/{p-031c5621.js → p-6994c97a.js} +1 -1
  503. package/dist/ionic/p-69bc14fd.entry.js +4 -0
  504. package/dist/ionic/p-6a7eac5a.js +4 -0
  505. package/dist/ionic/p-6f4db5ce.system.entry.js +4 -0
  506. package/dist/ionic/{p-30dfa360.system.js → p-71215c1d.system.js} +1 -1
  507. package/dist/ionic/{p-063c093d.system.entry.js → p-71688099.system.entry.js} +1 -1
  508. package/dist/ionic/{p-d9dfdbb5.system.entry.js → p-716ab5f8.system.entry.js} +1 -1
  509. package/dist/ionic/p-72812e99.js +4 -0
  510. package/dist/ionic/p-74a9cafe.system.js +5 -0
  511. package/dist/ionic/{p-b996756b.entry.js → p-75280815.entry.js} +1 -1
  512. package/dist/ionic/{p-eee87ebb.js → p-75cddcc9.js} +1 -1
  513. package/dist/ionic/{p-5f9abba8.system.entry.js → p-76907c2f.system.entry.js} +1 -1
  514. package/dist/ionic/p-7d9eefb3.system.js +4 -0
  515. package/dist/ionic/p-7df2c495.entry.js +4 -0
  516. package/dist/ionic/p-7fc505bf.entry.js +4 -0
  517. package/dist/ionic/p-83321ee8.entry.js +4 -0
  518. package/dist/ionic/p-8635f5e6.system.js +4 -0
  519. package/dist/ionic/{p-da5bbd4f.entry.js → p-88cff52d.entry.js} +1 -1
  520. package/dist/ionic/{p-19243ae6.entry.js → p-896111fa.entry.js} +1 -1
  521. package/dist/ionic/p-89b61afc.js +4 -0
  522. package/dist/ionic/{p-824d44c5.system.entry.js → p-8bd567ba.system.entry.js} +1 -1
  523. package/dist/ionic/{p-1acaf641.entry.js → p-8e9ac22d.entry.js} +1 -1
  524. package/dist/ionic/p-9146695e.system.js +4 -0
  525. package/dist/ionic/{p-314ae72a.js → p-96cc4814.js} +1 -1
  526. package/dist/ionic/{p-65374504.entry.js → p-99daf8b7.entry.js} +1 -1
  527. package/dist/ionic/p-9ad82dba.js +5 -0
  528. package/dist/ionic/{p-af9256a0.system.js → p-9d7fc908.system.js} +1 -1
  529. package/dist/ionic/{p-ce36d285.system.js → p-9ea607bd.system.js} +1 -1
  530. package/dist/ionic/p-a15ddedb.system.js +4 -0
  531. package/dist/ionic/{p-f15f8140.system.entry.js → p-a1b4e619.system.entry.js} +1 -1
  532. package/dist/ionic/{p-45a2b1ee.system.entry.js → p-a1f9f629.system.entry.js} +1 -1
  533. package/dist/ionic/{p-7c7e495d.system.js → p-a7ba2dcc.system.js} +1 -1
  534. package/dist/ionic/p-a88fdfac.entry.js +4 -0
  535. package/dist/ionic/{p-01171ead.system.js → p-a8f02173.system.js} +1 -1
  536. package/dist/ionic/p-a93873de.system.js +4 -0
  537. package/dist/ionic/{p-c834c535.system.entry.js → p-aa110ca0.system.entry.js} +1 -1
  538. package/dist/ionic/{p-50d19fc7.system.entry.js → p-aa4f2703.system.entry.js} +1 -1
  539. package/dist/ionic/{p-9c970454.entry.js → p-ab85debb.entry.js} +1 -1
  540. package/dist/ionic/{p-a37d4fe9.system.entry.js → p-ac4e2a74.system.entry.js} +1 -1
  541. package/dist/ionic/p-ac9f44a8.system.entry.js +4 -0
  542. package/dist/ionic/p-b51e4004.js +4 -0
  543. package/dist/ionic/{p-c8f7f923.entry.js → p-b689b8d4.entry.js} +1 -1
  544. package/dist/ionic/p-b7af48c0.js +4 -0
  545. package/dist/ionic/p-bb835b4d.system.entry.js +4 -0
  546. package/dist/ionic/{p-d3c1c23f.entry.js → p-c04d5a75.entry.js} +1 -1
  547. package/dist/ionic/{p-acd64713.system.entry.js → p-c198e1e1.system.entry.js} +1 -1
  548. package/dist/ionic/{p-c4390f10.system.entry.js → p-c1d1d004.system.entry.js} +1 -1
  549. package/dist/ionic/{p-239906f1.js → p-c222f76a.js} +1 -1
  550. package/dist/ionic/{p-03f3ebd2.entry.js → p-c41af68a.entry.js} +1 -1
  551. package/dist/ionic/p-c7e16491.js +4 -0
  552. package/dist/ionic/p-c80d05c9.js +4 -0
  553. package/dist/ionic/{p-0b175848.entry.js → p-c8510ca2.entry.js} +1 -1
  554. package/dist/ionic/{p-2070f8d8.entry.js → p-c8f2b769.entry.js} +1 -1
  555. package/dist/ionic/{p-8c0b08db.entry.js → p-c99ccdc9.entry.js} +1 -1
  556. package/dist/ionic/{p-15e2ff5f.system.entry.js → p-c9c39c98.system.entry.js} +1 -1
  557. package/dist/ionic/{p-070cf7c3.entry.js → p-cae889f9.entry.js} +1 -1
  558. package/dist/ionic/{p-9e3177a5.system.js → p-d2544865.system.js} +1 -1
  559. package/dist/ionic/{p-219c17cf.system.entry.js → p-d5f48185.system.entry.js} +1 -1
  560. package/dist/ionic/{p-4997d7dc.system.js → p-d79542bd.system.js} +1 -1
  561. package/dist/ionic/p-d8067ea4.system.entry.js +4 -0
  562. package/dist/ionic/p-d8f66669.entry.js +4 -0
  563. package/dist/ionic/{p-48fef2f1.entry.js → p-d98c0112.entry.js} +1 -1
  564. package/dist/ionic/p-da2b833b.js +4 -0
  565. package/dist/ionic/p-dc1372e0.entry.js +4 -0
  566. package/dist/ionic/{p-4d6ec139.entry.js → p-df48edd6.entry.js} +1 -1
  567. package/dist/ionic/{p-de4c700f.entry.js → p-df6fa126.entry.js} +1 -1
  568. package/dist/ionic/{p-66596659.entry.js → p-e8a0e731.entry.js} +1 -1
  569. package/dist/ionic/{p-513abaf6.system.entry.js → p-ea2c16b5.system.entry.js} +2 -2
  570. package/dist/ionic/p-ea4be6ac.system.js +4 -0
  571. package/dist/ionic/{p-b0850af6.system.entry.js → p-eb3da535.system.entry.js} +1 -1
  572. package/dist/ionic/{p-07a0190a.system.entry.js → p-ec2d3928.system.entry.js} +1 -1
  573. package/dist/ionic/p-f0392d49.entry.js +4 -0
  574. package/dist/ionic/{p-144ae947.js → p-f4cb521c.js} +1 -1
  575. package/dist/ionic/{p-a7f788ec.entry.js → p-f818b01a.entry.js} +1 -1
  576. package/dist/ionic/p-f94cbfe9.js +4 -0
  577. package/dist/ionic/{p-739f8b95.system.entry.js → p-fab4ecad.system.entry.js} +1 -1
  578. package/dist/ionic/p-fb02eeec.system.entry.js +4 -0
  579. package/dist/ionic/{p-237b1791.system.entry.js → p-fb97326f.system.entry.js} +1 -1
  580. package/dist/ionic/{p-e222fdd1.entry.js → p-fbd30ec7.entry.js} +1 -1
  581. package/dist/ionic/{p-de39f314.entry.js → p-fda4872f.entry.js} +1 -1
  582. package/dist/ionic/{p-25648922.system.entry.js → p-ff2323ba.system.entry.js} +1 -1
  583. package/dist/types/components/button/button.d.ts +5 -0
  584. package/dist/types/components/datetime/datetime.d.ts +1 -0
  585. package/dist/types/components/input/input.d.ts +7 -6
  586. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +37 -0
  587. package/dist/types/components/modal/animations/sheet.d.ts +4 -4
  588. package/dist/types/components/refresher/refresher.utils.d.ts +2 -2
  589. package/dist/types/components/searchbar/searchbar.d.ts +0 -14
  590. package/dist/types/components/textarea/textarea.d.ts +1 -6
  591. package/dist/types/components/toggle/toggle.d.ts +1 -1
  592. package/dist/types/components.d.ts +49 -5
  593. package/dist/types/utils/animation/animation-utils.d.ts +0 -12
  594. package/dist/types/utils/focus-trap.d.ts +2 -2
  595. package/dist/types/utils/helpers.d.ts +0 -18
  596. package/dist/types/utils/overlays.d.ts +2 -2
  597. package/dist/types/utils/test/playwright/generator.d.ts +3 -3
  598. package/hydrate/index.js +335 -535
  599. package/package.json +7 -2
  600. package/css/themes/dark.always.css.map +0 -1
  601. package/css/themes/dark.class.css.map +0 -1
  602. package/css/themes/dark.system.css.map +0 -1
  603. package/css/themes/high-contrast-dark.always.css.map +0 -1
  604. package/css/themes/high-contrast-dark.class.css.map +0 -1
  605. package/css/themes/high-contrast-dark.system.css.map +0 -1
  606. package/css/themes/high-contrast.always.css.map +0 -1
  607. package/css/themes/high-contrast.class.css.map +0 -1
  608. package/css/themes/high-contrast.system.css.map +0 -1
  609. package/dist/collection/utils/test/aria.spec.js +0 -80
  610. package/dist/esm-es5/animation-9a23ed8d.js +0 -4
  611. package/dist/esm-es5/app-globals-80842d68.js +0 -4
  612. package/dist/esm-es5/framework-delegate-3fd96df8.js +0 -4
  613. package/dist/esm-es5/haptic-554688a5.js +0 -4
  614. package/dist/esm-es5/helpers-f51cf76f.js +0 -4
  615. package/dist/esm-es5/index-1262064c.js +0 -4
  616. package/dist/esm-es5/index-5d6a0317.js +0 -5
  617. package/dist/esm-es5/index-9d7e5d3e.js +0 -4
  618. package/dist/esm-es5/input-shims-2a4ad5a1.js +0 -4
  619. package/dist/esm-es5/md.transition-76e0020b.js +0 -4
  620. package/dist/ionic/p-04f9ce05.system.js +0 -4
  621. package/dist/ionic/p-06e951a9.entry.js +0 -4
  622. package/dist/ionic/p-1d1394da.system.entry.js +0 -4
  623. package/dist/ionic/p-1e5c0c49.js +0 -4
  624. package/dist/ionic/p-29ecf879.entry.js +0 -4
  625. package/dist/ionic/p-2f53f47a.entry.js +0 -4
  626. package/dist/ionic/p-33e39575.system.js +0 -4
  627. package/dist/ionic/p-355736ea.js +0 -4
  628. package/dist/ionic/p-373e757d.entry.js +0 -4
  629. package/dist/ionic/p-39483fc9.js +0 -4
  630. package/dist/ionic/p-39860681.entry.js +0 -4
  631. package/dist/ionic/p-42f189f4.js +0 -4
  632. package/dist/ionic/p-493bce1f.entry.js +0 -4
  633. package/dist/ionic/p-49a205d0.system.js +0 -4
  634. package/dist/ionic/p-4d7230bd.system.entry.js +0 -4
  635. package/dist/ionic/p-517b76cb.entry.js +0 -4
  636. package/dist/ionic/p-51b1a6be.js +0 -4
  637. package/dist/ionic/p-59e86adb.js +0 -4
  638. package/dist/ionic/p-6042920d.system.entry.js +0 -4
  639. package/dist/ionic/p-667290b0.system.js +0 -4
  640. package/dist/ionic/p-67dbcd3b.system.js +0 -4
  641. package/dist/ionic/p-69df28fd.entry.js +0 -4
  642. package/dist/ionic/p-6d0e7669.system.entry.js +0 -4
  643. package/dist/ionic/p-6d1f5de9.system.entry.js +0 -4
  644. package/dist/ionic/p-7d4f6f18.js +0 -4
  645. package/dist/ionic/p-831269de.js +0 -4
  646. package/dist/ionic/p-a03c993e.entry.js +0 -4
  647. package/dist/ionic/p-b0d35de4.system.js +0 -4
  648. package/dist/ionic/p-bb78b64e.entry.js +0 -4
  649. package/dist/ionic/p-bbc4f653.entry.js +0 -4
  650. package/dist/ionic/p-c34d1515.js +0 -4
  651. package/dist/ionic/p-c629d22b.system.js +0 -5
  652. package/dist/ionic/p-c8675b7b.system.entry.js +0 -4
  653. package/dist/ionic/p-c962e9ea.entry.js +0 -4
  654. package/dist/ionic/p-c995da88.system.js +0 -4
  655. package/dist/ionic/p-cc19ecba.system.entry.js +0 -4
  656. package/dist/ionic/p-d10bbab7.entry.js +0 -4
  657. package/dist/ionic/p-d268f7e2.system.entry.js +0 -4
  658. package/dist/ionic/p-d4be0d81.system.entry.js +0 -4
  659. package/dist/ionic/p-d5ef3a0a.entry.js +0 -4
  660. package/dist/ionic/p-dad515dc.js +0 -4
  661. package/dist/ionic/p-dfb6de03.system.js +0 -4
  662. package/dist/ionic/p-e01ebeba.system.js +0 -4
  663. package/dist/ionic/p-e9412fe7.system.entry.js +0 -4
  664. package/dist/ionic/p-f5cb9689.js +0 -4
  665. package/dist/ionic/p-f8502e85.js +0 -5
  666. package/dist/ionic/p-fcec3b7a.system.entry.js +0 -4
  667. package/css/{themes → palettes}/dark.always.css +0 -0
  668. package/css/{themes → palettes}/dark.css +0 -0
  669. package/css/{themes → palettes}/dark.css.map +0 -0
  670. package/css/{themes → palettes}/dark.system.css +0 -0
  671. package/css/{themes → palettes}/high-contrast-dark.always.css +1 -1
  672. package/css/{themes → palettes}/high-contrast-dark.css +0 -0
  673. package/css/{themes → palettes}/high-contrast-dark.css.map +0 -0
  674. package/css/{themes → palettes}/high-contrast-dark.system.css +1 -1
  675. package/css/{themes → palettes}/high-contrast.always.css +25 -25
  676. package/css/{themes → palettes}/high-contrast.css +0 -0
  677. package/css/{themes → palettes}/high-contrast.css.map +0 -0
  678. package/css/{themes → palettes}/high-contrast.system.css +25 -25
@@ -247,52 +247,6 @@ const focusVisibleElement = (el) => {
247
247
  }
248
248
  }
249
249
  };
250
- /**
251
- * This method is used for Ionic's input components that use Shadow DOM. In
252
- * order to properly label the inputs to work with screen readers, we need
253
- * to get the text content of the label outside of the shadow root and pass
254
- * it to the input inside of the shadow root.
255
- *
256
- * Referencing label elements by id from outside of the component is
257
- * impossible due to the shadow boundary, read more here:
258
- * https://developer.salesforce.com/blogs/2020/01/accessibility-for-web-components.html
259
- *
260
- * @param componentEl The shadow element that needs the aria label
261
- * @param inputId The unique identifier for the input
262
- */
263
- const getAriaLabel = (componentEl, inputId) => {
264
- let labelText;
265
- // If the user provides their own label via the aria-labelledby attr
266
- // we should use that instead of looking for an ion-label
267
- const labelledBy = componentEl.getAttribute('aria-labelledby');
268
- // Grab the id off of the component in case they are using
269
- // a custom label using the label element
270
- const componentId = componentEl.id;
271
- let labelId = labelledBy !== null && labelledBy.trim() !== '' ? labelledBy : inputId + '-lbl';
272
- let label = labelledBy !== null && labelledBy.trim() !== '' ? document.getElementById(labelledBy) : null;
273
- if (label) {
274
- if (labelledBy === null) {
275
- label.id = labelId;
276
- }
277
- labelText = label.textContent;
278
- label.setAttribute('aria-hidden', 'true');
279
- // if there is no label, check to see if the user has provided
280
- // one by setting an id on the component and using the label element
281
- }
282
- else if (componentId.trim() !== '') {
283
- label = document.querySelector(`label[for="${componentId}"]`);
284
- if (label) {
285
- if (label.id !== '') {
286
- labelId = label.id;
287
- }
288
- else {
289
- label.id = labelId = `${componentId}-lbl`;
290
- }
291
- labelText = label.textContent;
292
- }
293
- }
294
- return { label, labelId, labelText };
295
- };
296
250
  /**
297
251
  * This method is used to add a hidden input to a host element that contains
298
252
  * a Shadow DOM. It does not add the input inside of the Shadow root which
@@ -330,9 +284,6 @@ const assert = (actual, reason) => {
330
284
  throw new Error(message);
331
285
  }
332
286
  };
333
- const now = (ev) => {
334
- return ev.timeStamp || Date.now();
335
- };
336
287
  const pointerCoord = (ev) => {
337
288
  // get X coordinates for either a mouse click
338
289
  // or a touch depending on the given event
@@ -408,4 +359,4 @@ const shallowEqualStringMap = (map1, map2) => {
408
359
  return true;
409
360
  };
410
361
 
411
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, getAriaLabel as o, debounce as p, now as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, pointerCoord as u };
362
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, inheritAttributes as d, renderHiddenInput as e, focusVisibleElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, hasLazyBuild as j, clamp as k, debounceEvent as l, isEndSide as m, assert as n, debounce as o, pointerCoord as p, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -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 { chevronBack as a, arrowBackSharp as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, chevronForward as f, caretUpSharp as g, caretDownSharp as h, close as i, closeCircle as j, closeSharp as k, menuSharp as l, menuOutline as m, caretBackSharp as n, arrowDown as o, reorderTwoSharp as p, searchSharp as q, reorderThreeOutline as r, searchOutline as s, chevronExpand as t, checkmarkOutline as u, removeOutline as v, ellipseOutline as w };
31
+ export { chevronBack as a, arrowBackSharp as b, chevronDown as c, chevronForwardOutline as d, ellipsisHorizontal as e, chevronForward as f, caretUpSharp as g, caretDownSharp as h, close as i, closeCircle as j, closeSharp as k, eye as l, eyeOff as m, menuOutline as n, menuSharp as o, caretBackSharp as p, arrowDown as q, reorderThreeOutline as r, reorderTwoSharp as s, searchOutline as t, searchSharp as u, chevronExpand as v, checkmarkOutline as w, removeOutline as x, ellipseOutline as y };
@@ -2,44 +2,18 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index5.js';
5
- import { q as now, u as pointerCoord } from './helpers.js';
5
+ import { p as pointerCoord } from './helpers.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 };
@@ -337,7 +337,7 @@ const DatetimeButton = /*@__PURE__*/ proxyCustomElement(class DatetimeButton ext
337
337
  render() {
338
338
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
339
339
  const mode = getIonMode(this);
340
- return (h(Host, { key: '49854fc8a4b9875194c1537d0b3b59459e39606f', class: createColorClasses(color, {
340
+ return (h(Host, { key: 'f0ee6b859ad193be78cfc49d4d66373adfdbd618', class: createColorClasses(color, {
341
341
  [mode]: true,
342
342
  [`${selectedButton}-active`]: datetimeActive,
343
343
  ['datetime-button-disabled']: disabled,
@@ -1003,6 +1003,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1003
1003
  this.initializeKeyboardListeners();
1004
1004
  }
1005
1005
  componentDidLoad() {
1006
+ const { el, intersectionTrackerRef } = this;
1006
1007
  /**
1007
1008
  * If a scrollable element is hidden using `display: none`,
1008
1009
  * it will not have a scroll height meaning we cannot scroll elements
@@ -1028,14 +1029,14 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1028
1029
  this.el.classList.add('datetime-ready');
1029
1030
  });
1030
1031
  };
1031
- const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01 });
1032
+ const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01, root: el });
1032
1033
  /**
1033
1034
  * Use raf to avoid a race condition between the component loading and
1034
1035
  * its display animation starting (such as when shown in a modal). This
1035
1036
  * could cause the datetime to start at a visibility of 0, erroneously
1036
1037
  * triggering the `hiddenIO` observer below.
1037
1038
  */
1038
- raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(this.el));
1039
+ raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(intersectionTrackerRef));
1039
1040
  /**
1040
1041
  * We need to clean up listeners when the datetime is hidden
1041
1042
  * in a popover/modal so that we can properly scroll containers
@@ -1061,8 +1062,8 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1061
1062
  this.el.classList.remove('datetime-ready');
1062
1063
  });
1063
1064
  };
1064
- const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0 });
1065
- raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(this.el));
1065
+ const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0, root: el });
1066
+ raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(intersectionTrackerRef));
1066
1067
  /**
1067
1068
  * Datetime uses Ionic components that emit
1068
1069
  * ionFocus and ionBlur. These events are
@@ -1759,7 +1760,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1759
1760
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1760
1761
  const hasWheelVariant = hasDatePresentation && preferWheel;
1761
1762
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1762
- return (h(Host, { key: '1dac1c5d908ba080b2ed4cb9c02fd346ca8e8fa5', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1763
+ return (h(Host, { key: '79357d753d003539aaadbc30aa0ca7e2ab97415d', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1763
1764
  [mode]: true,
1764
1765
  ['datetime-readonly']: readonly,
1765
1766
  ['datetime-disabled']: disabled,
@@ -1769,7 +1770,7 @@ const Datetime = /*@__PURE__*/ proxyCustomElement(class Datetime extends HTMLEle
1769
1770
  [`datetime-size-${size}`]: true,
1770
1771
  [`datetime-prefer-wheel`]: hasWheelVariant,
1771
1772
  [`datetime-grid`]: isGridStyle,
1772
- })) }, this.renderDatetime(mode)));
1773
+ })) }, h("div", { key: '18b6631ffcf028c5062659e75be5d6712ac30402', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
1773
1774
  }
1774
1775
  get el() { return this; }
1775
1776
  static get watchers() { return {
@@ -71,7 +71,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
71
71
  rel: this.rel,
72
72
  target: this.target,
73
73
  };
74
- return (h(Host, { key: 'bc00fdb39e41787a3b4c53aededfc32485ee9211', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
74
+ return (h(Host, { key: 'f342fbd54263de388bc49e54af61ce4aaaef1f2e', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
75
75
  [mode]: true,
76
76
  'fab-button-in-list': inList,
77
77
  'fab-button-translucent-in-list': inList && translucent,
@@ -82,7 +82,7 @@ const FabButton = /*@__PURE__*/ proxyCustomElement(class FabButton extends HTMLE
82
82
  'ion-activatable': true,
83
83
  'ion-focusable': true,
84
84
  [`fab-button-${size}`]: size !== undefined,
85
- }) }, h(TagType, Object.assign({ key: 'fe13b3e19638177b516e6e530e6ff0b745856481' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '210e4a3cd39e0ff6fc300eeaafa3a9330a9dc73f', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: 'c6547612ff58a1e46bae2e91302b6b86a49d6429', class: "button-inner" }, h("slot", { key: '48abc7e6a27391f2595eeddf9abd8d16c0a86630' })), mode === 'md' && h("ion-ripple-effect", null))));
85
+ }) }, h(TagType, Object.assign({ key: 'cd29a22c7d8ea02ab3469ba8a5878fd1cb28286a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: '046a1254b728b43e2f4496ad96fff7bb8827df19', "aria-hidden": "true", icon: this.closeIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '9b5c11105d2b7c37c82f7eea2264e29c5f939262', class: "button-inner" }, h("slot", { key: '283fe50749e5537bc7d21159c36c9eb3fbe45415' })), mode === 'md' && h("ion-ripple-effect", null))));
86
86
  }
87
87
  get el() { return this; }
88
88
  static get style() { return {
@@ -25,11 +25,11 @@ const FabList = /*@__PURE__*/ proxyCustomElement(class FabList extends HTMLEleme
25
25
  }
26
26
  render() {
27
27
  const mode = getIonMode(this);
28
- return (h(Host, { key: 'ccce297302fa14d6ce0646d4bb14a74e71d68cb9', class: {
28
+ return (h(Host, { key: '62d22c1907677360d91fc0386ab05379bcc9de8a', class: {
29
29
  [mode]: true,
30
30
  'fab-list-active': this.activated,
31
31
  [`fab-list-side-${this.side}`]: true,
32
- } }, h("slot", { key: '9007d178411ea80db29d2034473e3f9d61157fa1' })));
32
+ } }, h("slot", { key: '4f9b6b9620c0ec79006663c5981140184129b7ce' })));
33
33
  }
34
34
  get el() { return this; }
35
35
  static get watchers() { return {
@@ -54,12 +54,12 @@ const Fab = /*@__PURE__*/ proxyCustomElement(class Fab extends HTMLElement {
54
54
  render() {
55
55
  const { horizontal, vertical, edge } = this;
56
56
  const mode = getIonMode(this);
57
- return (h(Host, { key: '8d10537e35f518b03a840de9a0fbe7973abc4290', class: {
57
+ return (h(Host, { key: 'a25aae31396546595b21a760ced22ee92d2379d6', class: {
58
58
  [mode]: true,
59
59
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
60
60
  [`fab-vertical-${vertical}`]: vertical !== undefined,
61
61
  'fab-edge': edge,
62
- } }, h("slot", { key: '77331bf85f939b20ff14886f0a8b0f13c5ca392a' })));
62
+ } }, h("slot", { key: 'b01cc2572213bfa6c12111e32e2f7702e6d93621' })));
63
63
  }
64
64
  get el() { return this; }
65
65
  static get watchers() { return {
@@ -115,7 +115,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
115
115
  const mode = getIonMode(this);
116
116
  const tabs = this.el.closest('ion-tabs');
117
117
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
118
- return (h(Host, { key: 'b8b57c6d3ffcb100330c0f19f1f567db89569efd', role: "contentinfo", class: {
118
+ return (h(Host, { key: 'c6f57ef061d44a475dd2c3361e73199a1820e2ea', role: "contentinfo", class: {
119
119
  [mode]: true,
120
120
  // Used internally for styling
121
121
  [`footer-${mode}`]: true,
@@ -123,7 +123,7 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
123
123
  [`footer-translucent-${mode}`]: translucent,
124
124
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
125
125
  [`footer-collapse-${collapse}`]: collapse !== undefined,
126
- } }, mode === 'ios' && translucent && h("div", { class: "footer-background" }), h("slot", { key: 'a9f465cbd6100ba16fd1e02e382997ac87303bb7' })));
126
+ } }, mode === 'ios' && translucent && h("div", { class: "footer-background" }), h("slot", { key: '5f27edadd5c05c38d0ba9de0277bac675f5b36b3' })));
127
127
  }
128
128
  get el() { return this; }
129
129
  static get style() { return {
@@ -16,10 +16,10 @@ const Grid = /*@__PURE__*/ proxyCustomElement(class Grid extends HTMLElement {
16
16
  }
17
17
  render() {
18
18
  const mode = getIonMode(this);
19
- return (h(Host, { key: 'd240212314811650765ac22936da13b0a92680b8', class: {
19
+ return (h(Host, { key: 'f16254ea58e52b57b2de5cb33a7e84ad544361af', class: {
20
20
  [mode]: true,
21
21
  'grid-fixed': this.fixed,
22
- } }, h("slot", { key: 'd0b55fd347db2b2f92805975c61da093c762c26d' })));
22
+ } }, h("slot", { key: '42f4eff0d912dc0112fa74d7de69f3a6a8e04a2e' })));
23
23
  }
24
24
  static get style() { return IonGridStyle0; }
25
25
  }, [1, "ion-grid", {
@@ -183,7 +183,7 @@ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
183
183
  });
184
184
  };
185
185
 
186
- const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header:not(.header-collapse-main):has(~ion-content ion-header[collapse=condense],~ion-content ion-header.header-collapse-condense){opacity:0}";
186
+ const headerIosCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports ((-webkit-backdrop-filter: blur(0)) or (backdrop-filter: blur(0))){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:-webkit-sticky;position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:0px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}ion-header.header-ios:not(.header-collapse-main):has(~ion-content ion-header.header-ios[collapse=condense],~ion-content ion-header.header-ios.header-collapse-condense){opacity:0}";
187
187
  const IonHeaderIosStyle0 = headerIosCss;
188
188
 
189
189
  const headerMdCss = "ion-header{display:block;position:relative;-ms-flex-order:-1;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md{-webkit-box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12)}.header-collapse-condense{display:none}.header-md.ion-no-border{-webkit-box-shadow:none;box-shadow:none}";
@@ -321,14 +321,14 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
321
321
  const collapse = this.collapse || 'none';
322
322
  // banner role must be at top level, so remove role if inside a menu
323
323
  const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
324
- return (h(Host, Object.assign({ key: '37ded46927283f6aa2c2b069510e37d427a908ad', role: roleType, class: {
324
+ return (h(Host, Object.assign({ key: '9f30ede40eaf89b3e0adbcd03e1d08d0d4ca762b', role: roleType, class: {
325
325
  [mode]: true,
326
326
  // Used internally for styling
327
327
  [`header-${mode}`]: true,
328
328
  [`header-translucent`]: this.translucent,
329
329
  [`header-collapse-${collapse}`]: true,
330
330
  [`header-translucent-${mode}`]: this.translucent,
331
- } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", { key: '3d25f5606e297ba9e0fea3c2fe0d7da542089075' })));
331
+ } }, inheritedAttributes), mode === 'ios' && translucent && h("div", { class: "header-background" }), h("slot", { key: '029aa484210e8dd5c5404a84c134d64a9100ba6e' })));
332
332
  }
333
333
  get el() { return this; }
334
334
  static get style() { return {
@@ -78,7 +78,7 @@ const Img = /*@__PURE__*/ proxyCustomElement(class Img extends HTMLElement {
78
78
  render() {
79
79
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
80
80
  const { draggable } = inheritedAttributes;
81
- return (h(Host, { key: '167143c9e996a0b2f78841e6c427c57a322189d7', class: getIonMode(this) }, h("img", { key: 'e840d04e5d0a939cd4c2d19f915a3fee394419b5', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
81
+ return (h(Host, { key: 'fa0d0e73693f4d5454dde2397a333143ab00a145', class: getIonMode(this) }, h("img", { key: '70198693643ab6a33816c6e1b0ed23b368208fbb', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
82
82
  }
83
83
  get el() { return this; }
84
84
  static get watchers() { return {
@@ -35,11 +35,11 @@ const InfiniteScrollContent = /*@__PURE__*/ proxyCustomElement(class InfiniteScr
35
35
  }
36
36
  render() {
37
37
  const mode = getIonMode(this);
38
- return (h(Host, { key: '7c32cbd526ef8a151df1c870bd3a4f0c9d764154', class: {
38
+ return (h(Host, { key: '44b11681f802fb0d1c565810f71f7672453e16ca', class: {
39
39
  [mode]: true,
40
40
  // Used internally for styling
41
41
  [`infinite-scroll-content-${mode}`]: true,
42
- } }, h("div", { key: '6bd67f2c9f3f23edc2f81b6de16134b853bea716', class: "infinite-loading" }, this.loadingSpinner && (h("div", { class: "infinite-loading-spinner" }, h("ion-spinner", { name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
42
+ } }, h("div", { key: 'd7e7d5beedf1e22a009e87790ca024b8f15c462b', class: "infinite-loading" }, this.loadingSpinner && (h("div", { class: "infinite-loading-spinner" }, h("ion-spinner", { name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
43
43
  }
44
44
  static get style() { return {
45
45
  ios: IonInfiniteScrollContentIosStyle0,
@@ -174,7 +174,7 @@ const InfiniteScroll = /*@__PURE__*/ proxyCustomElement(class InfiniteScroll ext
174
174
  render() {
175
175
  const mode = getIonMode(this);
176
176
  const disabled = this.disabled;
177
- return (h(Host, { key: '69e7741fd2eb2053ba1d59d00d307d2f662fcf13', class: {
177
+ return (h(Host, { key: 'be1a720fcf686dc48468de968d84ea58bfe0a06d', class: {
178
178
  [mode]: true,
179
179
  'infinite-scroll-loading': this.isLoading,
180
180
  'infinite-scroll-enabled': !disabled,
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../dist/types/components";
2
+
3
+ interface IonInputPasswordToggle extends Components.IonInputPasswordToggle, HTMLElement {}
4
+ export const IonInputPasswordToggle: {
5
+ prototype: IonInputPasswordToggle;
6
+ new (): IonInputPasswordToggle;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,132 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
5
+ import { p as printIonWarning } from './index6.js';
6
+ import { c as createColorClasses } from './theme.js';
7
+ import { l as eye, m as eyeOff } from './index7.js';
8
+ import { b as getIonMode } from './ionic-global.js';
9
+ import { d as defineCustomElement$4 } from './button.js';
10
+ import { d as defineCustomElement$3 } from './icon.js';
11
+ import { d as defineCustomElement$2 } from './ripple-effect.js';
12
+
13
+ const iosInputPasswordToggleCss = "";
14
+ const IonInputPasswordToggleIosStyle0 = iosInputPasswordToggleCss;
15
+
16
+ const mdInputPasswordToggleCss = "";
17
+ const IonInputPasswordToggleMdStyle0 = mdInputPasswordToggleCss;
18
+
19
+ const InputPasswordToggle = /*@__PURE__*/ proxyCustomElement(class InputPasswordToggle extends HTMLElement {
20
+ constructor() {
21
+ super();
22
+ this.__registerHost();
23
+ this.__attachShadow();
24
+ this.togglePasswordVisibility = () => {
25
+ const { inputElRef } = this;
26
+ if (!inputElRef) {
27
+ return;
28
+ }
29
+ inputElRef.type = inputElRef.type === 'text' ? 'password' : 'text';
30
+ };
31
+ this.color = undefined;
32
+ this.showIcon = undefined;
33
+ this.hideIcon = undefined;
34
+ this.type = 'password';
35
+ }
36
+ /**
37
+ * Whenever the input type changes we need to re-run validation to ensure the password
38
+ * toggle is being used with the correct input type. If the application changes the type
39
+ * outside of this component we also need to re-render so the correct icon is shown.
40
+ */
41
+ onTypeChange(newValue) {
42
+ if (newValue !== 'text' && newValue !== 'password') {
43
+ printIonWarning(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${newValue}" is not compatible.`, this.el);
44
+ return;
45
+ }
46
+ }
47
+ connectedCallback() {
48
+ const { el } = this;
49
+ const inputElRef = (this.inputElRef = el.closest('ion-input'));
50
+ if (!inputElRef) {
51
+ printIonWarning('No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.', el);
52
+ return;
53
+ }
54
+ /**
55
+ * Important: Set the type in connectedCallback because the default value
56
+ * of this.type may not always be accurate. Usually inputs have the "password" type
57
+ * but it is possible to have the input to initially have the "text" type. In that scenario
58
+ * the wrong icon will show briefly before switching to the correct icon. Setting the
59
+ * type here allows us to avoid that flicker.
60
+ */
61
+ this.type = inputElRef.type;
62
+ }
63
+ disconnectedCallback() {
64
+ this.inputElRef = null;
65
+ }
66
+ render() {
67
+ var _a, _b;
68
+ const { color, type } = this;
69
+ const mode = getIonMode(this);
70
+ const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
71
+ const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
72
+ const isPasswordVisible = type === 'text';
73
+ return (h(Host, { key: '1cb075999e41c2fde3a3d6cafe6f37c9b5429299', class: createColorClasses(color, {
74
+ [mode]: true,
75
+ }) }, h("ion-button", { key: 'cfaaec221f530ecc475690b6508c2333e32ff609', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
76
+ /**
77
+ * This prevents mobile browsers from
78
+ * blurring the input when the password toggle
79
+ * button is activated.
80
+ */
81
+ ev.preventDefault();
82
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'dc0fc5fe8df4df4c145e29b30e589f159aab9cd9', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
83
+ }
84
+ get el() { return this; }
85
+ static get watchers() { return {
86
+ "type": ["onTypeChange"]
87
+ }; }
88
+ static get style() { return {
89
+ ios: IonInputPasswordToggleIosStyle0,
90
+ md: IonInputPasswordToggleMdStyle0
91
+ }; }
92
+ }, [33, "ion-input-password-toggle", {
93
+ "color": [513],
94
+ "showIcon": [1, "show-icon"],
95
+ "hideIcon": [1, "hide-icon"],
96
+ "type": [1025]
97
+ }, undefined, {
98
+ "type": ["onTypeChange"]
99
+ }]);
100
+ function defineCustomElement$1() {
101
+ if (typeof customElements === "undefined") {
102
+ return;
103
+ }
104
+ const components = ["ion-input-password-toggle", "ion-button", "ion-icon", "ion-ripple-effect"];
105
+ components.forEach(tagName => { switch (tagName) {
106
+ case "ion-input-password-toggle":
107
+ if (!customElements.get(tagName)) {
108
+ customElements.define(tagName, InputPasswordToggle);
109
+ }
110
+ break;
111
+ case "ion-button":
112
+ if (!customElements.get(tagName)) {
113
+ defineCustomElement$4();
114
+ }
115
+ break;
116
+ case "ion-icon":
117
+ if (!customElements.get(tagName)) {
118
+ defineCustomElement$3();
119
+ }
120
+ break;
121
+ case "ion-ripple-effect":
122
+ if (!customElements.get(tagName)) {
123
+ defineCustomElement$2();
124
+ }
125
+ break;
126
+ } });
127
+ }
128
+
129
+ const IonInputPasswordToggle = InputPasswordToggle;
130
+ const defineCustomElement = defineCustomElement$1;
131
+
132
+ export { IonInputPasswordToggle, defineCustomElement };