@ionic/core 8.6.5-dev.11752319737.1be47888 → 8.6.5-dev.11752589924.176e0985

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 (1085) hide show
  1. package/components/action-sheet.js +13 -9
  2. package/components/alert.js +14 -11
  3. package/components/animation.js +1 -1
  4. package/components/backdrop.js +9 -6
  5. package/components/button.js +41 -10
  6. package/components/buttons.js +11 -8
  7. package/components/capacitor.js +1 -1
  8. package/components/caret-down.js +6 -0
  9. package/components/caret-left.js +6 -0
  10. package/components/caret-right.js +6 -0
  11. package/components/checkbox.js +31 -12
  12. package/components/content.js +14 -12
  13. package/components/data.js +5 -5
  14. package/components/focus-visible.js +23 -1
  15. package/components/framework-delegate.js +3 -1
  16. package/components/header.js +28 -16
  17. package/components/helpers.js +42 -3
  18. package/components/index5.js +8 -8
  19. package/components/index6.js +3 -3
  20. package/components/index7.js +111 -150
  21. package/components/index8.js +150 -111
  22. package/components/input-shims.js +2 -2
  23. package/components/input.utils.js +1 -1
  24. package/components/ion-accordion-group.js +23 -5
  25. package/components/ion-accordion.js +32 -21
  26. package/components/ion-app.js +12 -77
  27. package/components/ion-avatar.js +58 -5
  28. package/components/ion-back-button.js +27 -19
  29. package/components/ion-badge.js +73 -9
  30. package/components/ion-breadcrumb.js +43 -10
  31. package/components/ion-breadcrumbs.js +8 -5
  32. package/components/ion-card-content.js +10 -7
  33. package/components/ion-card-header.js +9 -6
  34. package/components/ion-card-subtitle.js +8 -5
  35. package/components/ion-card-title.js +8 -5
  36. package/components/ion-card.js +21 -9
  37. package/components/ion-chip.js +53 -8
  38. package/components/ion-col.js +5 -5
  39. package/components/ion-datetime-button.js +8 -5
  40. package/components/ion-datetime.js +98 -21
  41. package/components/ion-divider.d.ts +11 -0
  42. package/components/ion-divider.js +70 -0
  43. package/components/ion-fab-button.js +31 -15
  44. package/components/ion-fab-list.js +5 -5
  45. package/components/ion-fab.js +6 -6
  46. package/components/ion-footer.js +18 -13
  47. package/components/ion-grid.js +5 -5
  48. package/components/ion-img.js +5 -2
  49. package/components/ion-infinite-scroll-content.js +11 -8
  50. package/components/ion-infinite-scroll.js +5 -5
  51. package/components/ion-input-otp.js +56 -106
  52. package/components/ion-input-password-toggle.js +51 -13
  53. package/components/ion-input.js +120 -28
  54. package/components/ion-item-divider.js +8 -5
  55. package/components/ion-item-group.js +8 -5
  56. package/components/ion-item-option.js +36 -9
  57. package/components/ion-item-options.js +10 -7
  58. package/components/ion-item-sliding.js +5 -5
  59. package/components/ion-loading.js +12 -9
  60. package/components/ion-menu-button.js +26 -10
  61. package/components/ion-menu-toggle.js +5 -5
  62. package/components/ion-menu.js +10 -8
  63. package/components/ion-nav-link.js +1 -1
  64. package/components/ion-nav.js +7 -5
  65. package/components/ion-note.js +8 -5
  66. package/components/ion-picker-legacy.js +7 -7
  67. package/components/ion-progress-bar.js +25 -7
  68. package/components/ion-range.js +12 -9
  69. package/components/ion-refresher-content.js +23 -8
  70. package/components/ion-refresher.js +10 -7
  71. package/components/ion-reorder-group.js +5 -5
  72. package/components/ion-reorder.js +30 -5
  73. package/components/ion-router-link.js +6 -6
  74. package/components/ion-router-outlet.js +4 -4
  75. package/components/ion-row.js +5 -2
  76. package/components/ion-searchbar.js +137 -23
  77. package/components/ion-segment-button.js +10 -7
  78. package/components/ion-segment-content.js +1 -1
  79. package/components/ion-segment-view.js +5 -2
  80. package/components/ion-segment.js +10 -7
  81. package/components/ion-select-option.js +5 -2
  82. package/components/ion-select.js +117 -33
  83. package/components/ion-skeleton-text.js +5 -5
  84. package/components/ion-split-pane.js +11 -8
  85. package/components/ion-tab-bar.js +39 -9
  86. package/components/ion-tab-button.js +25 -7
  87. package/components/ion-tab.js +2 -2
  88. package/components/ion-tabs.js +2 -2
  89. package/components/ion-text.js +5 -5
  90. package/components/ion-textarea.js +52 -11
  91. package/components/ion-thumbnail.js +5 -2
  92. package/components/ion-toast.js +37 -12
  93. package/components/ion-toggle.js +74 -17
  94. package/components/ionic-global.js +349 -15
  95. package/components/ios.transition.js +1 -0
  96. package/components/item.js +39 -14
  97. package/components/keyboard-controller.js +4 -2
  98. package/components/label.js +8 -5
  99. package/components/list-header.js +10 -7
  100. package/components/list.js +27 -6
  101. package/components/list2.js +6 -0
  102. package/components/modal.js +48 -103
  103. package/components/notch-controller.js +1 -1
  104. package/components/overlays.js +3 -4
  105. package/components/picker-column-option.js +8 -5
  106. package/components/picker-column.js +7 -8
  107. package/components/picker-column2.js +4 -4
  108. package/components/picker.js +7 -4
  109. package/components/popover.js +12 -9
  110. package/components/radio-group.js +10 -5
  111. package/components/radio.js +11 -8
  112. package/components/ripple-effect.js +15 -7
  113. package/components/select-modal.js +4 -4
  114. package/components/select-popover.js +8 -2
  115. package/components/spinner.js +31 -8
  116. package/components/status-tap.js +1 -1
  117. package/components/title.js +10 -7
  118. package/components/toolbar.js +153 -9
  119. package/components/x.js +6 -0
  120. package/css/core.css +1 -1
  121. package/css/core.css.map +1 -1
  122. package/css/display.css +1 -1
  123. package/css/display.css.map +1 -1
  124. package/css/flex-utils.css +1 -1
  125. package/css/flex-utils.css.map +1 -1
  126. package/css/float-elements.css.map +1 -1
  127. package/css/global.bundle.css.map +1 -1
  128. package/css/ionic/bundle.ionic.css +1 -0
  129. package/css/ionic/bundle.ionic.css.map +1 -0
  130. package/css/ionic/core.ionic.css +1 -0
  131. package/css/ionic/core.ionic.css.map +1 -0
  132. package/css/ionic/global.bundle.ionic.css +1 -0
  133. package/css/ionic/global.bundle.ionic.css.map +1 -0
  134. package/css/ionic/ionic-swiper.ionic.css +1 -0
  135. package/css/ionic/ionic-swiper.ionic.css.map +1 -0
  136. package/css/ionic/link.ionic.css +1 -0
  137. package/css/ionic/link.ionic.css.map +1 -0
  138. package/css/ionic/structure.ionic.css +1 -0
  139. package/css/ionic/structure.ionic.css.map +1 -0
  140. package/css/ionic/typography.ionic.css +1 -0
  141. package/css/ionic/typography.ionic.css.map +1 -0
  142. package/css/ionic/utils.bundle.ionic.css +1 -0
  143. package/css/ionic/utils.bundle.ionic.css.map +1 -0
  144. package/css/ionic-swiper.css +1 -1
  145. package/css/ionic-swiper.css.map +1 -1
  146. package/css/ionic.bundle.css +1 -1
  147. package/css/ionic.bundle.css.map +1 -1
  148. package/css/normalize.css.map +1 -1
  149. package/css/padding.css.map +1 -1
  150. package/css/palettes/dark.always.css.map +1 -1
  151. package/css/palettes/dark.class.css.map +1 -1
  152. package/css/palettes/dark.system.css.map +1 -1
  153. package/css/palettes/high-contrast-dark.always.css.map +1 -1
  154. package/css/palettes/high-contrast-dark.class.css.map +1 -1
  155. package/css/palettes/high-contrast-dark.system.css.map +1 -1
  156. package/css/palettes/high-contrast.always.css.map +1 -1
  157. package/css/palettes/high-contrast.class.css.map +1 -1
  158. package/css/palettes/high-contrast.system.css.map +1 -1
  159. package/css/structure.css.map +1 -1
  160. package/css/text-alignment.css.map +1 -1
  161. package/css/text-transformation.css.map +1 -1
  162. package/css/typography.css.map +1 -1
  163. package/css/utils.bundle.css +1 -1
  164. package/css/utils.bundle.css.map +1 -1
  165. package/dist/cjs/{animation-0T7gKwOt.js → animation-Bcz4qmJk.js} +2 -3
  166. package/dist/cjs/{button-active-C-4ud7Ht.js → button-active-1nO6qpCH.js} +2 -2
  167. package/dist/cjs/{capacitor-DmA66EwP.js → capacitor-CzFst28-.js} +1 -1
  168. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  169. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  170. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  171. package/dist/cjs/{config-U7OAuj53.js → config-DGKt4XfG.js} +1 -1
  172. package/dist/cjs/{data-DRqa6oM4.js → data-B3i-krcw.js} +6 -6
  173. package/dist/{esm/focus-visible-BmVRXR1y.js → cjs/focus-visible-BIj-I3-C.js} +27 -1
  174. package/dist/cjs/{framework-delegate-C7sIJyT5.js → framework-delegate-DfEY5uyC.js} +4 -2
  175. package/dist/cjs/{haptic-ClPPQ_PS.js → haptic-DbqPcCc9.js} +1 -1
  176. package/dist/cjs/{helpers-BITAzJfi.js → helpers-DmAvmm2T.js} +42 -3
  177. package/dist/cjs/{index-CVa6JE57.js → index-CaZ3uzAD.js} +2 -2
  178. package/dist/cjs/{index-DODXXb_r.js → index-CmckMMX1.js} +352 -12
  179. package/dist/cjs/{index-CPbAsnJK.js → index-DPBLiXfW.js} +2 -2
  180. package/dist/cjs/{index-CxfLS2mX.js → index-DcPe_YcG.js} +12 -12
  181. package/dist/cjs/{index-y0QaNtCi.js → index-DxVhwe3d.js} +4 -4
  182. package/dist/cjs/{index-BDBT0u4l.js → index-YEjC0pvJ.js} +3 -3
  183. package/dist/cjs/index.cjs.js +11 -12
  184. package/dist/cjs/{input-shims-D1Mfgd4s.js → input-shims-BwdlNkON.js} +6 -6
  185. package/dist/cjs/{input.utils-DSoBEyUu.js → input.utils-CfjyQhpu.js} +3 -4
  186. package/dist/cjs/ion-accordion_2.cjs.entry.js +56 -27
  187. package/dist/cjs/ion-action-sheet.cjs.entry.js +21 -18
  188. package/dist/cjs/ion-alert.cjs.entry.js +23 -21
  189. package/dist/cjs/ion-app_8.cjs.entry.js +243 -144
  190. package/dist/cjs/ion-avatar_3.cjs.entry.js +123 -11
  191. package/dist/cjs/ion-back-button.cjs.entry.js +29 -20
  192. package/dist/cjs/ion-backdrop.cjs.entry.js +9 -6
  193. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +52 -16
  194. package/dist/cjs/ion-button_2.cjs.entry.js +43 -11
  195. package/dist/cjs/ion-card_5.cjs.entry.js +53 -29
  196. package/dist/cjs/ion-checkbox.cjs.entry.js +31 -13
  197. package/dist/cjs/ion-chip.cjs.entry.js +48 -7
  198. package/dist/cjs/ion-col_3.cjs.entry.js +13 -10
  199. package/dist/cjs/ion-datetime-button.cjs.entry.js +11 -7
  200. package/dist/cjs/ion-datetime_3.cjs.entry.js +114 -39
  201. package/dist/cjs/ion-divider.cjs.entry.js +50 -0
  202. package/dist/cjs/ion-fab_3.cjs.entry.js +42 -26
  203. package/dist/cjs/ion-img.cjs.entry.js +7 -3
  204. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +18 -14
  205. package/dist/cjs/ion-input-otp.cjs.entry.js +58 -106
  206. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +51 -13
  207. package/dist/cjs/ion-input.cjs.entry.js +121 -31
  208. package/dist/cjs/ion-item-option_3.cjs.entry.js +48 -19
  209. package/dist/cjs/ion-item_8.cjs.entry.js +106 -46
  210. package/dist/cjs/ion-loading.cjs.entry.js +18 -16
  211. package/dist/cjs/ion-menu_3.cjs.entry.js +45 -27
  212. package/dist/cjs/ion-modal.cjs.entry.js +83 -139
  213. package/dist/cjs/ion-nav_2.cjs.entry.js +13 -10
  214. package/dist/cjs/ion-picker-column-option.cjs.entry.js +10 -6
  215. package/dist/cjs/ion-picker-column.cjs.entry.js +12 -12
  216. package/dist/cjs/ion-picker.cjs.entry.js +10 -6
  217. package/dist/cjs/ion-popover.cjs.entry.js +18 -16
  218. package/dist/cjs/ion-progress-bar.cjs.entry.js +25 -7
  219. package/dist/cjs/ion-radio_2.cjs.entry.js +22 -13
  220. package/dist/cjs/ion-range.cjs.entry.js +14 -10
  221. package/dist/cjs/ion-refresher_2.cjs.entry.js +38 -20
  222. package/dist/cjs/ion-reorder_2.cjs.entry.js +37 -13
  223. package/dist/cjs/ion-ripple-effect.cjs.entry.js +14 -6
  224. package/dist/cjs/ion-route_4.cjs.entry.js +8 -7
  225. package/dist/cjs/ion-searchbar.cjs.entry.js +135 -22
  226. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  227. package/dist/cjs/ion-segment-view.cjs.entry.js +6 -3
  228. package/dist/cjs/ion-segment_2.cjs.entry.js +21 -14
  229. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  230. package/dist/cjs/ion-select_3.cjs.entry.js +130 -39
  231. package/dist/cjs/ion-spinner.cjs.entry.js +28 -6
  232. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -8
  233. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +65 -20
  234. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  235. package/dist/cjs/ion-text.cjs.entry.js +5 -5
  236. package/dist/cjs/ion-textarea.cjs.entry.js +55 -15
  237. package/dist/cjs/ion-toast.cjs.entry.js +65 -42
  238. package/dist/cjs/ion-toggle.cjs.entry.js +79 -22
  239. package/dist/cjs/ionic.cjs.js +2 -2
  240. package/dist/cjs/{ios.transition-baEy2tr4.js → ios.transition-BMRClUxZ.js} +6 -5
  241. package/dist/cjs/{keyboard-UuAS4D_9.js → keyboard-Chl5cusY.js} +1 -1
  242. package/dist/cjs/{keyboard-controller-GXBiBRKS.js → keyboard-controller-yLvXRMuh.js} +4 -3
  243. package/dist/cjs/{keyboard-hHzlEQpk.js → keyboard-nXDIskl9.js} +3 -3
  244. package/dist/cjs/list-a-7GSA6K.js +8 -0
  245. package/dist/cjs/loader.cjs.js +2 -2
  246. package/dist/cjs/{md.transition-Bvc-JrM5.js → md.transition-D2ZL4jgW.js} +5 -5
  247. package/dist/cjs/{notch-controller-BAbqGXRi.js → notch-controller-S50JyZJs.js} +2 -2
  248. package/dist/cjs/{overlays-DRDumz2b.js → overlays-DbrifhWu.js} +13 -14
  249. package/dist/cjs/{status-tap-Db3WeCkO.js → status-tap-DMaRrHIS.js} +4 -3
  250. package/dist/cjs/{swipe-back-D_VN6H9r.js → swipe-back-CEVlQT7C.js} +3 -2
  251. package/dist/cjs/x-BTF99yFH.js +8 -0
  252. package/dist/collection/collection-manifest.json +1 -0
  253. package/dist/collection/components/accordion/accordion.ionic.css +197 -0
  254. package/dist/collection/components/accordion/accordion.ios.css +73 -58
  255. package/dist/collection/components/accordion/accordion.js +36 -26
  256. package/dist/collection/components/accordion/accordion.md.css +67 -59
  257. package/dist/collection/components/accordion-group/accordion-group.ionic.css +95 -0
  258. package/dist/collection/components/accordion-group/accordion-group.ios.css +16 -4
  259. package/dist/collection/components/accordion-group/accordion-group.js +44 -8
  260. package/dist/collection/components/accordion-group/accordion-group.md.css +22 -4
  261. package/dist/collection/components/action-sheet/action-sheet.ios.css +18 -6
  262. package/dist/collection/components/action-sheet/action-sheet.js +15 -11
  263. package/dist/collection/components/action-sheet/action-sheet.md.css +17 -5
  264. package/dist/collection/components/alert/alert.ios.css +19 -1
  265. package/dist/collection/components/alert/alert.js +16 -13
  266. package/dist/collection/components/alert/alert.md.css +19 -1
  267. package/dist/collection/components/app/app.js +15 -78
  268. package/dist/collection/components/avatar/avatar.ionic.css +365 -0
  269. package/dist/collection/components/avatar/avatar.ios.css +7 -33
  270. package/dist/collection/components/avatar/avatar.js +120 -4
  271. package/dist/collection/components/avatar/avatar.md.css +51 -0
  272. package/dist/collection/components/back-button/back-button.ios.css +60 -48
  273. package/dist/collection/components/back-button/back-button.js +27 -19
  274. package/dist/collection/components/back-button/back-button.md.css +60 -48
  275. package/dist/collection/components/backdrop/backdrop.ionic.css +111 -0
  276. package/dist/collection/components/backdrop/backdrop.ios.css +56 -19
  277. package/dist/collection/components/backdrop/backdrop.js +12 -6
  278. package/dist/collection/components/backdrop/backdrop.md.css +56 -19
  279. package/dist/collection/components/badge/badge.ionic.css +277 -0
  280. package/dist/collection/components/badge/badge.ios.css +139 -12
  281. package/dist/collection/components/badge/badge.js +145 -9
  282. package/dist/collection/components/badge/badge.md.css +123 -12
  283. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +20 -8
  284. package/dist/collection/components/breadcrumb/breadcrumb.js +43 -11
  285. package/dist/collection/components/breadcrumb/breadcrumb.md.css +20 -8
  286. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +6 -0
  287. package/dist/collection/components/breadcrumbs/breadcrumbs.js +11 -9
  288. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +6 -0
  289. package/dist/collection/components/button/button.ionic.css +622 -0
  290. package/dist/collection/components/button/button.ios.css +135 -46
  291. package/dist/collection/components/button/button.js +48 -17
  292. package/dist/collection/components/button/button.md.css +126 -50
  293. package/dist/collection/components/buttons/buttons.ionic.css +100 -0
  294. package/dist/collection/components/buttons/buttons.ios.css +59 -7
  295. package/dist/collection/components/buttons/buttons.js +15 -9
  296. package/dist/collection/components/buttons/buttons.md.css +55 -3
  297. package/dist/collection/components/card/card.ionic.css +146 -0
  298. package/dist/collection/components/card/card.ios.css +65 -14
  299. package/dist/collection/components/card/card.js +41 -10
  300. package/dist/collection/components/card/card.md.css +65 -14
  301. package/dist/collection/components/card-content/card-content.ionic.css +94 -0
  302. package/dist/collection/components/card-content/card-content.ios.css +16 -1
  303. package/dist/collection/components/card-content/card-content.js +11 -8
  304. package/dist/collection/components/card-content/card-content.md.css +16 -1
  305. package/dist/collection/components/card-header/card-header.ionic.css +87 -0
  306. package/dist/collection/components/card-header/card-header.ios.css +27 -15
  307. package/dist/collection/components/card-header/card-header.js +13 -10
  308. package/dist/collection/components/card-header/card-header.md.css +27 -15
  309. package/dist/collection/components/card-subtitle/card-subtitle.ionic.css +146 -0
  310. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +12 -0
  311. package/dist/collection/components/card-subtitle/card-subtitle.js +11 -8
  312. package/dist/collection/components/card-subtitle/card-subtitle.md.css +12 -0
  313. package/dist/collection/components/card-title/card-title.ios.css +73 -0
  314. package/dist/collection/components/card-title/card-title.js +11 -8
  315. package/dist/collection/components/card-title/card-title.md.css +73 -0
  316. package/dist/collection/components/checkbox/checkbox.ionic.css +527 -0
  317. package/dist/collection/components/checkbox/checkbox.ios.css +161 -101
  318. package/dist/collection/components/checkbox/checkbox.js +70 -14
  319. package/dist/collection/components/checkbox/checkbox.md.css +162 -102
  320. package/dist/collection/components/chip/chip.ionic.css +230 -0
  321. package/dist/collection/components/chip/chip.ios.css +67 -14
  322. package/dist/collection/components/chip/chip.js +108 -8
  323. package/dist/collection/components/chip/chip.md.css +67 -14
  324. package/dist/collection/components/col/col.css +12 -0
  325. package/dist/collection/components/col/col.js +9 -5
  326. package/dist/collection/components/content/content.css +8 -2
  327. package/dist/collection/components/content/content.js +16 -11
  328. package/dist/collection/components/datetime/datetime.ionic.css +699 -0
  329. package/dist/collection/components/datetime/datetime.ios.css +242 -86
  330. package/dist/collection/components/datetime/datetime.js +98 -20
  331. package/dist/collection/components/datetime/datetime.md.css +242 -86
  332. package/dist/collection/components/datetime/utils/data.js +5 -5
  333. package/dist/collection/components/datetime-button/datetime-button.ios.css +6 -0
  334. package/dist/collection/components/datetime-button/datetime-button.js +11 -8
  335. package/dist/collection/components/datetime-button/datetime-button.md.css +6 -0
  336. package/dist/collection/components/divider/divider.ionic.css +150 -0
  337. package/dist/collection/components/divider/divider.ios.css +87 -0
  338. package/dist/collection/components/divider/divider.js +94 -0
  339. package/dist/collection/components/divider/divider.md.css +87 -0
  340. package/dist/collection/components/fab/fab.css +25 -1
  341. package/dist/collection/components/fab/fab.js +9 -5
  342. package/dist/collection/components/fab-button/fab-button.ios.css +18 -6
  343. package/dist/collection/components/fab-button/fab-button.js +36 -21
  344. package/dist/collection/components/fab-button/fab-button.md.css +20 -8
  345. package/dist/collection/components/fab-list/fab-list.css +12 -0
  346. package/dist/collection/components/fab-list/fab-list.js +9 -5
  347. package/dist/collection/components/footer/footer.ios.css +14 -2
  348. package/dist/collection/components/footer/footer.js +21 -16
  349. package/dist/collection/components/footer/footer.md.css +12 -0
  350. package/dist/collection/components/grid/grid.css +12 -0
  351. package/dist/collection/components/grid/grid.js +9 -5
  352. package/dist/collection/components/header/header.ionic.css +100 -0
  353. package/dist/collection/components/header/header.ios.css +25 -10
  354. package/dist/collection/components/header/header.js +49 -18
  355. package/dist/collection/components/header/header.md.css +23 -8
  356. package/dist/collection/components/img/img.js +8 -2
  357. package/dist/collection/components/infinite-scroll/infinite-scroll.js +8 -4
  358. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +12 -0
  359. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +16 -10
  360. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +12 -0
  361. package/dist/collection/components/input/input.ionic.css +883 -0
  362. package/dist/collection/components/input/input.ios.css +223 -140
  363. package/dist/collection/components/input/input.js +149 -38
  364. package/dist/collection/components/input/input.md.css +194 -213
  365. package/dist/collection/components/input-otp/input-otp.ionic.css +371 -0
  366. package/dist/collection/components/input-otp/input-otp.ios.css +106 -60
  367. package/dist/collection/components/input-otp/input-otp.js +55 -106
  368. package/dist/collection/components/input-otp/input-otp.md.css +106 -60
  369. package/dist/collection/components/input-password-toggle/input-password-toggle.ionic.css +80 -0
  370. package/dist/collection/components/input-password-toggle/input-password-toggle.js +48 -12
  371. package/dist/collection/components/input-password-toggle/input-password-toggle.native.css +61 -0
  372. package/dist/collection/components/item/item.ionic.css +502 -0
  373. package/dist/collection/components/item/item.ios.css +109 -69
  374. package/dist/collection/components/item/item.js +43 -19
  375. package/dist/collection/components/item/item.md.css +120 -68
  376. package/dist/collection/components/item-divider/item-divider.ios.css +18 -0
  377. package/dist/collection/components/item-divider/item-divider.js +11 -8
  378. package/dist/collection/components/item-divider/item-divider.md.css +18 -0
  379. package/dist/collection/components/item-group/item-group.ios.css +12 -0
  380. package/dist/collection/components/item-group/item-group.js +13 -7
  381. package/dist/collection/components/item-group/item-group.md.css +12 -0
  382. package/dist/collection/components/item-option/item-option.ionic.css +280 -0
  383. package/dist/collection/components/item-option/item-option.ios.css +136 -29
  384. package/dist/collection/components/item-option/item-option.js +73 -9
  385. package/dist/collection/components/item-option/item-option.md.css +136 -29
  386. package/dist/collection/components/item-options/item-options.ionic.css +223 -0
  387. package/dist/collection/components/item-options/item-options.ios.css +77 -34
  388. package/dist/collection/components/item-options/item-options.js +13 -7
  389. package/dist/collection/components/item-options/item-options.md.css +77 -34
  390. package/dist/collection/components/item-sliding/item-sliding.css +6 -0
  391. package/dist/collection/components/item-sliding/item-sliding.js +8 -4
  392. package/dist/collection/components/label/label.ios.css +18 -0
  393. package/dist/collection/components/label/label.js +11 -8
  394. package/dist/collection/components/label/label.md.css +18 -0
  395. package/dist/collection/components/list/list.ionic.css +214 -0
  396. package/dist/collection/components/list/list.ios.css +54 -14
  397. package/dist/collection/components/list/list.js +48 -9
  398. package/dist/collection/components/list/list.md.css +56 -16
  399. package/dist/collection/components/list-header/list-header.ionic.css +192 -0
  400. package/dist/collection/components/list-header/list-header.ios.css +82 -38
  401. package/dist/collection/components/list-header/list-header.js +11 -8
  402. package/dist/collection/components/list-header/list-header.md.css +82 -38
  403. package/dist/collection/components/loading/loading.ios.css +13 -1
  404. package/dist/collection/components/loading/loading.js +14 -11
  405. package/dist/collection/components/loading/loading.md.css +13 -1
  406. package/dist/collection/components/menu/menu.ios.css +15 -3
  407. package/dist/collection/components/menu/menu.js +12 -7
  408. package/dist/collection/components/menu/menu.md.css +15 -3
  409. package/dist/collection/components/menu-button/menu-button.ionic.css +238 -0
  410. package/dist/collection/components/menu-button/menu-button.ios.css +48 -14
  411. package/dist/collection/components/menu-button/menu-button.js +26 -10
  412. package/dist/collection/components/menu-button/menu-button.md.css +49 -15
  413. package/dist/collection/components/menu-toggle/menu-toggle.js +8 -5
  414. package/dist/collection/components/modal/animations/sheet.js +8 -2
  415. package/dist/collection/components/modal/gestures/sheet.js +10 -6
  416. package/dist/collection/components/modal/modal.ionic.css +243 -0
  417. package/dist/collection/components/modal/modal.ios.css +174 -70
  418. package/dist/collection/components/modal/modal.js +48 -94
  419. package/dist/collection/components/modal/modal.md.css +174 -70
  420. package/dist/collection/components/nav/nav.css +7 -1
  421. package/dist/collection/components/nav/nav.js +11 -5
  422. package/dist/collection/components/nav-link/nav-link.js +5 -1
  423. package/dist/collection/components/note/note.ios.css +12 -0
  424. package/dist/collection/components/note/note.js +11 -8
  425. package/dist/collection/components/note/note.md.css +12 -0
  426. package/dist/collection/components/picker/picker.ios.css +15 -3
  427. package/dist/collection/components/picker/picker.js +8 -5
  428. package/dist/collection/components/picker/picker.md.css +15 -3
  429. package/dist/collection/components/picker-column/picker-column.css +9 -2
  430. package/dist/collection/components/picker-column/picker-column.js +8 -7
  431. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +6 -0
  432. package/dist/collection/components/picker-column-option/picker-column-option.js +13 -7
  433. package/dist/collection/components/picker-column-option/picker-column-option.md.css +6 -0
  434. package/dist/collection/components/picker-legacy/picker.ios.css +13 -1
  435. package/dist/collection/components/picker-legacy/picker.js +7 -6
  436. package/dist/collection/components/picker-legacy/picker.md.css +13 -1
  437. package/dist/collection/components/picker-legacy-column/picker-column.ios.css +12 -0
  438. package/dist/collection/components/picker-legacy-column/picker-column.js +4 -4
  439. package/dist/collection/components/picker-legacy-column/picker-column.md.css +12 -0
  440. package/dist/collection/components/popover/popover.ios.css +13 -1
  441. package/dist/collection/components/popover/popover.js +17 -14
  442. package/dist/collection/components/popover/popover.md.css +13 -1
  443. package/dist/collection/components/progress-bar/progress-bar.ionic.css +289 -0
  444. package/dist/collection/components/progress-bar/progress-bar.ios.css +48 -17
  445. package/dist/collection/components/progress-bar/progress-bar.js +43 -7
  446. package/dist/collection/components/progress-bar/progress-bar.md.css +48 -17
  447. package/dist/collection/components/radio/radio.ionic.css +424 -0
  448. package/dist/collection/components/radio/radio.ios.css +134 -91
  449. package/dist/collection/components/radio/radio.js +12 -9
  450. package/dist/collection/components/radio/radio.md.css +134 -91
  451. package/dist/collection/components/radio-group/radio-group.ionic.css +127 -0
  452. package/dist/collection/components/radio-group/radio-group.ios.css +42 -18
  453. package/dist/collection/components/radio-group/radio-group.js +13 -5
  454. package/dist/collection/components/radio-group/radio-group.md.css +42 -18
  455. package/dist/collection/components/range/range.ionic.css +555 -0
  456. package/dist/collection/components/range/range.ios.css +128 -85
  457. package/dist/collection/components/range/range.js +12 -9
  458. package/dist/collection/components/range/range.md.css +128 -85
  459. package/dist/collection/components/refresher/refresher.ios.css +14 -1
  460. package/dist/collection/components/refresher/refresher.js +11 -8
  461. package/dist/collection/components/refresher/refresher.md.css +15 -2
  462. package/dist/collection/components/refresher-content/refresher-content.js +28 -7
  463. package/dist/collection/components/reorder/reorder.ios.css +6 -0
  464. package/dist/collection/components/reorder/reorder.js +33 -6
  465. package/dist/collection/components/reorder/reorder.md.css +6 -0
  466. package/dist/collection/components/reorder-group/reorder-group.css +6 -0
  467. package/dist/collection/components/reorder-group/reorder-group.js +8 -4
  468. package/dist/collection/components/ripple-effect/{ripple-effect.css → ripple-effect.common.css} +7 -1
  469. package/dist/collection/components/ripple-effect/ripple-effect.ionic.css +217 -0
  470. package/dist/collection/components/ripple-effect/ripple-effect.js +14 -6
  471. package/dist/collection/components/route/route.js +4 -0
  472. package/dist/collection/components/router/router.js +4 -0
  473. package/dist/collection/components/router-link/router-link.css +8 -2
  474. package/dist/collection/components/router-link/router-link.js +9 -5
  475. package/dist/collection/components/router-outlet/router-outlet.css +7 -1
  476. package/dist/collection/components/router-outlet/router-outlet.js +6 -3
  477. package/dist/collection/components/row/row.css +12 -0
  478. package/dist/collection/components/row/row.js +9 -2
  479. package/dist/collection/components/searchbar/searchbar.ionic.css +628 -0
  480. package/dist/collection/components/searchbar/searchbar.ios.css +56 -18
  481. package/dist/collection/components/searchbar/searchbar.js +181 -34
  482. package/dist/collection/components/searchbar/searchbar.md.css +56 -18
  483. package/dist/collection/components/segment/segment.ionic.css +117 -0
  484. package/dist/collection/components/segment/segment.ios.css +45 -2
  485. package/dist/collection/components/segment/segment.js +11 -8
  486. package/dist/collection/components/segment/segment.md.css +45 -2
  487. package/dist/collection/components/segment-button/segment-button.ionic.css +355 -0
  488. package/dist/collection/components/segment-button/segment-button.ios.css +146 -105
  489. package/dist/collection/components/segment-button/segment-button.js +11 -8
  490. package/dist/collection/components/segment-button/segment-button.md.css +148 -107
  491. package/dist/collection/components/segment-content/segment-content.js +1 -1
  492. package/dist/collection/components/segment-view/segment-view.ios.css +6 -0
  493. package/dist/collection/components/segment-view/segment-view.js +6 -4
  494. package/dist/collection/components/segment-view/segment-view.md.css +6 -0
  495. package/dist/collection/components/select/select.ionic.css +765 -0
  496. package/dist/collection/components/select/select.ios.css +315 -176
  497. package/dist/collection/components/select/select.js +157 -54
  498. package/dist/collection/components/select/select.md.css +331 -178
  499. package/dist/collection/components/select-modal/select-modal.ionic.css +121 -0
  500. package/dist/collection/components/select-modal/select-modal.ios.css +18 -0
  501. package/dist/collection/components/select-modal/select-modal.js +3 -3
  502. package/dist/collection/components/select-modal/select-modal.md.css +7 -3
  503. package/dist/collection/components/select-option/select-option.js +9 -2
  504. package/dist/collection/components/select-popover/select-popover.ios.css +18 -0
  505. package/dist/collection/components/select-popover/select-popover.js +12 -4
  506. package/dist/collection/components/select-popover/select-popover.md.css +18 -0
  507. package/dist/collection/components/skeleton-text/skeleton-text.css +6 -0
  508. package/dist/collection/components/skeleton-text/skeleton-text.js +9 -5
  509. package/dist/collection/components/spinner/{spinner.css → spinner.ionic.css} +79 -10
  510. package/dist/collection/components/spinner/spinner.js +47 -6
  511. package/dist/collection/components/spinner/spinner.native.css +198 -0
  512. package/dist/collection/components/split-pane/split-pane.ios.css +20 -2
  513. package/dist/collection/components/split-pane/split-pane.js +14 -8
  514. package/dist/collection/components/split-pane/split-pane.md.css +20 -2
  515. package/dist/collection/components/tab/tab.js +6 -2
  516. package/dist/collection/components/tab-bar/tab-bar.ionic.css +188 -0
  517. package/dist/collection/components/tab-bar/tab-bar.ios.css +71 -43
  518. package/dist/collection/components/tab-bar/tab-bar.js +78 -11
  519. package/dist/collection/components/tab-bar/tab-bar.md.css +71 -43
  520. package/dist/collection/components/tab-button/tab-button.ionic.css +338 -0
  521. package/dist/collection/components/tab-button/tab-button.ios.css +171 -95
  522. package/dist/collection/components/tab-button/tab-button.js +44 -8
  523. package/dist/collection/components/tab-button/tab-button.md.css +137 -93
  524. package/dist/collection/components/tabs/tabs.css +7 -1
  525. package/dist/collection/components/tabs/tabs.js +4 -1
  526. package/dist/collection/components/text/text.css +6 -0
  527. package/dist/collection/components/text/text.js +7 -6
  528. package/dist/collection/components/textarea/textarea.ionic.css +830 -0
  529. package/dist/collection/components/textarea/textarea.ios.css +275 -139
  530. package/dist/collection/components/textarea/textarea.js +76 -16
  531. package/dist/collection/components/textarea/textarea.md.css +288 -140
  532. package/dist/collection/components/thumbnail/thumbnail.css +6 -0
  533. package/dist/collection/components/thumbnail/thumbnail.js +9 -2
  534. package/dist/collection/components/title/title.ionic.css +129 -0
  535. package/dist/collection/components/title/title.ios.css +32 -4
  536. package/dist/collection/components/title/title.js +13 -7
  537. package/dist/collection/components/title/title.md.css +32 -4
  538. package/dist/collection/components/toast/animations/utils.js +1 -1
  539. package/dist/collection/components/toast/toast.ionic.css +396 -0
  540. package/dist/collection/components/toast/toast.ios.css +84 -45
  541. package/dist/collection/components/toast/toast.js +75 -12
  542. package/dist/collection/components/toast/toast.md.css +84 -45
  543. package/dist/collection/components/toggle/toggle.ionic.css +511 -0
  544. package/dist/collection/components/toggle/toggle.ios.css +247 -131
  545. package/dist/collection/components/toggle/toggle.js +73 -18
  546. package/dist/collection/components/toggle/toggle.md.css +244 -131
  547. package/dist/collection/components/toolbar/test/image.svg +1 -0
  548. package/dist/collection/components/toolbar/toolbar.ionic.css +243 -0
  549. package/dist/collection/components/toolbar/toolbar.ios.css +90 -47
  550. package/dist/collection/components/toolbar/toolbar.js +157 -13
  551. package/dist/collection/components/toolbar/toolbar.md.css +90 -47
  552. package/dist/collection/global/ionic-global.js +228 -13
  553. package/dist/collection/utils/focus-visible.js +22 -0
  554. package/dist/collection/utils/framework-delegate.js +3 -1
  555. package/dist/collection/utils/helpers.js +42 -2
  556. package/dist/collection/utils/keyboard/keyboard-controller.js +3 -1
  557. package/dist/collection/utils/menu-controller/animations/overlay.js +3 -3
  558. package/dist/collection/utils/menu-controller/animations/push.js +2 -1
  559. package/dist/collection/utils/menu-controller/animations/reveal.js +2 -1
  560. package/dist/collection/utils/overlays.js +2 -1
  561. package/dist/collection/utils/test/playwright/generator.js +48 -23
  562. package/dist/collection/utils/test/playwright/page/utils/goto.js +14 -5
  563. package/dist/collection/utils/test/playwright/page/utils/set-content.js +24 -3
  564. package/dist/collection/utils/transition/ios.transition.js +1 -0
  565. package/dist/docs.json +7887 -359
  566. package/dist/esm/{animation-BWcUKtbn.js → animation-Cgfm6Out.js} +1 -2
  567. package/dist/esm/{button-active-Bxcnevju.js → button-active-DvzVF2u_.js} +2 -2
  568. package/dist/esm/{capacitor-CFERIeaU.js → capacitor-Dvc8Ydvg.js} +1 -1
  569. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  570. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  571. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  572. package/dist/esm/{config-AaTyISnm.js → config-DwiPHIF5.js} +1 -1
  573. package/dist/esm/{data-GIsHsYIB.js → data-HHZs0eLV.js} +6 -6
  574. package/dist/{cjs/focus-visible-CCvKiLh3.js → esm/focus-visible-vXpMhGrs.js} +23 -3
  575. package/dist/esm/{framework-delegate-DxcnWic_.js → framework-delegate-B4Rily6A.js} +4 -2
  576. package/dist/esm/{haptic-DzAMWJuk.js → haptic-ZZTn7IWt.js} +1 -1
  577. package/dist/esm/{helpers-1O4D2b7y.js → helpers-D_90HVv6.js} +42 -3
  578. package/dist/esm/{index-B_U9CtaY.js → index-BBrR3goV.js} +347 -13
  579. package/dist/esm/{index-DfBA5ztX.js → index-BoSPzYKk.js} +4 -4
  580. package/dist/esm/{index-BlJTBdxG.js → index-ByqmqxGO.js} +2 -2
  581. package/dist/esm/{index-BLV6ykCk.js → index-CFd-a2gp.js} +3 -3
  582. package/dist/esm/{index-D8sncTHY.js → index-D4D_NUAr.js} +10 -10
  583. package/dist/esm/{index-CWbP1eJz.js → index-k4x4i7EL.js} +3 -3
  584. package/dist/esm/index.js +11 -12
  585. package/dist/esm/{input-shims-C3lNp93k.js → input-shims-DEtEJcaS.js} +6 -6
  586. package/dist/esm/{input.utils-zWijNCrx.js → input.utils-DNE0LB5g.js} +2 -3
  587. package/dist/esm/ion-accordion_2.entry.js +56 -27
  588. package/dist/esm/ion-action-sheet.entry.js +21 -18
  589. package/dist/esm/ion-alert.entry.js +23 -21
  590. package/dist/esm/ion-app_8.entry.js +243 -144
  591. package/dist/esm/ion-avatar_3.entry.js +124 -12
  592. package/dist/esm/ion-back-button.entry.js +29 -20
  593. package/dist/esm/ion-backdrop.entry.js +9 -6
  594. package/dist/esm/ion-breadcrumb_2.entry.js +52 -16
  595. package/dist/esm/ion-button_2.entry.js +43 -11
  596. package/dist/esm/ion-card_5.entry.js +53 -29
  597. package/dist/esm/ion-checkbox.entry.js +31 -13
  598. package/dist/esm/ion-chip.entry.js +48 -7
  599. package/dist/esm/ion-col_3.entry.js +13 -10
  600. package/dist/esm/ion-datetime-button.entry.js +11 -7
  601. package/dist/esm/ion-datetime_3.entry.js +114 -39
  602. package/dist/esm/ion-divider.entry.js +48 -0
  603. package/dist/esm/ion-fab_3.entry.js +42 -26
  604. package/dist/esm/ion-img.entry.js +7 -3
  605. package/dist/esm/ion-infinite-scroll_2.entry.js +18 -14
  606. package/dist/esm/ion-input-otp.entry.js +58 -106
  607. package/dist/esm/ion-input-password-toggle.entry.js +51 -13
  608. package/dist/esm/ion-input.entry.js +121 -31
  609. package/dist/esm/ion-item-option_3.entry.js +48 -19
  610. package/dist/esm/ion-item_8.entry.js +106 -46
  611. package/dist/esm/ion-loading.entry.js +18 -16
  612. package/dist/esm/ion-menu_3.entry.js +45 -27
  613. package/dist/esm/ion-modal.entry.js +56 -112
  614. package/dist/esm/ion-nav_2.entry.js +13 -10
  615. package/dist/esm/ion-picker-column-option.entry.js +10 -6
  616. package/dist/esm/ion-picker-column.entry.js +11 -11
  617. package/dist/esm/ion-picker.entry.js +10 -6
  618. package/dist/esm/ion-popover.entry.js +18 -16
  619. package/dist/esm/ion-progress-bar.entry.js +25 -7
  620. package/dist/esm/ion-radio_2.entry.js +22 -13
  621. package/dist/esm/ion-range.entry.js +14 -10
  622. package/dist/esm/ion-refresher_2.entry.js +38 -20
  623. package/dist/esm/ion-reorder_2.entry.js +37 -13
  624. package/dist/esm/ion-ripple-effect.entry.js +14 -6
  625. package/dist/esm/ion-route_4.entry.js +8 -7
  626. package/dist/esm/ion-searchbar.entry.js +136 -23
  627. package/dist/esm/ion-segment-content.entry.js +2 -2
  628. package/dist/esm/ion-segment-view.entry.js +6 -3
  629. package/dist/esm/ion-segment_2.entry.js +21 -14
  630. package/dist/esm/ion-select-modal.entry.js +8 -9
  631. package/dist/esm/ion-select_3.entry.js +130 -39
  632. package/dist/esm/ion-spinner.entry.js +28 -6
  633. package/dist/esm/ion-split-pane.entry.js +11 -8
  634. package/dist/esm/ion-tab-bar_2.entry.js +65 -20
  635. package/dist/esm/ion-tab_2.entry.js +8 -7
  636. package/dist/esm/ion-text.entry.js +5 -5
  637. package/dist/esm/ion-textarea.entry.js +55 -15
  638. package/dist/esm/ion-toast.entry.js +41 -18
  639. package/dist/esm/ion-toggle.entry.js +79 -22
  640. package/dist/esm/ionic.js +3 -3
  641. package/dist/esm/{ios.transition-BmXtMRXZ.js → ios.transition-C_-UP8wE.js} +6 -5
  642. package/dist/esm/{keyboard-ywgs5efA.js → keyboard-BsZp3qPH.js} +3 -3
  643. package/dist/esm/{keyboard-CUw4ekVy.js → keyboard-Cvigb3Rv.js} +1 -1
  644. package/dist/esm/{keyboard-controller-BaaVITYt.js → keyboard-controller-lts2Pswq.js} +4 -3
  645. package/dist/esm/list-Dhi5xtNS.js +6 -0
  646. package/dist/esm/loader.js +3 -3
  647. package/dist/esm/{md.transition-CLI683c7.js → md.transition-BDWkLsNw.js} +5 -5
  648. package/dist/esm/{notch-controller-C5LPspO8.js → notch-controller-ClKrf2l9.js} +2 -2
  649. package/dist/esm/{overlays-8Y2rA-ps.js → overlays-DDeOq6un.js} +5 -6
  650. package/dist/esm/{status-tap-7t9T91bG.js → status-tap-DLatL9pG.js} +4 -3
  651. package/dist/esm/{swipe-back-VdaUzLWy.js → swipe-back-YYylMb0l.js} +3 -2
  652. package/dist/esm/x-BDqjX7Z_.js +6 -0
  653. package/dist/html.html-data.json +2508 -230
  654. package/dist/ionic/index.esm.js +1 -1
  655. package/dist/ionic/ionic.esm.js +1 -1
  656. package/dist/ionic/p-034b2ca2.entry.js +4 -0
  657. package/dist/ionic/p-08dfb85e.entry.js +4 -0
  658. package/dist/ionic/p-0db4cc59.entry.js +4 -0
  659. package/dist/ionic/p-0eab9ecf.entry.js +4 -0
  660. package/dist/ionic/p-13c72b4e.entry.js +4 -0
  661. package/dist/ionic/p-1984e701.entry.js +4 -0
  662. package/dist/ionic/p-19959eec.entry.js +4 -0
  663. package/dist/ionic/p-1f976fad.entry.js +4 -0
  664. package/dist/ionic/p-1fd06a55.entry.js +4 -0
  665. package/dist/ionic/p-1fedceb6.entry.js +4 -0
  666. package/dist/ionic/p-208954ca.entry.js +4 -0
  667. package/dist/ionic/p-2d5f9656.entry.js +4 -0
  668. package/dist/ionic/p-30c2256c.entry.js +4 -0
  669. package/dist/ionic/p-32f9c041.entry.js +4 -0
  670. package/dist/ionic/p-3a2af867.entry.js +4 -0
  671. package/dist/ionic/p-3c361403.entry.js +4 -0
  672. package/dist/ionic/p-40f4609e.entry.js +4 -0
  673. package/dist/ionic/p-4d4dcd38.entry.js +4 -0
  674. package/dist/ionic/p-4d7443cd.entry.js +4 -0
  675. package/dist/ionic/p-4d7ac4db.entry.js +4 -0
  676. package/dist/ionic/p-50ce7a3d.entry.js +4 -0
  677. package/dist/ionic/p-5adff2f0.entry.js +4 -0
  678. package/dist/ionic/p-63766f09.entry.js +4 -0
  679. package/dist/ionic/p-6957ab67.entry.js +4 -0
  680. package/dist/ionic/p-6e6ce506.entry.js +4 -0
  681. package/dist/ionic/p-6ea34add.entry.js +4 -0
  682. package/dist/ionic/p-6f17f8ed.entry.js +4 -0
  683. package/dist/ionic/p-7049bf1c.entry.js +4 -0
  684. package/dist/ionic/p-7ace7638.entry.js +4 -0
  685. package/dist/ionic/p-7f1e83a4.entry.js +4 -0
  686. package/dist/ionic/p-82796bb0.entry.js +4 -0
  687. package/dist/ionic/p-9cb0fd91.entry.js +4 -0
  688. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  689. package/dist/ionic/p-BJ-EYogw.js +4 -0
  690. package/dist/ionic/p-BK3Vo2GA.js +4 -0
  691. package/dist/ionic/p-BKDxK6_S.js +4 -0
  692. package/dist/ionic/p-BMPzyWDm.js +4 -0
  693. package/dist/ionic/p-BTqHM5hg.js +4 -0
  694. package/dist/ionic/p-BYSs-jZz.js +4 -0
  695. package/dist/ionic/p-BZR5I9yn.js +4 -0
  696. package/dist/ionic/p-BZSKvxFv.js +4 -0
  697. package/dist/ionic/p-BaAcx1TO.js +4 -0
  698. package/dist/ionic/p-BeJdFlAB.js +4 -0
  699. package/dist/ionic/{p-D13Eaw-8.js → p-Bi_aZreq.js} +1 -1
  700. package/dist/ionic/p-BpUl-Ubc.js +4 -0
  701. package/dist/ionic/{p-CKvCXMs9.js → p-BuAY53fC.js} +1 -1
  702. package/dist/ionic/{p-BLV6ykCk.js → p-CFd-a2gp.js} +1 -1
  703. package/dist/ionic/p-CnPZjTVf.js +4 -0
  704. package/dist/ionic/{p-7qk7mxdr.js → p-D-g7JYuH.js} +1 -1
  705. package/dist/ionic/p-D1t981Ih.js +4 -0
  706. package/dist/ionic/p-D6quDhlh.js +4 -0
  707. package/dist/ionic/{p-CPgXVSua.js → p-DIZM2shZ.js} +1 -1
  708. package/dist/ionic/p-DJD59Sq4.js +4 -0
  709. package/dist/ionic/p-DZmL55Qn.js +4 -0
  710. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  711. package/dist/ionic/p-DjxV6ul_.js +4 -0
  712. package/dist/ionic/p-DkXsr7m2.js +4 -0
  713. package/dist/ionic/p-Dpa-63kX.js +4 -0
  714. package/dist/ionic/p-HOJ_eq4V.js +5 -0
  715. package/dist/ionic/p-MBiM0IFp.js +4 -0
  716. package/dist/ionic/p-a036ba35.entry.js +4 -0
  717. package/dist/ionic/p-a1af546a.entry.js +4 -0
  718. package/dist/ionic/p-ae3dad82.entry.js +4 -0
  719. package/dist/ionic/{p-a9ac80bd.entry.js → p-b2fe9962.entry.js} +1 -1
  720. package/dist/ionic/p-b493f149.entry.js +4 -0
  721. package/dist/ionic/p-b767c96a.entry.js +4 -0
  722. package/dist/ionic/p-bb85830d.entry.js +4 -0
  723. package/dist/ionic/p-c565e353.entry.js +4 -0
  724. package/dist/ionic/p-ccf3b065.entry.js +4 -0
  725. package/dist/ionic/p-d2ca6a9d.entry.js +4 -0
  726. package/dist/ionic/p-db6e0330.entry.js +4 -0
  727. package/dist/ionic/p-dd5e8e7a.entry.js +4 -0
  728. package/dist/ionic/p-deb1d888.entry.js +4 -0
  729. package/dist/ionic/p-dec5b3dc.entry.js +4 -0
  730. package/dist/ionic/p-e4ed2971.entry.js +4 -0
  731. package/dist/ionic/p-e89e89eb.entry.js +4 -0
  732. package/dist/ionic/{p-ei_RiGrl.js → p-eZzo_1L1.js} +1 -1
  733. package/dist/ionic/p-ed214a9c.entry.js +4 -0
  734. package/dist/ionic/p-eebf0420.entry.js +4 -0
  735. package/dist/ionic/p-f2cd0d41.entry.js +4 -0
  736. package/dist/ionic/p-fIOYmaqA.js +4 -0
  737. package/dist/ionic/p-fbd73129.entry.js +4 -0
  738. package/dist/ionic/p-fc8e47a4.entry.js +4 -0
  739. package/dist/ionic/p-vXpMhGrs.js +4 -0
  740. package/dist/ionic/svg/accessibility-outline.svg +1 -1
  741. package/dist/ionic/svg/accessibility-sharp.svg +1 -1
  742. package/dist/ionic/svg/accessibility.svg +1 -1
  743. package/dist/ionic/svg/arrow-down-left-box-outline.svg +1 -0
  744. package/dist/ionic/svg/arrow-down-left-box-sharp.svg +1 -0
  745. package/dist/ionic/svg/arrow-down-left-box.svg +1 -0
  746. package/dist/ionic/svg/arrow-down-right-box-outline.svg +1 -0
  747. package/dist/ionic/svg/arrow-down-right-box-sharp.svg +1 -0
  748. package/dist/ionic/svg/arrow-down-right-box.svg +1 -0
  749. package/dist/ionic/svg/arrow-up-left-box-outline.svg +1 -0
  750. package/dist/ionic/svg/arrow-up-left-box-sharp.svg +1 -0
  751. package/dist/ionic/svg/arrow-up-left-box.svg +1 -0
  752. package/dist/ionic/svg/arrow-up-right-box-outline.svg +1 -0
  753. package/dist/ionic/svg/arrow-up-right-box-sharp.svg +1 -0
  754. package/dist/ionic/svg/arrow-up-right-box.svg +1 -0
  755. package/dist/ionic/svg/bag-add-outline.svg +1 -1
  756. package/dist/ionic/svg/bag-add-sharp.svg +1 -1
  757. package/dist/ionic/svg/bag-add.svg +1 -1
  758. package/dist/ionic/svg/bag-check-outline.svg +1 -1
  759. package/dist/ionic/svg/bag-check-sharp.svg +1 -1
  760. package/dist/ionic/svg/bag-check.svg +1 -1
  761. package/dist/ionic/svg/bag-handle-outline.svg +1 -1
  762. package/dist/ionic/svg/bag-handle-sharp.svg +1 -1
  763. package/dist/ionic/svg/bag-handle.svg +1 -1
  764. package/dist/ionic/svg/bag-outline.svg +1 -1
  765. package/dist/ionic/svg/bag-remove-outline.svg +1 -1
  766. package/dist/ionic/svg/bag-remove-sharp.svg +1 -1
  767. package/dist/ionic/svg/bag-remove.svg +1 -1
  768. package/dist/ionic/svg/bag-sharp.svg +1 -1
  769. package/dist/ionic/svg/bag.svg +1 -1
  770. package/dist/ionic/svg/balloon-outline.svg +1 -1
  771. package/dist/ionic/svg/balloon-sharp.svg +1 -1
  772. package/dist/ionic/svg/balloon.svg +1 -1
  773. package/dist/ionic/svg/ban-outline.svg +1 -1
  774. package/dist/ionic/svg/ban-sharp.svg +1 -1
  775. package/dist/ionic/svg/ban.svg +1 -1
  776. package/dist/ionic/svg/binoculars-outline.svg +1 -0
  777. package/dist/ionic/svg/binoculars-sharp.svg +1 -0
  778. package/dist/ionic/svg/binoculars.svg +1 -0
  779. package/dist/ionic/svg/body-outline.svg +1 -1
  780. package/dist/ionic/svg/bowling-ball-outline.svg +1 -1
  781. package/dist/ionic/svg/bowling-ball-sharp.svg +1 -1
  782. package/dist/ionic/svg/bowling-ball.svg +1 -1
  783. package/dist/ionic/svg/calendar-clear-outline.svg +1 -1
  784. package/dist/ionic/svg/calendar-clear-sharp.svg +1 -1
  785. package/dist/ionic/svg/calendar-clear.svg +1 -1
  786. package/dist/ionic/svg/calendar-number-outline.svg +1 -1
  787. package/dist/ionic/svg/calendar-number-sharp.svg +1 -1
  788. package/dist/ionic/svg/calendar-number.svg +1 -1
  789. package/dist/ionic/svg/calendar-outline.svg +1 -1
  790. package/dist/ionic/svg/calendar-sharp.svg +1 -1
  791. package/dist/ionic/svg/calendar.svg +1 -1
  792. package/dist/ionic/svg/chevron-collapse-outline.svg +1 -1
  793. package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -1
  794. package/dist/ionic/svg/chevron-collapse.svg +1 -1
  795. package/dist/ionic/svg/chevron-expand-outline.svg +1 -1
  796. package/dist/ionic/svg/chevron-expand-sharp.svg +1 -1
  797. package/dist/ionic/svg/chevron-expand.svg +1 -1
  798. package/dist/ionic/svg/color-wand-outline.svg +1 -1
  799. package/dist/ionic/svg/color-wand.svg +1 -1
  800. package/dist/ionic/svg/diamond-outline.svg +1 -1
  801. package/dist/ionic/svg/diamond-sharp.svg +1 -1
  802. package/dist/ionic/svg/diamond.svg +1 -1
  803. package/dist/ionic/svg/dice-outline.svg +1 -1
  804. package/dist/ionic/svg/dice-sharp.svg +1 -1
  805. package/dist/ionic/svg/dice.svg +1 -1
  806. package/dist/ionic/svg/document-lock-outline.svg +1 -1
  807. package/dist/ionic/svg/document-lock-sharp.svg +1 -1
  808. package/dist/ionic/svg/document-lock.svg +1 -1
  809. package/dist/ionic/svg/extension-puzzle-outline.svg +1 -1
  810. package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -1
  811. package/dist/ionic/svg/extension-puzzle.svg +1 -1
  812. package/dist/ionic/svg/filter-circle-outline.svg +1 -1
  813. package/dist/ionic/svg/filter-circle-sharp.svg +1 -1
  814. package/dist/ionic/svg/filter-circle.svg +1 -1
  815. package/dist/ionic/svg/fish-outline.svg +1 -1
  816. package/dist/ionic/svg/fish-sharp.svg +1 -1
  817. package/dist/ionic/svg/fish.svg +1 -1
  818. package/dist/ionic/svg/footsteps-outline.svg +1 -1
  819. package/dist/ionic/svg/footsteps-sharp.svg +1 -1
  820. package/dist/ionic/svg/footsteps.svg +1 -1
  821. package/dist/ionic/svg/id-card-outline.svg +1 -1
  822. package/dist/ionic/svg/id-card-sharp.svg +1 -1
  823. package/dist/ionic/svg/id-card.svg +1 -1
  824. package/dist/ionic/svg/invert-mode-outline.svg +1 -1
  825. package/dist/ionic/svg/invert-mode-sharp.svg +1 -1
  826. package/dist/ionic/svg/invert-mode.svg +1 -1
  827. package/dist/ionic/svg/logo-alipay.svg +1 -1
  828. package/dist/ionic/svg/logo-android.svg +1 -1
  829. package/dist/ionic/svg/logo-appflow.svg +1 -0
  830. package/dist/ionic/svg/logo-apple-ar.svg +1 -1
  831. package/dist/ionic/svg/logo-behance.svg +1 -1
  832. package/dist/ionic/svg/logo-bitbucket.svg +1 -1
  833. package/dist/ionic/svg/logo-deviantart.svg +1 -1
  834. package/dist/ionic/svg/logo-discord.svg +1 -1
  835. package/dist/ionic/svg/logo-docker.svg +1 -1
  836. package/dist/ionic/svg/logo-edge.svg +1 -1
  837. package/dist/ionic/svg/logo-facebook.svg +1 -1
  838. package/dist/ionic/svg/logo-figma.svg +1 -1
  839. package/dist/ionic/svg/logo-firebase.svg +1 -1
  840. package/dist/ionic/svg/logo-gitlab.svg +1 -1
  841. package/dist/ionic/svg/logo-ionic.svg +1 -1
  842. package/dist/ionic/svg/logo-mastodon.svg +1 -1
  843. package/dist/ionic/svg/logo-medium.svg +1 -1
  844. package/dist/ionic/svg/logo-microsoft.svg +1 -1
  845. package/dist/ionic/svg/logo-npm.svg +1 -1
  846. package/dist/ionic/svg/logo-paypal.svg +1 -1
  847. package/dist/ionic/svg/logo-soundcloud.svg +1 -1
  848. package/dist/ionic/svg/logo-tableau.svg +1 -1
  849. package/dist/ionic/svg/logo-tiktok.svg +1 -1
  850. package/dist/ionic/svg/logo-trapeze.svg +1 -0
  851. package/dist/ionic/svg/logo-venmo.svg +1 -1
  852. package/dist/ionic/svg/logo-vercel.svg +1 -1
  853. package/dist/ionic/svg/logo-wechat.svg +1 -1
  854. package/dist/ionic/svg/logo-x.svg +1 -0
  855. package/dist/ionic/svg/logo-yahoo.svg +1 -1
  856. package/dist/ionic/svg/prism-outline.svg +1 -1
  857. package/dist/ionic/svg/prism-sharp.svg +1 -1
  858. package/dist/ionic/svg/prism.svg +1 -1
  859. package/dist/ionic/svg/scale-outline.svg +1 -1
  860. package/dist/ionic/svg/scale-sharp.svg +1 -1
  861. package/dist/ionic/svg/scale.svg +1 -1
  862. package/dist/ionic/svg/server-outline.svg +1 -1
  863. package/dist/ionic/svg/server-sharp.svg +1 -1
  864. package/dist/ionic/svg/server.svg +1 -1
  865. package/dist/ionic/svg/shield-half-outline.svg +1 -1
  866. package/dist/ionic/svg/shield-half-sharp.svg +1 -1
  867. package/dist/ionic/svg/shield-half.svg +1 -1
  868. package/dist/ionic/svg/sparkles-outline.svg +1 -1
  869. package/dist/ionic/svg/sparkles-sharp.svg +1 -1
  870. package/dist/ionic/svg/sparkles.svg +1 -1
  871. package/dist/ionic/svg/storefront-outline.svg +1 -1
  872. package/dist/ionic/svg/storefront-sharp.svg +1 -1
  873. package/dist/ionic/svg/storefront.svg +1 -1
  874. package/dist/ionic/svg/telescope-outline.svg +1 -1
  875. package/dist/ionic/svg/telescope-sharp.svg +1 -1
  876. package/dist/ionic/svg/telescope.svg +1 -1
  877. package/dist/ionic/svg/ticket-outline.svg +1 -1
  878. package/dist/ionic/svg/ticket-sharp.svg +1 -1
  879. package/dist/ionic/svg/ticket.svg +1 -1
  880. package/dist/ionic/svg/today-outline.svg +1 -1
  881. package/dist/ionic/svg/today-sharp.svg +1 -1
  882. package/dist/ionic/svg/today.svg +1 -1
  883. package/dist/ionic/svg/unlink-outline.svg +1 -1
  884. package/dist/ionic/svg/unlink-sharp.svg +1 -1
  885. package/dist/ionic/svg/unlink.svg +1 -1
  886. package/dist/ionic/svg/videocam-off-outline.svg +1 -1
  887. package/dist/ionic/svg/videocam-off-sharp.svg +1 -1
  888. package/dist/ionic/svg/videocam-off.svg +1 -1
  889. package/dist/ionic/svg/wifi-outline.svg +1 -1
  890. package/dist/ionic/svg/wifi-sharp.svg +1 -1
  891. package/dist/ionic/svg/wifi.svg +1 -1
  892. package/dist/types/components/accordion/accordion.d.ts +5 -3
  893. package/dist/types/components/accordion-group/accordion-group.d.ts +12 -1
  894. package/dist/types/components/action-sheet/action-sheet-interface.d.ts +3 -7
  895. package/dist/types/components/action-sheet/action-sheet.d.ts +3 -2
  896. package/dist/types/components/alert/alert-interface.d.ts +3 -7
  897. package/dist/types/components/alert/alert.d.ts +3 -2
  898. package/dist/types/components/app/app.d.ts +4 -2
  899. package/dist/types/components/avatar/avatar.d.ts +32 -0
  900. package/dist/types/components/back-button/back-button.d.ts +2 -1
  901. package/dist/types/components/backdrop/backdrop.d.ts +4 -0
  902. package/dist/types/components/badge/badge.d.ts +34 -1
  903. package/dist/types/components/breadcrumb/breadcrumb.d.ts +4 -1
  904. package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +2 -2
  905. package/dist/types/components/button/button.d.ts +19 -6
  906. package/dist/types/components/buttons/buttons.d.ts +5 -1
  907. package/dist/types/components/card/card.d.ts +8 -1
  908. package/dist/types/components/card-content/card-content.d.ts +2 -1
  909. package/dist/types/components/card-header/card-header.d.ts +3 -2
  910. package/dist/types/components/card-subtitle/card-subtitle.d.ts +2 -1
  911. package/dist/types/components/card-title/card-title.d.ts +2 -1
  912. package/dist/types/components/checkbox/checkbox.d.ts +14 -4
  913. package/dist/types/components/chip/chip.d.ts +26 -1
  914. package/dist/types/components/col/col.d.ts +4 -0
  915. package/dist/types/components/content/content.d.ts +3 -0
  916. package/dist/types/components/datetime/datetime.d.ts +26 -1
  917. package/dist/types/components/datetime/utils/data.d.ts +5 -5
  918. package/dist/types/components/datetime-button/datetime-button.d.ts +2 -1
  919. package/dist/types/components/divider/divider.d.ts +20 -0
  920. package/dist/types/components/fab/fab.d.ts +4 -0
  921. package/dist/types/components/fab-button/fab-button.d.ts +5 -3
  922. package/dist/types/components/fab-list/fab-list.d.ts +4 -0
  923. package/dist/types/components/footer/footer.d.ts +4 -3
  924. package/dist/types/components/grid/grid.d.ts +4 -0
  925. package/dist/types/components/header/header.d.ts +9 -3
  926. package/dist/types/components/img/img.d.ts +3 -0
  927. package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +4 -0
  928. package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +4 -0
  929. package/dist/types/components/input/input.d.ts +31 -5
  930. package/dist/types/components/input-otp/input-otp.d.ts +8 -12
  931. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +2 -0
  932. package/dist/types/components/item/item.d.ts +11 -4
  933. package/dist/types/components/item-divider/item-divider.d.ts +2 -1
  934. package/dist/types/components/item-group/item-group.d.ts +4 -0
  935. package/dist/types/components/item-option/item-option.d.ts +18 -1
  936. package/dist/types/components/item-options/item-options.d.ts +4 -0
  937. package/dist/types/components/item-sliding/item-sliding.d.ts +4 -0
  938. package/dist/types/components/label/label.d.ts +2 -1
  939. package/dist/types/components/list/list.d.ts +15 -1
  940. package/dist/types/components/list-header/list-header.d.ts +2 -1
  941. package/dist/types/components/loading/loading-interface.d.ts +2 -7
  942. package/dist/types/components/loading/loading.d.ts +3 -2
  943. package/dist/types/components/menu/menu.d.ts +3 -0
  944. package/dist/types/components/menu-button/menu-button.d.ts +3 -1
  945. package/dist/types/components/menu-toggle/menu-toggle.d.ts +3 -0
  946. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  947. package/dist/types/components/modal/modal-interface.d.ts +4 -7
  948. package/dist/types/components/modal/modal.d.ts +11 -14
  949. package/dist/types/components/nav/nav-interface.d.ts +9 -1
  950. package/dist/types/components/nav/nav.d.ts +5 -1
  951. package/dist/types/components/nav-link/nav-link.d.ts +4 -0
  952. package/dist/types/components/note/note.d.ts +2 -1
  953. package/dist/types/components/picker/picker.d.ts +2 -1
  954. package/dist/types/components/picker-column/picker-column.d.ts +2 -1
  955. package/dist/types/components/picker-column-option/picker-column-option.d.ts +4 -0
  956. package/dist/types/components/picker-legacy/picker.d.ts +2 -1
  957. package/dist/types/components/popover/popover-interface.d.ts +3 -6
  958. package/dist/types/components/popover/popover.d.ts +6 -5
  959. package/dist/types/components/progress-bar/progress-bar.d.ts +10 -1
  960. package/dist/types/components/radio/radio.d.ts +2 -1
  961. package/dist/types/components/radio-group/radio-group.d.ts +4 -0
  962. package/dist/types/components/range/range.d.ts +2 -1
  963. package/dist/types/components/refresher/refresher.d.ts +2 -1
  964. package/dist/types/components/refresher-content/refresher-content.d.ts +4 -0
  965. package/dist/types/components/reorder/reorder.d.ts +9 -0
  966. package/dist/types/components/reorder-group/reorder-group.d.ts +4 -0
  967. package/dist/types/components/ripple-effect/ripple-effect.d.ts +4 -0
  968. package/dist/types/components/route/route.d.ts +4 -0
  969. package/dist/types/components/router/router.d.ts +4 -0
  970. package/dist/types/components/router-link/router-link.d.ts +4 -0
  971. package/dist/types/components/router-outlet/router-outlet.d.ts +4 -1
  972. package/dist/types/components/row/row.d.ts +4 -0
  973. package/dist/types/components/searchbar/searchbar.d.ts +51 -9
  974. package/dist/types/components/segment/segment.d.ts +2 -1
  975. package/dist/types/components/segment-button/segment-button.d.ts +2 -1
  976. package/dist/types/components/select/select.d.ts +41 -13
  977. package/dist/types/components/select-option/select-option.d.ts +4 -0
  978. package/dist/types/components/select-popover/select-popover.d.ts +3 -0
  979. package/dist/types/components/skeleton-text/skeleton-text.d.ts +4 -0
  980. package/dist/types/components/spinner/spinner.d.ts +15 -0
  981. package/dist/types/components/split-pane/split-pane.d.ts +4 -0
  982. package/dist/types/components/tab/tab.d.ts +4 -0
  983. package/dist/types/components/tab-bar/tab-bar.d.ts +22 -2
  984. package/dist/types/components/tab-button/tab-button.d.ts +11 -1
  985. package/dist/types/components/tabs/tabs.d.ts +3 -0
  986. package/dist/types/components/text/text.d.ts +2 -1
  987. package/dist/types/components/textarea/textarea.d.ts +17 -4
  988. package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
  989. package/dist/types/components/title/title.d.ts +4 -0
  990. package/dist/types/components/toast/animations/utils.d.ts +2 -2
  991. package/dist/types/components/toast/toast-interface.d.ts +3 -7
  992. package/dist/types/components/toast/toast.d.ts +19 -2
  993. package/dist/types/components/toggle/toggle.d.ts +15 -1
  994. package/dist/types/components/toolbar/toolbar.d.ts +20 -3
  995. package/dist/types/components.d.ts +1511 -196
  996. package/dist/types/global/ionic-global.d.ts +27 -2
  997. package/dist/types/interface.d.ts +3 -0
  998. package/dist/types/utils/config.d.ts +106 -2
  999. package/dist/types/utils/focus-visible.d.ts +13 -0
  1000. package/dist/types/utils/helpers.d.ts +11 -0
  1001. package/dist/types/utils/overlays-interface.d.ts +31 -1
  1002. package/dist/types/utils/test/playwright/generator.d.ts +31 -2
  1003. package/hydrate/index.js +2780 -1087
  1004. package/hydrate/index.mjs +2780 -1087
  1005. package/package.json +9 -4
  1006. package/components/hardware-back-button.js +0 -115
  1007. package/components/index9.js +0 -7
  1008. package/dist/cjs/hardware-back-button-D90qZxju.js +0 -121
  1009. package/dist/cjs/index-DkNv4J_i.js +0 -10
  1010. package/dist/esm/hardware-back-button-DcH0BbDp.js +0 -115
  1011. package/dist/esm/index-ZjP4CjeZ.js +0 -7
  1012. package/dist/ionic/p-01123ecf.entry.js +0 -4
  1013. package/dist/ionic/p-03d21728.entry.js +0 -4
  1014. package/dist/ionic/p-0d131a02.entry.js +0 -4
  1015. package/dist/ionic/p-0fc6fc38.entry.js +0 -4
  1016. package/dist/ionic/p-15da9760.entry.js +0 -4
  1017. package/dist/ionic/p-1739f5f2.entry.js +0 -4
  1018. package/dist/ionic/p-18f1813b.entry.js +0 -4
  1019. package/dist/ionic/p-2bc871ee.entry.js +0 -4
  1020. package/dist/ionic/p-2c6c6991.entry.js +0 -4
  1021. package/dist/ionic/p-2cfd6b61.entry.js +0 -4
  1022. package/dist/ionic/p-2d0eccfb.entry.js +0 -4
  1023. package/dist/ionic/p-2da6a16b.entry.js +0 -4
  1024. package/dist/ionic/p-2dca6aac.entry.js +0 -4
  1025. package/dist/ionic/p-35c4a63f.entry.js +0 -4
  1026. package/dist/ionic/p-3c855fa9.entry.js +0 -4
  1027. package/dist/ionic/p-4b7d1f35.entry.js +0 -4
  1028. package/dist/ionic/p-4d61f20b.entry.js +0 -4
  1029. package/dist/ionic/p-5f671887.entry.js +0 -4
  1030. package/dist/ionic/p-69f91268.entry.js +0 -4
  1031. package/dist/ionic/p-73d7ad90.entry.js +0 -4
  1032. package/dist/ionic/p-76b697a3.entry.js +0 -4
  1033. package/dist/ionic/p-7d5cf8c1.entry.js +0 -4
  1034. package/dist/ionic/p-8957540a.entry.js +0 -4
  1035. package/dist/ionic/p-89918ad1.entry.js +0 -4
  1036. package/dist/ionic/p-8a8ef46b.entry.js +0 -4
  1037. package/dist/ionic/p-8c674371.entry.js +0 -4
  1038. package/dist/ionic/p-8f2f76e0.entry.js +0 -4
  1039. package/dist/ionic/p-91bde659.entry.js +0 -4
  1040. package/dist/ionic/p-97667b9c.entry.js +0 -4
  1041. package/dist/ionic/p-9b46b31b.entry.js +0 -4
  1042. package/dist/ionic/p-9eeaBrnk.js +0 -4
  1043. package/dist/ionic/p-B1MNHTYX.js +0 -4
  1044. package/dist/ionic/p-B3XSxWNQ.js +0 -4
  1045. package/dist/ionic/p-BROiNJRB.js +0 -4
  1046. package/dist/ionic/p-B_U9CtaY.js +0 -5
  1047. package/dist/ionic/p-BhLqfMrf.js +0 -4
  1048. package/dist/ionic/p-BmQduG8c.js +0 -4
  1049. package/dist/ionic/p-BmVRXR1y.js +0 -4
  1050. package/dist/ionic/p-CIGNaXM1.js +0 -4
  1051. package/dist/ionic/p-CL-KfWxq.js +0 -4
  1052. package/dist/ionic/p-CRiGyYOA.js +0 -4
  1053. package/dist/ionic/p-CbI9XwwW.js +0 -4
  1054. package/dist/ionic/p-CtWGkNnJ.js +0 -4
  1055. package/dist/ionic/p-D-7TeYC4.js +0 -4
  1056. package/dist/ionic/p-DCfS5Jk_.js +0 -4
  1057. package/dist/ionic/p-DgdWETCP.js +0 -4
  1058. package/dist/ionic/p-Do-uqmtX.js +0 -4
  1059. package/dist/ionic/p-DzH0J0yi.js +0 -4
  1060. package/dist/ionic/p-QwEXyOze.js +0 -4
  1061. package/dist/ionic/p-ZjP4CjeZ.js +0 -4
  1062. package/dist/ionic/p-a6282370.entry.js +0 -4
  1063. package/dist/ionic/p-a92bfa13.entry.js +0 -4
  1064. package/dist/ionic/p-a9f99c74.entry.js +0 -4
  1065. package/dist/ionic/p-aIxOGKys.js +0 -4
  1066. package/dist/ionic/p-aa8956c2.entry.js +0 -4
  1067. package/dist/ionic/p-b37dbc31.entry.js +0 -4
  1068. package/dist/ionic/p-b758a177.entry.js +0 -4
  1069. package/dist/ionic/p-b9ba04ca.entry.js +0 -4
  1070. package/dist/ionic/p-b9f79efc.entry.js +0 -4
  1071. package/dist/ionic/p-bNmY-WfR.js +0 -4
  1072. package/dist/ionic/p-bc01c127.entry.js +0 -4
  1073. package/dist/ionic/p-c0335397.entry.js +0 -4
  1074. package/dist/ionic/p-c4912ca5.entry.js +0 -4
  1075. package/dist/ionic/p-c884d7e3.entry.js +0 -4
  1076. package/dist/ionic/p-cf632ee2.entry.js +0 -4
  1077. package/dist/ionic/p-d47b85ea.entry.js +0 -4
  1078. package/dist/ionic/p-d8429eb4.entry.js +0 -4
  1079. package/dist/ionic/p-d8ed5df0.entry.js +0 -4
  1080. package/dist/ionic/p-e1260ed5.entry.js +0 -4
  1081. package/dist/ionic/p-e37d6c67.entry.js +0 -4
  1082. package/dist/ionic/p-f83db8cd.entry.js +0 -4
  1083. package/dist/ionic/p-fbc5481b.entry.js +0 -4
  1084. package/dist/ionic/p-fcc7437b.entry.js +0 -4
  1085. /package/dist/collection/components/{input-password-toggle/input-password-toggle.css → refresher-content/refresher-content.css} +0 -0
