@ionic/core 8.8.20-dev.11789504012.1a675914 → 8.8.20-dev.11790000033.12788d65

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 (420) hide show
  1. package/components/ion-accordion.js +1 -1
  2. package/components/ion-action-sheet.js +1 -1
  3. package/components/ion-alert.js +1 -1
  4. package/components/ion-back-button.js +1 -1
  5. package/components/ion-breadcrumb.js +1 -1
  6. package/components/ion-button.js +1 -1
  7. package/components/ion-card.js +1 -1
  8. package/components/ion-checkbox.js +1 -1
  9. package/components/ion-chip.js +1 -1
  10. package/components/ion-col.js +1 -1
  11. package/components/ion-content.js +1 -1
  12. package/components/ion-datetime-button.js +1 -1
  13. package/components/ion-datetime.js +1 -1
  14. package/components/ion-divider.js +1 -1
  15. package/components/ion-fab-button.js +1 -1
  16. package/components/ion-fab-list.js +1 -1
  17. package/components/ion-fab.js +1 -1
  18. package/components/ion-footer.js +1 -1
  19. package/components/ion-gallery-item.js +1 -1
  20. package/components/ion-gallery.js +1 -1
  21. package/components/ion-grid.js +1 -1
  22. package/components/ion-header.js +1 -1
  23. package/components/ion-img.js +1 -1
  24. package/components/ion-infinite-scroll-content.js +1 -1
  25. package/components/ion-infinite-scroll.js +1 -1
  26. package/components/ion-input-otp.js +1 -1
  27. package/components/ion-input-password-toggle.js +1 -1
  28. package/components/ion-input.js +1 -1
  29. package/components/ion-item-divider.js +1 -1
  30. package/components/ion-item-group.js +1 -1
  31. package/components/ion-item-option.js +1 -1
  32. package/components/ion-item-options.js +1 -1
  33. package/components/ion-item-sliding.js +1 -1
  34. package/components/ion-item.js +1 -1
  35. package/components/ion-label.js +1 -1
  36. package/components/ion-list-header.js +1 -1
  37. package/components/ion-list.js +1 -1
  38. package/components/ion-loading.js +1 -1
  39. package/components/ion-menu-button.js +1 -1
  40. package/components/ion-menu-toggle.js +1 -1
  41. package/components/ion-menu.js +1 -1
  42. package/components/ion-modal.js +1 -1
  43. package/components/ion-nav-link.js +1 -1
  44. package/components/ion-nav.js +1 -1
  45. package/components/ion-note.js +1 -1
  46. package/components/ion-picker-column-option.js +1 -1
  47. package/components/ion-picker-column.js +1 -1
  48. package/components/ion-picker-legacy-column.js +1 -1
  49. package/components/ion-picker-legacy.js +1 -1
  50. package/components/ion-picker.js +1 -1
  51. package/components/ion-popover.js +1 -1
  52. package/components/ion-progress-bar.js +1 -1
  53. package/components/ion-radio-group.js +1 -1
  54. package/components/ion-radio.js +1 -1
  55. package/components/ion-range.js +1 -1
  56. package/components/ion-refresher-content.js +1 -1
  57. package/components/ion-refresher.js +1 -1
  58. package/components/ion-reorder-group.js +1 -1
  59. package/components/ion-reorder.js +1 -1
  60. package/components/ion-ripple-effect.js +1 -1
  61. package/components/ion-router-link.js +1 -1
  62. package/components/ion-router-outlet.js +1 -1
  63. package/components/ion-row.js +1 -1
  64. package/components/ion-searchbar.js +1 -1
  65. package/components/ion-segment-button.js +1 -1
  66. package/components/ion-segment-content.js +1 -1
  67. package/components/ion-segment-view.js +1 -1
  68. package/components/ion-segment.js +1 -1
  69. package/components/ion-select-modal.js +1 -1
  70. package/components/ion-select-option.js +1 -1
  71. package/components/ion-select-popover.js +1 -1
  72. package/components/ion-select.js +1 -1
  73. package/components/ion-skeleton-text.js +1 -1
  74. package/components/ion-spinner.js +1 -1
  75. package/components/ion-split-pane.js +1 -1
  76. package/components/ion-tab-bar.js +1 -1
  77. package/components/ion-tab-button.js +1 -1
  78. package/components/ion-tab.js +1 -1
  79. package/components/ion-tabs.js +1 -1
  80. package/components/ion-text.js +1 -1
  81. package/components/ion-textarea.js +1 -1
  82. package/components/ion-thumbnail.js +1 -1
  83. package/components/ion-title.js +1 -1
  84. package/components/ion-toast.js +1 -1
  85. package/components/ion-toggle.js +1 -1
  86. package/components/ion-toolbar.js +1 -1
  87. package/components/{p-C8kcgEG7.js → p-B39i6rpY.js} +1 -1
  88. package/components/p-BDqjX7Z_.js +4 -0
  89. package/components/{p-CH8ypgvS.js → p-BLP69XoA.js} +1 -1
  90. package/components/p-BYSs-jZz.js +4 -0
  91. package/components/{p-C2J-Hvv3.js → p-B_a4XnF2.js} +1 -1
  92. package/components/p-Ba2Mmm22.js +4 -0
  93. package/components/p-BnQAsi91.js +4 -0
  94. package/components/{p-Br6q6Rgq.js → p-BrF4HSay.js} +1 -1
  95. package/components/{p-Dh1f5tAK.js → p-Bs5kME4N.js} +1 -1
  96. package/components/{p-CMtmHGrE.js → p-C1L59jNd.js} +1 -1
  97. package/components/{p-CNlz8OTE.js → p-C784We0w.js} +1 -1
  98. package/components/p-CA81qANP.js +4 -0
  99. package/components/{p-C5Bnq_Hm.js → p-CHB9zWT6.js} +1 -1
  100. package/components/p-CJNsztW3.js +4 -0
  101. package/components/{p-DqkLOArC.js → p-CWqLCAML.js} +1 -1
  102. package/components/p-CaB0_AG0.js +4 -0
  103. package/components/{p-C-cw-bM-.js → p-CaXMr1SL.js} +1 -1
  104. package/components/{p-0rXxxCTt.js → p-Cc3oC60a.js} +1 -1
  105. package/components/{p-C5JYXyPD.js → p-CxoHM559.js} +1 -1
  106. package/components/p-D1t981Ih.js +4 -0
  107. package/components/{p-BZxBDeEU.js → p-D2tZEPGv.js} +1 -1
  108. package/components/{p-BXXTyrCp.js → p-D6zl6ZA8.js} +1 -1
  109. package/components/{p-C898H5L0.js → p-DNweMi32.js} +1 -1
  110. package/components/p-Df6WZ6z0.js +4 -0
  111. package/components/p-Dhi5xtNS.js +4 -0
  112. package/components/{p-BcWO94Sl.js → p-DkfVuzjA.js} +1 -1
  113. package/components/{p-fUXE2zLc.js → p-Ds3yn-R0.js} +1 -1
  114. package/components/p-VrmyB-Wu.js +4 -0
  115. package/components/p-fIOYmaqA.js +4 -0
  116. package/components/p-vUGYs065.js +4 -0
  117. package/dist/cjs/caret-down-vtVgfXIs.js +8 -0
  118. package/dist/cjs/caret-left-CxZXLRv5.js +8 -0
  119. package/dist/cjs/caret-right-CRCgv98E.js +8 -0
  120. package/dist/cjs/ion-accordion_2.cjs.entry.js +13 -9
  121. package/dist/cjs/ion-app_8.cjs.entry.js +13 -13
  122. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  123. package/dist/cjs/ion-back-button.cjs.entry.js +11 -10
  124. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +27 -16
  125. package/dist/cjs/ion-checkbox.cjs.entry.js +14 -22
  126. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  127. package/dist/cjs/ion-col_3.cjs.entry.js +6 -6
  128. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  129. package/dist/cjs/ion-datetime_3.cjs.entry.js +48 -16
  130. package/dist/cjs/ion-divider.cjs.entry.js +2 -2
  131. package/dist/cjs/ion-fab_3.cjs.entry.js +17 -13
  132. package/dist/cjs/ion-gallery-item.cjs.entry.js +2 -2
  133. package/dist/cjs/ion-gallery.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  135. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  136. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  137. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +27 -17
  138. package/dist/cjs/ion-input.cjs.entry.js +13 -6
  139. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  140. package/dist/cjs/ion-item_8.cjs.entry.js +26 -22
  141. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  142. package/dist/cjs/ion-menu_3.cjs.entry.js +15 -13
  143. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  144. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  145. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  146. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  147. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  148. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  149. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  150. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  151. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  152. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -11
  153. package/dist/cjs/ion-reorder_2.cjs.entry.js +13 -6
  154. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  155. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  156. package/dist/cjs/ion-searchbar.cjs.entry.js +34 -8
  157. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  158. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  159. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  160. package/dist/cjs/ion-select-modal.cjs.entry.js +8 -9
  161. package/dist/cjs/ion-select_3.cjs.entry.js +23 -10
  162. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  163. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  164. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  165. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  166. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  167. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  168. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  169. package/dist/cjs/ion-toggle.cjs.entry.js +27 -12
  170. package/dist/cjs/ionic.cjs.js +1 -1
  171. package/dist/cjs/list-a-7GSA6K.js +8 -0
  172. package/dist/cjs/loader.cjs.js +1 -1
  173. package/dist/cjs/x-BTF99yFH.js +8 -0
  174. package/dist/collection/components/accordion/accordion.js +13 -9
  175. package/dist/collection/components/back-button/back-button.js +11 -10
  176. package/dist/collection/components/breadcrumb/breadcrumb.js +26 -16
  177. package/dist/collection/components/checkbox/checkbox.ionic.css +40 -33
  178. package/dist/collection/components/checkbox/checkbox.ios.css +24 -30
  179. package/dist/collection/components/checkbox/checkbox.js +12 -22
  180. package/dist/collection/components/checkbox/checkbox.md.css +24 -30
  181. package/dist/collection/components/chip/chip.js +2 -2
  182. package/dist/collection/components/col/col.js +2 -2
  183. package/dist/collection/components/content/content.js +3 -3
  184. package/dist/collection/components/datetime/datetime.js +44 -12
  185. package/dist/collection/components/datetime-button/datetime-button.js +2 -2
  186. package/dist/collection/components/divider/divider.js +2 -2
  187. package/dist/collection/components/fab/fab.js +2 -2
  188. package/dist/collection/components/fab-button/fab-button.js +13 -9
  189. package/dist/collection/components/fab-list/fab-list.js +2 -2
  190. package/dist/collection/components/footer/footer.js +2 -2
  191. package/dist/collection/components/gallery/gallery.js +2 -2
  192. package/dist/collection/components/gallery-item/gallery-item.js +2 -2
  193. package/dist/collection/components/grid/grid.js +2 -2
  194. package/dist/collection/components/header/header.ionic.css +7 -2
  195. package/dist/collection/components/header/header.js +2 -2
  196. package/dist/collection/components/img/img.js +2 -2
  197. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  198. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  199. package/dist/collection/components/input/input.js +13 -6
  200. package/dist/collection/components/input-otp/input-otp.js +3 -3
  201. package/dist/collection/components/input-password-toggle/input-password-toggle.js +26 -18
  202. package/dist/collection/components/item/item.js +14 -10
  203. package/dist/collection/components/item-divider/item-divider.js +2 -2
  204. package/dist/collection/components/item-group/item-group.js +1 -1
  205. package/dist/collection/components/item-option/item-option.js +2 -2
  206. package/dist/collection/components/item-options/item-options.js +1 -1
  207. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  208. package/dist/collection/components/label/label.js +2 -2
  209. package/dist/collection/components/list/list.js +1 -1
  210. package/dist/collection/components/list-header/list-header.js +2 -2
  211. package/dist/collection/components/loading/loading.js +2 -2
  212. package/dist/collection/components/menu/menu.js +2 -2
  213. package/dist/collection/components/menu-button/menu-button.js +11 -9
  214. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  215. package/dist/collection/components/modal/modal.js +4 -4
  216. package/dist/collection/components/nav/nav.js +1 -1
  217. package/dist/collection/components/nav-link/nav-link.js +1 -1
  218. package/dist/collection/components/note/note.js +2 -2
  219. package/dist/collection/components/picker/picker.js +2 -2
  220. package/dist/collection/components/picker-column/picker-column.js +3 -3
  221. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  222. package/dist/collection/components/picker-legacy/picker.js +2 -2
  223. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  224. package/dist/collection/components/popover/popover.js +2 -2
  225. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  226. package/dist/collection/components/radio/radio.js +3 -3
  227. package/dist/collection/components/radio-group/radio-group.js +2 -2
  228. package/dist/collection/components/range/range.js +3 -3
  229. package/dist/collection/components/refresher/refresher.js +1 -1
  230. package/dist/collection/components/refresher-content/refresher-content.js +4 -10
  231. package/dist/collection/components/reorder/reorder.js +12 -5
  232. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  233. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  234. package/dist/collection/components/router-link/router-link.js +2 -2
  235. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  236. package/dist/collection/components/row/row.js +2 -2
  237. package/dist/collection/components/searchbar/searchbar.js +32 -8
  238. package/dist/collection/components/segment/segment.js +2 -2
  239. package/dist/collection/components/segment-button/segment-button.js +2 -2
  240. package/dist/collection/components/segment-content/segment-content.js +1 -1
  241. package/dist/collection/components/segment-view/segment-view.js +2 -2
  242. package/dist/collection/components/select/select.js +20 -7
  243. package/dist/collection/components/select-modal/select-modal.js +8 -10
  244. package/dist/collection/components/select-option/select-option.js +1 -1
  245. package/dist/collection/components/select-popover/select-popover.js +2 -2
  246. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  247. package/dist/collection/components/spinner/spinner.js +1 -1
  248. package/dist/collection/components/split-pane/split-pane.js +2 -2
  249. package/dist/collection/components/tab/tab.js +2 -2
  250. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  251. package/dist/collection/components/tab-button/tab-button.js +2 -2
  252. package/dist/collection/components/tabs/tabs.js +1 -1
  253. package/dist/collection/components/text/text.js +2 -2
  254. package/dist/collection/components/textarea/textarea.js +3 -3
  255. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  256. package/dist/collection/components/title/title.js +2 -2
  257. package/dist/collection/components/toast/toast.js +2 -2
  258. package/dist/collection/components/toggle/toggle.js +25 -12
  259. package/dist/collection/components/toolbar/toolbar.js +2 -2
  260. package/dist/docs.json +10 -23
  261. package/dist/esm/caret-down-D1t981Ih.js +6 -0
  262. package/dist/esm/caret-left-fIOYmaqA.js +6 -0
  263. package/dist/esm/caret-right-BYSs-jZz.js +6 -0
  264. package/dist/esm/{index-PnwG0glX.js → index-B4Kq2YNk.js} +1 -1
  265. package/dist/esm/ion-accordion_2.entry.js +14 -10
  266. package/dist/esm/ion-app_8.entry.js +13 -13
  267. package/dist/esm/ion-avatar_3.entry.js +2 -2
  268. package/dist/esm/ion-back-button.entry.js +12 -11
  269. package/dist/esm/ion-breadcrumb_2.entry.js +28 -17
  270. package/dist/esm/ion-checkbox.entry.js +15 -23
  271. package/dist/esm/ion-chip.entry.js +2 -2
  272. package/dist/esm/ion-col_3.entry.js +6 -6
  273. package/dist/esm/ion-datetime-button.entry.js +2 -2
  274. package/dist/esm/ion-datetime_3.entry.js +49 -17
  275. package/dist/esm/ion-divider.entry.js +2 -2
  276. package/dist/esm/ion-fab_3.entry.js +18 -14
  277. package/dist/esm/ion-gallery-item.entry.js +2 -2
  278. package/dist/esm/ion-gallery.entry.js +2 -2
  279. package/dist/esm/ion-img.entry.js +2 -2
  280. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  281. package/dist/esm/ion-input-otp.entry.js +3 -3
  282. package/dist/esm/ion-input-password-toggle.entry.js +29 -19
  283. package/dist/esm/ion-input.entry.js +14 -7
  284. package/dist/esm/ion-item-option_3.entry.js +4 -4
  285. package/dist/esm/ion-item_8.entry.js +27 -23
  286. package/dist/esm/ion-loading.entry.js +2 -2
  287. package/dist/esm/ion-menu_3.entry.js +16 -14
  288. package/dist/esm/ion-modal.entry.js +4 -4
  289. package/dist/esm/ion-nav_2.entry.js +2 -2
  290. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  291. package/dist/esm/ion-picker-column.entry.js +3 -3
  292. package/dist/esm/ion-picker.entry.js +2 -2
  293. package/dist/esm/ion-popover.entry.js +2 -2
  294. package/dist/esm/ion-progress-bar.entry.js +1 -1
  295. package/dist/esm/ion-radio_2.entry.js +5 -5
  296. package/dist/esm/ion-range.entry.js +3 -3
  297. package/dist/esm/ion-refresher_2.entry.js +7 -12
  298. package/dist/esm/ion-reorder_2.entry.js +14 -7
  299. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  300. package/dist/esm/ion-route_4.entry.js +2 -2
  301. package/dist/esm/ion-searchbar.entry.js +35 -9
  302. package/dist/esm/ion-segment-content.entry.js +1 -1
  303. package/dist/esm/ion-segment-view.entry.js +2 -2
  304. package/dist/esm/ion-segment_2.entry.js +4 -4
  305. package/dist/esm/ion-select-modal.entry.js +10 -11
  306. package/dist/esm/ion-select_3.entry.js +24 -11
  307. package/dist/esm/ion-spinner.entry.js +1 -1
  308. package/dist/esm/ion-split-pane.entry.js +2 -2
  309. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  310. package/dist/esm/ion-tab_2.entry.js +3 -3
  311. package/dist/esm/ion-text.entry.js +2 -2
  312. package/dist/esm/ion-textarea.entry.js +3 -3
  313. package/dist/esm/ion-toast.entry.js +2 -2
  314. package/dist/esm/ion-toggle.entry.js +28 -13
  315. package/dist/esm/ionic.js +1 -1
  316. package/dist/esm/list-Dhi5xtNS.js +6 -0
  317. package/dist/esm/loader.js +1 -1
  318. package/dist/esm/x-BDqjX7Z_.js +6 -0
  319. package/dist/ionic/ionic.esm.js +1 -1
  320. package/dist/ionic/p-0166d6e5.entry.js +4 -0
  321. package/dist/ionic/p-0a0a66e2.entry.js +4 -0
  322. package/dist/ionic/p-0c636ad3.entry.js +4 -0
  323. package/dist/ionic/p-126031d2.entry.js +4 -0
  324. package/dist/ionic/p-1a609156.entry.js +4 -0
  325. package/dist/ionic/{p-4c8178d8.entry.js → p-1b473bad.entry.js} +1 -1
  326. package/dist/ionic/p-1c1c18da.entry.js +4 -0
  327. package/dist/ionic/{p-3eff3411.entry.js → p-1ce65194.entry.js} +1 -1
  328. package/dist/ionic/{p-b7c75507.entry.js → p-2016c1c0.entry.js} +1 -1
  329. package/dist/ionic/{p-54579b68.entry.js → p-2365483a.entry.js} +1 -1
  330. package/dist/ionic/{p-7ae06f6f.entry.js → p-296226f1.entry.js} +1 -1
  331. package/dist/ionic/p-2a54aec2.entry.js +4 -0
  332. package/dist/ionic/{p-59e59209.entry.js → p-2bf60b77.entry.js} +1 -1
  333. package/dist/ionic/{p-0115c2fa.entry.js → p-2e0184c0.entry.js} +1 -1
  334. package/dist/ionic/{p-c9cda5ce.entry.js → p-2e1d650a.entry.js} +1 -1
  335. package/dist/ionic/{p-6b86cb62.entry.js → p-316eed75.entry.js} +1 -1
  336. package/dist/ionic/{p-311ef139.entry.js → p-31a0c9c2.entry.js} +1 -1
  337. package/dist/ionic/p-40a21a22.entry.js +4 -0
  338. package/dist/ionic/p-431bc3ce.entry.js +4 -0
  339. package/dist/ionic/p-51542c69.entry.js +4 -0
  340. package/dist/ionic/{p-e95618c4.entry.js → p-5dedd699.entry.js} +1 -1
  341. package/dist/ionic/{p-1147fa06.entry.js → p-68e453f7.entry.js} +1 -1
  342. package/dist/ionic/p-711ba315.entry.js +4 -0
  343. package/dist/ionic/{p-a4bed36b.entry.js → p-731d11e1.entry.js} +1 -1
  344. package/dist/ionic/{p-a7914fe5.entry.js → p-75c7595c.entry.js} +1 -1
  345. package/dist/ionic/p-76232f5f.entry.js +4 -0
  346. package/dist/ionic/{p-fe14205b.entry.js → p-7cbf17f0.entry.js} +1 -1
  347. package/dist/ionic/{p-9dff6288.entry.js → p-8303462c.entry.js} +1 -1
  348. package/dist/ionic/{p-2b5e04c5.entry.js → p-86208a0e.entry.js} +1 -1
  349. package/dist/ionic/{p-62602fbd.entry.js → p-9db78e5c.entry.js} +1 -1
  350. package/dist/ionic/{p-PnwG0glX.js → p-B4Kq2YNk.js} +1 -1
  351. package/dist/ionic/p-BDqjX7Z_.js +4 -0
  352. package/dist/ionic/p-BYSs-jZz.js +4 -0
  353. package/dist/ionic/p-D1t981Ih.js +4 -0
  354. package/dist/ionic/p-Dhi5xtNS.js +4 -0
  355. package/dist/ionic/{p-dda49380.entry.js → p-a9df0ccf.entry.js} +1 -1
  356. package/dist/ionic/p-ac3af8af.entry.js +4 -0
  357. package/dist/ionic/{p-f89fcf62.entry.js → p-b25f3aba.entry.js} +1 -1
  358. package/dist/ionic/p-b3da2cc7.entry.js +4 -0
  359. package/dist/ionic/p-b4533070.entry.js +4 -0
  360. package/dist/ionic/{p-4901a10b.entry.js → p-b4901bce.entry.js} +1 -1
  361. package/dist/ionic/{p-fd95a423.entry.js → p-bb7bb4fd.entry.js} +1 -1
  362. package/dist/ionic/{p-ace3062d.entry.js → p-be06def7.entry.js} +1 -1
  363. package/dist/ionic/p-c0983eac.entry.js +4 -0
  364. package/dist/ionic/{p-5386b094.entry.js → p-c4ebdfd2.entry.js} +1 -1
  365. package/dist/ionic/{p-1e45586e.entry.js → p-c4ed1e18.entry.js} +1 -1
  366. package/dist/ionic/p-dc8a8505.entry.js +4 -0
  367. package/dist/ionic/{p-b70775b0.entry.js → p-ddc41dbb.entry.js} +1 -1
  368. package/dist/ionic/p-df642ef5.entry.js +4 -0
  369. package/dist/ionic/p-e086f8c3.entry.js +4 -0
  370. package/dist/ionic/p-edd8f490.entry.js +4 -0
  371. package/dist/ionic/{p-dbd06d8d.entry.js → p-f0968c91.entry.js} +1 -1
  372. package/dist/ionic/{p-cc314123.entry.js → p-f6768728.entry.js} +1 -1
  373. package/dist/ionic/p-fIOYmaqA.js +4 -0
  374. package/dist/ionic/{p-0bfb8d9e.entry.js → p-fc726f4a.entry.js} +1 -1
  375. package/dist/ionic/{p-54baa1af.entry.js → p-ff74cf5d.entry.js} +1 -1
  376. package/dist/types/components/accordion/accordion.d.ts +0 -6
  377. package/dist/types/components/back-button/back-button.d.ts +0 -6
  378. package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -10
  379. package/dist/types/components/checkbox/checkbox.d.ts +1 -12
  380. package/dist/types/components/datetime/datetime.d.ts +4 -4
  381. package/dist/types/components/fab-button/fab-button.d.ts +0 -6
  382. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +0 -12
  383. package/dist/types/components/item/item.d.ts +0 -6
  384. package/dist/types/components/menu-button/menu-button.d.ts +0 -5
  385. package/dist/types/components/refresher-content/refresher-content.d.ts +0 -6
  386. package/dist/types/components/reorder/reorder.d.ts +1 -1
  387. package/dist/types/components/select-modal/select-modal.d.ts +0 -5
  388. package/dist/types/components/toggle/toggle.d.ts +2 -5
  389. package/dist/types/utils/config.d.ts +0 -19
  390. package/hydrate/index.js +416 -298
  391. package/hydrate/index.mjs +416 -298
  392. package/package.json +2 -1
  393. package/components/p-0MMiHJhx.js +0 -4
  394. package/components/p-CToV3-ig.js +0 -4
  395. package/components/p-CV7PNBGr.js +0 -4
  396. package/components/p-CgbD1udy.js +0 -4
  397. package/components/p-ClTdIlic.js +0 -4
  398. package/components/p-WeNgVmOy.js +0 -4
  399. package/components/p-eRqVSlkn.js +0 -4
  400. package/components/p-pztWcmzj.js +0 -4
  401. package/dist/ionic/p-0b2c58e0.entry.js +0 -4
  402. package/dist/ionic/p-208cecae.entry.js +0 -4
  403. package/dist/ionic/p-29f69d29.entry.js +0 -4
  404. package/dist/ionic/p-3f17704b.entry.js +0 -4
  405. package/dist/ionic/p-46e754ae.entry.js +0 -4
  406. package/dist/ionic/p-5196bee9.entry.js +0 -4
  407. package/dist/ionic/p-5ad0c670.entry.js +0 -4
  408. package/dist/ionic/p-7134537b.entry.js +0 -4
  409. package/dist/ionic/p-72eacca0.entry.js +0 -4
  410. package/dist/ionic/p-7bde9ee1.entry.js +0 -4
  411. package/dist/ionic/p-87ab986c.entry.js +0 -4
  412. package/dist/ionic/p-9e09cb80.entry.js +0 -4
  413. package/dist/ionic/p-a320cdb2.entry.js +0 -4
  414. package/dist/ionic/p-aa298c58.entry.js +0 -4
  415. package/dist/ionic/p-b920f149.entry.js +0 -4
  416. package/dist/ionic/p-c39025c0.entry.js +0 -4
  417. package/dist/ionic/p-d1f42864.entry.js +0 -4
  418. package/dist/ionic/p-d4506138.entry.js +0 -4
  419. package/dist/ionic/p-fcce2dda.entry.js +0 -4
  420. package/dist/ionic/p-fd2a869f.entry.js +0 -4