@@ -21,7 +21,6 @@ export class InputOTP {
21
21
  this.isKeyboardNavigation = false;
22
22
  this.inputValues = [];
23
23
  this.hasFocus = false;
24
- this.previousInputValues = [];
25
24
  /**
26
25
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
27
26
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -122,12 +121,19 @@ export class InputOTP {
122
121
  }
123
122
  };
124
123
  /**
125
- * Handles keyboard navigation for the OTP component.
124
+ * Handles keyboard navigation and input for the OTP component.
126
125
  *
127
126
  * Navigation:
128
127
  * - Backspace: Clears current input and moves to previous box if empty
129
128
  * - Arrow Left/Right: Moves focus between input boxes
130
129
  * - Tab: Allows normal tab navigation between components
130
+ *
131
+ * Input Behavior:
132
+ * - Validates input against the allowed pattern
133
+ * - When entering a key in a filled box:
134
+ * - Shifts existing values right if there is room
135
+ * - Updates the value of the input group
136
+ * - Prevents default behavior to avoid automatic focus shift
131
137
  */
132
138
  this.onKeyDown = (index) => (event) => {
133
139
  const { length } = this;
@@ -182,31 +188,30 @@ export class InputOTP {
182
188
  // Let all tab events proceed normally
183
189
  return;
184
190
  }
191
+ // If the input box contains a value and the key being
192
+ // entered is a valid key for the input box update the value
193
+ // and shift the values to the right if there is room.
194
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
195
+ if (!this.inputValues[length - 1]) {
196
+ for (let i = length - 1; i > index; i--) {
197
+ this.inputValues[i] = this.inputValues[i - 1];
198
+ this.inputRefs[i].value = this.inputValues[i] || '';
199
+ }
200
+ }
201
+ this.inputValues[index] = event.key;
202
+ this.inputRefs[index].value = event.key;
203
+ this.updateValue(event);
204
+ // Prevent default to avoid the browser from
205
+ // automatically moving the focus to the next input
206
+ event.preventDefault();
207
+ }
185
208
  };
186
- /**
187
- * Processes all input scenarios for each input box.
188
- *
189
- * This function manages:
190
- * 1. Autofill handling
191
- * 2. Input validation
192
- * 3. Full selection replacement or typing in an empty box
193
- * 4. Inserting in the middle with available space (shifting)
194
- * 5. Single character replacement
195
- */
196
209
  this.onInput = (index) => (event) => {
197
- var _a, _b;
198
210
  const { length, validKeyPattern } = this;
199
- const input = event.target;
200
- const value = input.value;
201
- const previousValue = this.previousInputValues[index] || '';
202
- // 1. Autofill handling
203
- // If the length of the value increases by more than 1 from the previous
204
- // value, treat this as autofill. This is to prevent the case where the
205
- // user is typing a single character into an input box containing a value
206
- // as that will trigger this function with a value length of 2 characters.
207
- const isAutofill = value.length - previousValue.length > 1;
208
- if (isAutofill) {
209
- // Distribute valid characters across input boxes
211
+ const value = event.target.value;
212
+ // If the value is longer than 1 character (autofill), split it into
213
+ // characters and filter out invalid ones
214
+ if (value.length > 1) {
210
215
  const validChars = value
211
216
  .split('')
212
217
  .filter((char) => validKeyPattern.test(char))
@@ -221,10 +226,8 @@ export class InputOTP {
221
226
  });
222
227
  });