@@ -422,7 +422,7 @@ export class Content {
422
422
  const forceOverscroll = this.shouldForceOverscroll(mode);
423
423
  const transitionShadow = theme === 'ios';
424
424
  this.resize();
425
- return (h(Host, Object.assign({ key: '6be663a1c94186ab306827797e0743d936616b8f', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
425
+ return (h(Host, Object.assign({ key: '8c7f646f58e7c38fb6d8661b1629b847a16753fb', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
426
426
  [theme]: true,
427
427
  'content-fullscreen': this.fullscreen,
428
428
  'content-sizing': hostContext('ion-popover', this.el),
@@ -431,12 +431,12 @@ export class Content {
431
431
  }), style: {
432
432
  '--offset-top': `${this.cTop}px`,
433
433
  '--offset-bottom': `${this.cBottom}px`,
434
- } }, inheritedAttributes), h("div", { key: '237014db6e83ca2651eed9968b2d909af3658d14', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'cafc39be73fc71223f57d283b46c94ddb5605ab3', class: {
434
+ } }, inheritedAttributes), h("div", { key: '2b0505c3fdf5c92938b8419c0f57f8d999aec6b3', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '6b769596e491dea1d3618551497fde9364afdeda', class: {
435
435
  'inner-scroll': true,
436
436
  'scroll-x': scrollX,
437
437
  'scroll-y': scrollY,
438
438
  overscroll: (scrollX || scrollY) && forceOverscroll,
439
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: 'b93929f7d6d8512a042892532f58b5fbbafec449' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
439
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: 'ba36c8468681d028352415039d2cb2a750f2638f' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
440
440
  }
441
441
  static get is() { return "ion-content"; }
442
442
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import caretLeftRegular from "@phosphor-icons/core/assets/regular/caret-left.svg";
5
+ import caretRightRegular from "@phosphor-icons/core/assets/regular/caret-right.svg";
4
6
  import { Host, h, writeTask } from "@stencil/core";
5
7
  import { startFocusVisible } from "../../utils/focus-visible";
6
8
  import { getElementRoot, raf, renderHiddenInput } from "../../utils/helpers";
@@ -1751,43 +1753,73 @@ export class Datetime {
1751
1753
  }
1752
1754
  /**
1753
1755
  * Get the icon to use for the next icon.
1754
- * Use the icon set in the config.
1756
+ * Otherwise, use the icon set in the config.
1755
1757
  * If no icon is set in the config, use the default icon.
1756
1758
  */
1757
1759
  get datetimeNextIcon() {
1760
+ // Determine the theme and map to default icons
1761
+ const theme = getIonTheme(this);
1762
+ const defaultIcons = {
1763
+ ios: chevronForward,
1764
+ ionic: caretRightRegular,
1765
+ md: chevronForward,
1766
+ };
1767
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1768
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1758
1769
  // Return the configured datetime next icon or the default icon
1759
- return config.get('datetimeNextIcon', chevronForward);
1770
+ return config.get('datetimeNextIcon', defaultIcon);
1760
1771
  }
1761
1772
  /**
1762
1773
  * Get the icon to use for the previous icon.
1763
- * Use the icon set in the config.
1774
+ * Otherwise, use the icon set in the config.
1764
1775
  * If no icon is set in the config, use the default icon.
1765
1776
  */
1766
1777
  get datetimePreviousIcon() {
1778
+ // Determine the theme and map to default icons
1779
+ const theme = getIonTheme(this);
1780
+ const defaultIcons = {
1781
+ ios: chevronBack,
1782
+ ionic: caretLeftRegular,
1783
+ md: chevronBack,
1784
+ };
1785
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1786
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1767
1787
  // Return the configured datetime previous icon or the default icon
1768
- return config.get('datetimePreviousIcon', chevronBack);
1788
+ return config.get('datetimePreviousIcon', defaultIcon);
1769
1789
  }
1770
1790
  /**
1771
1791
  * Get the icon to use for the show month and year icon.
1772
- * Use the icon set in the config.
1792
+ * Otherwise, use the icon set in the config.
1773
1793
  * If no icon is set in the config, use the default icon.
1774
1794
  */
1775
1795
  get datetimeCollapsedIcon() {
1776
- // Determine the theme and map to the default icon
1796
+ // Determine the theme and map to default icons
1777
1797
  const theme = getIonTheme(this);
1778
- const defaultIcon = theme === 'ios' ? chevronForward : caretDownSharp;
1798
+ const defaultIcons = {
1799
+ ios: chevronForward,
1800
+ ionic: undefined,
1801
+ md: caretDownSharp,
1802
+ };
1803
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1804
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1779
1805
  // Return the configured datetime show month and year icon or the default icon
1780
1806
  return config.get('datetimeCollapsedIcon', defaultIcon);
1781
1807
  }
1782
1808
  /**
1783
1809
  * Get the icon to use for the hide month and year icon.
1784
- * Use the icon set in the config.
1810
+ * Otherwise, use the icon set in the config.
1785
1811
  * If no icon is set in the config, use the default icon.
1786
1812
  */
1787
1813
  get datetimeExpandedIcon() {
1788
- // Determine the theme and map to the default icon
1814
+ // Determine the theme and map to default icons
1789
1815
  const theme = getIonTheme(this);
1790
- const defaultIcon = theme === 'ios' ? chevronDown : caretUpSharp;
1816
+ const defaultIcons = {
1817
+ ios: chevronDown,
1818
+ ionic: undefined,
1819
+ md: caretUpSharp,
1820
+ };
1821
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
1822
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
1791
1823
  // Return the configured datetime hide month and year icon or the default icon
1792
1824
  return config.get('datetimeExpandedIcon', defaultIcon);
1793
1825
  }
@@ -1800,7 +1832,7 @@ export class Datetime {
1800
1832
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
1801
1833
  const hasWheelVariant = hasDatePresentation && preferWheel;
1802
1834
  renderHiddenInput(true, el, name, formatValue(value), disabled);
1803
- return (h(Host, { key: '81d6d431595fc287861af22aff9cad3b94f4ce97', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1835
+ return (h(Host, { key: '04fb1740b1d722d20cdbb32b19d9a3b7d3334db0', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses(color, {
1804
1836
  [theme]: true,
1805
1837
  ['datetime-readonly']: readonly,
1806
1838
  ['datetime-disabled']: disabled,
@@ -1810,7 +1842,7 @@ export class Datetime {
1810
1842
  [`datetime-size-${size}`]: true,
1811
1843
  [`datetime-prefer-wheel`]: hasWheelVariant,
1812
1844
  [`datetime-grid`]: isGridStyle,
1813
- })) }, h("div", { key: 'a5043ea9c7cabb5333edf82c8563fac2f6488086', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1845
+ })) }, h("div", { key: '0cbb85b4c71e521c81b37a98da0123a1c3a15fac', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(theme)));
1814
1846
  }
1815
1847
  static get is() { return "ion-datetime"; }
1816
1848
  static get encapsulation() { return "shadow"; }
@@ -343,11 +343,11 @@ export class DatetimeButton {
343
343
  render() {
344
344
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
345
345
  const theme = getIonTheme(this);
346
- return (h(Host, { key: '5324999adc34e2f34aae2825427c28130bc399b4', class: createColorClasses(color, {
346
+ return (h(Host, { key: '8cdd9935131b68d84ac601f78d5967383eaaf25e', class: createColorClasses(color, {
347
347
  [theme]: true,
348
348
  [`${selectedButton}-active`]: datetimeActive,
349
349
  ['datetime-button-disabled']: disabled,
350
- }) }, dateText && (h("button", { key: '565c74efa16fc02a70a6f1ef6b073eb143ab9f07', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'c487bd5ae42a089ce22a7cb1bb67016910e24bd0', name: "date-target" }, dateText), theme === 'md' && h("ion-ripple-effect", { key: 'c871fee2350e3207efc2338d229b809f8b44dca9' }))), timeText && (h("button", { key: '7acf19c3d1446133107a622851dfff2d6088cb8d', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '6091b9d32d423ce438605005077087fc009fd8e7', name: "time-target" }, timeText), theme === 'md' && h("ion-ripple-effect", { key: 'b71f93aa14aa0b7bdfe9ad4ca9bcb90880d23b0e' })))));
350
+ }) }, dateText && (h("button", { key: 'dfd6d83cdca3673383a21e213dae825b5643600d', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, h("slot", { key: 'f7cabbcd6474c66283fb0681a3d75f36a88750d6', name: "date-target" }, dateText), theme === 'md' && h("ion-ripple-effect", { key: '3aace053cea80aa3bb30a06c8e1f1d18650d8796' }))), timeText && (h("button", { key: 'c8fac088f4e6ee2486110a59574bd95cd3be870b', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, h("slot", { key: '195df2d17f6bd28c9cf6ad657e55948472544985', name: "time-target" }, timeText), theme === 'md' && h("ion-ripple-effect", { key: 'aa1a1f5ea120558174b166c2b2d5fa970ca00d2c' })))));
351
351
  }
352
352
  static get is() { return "ion-datetime-button"; }
353
353
  static get encapsulation() { return "shadow"; }
@@ -25,11 +25,11 @@ export class Divider {
25
25
  render() {
26
26
  const { inset, spacing } = this;
27
27
  const theme = getIonTheme(this);
28
- return (h(Host, { key: '90772ad228282d0be4f9f18fcd14bc7af0f52e0e', class: {
28
+ return (h(Host, { key: '6cc1572a93abaf49be7e27348bf513cb7ee24bff', class: {
29
29
  [theme]: true,
30
30
  [`divider-spacing-${spacing}`]: spacing !== undefined,
31
31
  [`divider-inset`]: inset,
32
- } }, h("hr", { key: 'e70ea44fa8e6af6156c19a60302f4e9785b74dae' })));
32
+ } }, h("hr", { key: '19e4cef3f90d92b56ae0bece15dbdcfbf18d72d9' })));
33
33
  }
34
34
  static get is() { return "ion-divider"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -58,12 +58,12 @@ export class Fab {
58
58
  render() {
59
59
  const { horizontal, vertical, edge } = this;
60
60
  const theme = getIonTheme(this);
61
- return (h(Host, { key: 'fde83d0b3abd9f0315405f1212202fcc2ee939c3', class: {
61
+ return (h(Host, { key: '569b07978a63756169d050f3b67368cecf26dd98', class: {
62
62
  [theme]: true,
63
63
  [`fab-horizontal-${horizontal}`]: horizontal !== undefined,
64
64
  [`fab-vertical-${vertical}`]: vertical !== undefined,
65
65
  'fab-edge': edge,
66
- } }, h("slot", { key: 'aa393e8a368a4c3aef9ac1f8f38bdfca3b0cbc74' })));
66
+ } }, h("slot", { key: 'cd10d4baa1c2e8c2dcfefe66bdb7ffb8262f8e17' })));
67
67
  }
68
68
  static get is() { return "ion-fab"; }
69
69
  static get encapsulation() { return "shadow"; }
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import xRegular from "@phosphor-icons/core/assets/regular/x.svg";
4
5
  import { Host, h } from "@stencil/core";
5
6
  import { inheritAriaAttributes, hasShadowDom } from "../../utils/helpers";
6
7
  import { printIonWarning } from "../../utils/logging/index";
@@ -132,19 +133,22 @@ export class FabButton {
132
133
  componentWillLoad() {
133
134
  this.inheritedAttributes = inheritAriaAttributes(this.el);
134
135
  }
135
- /**
136
- * Get the icon to use for the close icon.
137
- * If an icon is set on the component, use that.
138
- * Otherwise, use the icon set in the config.
139
- * If no icon is set in the config, use the default icon.
140
- */
141
136
  get fabButtonCloseIcon() {
142
137
  // Return the icon if it is explicitly set
143
138
  if (this.closeIcon != null) {
144
139
  return this.closeIcon;
145
140
  }
141
+ // Determine the theme and map to default icons
142
+ const theme = getIonTheme(this);
143
+ const defaultIcons = {
144
+ ios: close,
145
+ ionic: xRegular,
146
+ md: close,
147
+ };
148
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
149
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
146
150
  // Return the configured fab button close icon or the default icon
147
- return config.get('fabButtonCloseIcon', close);
151
+ return config.get('fabButtonCloseIcon', defaultIcon);
148
152
  }
149
153
  render() {
150
154
  const { el, disabled, fabButtonCloseIcon, color, href, activated, show, translucent, size, inheritedAttributes, type, } = this;
@@ -166,7 +170,7 @@ export class FabButton {
166
170
  if (type !== 'button') {
167
171
  this.renderHiddenButton();
168
172
  }
169
- return (h(Host, { key: '6cbdca34ede5d2ab6d9453f8453e608e596122f6', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
173
+ return (h(Host, { key: 'af84019ef7cee19ca5578a9a274d3890da83bf83', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
170
174
  [theme]: true,
171
175
  'fab-button-in-list': inList,
172
176
  'fab-button-translucent-in-list': inList && translucent,
@@ -177,7 +181,7 @@ export class FabButton {
177
181
  'ion-activatable': true,
178
182
  'ion-focusable': true,
179
183
  [`fab-button-${size}`]: size !== undefined,
180
- }) }, h(TagType, Object.assign({ key: '7e660c3401d3e42ba9b11784cf8c30a6ef3e79ed' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => type === 'button' && openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: 'eb8fedfd907fe3f2fb94382891ac399a34e19510', "aria-hidden": "true", icon: fabButtonCloseIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '3ed25f178824632c99714c2c406b64ffa4358367', class: "button-inner" }, h("slot", { key: '27084c351359bb5151059091615c559f1d01df93' })), theme === 'md' && h("ion-ripple-effect", { key: '44c780a6554411d89cc213699b14aec8173ec76f' }))));
184
+ }) }, h(TagType, Object.assign({ key: '90b4b17993b3feab7194790c4497d0fd9860e01a' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur, onClick: (ev) => type === 'button' && openURL(href, ev, this.routerDirection, this.routerAnimation) }, inheritedAttributes), h("ion-icon", { key: 'a6d2cf73b627ead797c8efa82e0b7cd6aa845603', "aria-hidden": "true", icon: fabButtonCloseIcon, part: "close-icon", class: "close-icon", lazy: false }), h("span", { key: '3f08bc8aa15bcb72ecf11a81b50e2c79ab4d841a', class: "button-inner" }, h("slot", { key: 'c5c5921194b2c6b81dab2f9338298ab1c31367c5' })), theme === 'md' && h("ion-ripple-effect", { key: '78952651d0662304bd74ab8dc4cd09eb2d5ed455' }))));
181
185
  }
182
186
  static get is() { return "ion-fab-button"; }
183
187
  static get encapsulation() { return "shadow"; }
@@ -35,11 +35,11 @@ export class FabList {
35
35
  }
36
36
  render() {
37
37
  const theme = getIonTheme(this);
38
- return (h(Host, { key: '764dbc440379e7333215c2b69e177d4a7254a899', class: {
38
+ return (h(Host, { key: 'a9b498b07b2082107cbeef3259bdd3cff429c1ac', class: {
39
39
  [theme]: true,
40
40
  'fab-list-active': this.activated,
41
41
  [`fab-list-side-${this.side}`]: true,
42
- } }, h("slot", { key: '9ea03acea78febe1b379904cef8978bbebcb57cd' })));
42
+ } }, h("slot", { key: '6e993eab68de44c0bc3396fd4871c3005274a9f5' })));
43
43
  }
44
44
  static get is() { return "ion-fab-list"; }
45
45
  static get encapsulation() { return "shadow"; }
@@ -167,7 +167,7 @@ export class Footer {
167
167
  const hasFade = effect === 'fade' && !isModeRestricted;
168
168
  const tabs = this.el.closest('ion-tabs');
169
169
  const tabBar = tabs === null || tabs === void 0 ? void 0 : tabs.querySelector(':scope > ion-tab-bar');
170
- return (h(Host, { key: 'a968cbaa37aa5f66f852b393d17a5617892d3708', role: "contentinfo", class: {
170
+ return (h(Host, { key: 'a0777b4a639d22e15374879f018efcf589e756f8', role: "contentinfo", class: {
171
171
  [theme]: true,
172
172
  // Used internally for styling
173
173
  [`footer-${theme}`]: true,
@@ -176,7 +176,7 @@ export class Footer {
176
176
  ['footer-toolbar-padding']: !this.keyboardVisible && (!tabBar || tabBar.slot !== 'bottom'),
177
177
  'footer-collapse-fade': hasFade,
178
178
  'footer-scroll-effect-hide': hasHide,
179
- } }, theme === 'ios' && translucent && h("div", { key: '5116db55a74d2a738a00c177d797dc03146ea129', class: "footer-background" }), h("slot", { key: 'b61dd28630507aa01c047e119bbc367d26c5be93' })));
179
+ } }, theme === 'ios' && translucent && h("div", { key: 'd78b46870cbf11c95b066d649c04ec398b66e614', class: "footer-background" }), h("slot", { key: '9dc34787cd29597fe1b1198db317602014ac1483' })));
180
180
  }
181
181
  static get is() { return "ion-footer"; }
182
182
  static get originalStyleUrls() {
@@ -536,11 +536,11 @@ export class Gallery {
536
536
  const { layout } = this;
537
537
  const order = this.getOrder();
538
538
  const theme = getIonTheme(this);
539
- return (h(Host, { key: '17e0acf09db810e8635b4965faab99da4e675f31', class: {
539
+ return (h(Host, { key: '4a0a9cdd0da106ac0bd2c188a4c6612edab43b33', class: {
540
540
  [theme]: true,
541
541
  [`gallery-layout-${layout}`]: true,
542
542
  [`gallery-order-${order}`]: layout === 'masonry' && order !== undefined,
543
- } }, h("slot", { key: 'e31f2a92f22e8319011c1d2ceed4a47f733dc96b', onSlotchange: this.onSlotChange })));
543
+ } }, h("slot", { key: 'dc6414ce9762ad7daaedc1583db35e0613a76e11', onSlotchange: this.onSlotChange })));
544
544
  }
545
545
  static get is() { return "ion-gallery"; }
546
546
  static get encapsulation() { return "shadow"; }
@@ -49,10 +49,10 @@ export class GalleryItem {
49
49
  render() {
50
50
  const { galleryLayout } = this;
51
51
  const theme = getIonTheme(this);
52
- return (h(Host, { key: 'eccce38103a1fca6cd50f7ad1111d0718699a834', class: {
52
+ return (h(Host, { key: '989b13983917f237604ab2d18456ceef140a7f8c', class: {
53
53
  [theme]: true,
54
54
  [`in-gallery-layout-${galleryLayout}`]: galleryLayout != undefined,
55
- } }, h("slot", { key: '4dcc6d4ac94c47b1e5c510e4e365fb1e17e7087f', onSlotchange: this.onSlotChange })));
55
+ } }, h("slot", { key: 'e4cc9398e55cc1bb19654c8f954eed1edab2e38a', onSlotchange: this.onSlotChange })));
56
56
  }
57
57
  static get is() { return "ion-gallery-item"; }
58
58
  static get encapsulation() { return "shadow"; }
@@ -16,10 +16,10 @@ export class Grid {
16
16
  }
17
17
  render() {
18
18
  const theme = getIonTheme(this);
19
- return (h(Host, { key: '8211149ce14da893b47d7fb6e1f0bc194dca8490', class: {
19
+ return (h(Host, { key: 'e3320fc2fc5391d26898cc119505cd3be30dd48b', class: {
20
20
  [theme]: true,
21
21
  'grid-fixed': this.fixed,
22
- } }, h("slot", { key: '080ef8c22898ddba8b001282778a78ed54f1e36f' })));
22
+ } }, h("slot", { key: '2000e6b336c294aadf4585269c301d734d2fe478' })));
23
23
  }
24
24
  static get is() { return "ion-grid"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -242,9 +242,14 @@ ion-toolbar + ion-toolbar {
242
242
  top: 0;
243
243
  bottom: 0;
244
244
  position: absolute;
245
- backdrop-filter: saturate(180%) blur(var(--token-scale-100, 4px));
245
+ backdrop-filter: blur(var(--token-scale-1600, 64px));
246
+ mask-image: linear-gradient(to bottom, #000 32.5%, transparent 91%);
246
247
  }
247
248
  .header-translucent-ionic ion-toolbar {
248
- --opacity: 0.7;
249
+ --background: linear-gradient(
250
+ to bottom,
251
+ rgba(255, 255, 255, 1),
252
+ rgba(255, 255, 255, 0.1)
253
+ );
249
254
  }
250
255
  }
@@ -235,7 +235,7 @@ export class Header {
235
235
  const isHiddenCondense = effect === 'condense' && !hasCondense;
236
236
  // banner role must be at top level, so remove role if inside a menu
237
237
  const roleType = isHiddenCondense ? 'none' : getRoleType(hostContext('ion-menu', this.el));
238
- return (h(Host, Object.assign({ key: '41cc94124ed8dfb413deecfd3369facbbbd91096', role: roleType, class: {
238
+ return (h(Host, Object.assign({ key: '09f60ca014bb7b3a85d3c0a94e7989d5dbc43f46', role: roleType, class: {
239
239
  [theme]: true,
240
240
  // Used internally for styling
241
241
  [`header-${theme}`]: true,
@@ -246,7 +246,7 @@ export class Header {
246
246
  [`header-translucent-${theme}`]: this.translucent,
247
247
  ['header-divider']: divider,
248
248
  'header-scroll-effect-hide': hasHide,
249
- } }, inheritedAttributes), theme !== 'md' && translucent && h("div", { key: 'bbf8d7571a1c1f07ddd03d806218b26a4b32e2c3', class: "header-background" }), h("slot", { key: '84cad2cdebcdc2902b7a19042a83d8c56a19612d' })));
249
+ } }, inheritedAttributes), theme !== 'md' && translucent && h("div", { key: 'fd5ff245ae0166e5e1d50936cacc98c90625db48', class: "header-background" }), h("slot", { key: '1baa31af87b9eb6406a21073ec65afa191dfbb3d' })));
250
250
  }
251
251
  static get is() { return "ion-header"; }
252
252
  static get originalStyleUrls() {
@@ -80,9 +80,9 @@ export class Img {
80
80
  const { loadSrc, alt, onLoad, loadError, inheritedAttributes } = this;
81
81
  const { draggable } = inheritedAttributes;
82
82
  const theme = getIonTheme(this);
83
- return (h(Host, { key: 'f6f8d76f7019338f9b07ce9738fdf9b15b0f3e9f', class: {
83
+ return (h(Host, { key: 'ba84621055567b2a35387709d9d89b97ad853274', class: {
84
84
  [theme]: true,
85
- } }, h("img", { key: '0e571771fdf3008bd83588e1924d4f6a91e0ede8', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
85
+ } }, h("img", { key: '9d6118bbf69e2cccbb0603802c03b9a0d101e2c3', decoding: "async", src: loadSrc, alt: alt, onLoad: onLoad, onError: loadError, part: "image", draggable: isDraggable(draggable) })));
86
86
  }
87
87
  static get is() { return "ion-img"; }
88
88
  static get encapsulation() { return "shadow"; }
@@ -264,7 +264,7 @@ export class InfiniteScroll {
264
264
  render() {
265
265
  const theme = getIonTheme(this);
266
266
  const disabled = this.disabled;
267
- return (h(Host, { key: '042d76f3640398a71ff23c84f8df3e25d30536a6', class: {
267
+ return (h(Host, { key: 'e3a3cde079dfd6f07e565eb462765df757cbb128', class: {
268
268
  [theme]: true,
269
269
  'infinite-scroll-loading': this.isLoading,
270
270
  'infinite-scroll-enabled': !disabled,
@@ -29,11 +29,11 @@ export class InfiniteScrollContent {
29
29
  }
30
30
  render() {
31
31
  const theme = getIonTheme(this);
32
- return (h(Host, { key: '16d080c074d3b61ef884e4f7f5bd5f70aec1aeac', class: {
32
+ return (h(Host, { key: '263a27297159ced042f7552a1e14b8c6aba62fa8', class: {
33
33
  [theme]: true,
34
34
  // Used internally for styling
35
35
  [`infinite-scroll-content-${theme}`]: true,
36
- } }, h("div", { key: 'dc5fa503c8b90255e4c898ceb4d0ec59467ec5a5', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: '091cbc7bfefca20130090a0269a8241a4e0f60a9', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '89e7fa70d0846207a8289a0ada9ea38c6fd6bfbc', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
36
+ } }, h("div", { key: 'ee38d3c52df9dc5de186406b3087f20917a17252', class: "infinite-loading" }, this.loadingSpinner && (h("div", { key: 'e2348727f79a26f52f42641d4334a0ba9d4aa03e', class: "infinite-loading-spinner" }, h("ion-spinner", { key: '41be6f2747f3af5f46c8738e2ef56083ecd95e99', name: this.loadingSpinner }))), this.loadingText !== undefined && this.renderLoadingText())));
37
37
  }
38
38
  static get is() { return "ion-infinite-scroll-content"; }
39
39
  static get originalStyleUrls() {
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import xRegular from "@phosphor-icons/core/assets/regular/x.svg";
4
5
  import { Build, Host, forceUpdate, h, } from "@stencil/core";
5
6
  import { createClearButtonPressController, createNotchController, checkInvalidState } from "../../utils/forms/index";
6
7
  import { inheritAriaAttributes, debounceEvent, inheritAttributes, componentOnReady } from "../../utils/helpers";
@@ -579,9 +580,15 @@ export class Input {
579
580
  if (this.clearInputIcon != null) {
580
581
  return this.clearInputIcon;
581
582
  }
582
- // Determine the theme and map to the default icon
583
+ // Determine the theme and map to default icons
583
584
  const theme = getIonTheme(this);
584
- const defaultIcon = theme === 'ios' ? closeCircle : closeSharp;
585
+ const defaultIcons = {
586
+ ios: closeCircle,
587
+ ionic: xRegular,
588
+ md: closeSharp,
589
+ };
590
+ // Get the default icon based on the theme, falling back to 'md' icon if necessary
591
+ const defaultIcon = defaultIcons[theme] || defaultIcons.md;
585
592
  // Return the configured input clear icon or the default icon
586
593
  return config.get('inputClearIcon', defaultIcon);
587
594
  }
@@ -615,7 +622,7 @@ export class Input {
615
622
  * TODO(FW-5592): Remove hasStartEndSlots condition
616
623
  */
617
624
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
618
- return (h(Host, { key: 'ae0920d7c93498741a5a066a5518f89f0c5b43c2', class: createColorClasses(this.color, {
625
+ return (h(Host, { key: 'f4009568b582fa080103dfb3f490595d5d7e9706', class: createColorClasses(this.color, {
619
626
  [theme]: true,
620
627
  'has-value': hasValue,
621
628
  'has-focus': hasFocus,
@@ -628,7 +635,7 @@ export class Input {
628
635
  'in-item-color': hostContext('ion-item.ion-color', this.el),
629
636
  'input-disabled': disabled,
630
637
  'input-readonly': readonly,
631
- }) }, h("label", { key: 'b9fd3366b0fb429ebacc02a16ae27e29b1b485aa', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'eb02cef1a79a43f9fc8eb55bd7f3dcd4ca2e81d3', class: "native-wrapper", onClick: this.onLabelClick },
638
+ }) }, h("label", { key: 'a05502716afcf5d286f197131619b2bc57ba61e0', class: "input-wrapper", htmlFor: inputId, onClick: this.onLabelClick }, this.renderLabelContainer(), h("div", { key: 'de4621c5eff21e26197f28a3e66217fcae449c75', class: "native-wrapper", onClick: this.onLabelClick },
632
639
  /**
633
640
  * For the ionic theme, we render the outline container here
634
641
  * instead of higher up, so it can be positioned relative to
@@ -638,10 +645,10 @@ export class Input {
638
645
  * <label> element, ensuring that clicking the label text
639
646
  * focuses the input.
640
647
  */
641
- theme === 'ionic' && h("div", { key: '1d35432c405e9d6fec8c4d411bf33e2950a02fb5', class: "input-outline" }), h("slot", { key: '627e09591ad9915b8b62b6ad8b8f359f1b010f01', name: "start" }), h("input", Object.assign({ key: '3bd035e03868067ea6dbba5c7a28383474f67ba3', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'dfec9566c3dd743dae34afe0de03aabb180a371e', "aria-label": "reset", type: "button", class: {
648
+ theme === 'ionic' && h("div", { key: '79e084dd8d7b0f530ea6518ee6f2ceb2ac099a8e', class: "input-outline" }), h("slot", { key: 'a4d0f148035c0f8afca5171139a05665d778bd07', name: "start" }), h("input", Object.assign({ key: 'f399d498b4c289571a114347c08c2ae16266ba6f', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-labelledby": this.getLabelledById() }, this.inheritedAttributes)), clearInput && !readonly && !disabled && (h("button", { key: 'f6672256dfebae3bae35afd61d26bb705e8f268c', "aria-label": "reset", type: "button", class: {
642
649
  'input-clear-icon': true,
643
650
  'input-clear-button-pressed': this.isClearButtonPressed,
644
- }, onPointerDown: this.clearButtonPressController.onPointerDown, onPointerCancel: this.clearButtonPressController.release, onClick: this.clearTextInput }, h("ion-icon", { key: 'c736514c2df8f78196bd6426fd8d80d282c7aeb7', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: 'b6a250b6aaacb7a7ec0e09cc93a8b8dce973bb5b', name: "end" })), shouldRenderHighlight && h("div", { key: '989a73bb9210f3ef8084a265533063cdb4b8142c', class: "input-highlight" })), this.renderBottomContent()));
651
+ }, onPointerDown: this.clearButtonPressController.onPointerDown, onPointerCancel: this.clearButtonPressController.release, onClick: this.clearTextInput }, h("ion-icon", { key: '999e8ec2b4c1614ce8f396b6a3e2ff26cb41dfbd', "aria-hidden": "true", icon: inputClearIcon }))), h("slot", { key: '2d0df6c7dd9dc17d8bd5e33b9eac1e11a25dd874', name: "end" })), shouldRenderHighlight && h("div", { key: 'f80b2c9fe4dfbb038e6c7b5a98e775cdd5ef6a21', class: "input-highlight" })), this.renderBottomContent()));
645
652
  }
646
653
  static get is() { return "ion-input"; }
647
654
  static get encapsulation() { return "scoped"; }
@@ -680,7 +680,7 @@ export class InputOTP {
680
680
  const tabbableIndex = this.getTabbableIndex();
681
681
  const pattern = this.getPattern();
682
682
  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()) !== '';
683
- return (h(Host, { key: '67df3d392e0336b65363fff7cb0d093b7c535b3f', class: createColorClasses(color, {
683
+ return (h(Host, { key: '2bdd205b13281373a43d1a86a25df950a6f36ae1', class: createColorClasses(color, {
684
684
  [mode]: true,
685
685
  'has-focus': hasFocus,
686
686
  [`input-otp-size-${size}`]: true,
@@ -688,10 +688,10 @@ export class InputOTP {
688
688
  [`input-otp-fill-${fill}`]: true,
689
689
  'input-otp-disabled': disabled,
690
690
  'input-otp-readonly': readonly,
691
- }) }, h("div", Object.assign({ key: 'b68d6bfae96d7f381ce66819d9cff0aa2b1d8a44', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper", part: "container" }, h("input", { class: "native-input", part: "native", 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", part: "separator" }))))), h("div", { key: '346450b2da262c6543e5dc2c0bbac27c541f4e18', class: {
691
+ }) }, h("div", Object.assign({ key: 'b82d198138929327cd5429bbeb482248935ae88d', role: "group", "aria-label": "One-time password input", class: "input-otp-group", part: "group" }, inheritedAttributes), Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper", part: "container" }, h("input", { class: "native-input", part: "native", 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", part: "separator" }))))), h("div", { key: '0bb5444d4e653bb7310abec502f5b1d76e681c37', class: {
692
692
  'input-otp-description': true,
693
693
  'input-otp-description-hidden': !hasDescription,
694
- }, part: "description" }, h("slot", { key: '31ad8b75d9b2808b49f488e7ff2f235099e31b30' }))));
694
+ }, part: "description" }, h("slot", { key: 'f717bda988a6e9b97d67025c1d3163d838f27bb5' }))));
695
695
  }
696
696
  static get is() { return "ion-input-otp"; }
697
697
  static get encapsulation() { return "shadow"; }
@@ -1,12 +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
10
  import { config } from "../../global/config";
9
- import { getIonMode } from "../../global/ionic-global";
11
+ import { getIonMode, getIonTheme } from "../../global/ionic-global";
10
12
  /**
11
13
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
12
14
  */
@@ -54,48 +56,54 @@ export class InputPasswordToggle {
54
56
  disconnectedCallback() {
55
57
  this.inputElRef = null;
56
58
  }
57
- /**
58
- * Get the icon to use for the hide icon.
59
- * If an icon is set on the component, use that.
60
- * Otherwise, use the icon set in the config.
61
- * If no icon is set in the config, use the default icon.
62
- */
63
59
  get inputPasswordHideIcon() {
64
60
  // Return the icon if it is explicitly set
65
61
  if (this.hideIcon != null) {
66
62
  return this.hideIcon;
67
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;
68
73
  // Return the configured input password hide icon or the default icon
69
- return config.get('inputPasswordHideIcon', eyeOff);
74
+ return config.get('inputPasswordHideIcon', defaultIcon);
70
75
  }
71
- /**
72
- * Get the icon to use for the show icon.
73
- * If an icon is set on the component, use that.
74
- * Otherwise, use the icon set in the config.
75
- * If no icon is set in the config, use the default icon.
76
- */
77
76
  get inputPasswordShowIcon() {
78
77
  // Return the icon if it is explicitly set
79
78
  if (this.showIcon != null) {
80
79
  return this.showIcon;
81
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;
82
90
  // Return the configured input password show icon or the default icon
83
- return config.get('inputPasswordShowIcon', eye);
91
+ return config.get('inputPasswordShowIcon', defaultIcon);
84
92
  }
85
93
  render() {
86
94
  const { color, inputPasswordHideIcon, inputPasswordShowIcon, type } = this;
87
95
  const mode = getIonMode(this);
88
96
  const isPasswordVisible = type === 'text';
89
- return (h(Host, { key: '67dff695db35fe17927c62f88eb4d1b8a83cf9c1', class: createColorClasses(color, {
97
+ return (h(Host, { key: 'f11e3bf4d3255e003aec504e6dd3ee1e0caaf767', class: createColorClasses(color, {
90
98
  [mode]: true,
91
- }) }, h("ion-button", { key: '75edb85478a55b76fc1b4b3ecb65d593dee0b3ee', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
99
+ }) }, h("ion-button", { key: '5bba43f7755857fd9347612bb906c389b60386b4', mode: mode, color: color, fill: "clear", shape: "round", "aria-label": isPasswordVisible ? 'Hide password' : 'Show password', "aria-pressed": isPasswordVisible ? 'true' : 'false', type: "button", onPointerDown: (ev) => {
92
100
  /**
93
101
  * This prevents mobile browsers from
94
102
  * blurring the input when the password toggle
95
103
  * button is activated.
96
104
  */
97
105
  ev.preventDefault();
98
- }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: '811e6f30fdc0e78fb23318823fc2bb2135647ca1', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
106
+ }, onClick: this.togglePasswordVisibility }, h("ion-icon", { key: 'c0eb0e4e2f3e9553bfd519ff655064c9f62af406', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? inputPasswordHideIcon : inputPasswordShowIcon }))));
99
107
  }
100
108
  static get is() { return "ion-input-password-toggle"; }
101
109
  static get encapsulation() { return "shadow"; }