223
228
  }
224
- for (let i = 0; i < length; i++) {
225
- this.inputValues[i] = validChars[i] || '';
226
- this.inputRefs[i].value = validChars[i] || '';
227
- }
229
+ // Update the value of the input group and emit the input change event
230
+ this.value = validChars.join('');
228
231
  this.updateValue(event);
229
232
  // Focus the first empty input box or the last input box if all boxes
230
233
  // are filled after a small delay to ensure the input boxes have been
@@ -234,79 +237,20 @@ export class InputOTP {
234
237
  const nextIndex = validChars.length < length ? validChars.length : length - 1;
235
238
  (_a = this.inputRefs[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
236
239
  }, 20);
237
- this.previousInputValues = [...this.inputValues];
238
240
  return;
239
241
  }
240
- // 2. Input validation
241
- // If the character entered is invalid (does not match the pattern),
242
- // restore the previous value and exit
243
- if (value.length > 0 && !validKeyPattern.test(value[value.length - 1])) {
244
- input.value = this.inputValues[index] || '';
245
- this.previousInputValues = [...this.inputValues];
242
+ // Only allow input if it matches the pattern
243
+ if (value.length > 0 && !validKeyPattern.test(value)) {
244
+ this.inputRefs[index].value = '';
245
+ this.inputValues[index] = '';
246
246
  return;
247
247
  }
248
- // 3. Full selection replacement or typing in an empty box
249
- // If the user selects all text in the input box and types, or if the
250
- // input box is empty, replace only this input box. If the box is empty,
251
- // move to the next box, otherwise stay focused on this box.
252
- const isAllSelected = input.selectionStart === 0 && input.selectionEnd === value.length;
253
- const isEmpty = !this.inputValues[index];
254
- if (isAllSelected || isEmpty) {
255
- this.inputValues[index] = value;
256
- input.value = value;
257
- this.updateValue(event);
248
+ // For single character input, fill the current box
249
+ this.inputValues[index] = value;
250
+ this.updateValue(event);
251
+ if (value.length > 0) {
258
252
  this.focusNext(index);
259
- this.previousInputValues = [...this.inputValues];
260
- return;
261
253
  }
262
- // 4. Inserting in the middle with available space (shifting)
263
- // If typing in a filled input box and there are empty boxes at the end,
264
- // shift all values starting at the current box to the right, and insert
265
- // the new character at the current box.
266
- const hasAvailableBoxAtEnd = this.inputValues[this.inputValues.length - 1] === '';
267
- if (this.inputValues[index] && hasAvailableBoxAtEnd && value.length === 2) {
268
- // Get the inserted character (from event or by diffing value/previousValue)
269
- let newChar = event.data;
270
- if (!newChar) {
271
- newChar = value.split('').find((c, i) => c !== previousValue[i]) || value[value.length - 1];
272
- }
273
- // Validate the new character before shifting
274
- if (!validKeyPattern.test(newChar)) {
275
- input.value = this.inputValues[index] || '';
276
- this.previousInputValues = [...this.inputValues];
277
- return;
278
- }
279
- // Shift values right from the end to the insertion point
280
- for (let i = this.inputValues.length - 1; i > index; i--) {
281
- this.inputValues[i] = this.inputValues[i - 1];
282
- this.inputRefs[i].value = this.inputValues[i] || '';
283
- }
284
- this.inputValues[index] = newChar;
285
- this.inputRefs[index].value = newChar;
286
- this.updateValue(event);
287
- this.previousInputValues = [...this.inputValues];
288
- return;
289
- }
290
- // 5. Single character replacement
291
- // Handles replacing a single character in a box containing a value based
292
- // on the cursor position. We need the cursor position to determine which
293
- // character was the last character typed. For example, if the user types "2"
294
- // in an input box with the cursor at the beginning of the value of "6",
295
- // the value will be "26", but we want to grab the "2" as the last character
296
- // typed.
297
- const cursorPos = (_a = input.selectionStart) !== null && _a !== void 0 ? _a : value.length;
298
- const newCharIndex = cursorPos - 1;
299
- const newChar = (_b = value[newCharIndex]) !== null && _b !== void 0 ? _b : value[0];
300
- // Check if the new character is valid before updating the value
301
- if (!validKeyPattern.test(newChar)) {
302
- input.value = this.inputValues[index] || '';
303
- this.previousInputValues = [...this.inputValues];
304
- return;
305
- }
306
- this.inputValues[index] = newChar;
307
- input.value = newChar;
308
- this.updateValue(event);
309
- this.previousInputValues = [...this.inputValues];
310
254
  };
311
255
  /**
312
256
  * Handles pasting text into the input OTP component.
@@ -316,7 +260,7 @@ export class InputOTP {
316
260
  * the next empty input after pasting.
317
261
  */
318
262
  this.onPaste = (event) => {
319
- var _a, _b;
263
+ var _a, _b, _c;
320
264
  const { inputRefs, length, validKeyPattern } = this;
321
265
  event.preventDefault();
322
266
  const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
@@ -343,8 +287,13 @@ export class InputOTP {
343
287
  this.updateValue(event);
344
288
  // Focus the next empty input after pasting
345
289
  // If all boxes are filled, focus the last input
346
- const nextEmptyIndex = validChars.length < length ? validChars.length : length - 1;
347
- (_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
290
+ const nextEmptyIndex = validChars.length;
291
+ if (nextEmptyIndex < length) {
292
+ (_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
293
+ }
294
+ else {
295
+ (_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
296
+ }
348
297
  };
349
298
  }
350
299
  /**
@@ -483,7 +432,6 @@ export class InputOTP {
483
432
  });
484
433
  // Update the value without emitting events
485
434
  this.value = this.inputValues.join('');
486
- this.previousInputValues = [...this.inputValues];
487
435
  }
488
436
  /**
489
437
  * Updates the value of the input group.
@@ -605,7 +553,7 @@ export class InputOTP {
605
553
  const tabbableIndex = this.getTabbableIndex();
606
554
  const pattern = this.getPattern();
607
555
  const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
608
- return (h(Host, { key: 'f15a29fb17b681ef55885ca36d3d5f899cbaca83', class: createColorClasses(color, {
556
+ return (h(Host, { key: 'aeedd5aa6b4eadee7a6967582ad06820badeec43', class: createColorClasses(color, {
609
557
  [mode]: true,
610
558
  'has-focus': hasFocus,
611
559
  [`input-otp-size-${size}`]: true,
@@ -613,23 +561,25 @@ export class InputOTP {
613
561
  [`input-otp-fill-${fill}`]: true,
614
562
  'input-otp-disabled': disabled,
615
563
  'input-otp-readonly': readonly,
616
- }) }, h("div", Object.assign({ key: 'd7e1d4edd8aafcf2ed4313301287282e90fc7e82', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '3724a3159d02860971879a906092f9965f5a7c47', class: {
564
+ }) }, h("div", Object.assign({ key: '471b391c156b02cb050ff5c7f3e3aa9c1bd246d8', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => (inputRefs[index] = el), onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '873c739c49d56b30d6d2f92687b529e4f537e7b1', class: {
617
565
  'input-otp-description': true,
618
566
  'input-otp-description-hidden': !hasDescription,
619
- } }, h("slot", { key: '11baa2624926a08274508afe0833d9237a8dc35c' }))));
567
+ } }, h("slot", { key: '8207b96e28a21493f6c554986ed50725690080f0' }))));
620
568
  }
621
569
  static get is() { return "ion-input-otp"; }
622
570
  static get encapsulation() { return "scoped"; }
623
571
  static get originalStyleUrls() {
624
572
  return {
625
573
  "ios": ["input-otp.ios.scss"],
626
- "md": ["input-otp.md.scss"]
574
+ "md": ["input-otp.md.scss"],
575
+ "ionic": ["input-otp.ionic.scss"]
627
576
  };
628
577
  }
629
578
  static get styleUrls() {
630
579
  return {
631
580
  "ios": ["input-otp.ios.css"],
632
- "md": ["input-otp.md.css"]
581
+ "md": ["input-otp.md.css"],
582
+ "ionic": ["input-otp.ionic.css"]
633
583
  };
634
584
  }
635
585
  static get properties() {
@@ -901,8 +851,7 @@ export class InputOTP {
901
851
  static get states() {
902
852
  return {
903
853
  "inputValues": {},
904
- "hasFocus": {},
905
- "previousInputValues": {}
854
+ "hasFocus": {}
906
855
  };
907
856
  }
908
857
  static get events() {
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
1
7
  /**
2
8
  * Convert a font size to a dynamic font size.
3
9
  * Fonts that participate in Dynamic Type should use
@@ -53,6 +59,28 @@
53
59
  * }
54
60
  * }
55
61
  */
62
+ /**
63
+ * A heuristic that applies CSS to tablet
64
+ * viewports.
65
+ *
66
+ * Usage:
67
+ * @include tablet-viewport() {
68
+ * :host {
69
+ * background-color: green;
70
+ * }
71
+ * }
72
+ */
73
+ /**
74
+ * A heuristic that applies CSS to mobile
75
+ * viewports (i.e. phones, not tablets).
76
+ *
77
+ * Usage:
78
+ * @include mobile-viewport() {
79
+ * :host {
80
+ * background-color: blue;
81
+ * }
82
+ * }
83
+ */
56
84
  :host {
57
85
  /**
58
86
  * @prop --background: Background color of the input boxes
@@ -60,6 +88,7 @@
60
88
  * @prop --border-radius: Border radius of the input boxes
61
89
  *
62
90
  * @prop --border-width: Border width of the input boxes
91
+ * @prop --border-style: Border style of the input boxes
63
92
  * @prop --border-color: Border color of the input boxes
64
93
  *
65
94
  * @prop --color: Text color of the input
@@ -91,19 +120,7 @@
91
120
  --margin-end: 0;
92
121
  --margin-bottom: 0;
93
122
  --margin-start: 0;
94
- --padding-top: 16px;
95
- --padding-end: 0;
96
- --padding-bottom: 16px;
97
- --padding-start: 0;
98
- --color: initial;
99
- --min-width: 40px;
100
- --separator-width: 8px;
101
123
  --separator-height: var(--separator-width);
102
- --separator-border-radius: 999px;
103
- --separator-color: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
104
- --highlight-color-focused: var(--ion-color-primary, #0054e9);
105
- --highlight-color-valid: var(--ion-color-success, #2dd55b);
106
- --highlight-color-invalid: var(--ion-color-danger, #c5000f);
107
124
  /**
108
125
  * This is a private API that is used to switch
109
126
  * out the highlight color based on the state
@@ -113,7 +130,6 @@
113
130
  --highlight-color: var(--highlight-color-focused);
114
131
  display: block;
115
132
  position: relative;
116
- font-size: 0.875rem;
117
133
  }
118
134
 
119
135
  .input-otp-group {
@@ -147,7 +163,7 @@
147
163
  min-width: inherit;
148
164
  height: var(--height);
149
165
  border-width: var(--border-width);
150
- border-style: solid;
166
+ border-style: var(--border-style);
151
167
  border-color: var(--border-color);
152
168
  background: var(--background);
153
169
  color: var(--color);
@@ -161,9 +177,6 @@
161
177
  }
162
178
 
163
179
  .input-otp-description {
164
- color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
165
- font-size: 0.75rem;
166
- line-height: 1.25rem;
167
180
  text-align: center;
168
181
  }
169
182
 
@@ -179,6 +192,76 @@
179
192
  background: var(--separator-color);
180
193
  }
181
194
 
195
+ :host(.input-otp-fill-outline) {
196
+ --background: none;
197
+ }
198
+
199
+ :host(.input-otp-disabled),
200
+ :host(.input-otp-disabled) .native-input:disabled {
201
+ cursor: not-allowed;
202
+ }
203
+
204
+ :host(.has-focus) .native-input:focus {
205
+ --border-color: var(--highlight-color);
206
+ outline: none;
207
+ }
208
+
209
+ :host(.ion-touched.ion-invalid) {
210
+ --highlight-color: var(--highlight-color-invalid);
211
+ }
212
+
213
+ /**
214
+ * The component highlight is only shown
215
+ * on focus, so we can safely set the valid
216
+ * color state when valid. If we
217
+ * set it when .has-focus is present then
218
+ * the highlight color would change
219
+ * from the valid color to the component's
220
+ * color during the transition after the
221
+ * component loses focus.
222
+ */
223
+ :host(.ion-valid) {
224
+ --highlight-color: var(--highlight-color-valid);
225
+ }
226
+
227
+ /**
228
+ * If the input has a validity state, the
229
+ * border should reflect that as a color.
230
+ * The invalid state should show if the input is
231
+ * invalid and has already been touched.
232
+ * The valid state should show if the input
233
+ * is valid, has already been touched, and
234
+ * is currently focused. Do not show the valid
235
+ * highlight when the input is blurred.
236
+ */
237
+ :host(.has-focus.ion-valid),
238
+ :host(.ion-touched.ion-invalid) {
239
+ --border-color: var(--highlight-color);
240
+ }
241
+
242
+ :host {
243
+ --padding-top: 16px;
244
+ --padding-end: 0;
245
+ --padding-bottom: 16px;
246
+ --padding-start: 0;
247
+ --color: initial;
248
+ --min-width: 40px;
249
+ --border-style: solid;
250
+ --separator-width: 8px;
251
+ --separator-border-radius: 999px;
252
+ --separator-color: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));
253
+ --highlight-color-focused: var(--ion-color-primary, #0054e9);
254
+ --highlight-color-valid: var(--ion-color-success, #2dd55b);
255
+ --highlight-color-invalid: var(--ion-color-danger, #c5000f);
256
+ font-size: 0.875rem;
257
+ }
258
+
259
+ .input-otp-description {
260
+ color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));
261
+ font-size: 0.75rem;
262
+ line-height: 1.25rem;
263
+ }
264
+
182
265
  :host(.input-otp-size-small) {
183
266
  --width: 40px;
184
267
  --height: 40px;
@@ -233,16 +316,6 @@
233
316
  --border-color: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
234
317
  }
235
318
 
236
- :host(.input-otp-disabled),
237
- :host(.input-otp-disabled) .native-input:disabled {
238
- cursor: not-allowed;
239
- }
240
-
241
- :host(.has-focus) .native-input:focus {
242
- --border-color: var(--highlight-color);
243
- outline: none;
244
- }
245
-
246
319
  :host(.input-otp-fill-outline.input-otp-readonly) {
247
320
  --background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));
248
321
  }
@@ -253,39 +326,6 @@
253
326
  --background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));
254
327
  }
255
328
 
256
- :host(.ion-touched.ion-invalid) {
257
- --highlight-color: var(--highlight-color-invalid);
258
- }
259
-
260
- /**
261
- * The component highlight is only shown
262
- * on focus, so we can safely set the valid
263
- * color state when valid. If we
264
- * set it when .has-focus is present then
265
- * the highlight color would change
266
- * from the valid color to the component's
267
- * color during the transition after the
268
- * component loses focus.
269
- */
270
- :host(.ion-valid) {
271
- --highlight-color: var(--highlight-color-valid);
272
- }
273
-
274
- /**
275
- * If the input has a validity state, the
276
- * border should reflect that as a color.
277
- * The invalid state should show if the input is
278
- * invalid and has already been touched.
279
- * The valid state should show if the input
280
- * is valid, has already been touched, and
281
- * is currently focused. Do not show the valid
282
- * highlight when the input is blurred.
283
- */
284
- :host(.has-focus.ion-valid),
285
- :host(.ion-touched.ion-invalid) {
286
- --border-color: var(--highlight-color);
287
- }
288
-
289
329
  :host(.ion-color) {
290
330
  --highlight-color-focused: var(--ion-color-base);
291
331
  }
@@ -313,6 +353,12 @@
313
353
  border-color: rgba(var(--ion-color-base-rgb), 0.3);
314
354
  }
315
355
 
356
+ /**
357
+ * Convert a pixels given value into rem
358
+ *
359
+ * @param pixels - Value in pixels to be converted (i.e. px)
360
+ * @param context (optional) - Baseline value
361
+ */
316
362
  /**
317
363
  * Convert a font size to a dynamic font size.
318
364
  * Fonts that participate in Dynamic Type should use
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Convert a pixels given value into rem
3
+ *
4
+ * @param pixels - Value in pixels to be converted (i.e. px)
5
+ * @param context (optional) - Baseline value
6
+ */
7
+ /*
8
+ Do not edit directly, this file was auto-generated.
9
+ */ /**
10
+ * A heuristic that applies CSS to tablet
11
+ * viewports.
12
+ *
13
+ * Usage:
14
+ * @include tablet-viewport() {
15
+ * :host {
16
+ * background-color: green;
17
+ * }
18
+ * }
19
+ */
20
+ /**
21
+ * A heuristic that applies CSS to mobile
22
+ * viewports (i.e. phones, not tablets).
23
+ *
24
+ * Usage:
25
+ * @include mobile-viewport() {
26
+ * :host {
27
+ * background-color: blue;
28
+ * }
29
+ * }
30
+ */
31
+ /**
32
+ * Convert a font size to a dynamic font size.
33
+ * Fonts that participate in Dynamic Type should use
34
+ * dynamic font sizes.
35
+ * @param size - The initial font size including the unit (i.e. px or pt)
36
+ * @param unit (optional) - The unit to convert to. Use this if you want to
37
+ * convert to a unit other than $baselineUnit.
38
+ */
39
+ /**
40
+ * Convert a font size to a dynamic font size but impose
41
+ * a maximum font size.
42
+ * @param size - The initial font size including the unit (i.e. px or pt)
43
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
44
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
45
+ * convert to a unit other than $baselineUnit.
46
+ */
47
+ /**
48
+ * Convert a font size to a dynamic font size but impose
49
+ * a minimum font size.
50
+ * @param size - The initial font size including the unit (i.e. px or pt)
51
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
52
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
53
+ * convert to a unit other than $baselineUnit.
54
+ */
55
+ /**
56
+ * Convert a font size to a dynamic font size but impose
57
+ * maximum and minimum font sizes.
58
+ * @param size - The initial font size including the unit (i.e. px or pt)
59
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
60
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
61
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
62
+ * convert to a unit other than $baselineUnit.
63
+ */
64
+ :host ion-button {
65
+ --color: var(--ion-primitives-neutral-800, #626262);
66
+ --margin-end: calc(-1 * var(--padding-end));
67
+ --padding-end: inherit;
68
+ --icon-size: var(--ion-font-size-400, 1rem);
69
+ -webkit-margin-start: 0;
70
+ margin-inline-start: 0;
71
+ -webkit-margin-end: var(--margin-end);
72
+ margin-inline-end: var(--margin-end);
73
+ margin-top: 0;
74
+ margin-bottom: 0;
75
+ width: var(--size);
76
+ height: var(--size);
77
+ }
78
+ :host ion-button ion-icon {
79
+ font-size: var(--icon-size);
80
+ }
@@ -1,11 +1,14 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import eyeSlashRegular from "@phosphor-icons/core/assets/regular/eye-slash.svg";
5
+ import eyeRegular from "@phosphor-icons/core/assets/regular/eye.svg";
4
6
  import { Host, h } from "@stencil/core";
5
7
  import { printIonWarning } from "../../utils/logging/index";
6
8
  import { createColorClasses } from "../../utils/theme";
7
9
  import { eyeOff, eye } from "ionicons/icons";
8
- import { getIonMode } from "../../global/ionic-global";
10
+ import { config } from "../../global/config";
11
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
9
12
  /**
10
13
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
11
14
  */
@@ -53,36 +56,69 @@ export class InputPasswordToggle {
53
56
  disconnectedCallback() {
54
57
  this.inputElRef = null;
55
58
  }
59
+ get inputPasswordHideIcon() {
60
+ // Return the icon if it is explicitly set
61
+ if (this.hideIcon != null) {
62
+ return this.hideIcon;
63
+ }
64
+ // Determine the theme and map to default icons
65
+ const theme = getIonTheme(this);
66
+ const defaultIcons = {
67
+ ios: eyeOff,
68
+ ionic: eyeSlashRegular,
69
+ md: eyeOff,
70
+ };
71
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
72
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
73
+ // Return the configured input password hide icon or the default icon
74
+ return config.get('inputPasswordHideIcon', defaultIcon);
75
+ }
76
+ get inputPasswordShowIcon() {
77
+ // Return the icon if it is explicitly set
78
+ if (this.showIcon != null) {
79
+ return this.showIcon;
80
+ }
81
+ // Determine the theme and map to default icons
82
+ const theme = getIonTheme(this);
83
+ const defaultIcons = {
84
+ ios: eye,
85
+ ionic: eyeRegular,
86
+ md: eye,
87
+ };
88
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
89
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
90
+ // Return the configured input password show icon or the default icon
91
+ return config.get('inputPasswordShowIcon', defaultIcon);
92
+ }
56
93
  render() {
57
- var _a, _b;
58
- const { color, type } = this;
94
+ const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
59
95
  const mode = getIonMode(this);
60
- const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
61
- const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
62
96
  const isPasswordVisible = type === 'text';
63
- return (h(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses(color, {
97
+ return (h(Host, { key: 'e265bb6460041189fea1812d391121a9e8dde669', class: createColorClasses(color, {
64
98
  [mode]: true,
65
- }) }, h("ion-button", { key: 'f3e436422110c9cb4d5c0b83500255b24ab4cdef', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
99
+ }) }, h("ion-button", { key: 'b7ca2e12e3b1b9a161acc002abb8f1b8efeea46e', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', role: "switch", type: "button", onPointerDown: (ev) => {
66
100
  /**
67
101
  * This prevents mobile browsers from
68
102
  * blurring the input when the password toggle
69
103
  * button is activated.
70
104
  */
71
105
  ev.preventDefault();
72
- }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '5c8b121153f148f92aa7cba0447673a4f6f3ad1e', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
106
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '4d5ba21325812d9c820ae26688d17ae821ffd25c', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
73
107
  }
74
108
  static get is() { return "ion-input-password-toggle"; }
75
109
  static get encapsulation() { return "shadow"; }
76
110
  static get originalStyleUrls() {
77
111
  return {
78
- "ios": ["input-password-toggle.scss"],
79
- "md": ["input-password-toggle.scss"]
112
+ "ios": ["input-password-toggle.native.scss"],
113
+ "md": ["input-password-toggle.native.scss"],
114
+ "ionic": ["input-password-toggle.ionic.scss"]
80
115
  };
81
116
  }
82
117
  static get styleUrls() {
83
118
  return {
84
- "ios": ["input-password-toggle.css"],
85
- "md": ["input-password-toggle.css"]
119
+ "ios": ["input-password-toggle.native.css"],
120
+ "md": ["input-password-toggle.native.css"],
121
+ "ionic": ["input-password-toggle.ionic.css"]
86
122
  };
87
123
  }
88
124
  static get properties() {