@ionic/core 8.5.7-dev.11747180955.1e468923 → 8.5.7-dev.11747676931.1d53b808

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 (336) hide show
  1. package/components/input-shims.js +0 -18
  2. package/components/ion-input-otp.d.ts +11 -0
  3. package/components/ion-input-otp.js +611 -0
  4. package/components/ion-input-password-toggle.js +3 -3
  5. package/components/ion-input.js +10 -2
  6. package/components/ion-item-divider.js +2 -2
  7. package/components/ion-item-group.js +1 -1
  8. package/components/ion-item-option.js +2 -2
  9. package/components/ion-item-options.js +1 -1
  10. package/components/ion-item-sliding.js +1 -1
  11. package/components/ion-loading.js +2 -2
  12. package/components/ion-menu-button.js +2 -2
  13. package/components/ion-menu-toggle.js +2 -2
  14. package/components/ion-menu.js +2 -2
  15. package/components/ion-nav-link.js +1 -1
  16. package/components/ion-nav.js +1 -1
  17. package/components/ion-note.js +2 -2
  18. package/components/ion-picker-legacy.js +2 -2
  19. package/components/ion-progress-bar.js +1 -1
  20. package/components/ion-range.js +3 -3
  21. package/components/ion-refresher-content.js +1 -1
  22. package/components/ion-refresher.js +1 -1
  23. package/components/ion-reorder-group.js +1 -1
  24. package/components/ion-reorder.js +1 -1
  25. package/components/ion-router-link.js +2 -2
  26. package/components/ion-router-outlet.js +1 -1
  27. package/components/ion-row.js +1 -1
  28. package/components/ion-searchbar.js +4 -4
  29. package/components/ion-segment-button.js +2 -2
  30. package/components/ion-segment-content.js +1 -1
  31. package/components/ion-segment-view.js +2 -2
  32. package/components/ion-segment.js +2 -2
  33. package/components/ion-select-option.js +1 -1
  34. package/components/ion-select.js +2 -2
  35. package/components/ion-skeleton-text.js +2 -2
  36. package/components/ion-split-pane.js +2 -2
  37. package/components/ion-tab-bar.js +2 -2
  38. package/components/ion-tab-button.js +2 -2
  39. package/components/ion-tab.js +2 -2
  40. package/components/ion-tabs.js +1 -1
  41. package/components/ion-text.js +2 -2
  42. package/components/ion-textarea.js +2 -2
  43. package/components/ion-thumbnail.js +1 -1
  44. package/components/ion-toast.js +2 -2
  45. package/components/ion-toggle.js +3 -3
  46. package/components/label.js +2 -2
  47. package/components/list-header.js +2 -2
  48. package/components/list.js +1 -1
  49. package/components/modal.js +4 -4
  50. package/components/picker-column-option.js +2 -2
  51. package/components/picker-column2.js +2 -2
  52. package/components/popover.js +2 -2
  53. package/components/radio-group.js +1 -1
  54. package/components/radio.js +3 -3
  55. package/components/ripple-effect.js +1 -1
  56. package/components/select-modal.js +1 -1
  57. package/components/select-popover.js +1 -1
  58. package/components/spinner.js +1 -1
  59. package/components/title.js +2 -2
  60. package/components/toolbar.js +2 -2
  61. package/dist/cjs/{app-globals-CWtQHdcK.js → app-globals-DvwumQAI.js} +1 -1
  62. package/dist/cjs/{button-active-BzpKQ5zN.js → button-active-Du_YCFSd.js} +1 -1
  63. package/dist/cjs/{index-qOuhvt-6.js → index-B6-BlKCh.js} +4 -0
  64. package/dist/cjs/{index-CrE5792q.js → index-DCB2XSaQ.js} +1 -1
  65. package/dist/cjs/{index-C6GLB0dQ.js → index-QuFS9UpQ.js} +3 -3
  66. package/dist/cjs/index.cjs.js +7 -7
  67. package/dist/cjs/{input-shims-BIfSj_O3.js → input-shims-DGvxKeWy.js} +0 -18
  68. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  70. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  71. package/dist/cjs/ion-app_8.cjs.entry.js +10 -10
  72. package/dist/cjs/ion-avatar_3.cjs.entry.js +3 -3
  73. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-button_2.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  79. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-col_3.cjs.entry.js +3 -3
  81. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  82. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  83. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  85. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-input-otp.cjs.entry.js +574 -0
  87. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  88. package/dist/cjs/ion-input.cjs.entry.js +12 -4
  89. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  90. package/dist/cjs/ion-item_8.cjs.entry.js +14 -14
  91. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  92. package/dist/cjs/ion-menu_3.cjs.entry.js +10 -10
  93. package/dist/cjs/ion-modal.cjs.entry.js +8 -8
  94. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
  95. package/dist/cjs/ion-picker-column-option.cjs.entry.js +4 -4
  96. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  97. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  98. package/dist/cjs/ion-popover.cjs.entry.js +6 -6
  99. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  100. package/dist/cjs/ion-radio_2.cjs.entry.js +6 -6
  101. package/dist/cjs/ion-range.cjs.entry.js +5 -5
  102. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  104. package/dist/cjs/ion-ripple-effect.cjs.entry.js +3 -3
  105. package/dist/cjs/ion-route_4.cjs.entry.js +4 -4
  106. package/dist/cjs/ion-searchbar.cjs.entry.js +6 -6
  107. package/dist/cjs/ion-segment-content.cjs.entry.js +2 -2
  108. package/dist/cjs/ion-segment-view.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-segment_2.cjs.entry.js +6 -6
  110. package/dist/cjs/ion-select-modal.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  112. package/dist/cjs/ion-spinner.cjs.entry.js +3 -3
  113. package/dist/cjs/ion-split-pane.cjs.entry.js +4 -4
  114. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +6 -6
  115. package/dist/cjs/ion-tab_2.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-text.cjs.entry.js +4 -4
  117. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  118. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  119. package/dist/cjs/ion-toggle.cjs.entry.js +5 -5
  120. package/dist/cjs/{ionic-global-BC3ee-Wa.js → ionic-global-C3I6b0Is.js} +1 -1
  121. package/dist/cjs/ionic.cjs.js +4 -4
  122. package/dist/cjs/{ios.transition-C9J4bBGV.js → ios.transition-CL8Q2_Bi.js} +2 -2
  123. package/dist/cjs/loader.cjs.js +4 -4
  124. package/dist/cjs/{md.transition-DT8PB4eS.js → md.transition-D1Ast6la.js} +2 -2
  125. package/dist/cjs/{overlays-B4rlyxhY.js → overlays-Ci3nLg5M.js} +1 -1
  126. package/dist/cjs/{status-tap-B8fjNFjq.js → status-tap-Bx_wzOTo.js} +1 -1
  127. package/dist/collection/collection-manifest.json +1 -0
  128. package/dist/collection/components/input/input.js +10 -2
  129. package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
  130. package/dist/collection/components/input-otp/input-otp.ios.css +377 -0
  131. package/dist/collection/components/input-otp/input-otp.js +999 -0
  132. package/dist/collection/components/input-otp/input-otp.md.css +377 -0
  133. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  134. package/dist/collection/components/item-divider/item-divider.js +2 -2
  135. package/dist/collection/components/item-group/item-group.js +1 -1
  136. package/dist/collection/components/item-option/item-option.js +2 -2
  137. package/dist/collection/components/item-options/item-options.js +1 -1
  138. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  139. package/dist/collection/components/label/label.js +2 -2
  140. package/dist/collection/components/list/list.js +1 -1
  141. package/dist/collection/components/list-header/list-header.js +2 -2
  142. package/dist/collection/components/loading/loading.js +2 -2
  143. package/dist/collection/components/menu/menu.js +2 -2
  144. package/dist/collection/components/menu-button/menu-button.js +2 -2
  145. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  146. package/dist/collection/components/modal/modal.js +4 -4
  147. package/dist/collection/components/nav/nav.js +1 -1
  148. package/dist/collection/components/nav-link/nav-link.js +1 -1
  149. package/dist/collection/components/note/note.js +2 -2
  150. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  151. package/dist/collection/components/picker-legacy/picker.js +2 -2
  152. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  153. package/dist/collection/components/popover/popover.js +2 -2
  154. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  155. package/dist/collection/components/radio/radio.js +3 -3
  156. package/dist/collection/components/radio-group/radio-group.js +1 -1
  157. package/dist/collection/components/range/range.js +3 -3
  158. package/dist/collection/components/refresher/refresher.js +1 -1
  159. package/dist/collection/components/refresher-content/refresher-content.js +1 -1
  160. package/dist/collection/components/reorder/reorder.js +1 -1
  161. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  162. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  163. package/dist/collection/components/router-link/router-link.js +2 -2
  164. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  165. package/dist/collection/components/row/row.js +1 -1
  166. package/dist/collection/components/searchbar/searchbar.js +4 -4
  167. package/dist/collection/components/segment/segment.js +2 -2
  168. package/dist/collection/components/segment-button/segment-button.js +2 -2
  169. package/dist/collection/components/segment-content/segment-content.js +1 -1
  170. package/dist/collection/components/segment-view/segment-view.js +2 -2
  171. package/dist/collection/components/select/select.js +2 -2
  172. package/dist/collection/components/select-modal/select-modal.js +1 -1
  173. package/dist/collection/components/select-option/select-option.js +1 -1
  174. package/dist/collection/components/select-popover/select-popover.js +1 -1
  175. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  176. package/dist/collection/components/spinner/spinner.js +1 -1
  177. package/dist/collection/components/split-pane/split-pane.js +2 -2
  178. package/dist/collection/components/tab/tab.js +2 -2
  179. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  180. package/dist/collection/components/tab-button/tab-button.js +2 -2
  181. package/dist/collection/components/tabs/tabs.js +1 -1
  182. package/dist/collection/components/text/text.js +2 -2
  183. package/dist/collection/components/textarea/textarea.js +2 -2
  184. package/dist/collection/components/thumbnail/thumbnail.js +1 -1
  185. package/dist/collection/components/title/title.js +2 -2
  186. package/dist/collection/components/toast/toast.js +2 -2
  187. package/dist/collection/components/toggle/toggle.js +3 -3
  188. package/dist/collection/components/toolbar/toolbar.js +2 -2
  189. package/dist/collection/utils/input-shims/hacks/scroll-assist.js +0 -18
  190. package/dist/docs.json +907 -1
  191. package/dist/esm/{app-globals-Ts_E1ch0.js → app-globals-C74-VMUb.js} +1 -1
  192. package/dist/esm/{button-active-BQqkZ_sm.js → button-active-DRCPpzqj.js} +1 -1
  193. package/dist/esm/{index-EP3pwcdb.js → index-3GtB1kQI.js} +4 -1
  194. package/dist/esm/{index-B83thFnh.js → index-lgeUQ6qY.js} +3 -3
  195. package/dist/esm/{index-RyWq7qIc.js → index-lp0kQfoC.js} +1 -1
  196. package/dist/esm/index.js +7 -7
  197. package/dist/esm/{input-shims-BbXgvAcA.js → input-shims-qlIPzMSm.js} +0 -18
  198. package/dist/esm/ion-accordion_2.entry.js +2 -2
  199. package/dist/esm/ion-action-sheet.entry.js +4 -4
  200. package/dist/esm/ion-alert.entry.js +4 -4
  201. package/dist/esm/ion-app_8.entry.js +10 -10
  202. package/dist/esm/ion-avatar_3.entry.js +3 -3
  203. package/dist/esm/ion-back-button.entry.js +2 -2
  204. package/dist/esm/ion-backdrop.entry.js +2 -2
  205. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  206. package/dist/esm/ion-button_2.entry.js +2 -2
  207. package/dist/esm/ion-card_5.entry.js +2 -2
  208. package/dist/esm/ion-checkbox.entry.js +2 -2
  209. package/dist/esm/ion-chip.entry.js +2 -2
  210. package/dist/esm/ion-col_3.entry.js +3 -3
  211. package/dist/esm/ion-datetime-button.entry.js +2 -2
  212. package/dist/esm/ion-datetime_3.entry.js +7 -7
  213. package/dist/esm/ion-fab_3.entry.js +2 -2
  214. package/dist/esm/ion-img.entry.js +2 -2
  215. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  216. package/dist/esm/ion-input-otp.entry.js +572 -0
  217. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  218. package/dist/esm/ion-input.entry.js +12 -4
  219. package/dist/esm/ion-item-option_3.entry.js +6 -6
  220. package/dist/esm/ion-item_8.entry.js +14 -14
  221. package/dist/esm/ion-loading.entry.js +5 -5
  222. package/dist/esm/ion-menu_3.entry.js +10 -10
  223. package/dist/esm/ion-modal.entry.js +8 -8
  224. package/dist/esm/ion-nav_2.entry.js +5 -5
  225. package/dist/esm/ion-picker-column-option.entry.js +4 -4
  226. package/dist/esm/ion-picker-column.entry.js +2 -2
  227. package/dist/esm/ion-picker.entry.js +1 -1
  228. package/dist/esm/ion-popover.entry.js +6 -6
  229. package/dist/esm/ion-progress-bar.entry.js +3 -3
  230. package/dist/esm/ion-radio_2.entry.js +6 -6
  231. package/dist/esm/ion-range.entry.js +5 -5
  232. package/dist/esm/ion-refresher_2.entry.js +4 -4
  233. package/dist/esm/ion-reorder_2.entry.js +4 -4
  234. package/dist/esm/ion-ripple-effect.entry.js +3 -3
  235. package/dist/esm/ion-route_4.entry.js +4 -4
  236. package/dist/esm/ion-searchbar.entry.js +6 -6
  237. package/dist/esm/ion-segment-content.entry.js +2 -2
  238. package/dist/esm/ion-segment-view.entry.js +3 -3
  239. package/dist/esm/ion-segment_2.entry.js +6 -6
  240. package/dist/esm/ion-select-modal.entry.js +4 -4
  241. package/dist/esm/ion-select_3.entry.js +7 -7
  242. package/dist/esm/ion-spinner.entry.js +3 -3
  243. package/dist/esm/ion-split-pane.entry.js +4 -4
  244. package/dist/esm/ion-tab-bar_2.entry.js +6 -6
  245. package/dist/esm/ion-tab_2.entry.js +4 -4
  246. package/dist/esm/ion-text.entry.js +4 -4
  247. package/dist/esm/ion-textarea.entry.js +4 -4
  248. package/dist/esm/ion-toast.entry.js +5 -5
  249. package/dist/esm/ion-toggle.entry.js +5 -5
  250. package/dist/esm/{ionic-global-DapnXdYs.js → ionic-global-Dw-MNnQB.js} +1 -1
  251. package/dist/esm/ionic.js +5 -5
  252. package/dist/esm/{ios.transition-DN6Dy4K4.js → ios.transition-Doo_7Vid.js} +2 -2
  253. package/dist/esm/loader.js +5 -5
  254. package/dist/esm/{md.transition-DR8zuFnL.js → md.transition-BbcCfRk9.js} +2 -2
  255. package/dist/esm/{overlays-Blhb_0oI.js → overlays-Pn0MyOv4.js} +1 -1
  256. package/dist/esm/{status-tap-CZEjiztV.js → status-tap-Cn5uETrs.js} +1 -1
  257. package/dist/html.html-data.json +160 -0
  258. package/dist/ionic/index.esm.js +1 -1
  259. package/dist/ionic/ionic.esm.js +1 -1
  260. package/dist/ionic/{p-d9c08f93.entry.js → p-05427be9.entry.js} +1 -1
  261. package/dist/ionic/{p-9a0bde6e.entry.js → p-0bc3d6d0.entry.js} +1 -1
  262. package/dist/ionic/{p-38921e2f.entry.js → p-0bcd3299.entry.js} +1 -1
  263. package/dist/ionic/{p-030daf32.entry.js → p-14d26301.entry.js} +1 -1
  264. package/dist/ionic/p-178084cb.entry.js +4 -0
  265. package/dist/ionic/{p-3edb2346.entry.js → p-1da92348.entry.js} +1 -1
  266. package/dist/ionic/{p-12b44c66.entry.js → p-1e9ea564.entry.js} +1 -1
  267. package/dist/ionic/p-1fe35f29.entry.js +4 -0
  268. package/dist/ionic/{p-f0c5ea4c.entry.js → p-2438054c.entry.js} +1 -1
  269. package/dist/ionic/{p-b2b0f539.entry.js → p-250c972f.entry.js} +1 -1
  270. package/dist/ionic/{p-306eab7a.entry.js → p-2517fcdf.entry.js} +1 -1
  271. package/dist/ionic/{p-61f52724.entry.js → p-29186993.entry.js} +1 -1
  272. package/dist/ionic/{p-89e3b3c6.entry.js → p-2c6931ed.entry.js} +1 -1
  273. package/dist/ionic/{p-112af08b.entry.js → p-2e42fa68.entry.js} +1 -1
  274. package/dist/ionic/{p-EP3pwcdb.js → p-3GtB1kQI.js} +2 -2
  275. package/dist/ionic/{p-e2e4b1f1.entry.js → p-3ca63859.entry.js} +1 -1
  276. package/dist/ionic/{p-bc9feb4b.entry.js → p-3fa87259.entry.js} +1 -1
  277. package/dist/ionic/{p-08232f2d.entry.js → p-43f012a4.entry.js} +1 -1
  278. package/dist/ionic/{p-ff362ebc.entry.js → p-5756b724.entry.js} +1 -1
  279. package/dist/ionic/{p-4a5cf7ac.entry.js → p-592db4a8.entry.js} +1 -1
  280. package/dist/ionic/{p-a9997b1b.entry.js → p-691fa8c7.entry.js} +1 -1
  281. package/dist/ionic/{p-38598652.entry.js → p-6bd192d8.entry.js} +1 -1
  282. package/dist/ionic/{p-d887000e.entry.js → p-7a6c96ca.entry.js} +1 -1
  283. package/dist/ionic/{p-df87cf2d.entry.js → p-832b6c90.entry.js} +1 -1
  284. package/dist/ionic/p-8c496d65.entry.js +4 -0
  285. package/dist/ionic/{p-46c15fe2.entry.js → p-8d7afec5.entry.js} +1 -1
  286. package/dist/ionic/{p-93996b12.entry.js → p-920540c6.entry.js} +1 -1
  287. package/dist/ionic/{p-e471e1e5.entry.js → p-9262223a.entry.js} +1 -1
  288. package/dist/ionic/{p-5fb997f8.entry.js → p-96d912f5.entry.js} +1 -1
  289. package/dist/ionic/{p-49122d48.entry.js → p-98f759e4.entry.js} +1 -1
  290. package/dist/ionic/{p-c19bc276.entry.js → p-99cc16fb.entry.js} +1 -1
  291. package/dist/ionic/{p-46a1ce99.entry.js → p-9c7d7711.entry.js} +1 -1
  292. package/dist/ionic/p-B7Khsp7D.js +4 -0
  293. package/dist/ionic/{p-DCstKNei.js → p-BBMlbfDQ.js} +1 -1
  294. package/dist/ionic/{p-LpklIrOy.js → p-BC2IYr2c.js} +1 -1
  295. package/dist/ionic/{p-Uz6zKimy.js → p-CGyDG2ar.js} +1 -1
  296. package/dist/ionic/p-CO_y91jJ.js +4 -0
  297. package/dist/ionic/{p-DPhSdjFK.js → p-CjUUcfjC.js} +1 -1
  298. package/dist/ionic/{p-Dnc554yu.js → p-CuVupNFU.js} +1 -1
  299. package/dist/ionic/{p-BSMFLyVh.js → p-DYqTiW2v.js} +1 -1
  300. package/dist/ionic/p-DjV8cNim.js +4 -0
  301. package/dist/ionic/{p-484073b5.entry.js → p-a20a15cc.entry.js} +1 -1
  302. package/dist/ionic/{p-5b8abc2f.entry.js → p-a22fe54d.entry.js} +1 -1
  303. package/dist/ionic/p-a6db87e1.entry.js +4 -0
  304. package/dist/ionic/{p-38dcbd40.entry.js → p-b18a4590.entry.js} +1 -1
  305. package/dist/ionic/{p-aeb7297a.entry.js → p-bc84650a.entry.js} +1 -1
  306. package/dist/ionic/p-bf6b00ab.entry.js +4 -0
  307. package/dist/ionic/{p-a26637b1.entry.js → p-c1b0e3b6.entry.js} +1 -1
  308. package/dist/ionic/{p-4119d144.entry.js → p-cde545fa.entry.js} +1 -1
  309. package/dist/ionic/{p-ce26cd7d.entry.js → p-d4742f5c.entry.js} +1 -1
  310. package/dist/ionic/{p-e426331f.entry.js → p-da105dce.entry.js} +1 -1
  311. package/dist/ionic/{p-a4bcf305.entry.js → p-e2d9c488.entry.js} +1 -1
  312. package/dist/ionic/{p-8dda7cd4.entry.js → p-e5495b3b.entry.js} +1 -1
  313. package/dist/ionic/{p-1a19090e.entry.js → p-e83ead65.entry.js} +1 -1
  314. package/dist/ionic/{p-a178af33.entry.js → p-ed36aee8.entry.js} +1 -1
  315. package/dist/ionic/{p-e5e82fa5.entry.js → p-ee504ce4.entry.js} +1 -1
  316. package/dist/ionic/{p-ade7bda6.entry.js → p-eec040ff.entry.js} +1 -1
  317. package/dist/ionic/{p-0434efbb.entry.js → p-f331dda5.entry.js} +1 -1
  318. package/dist/ionic/{p-d77d0b41.entry.js → p-f35cb090.entry.js} +1 -1
  319. package/dist/ionic/{p-99c93730.entry.js → p-fb714eec.entry.js} +1 -1
  320. package/dist/ionic/{p-c3abde95.entry.js → p-fd156864.entry.js} +1 -1
  321. package/dist/ionic/{p-0c2a069d.entry.js → p-ff88b250.entry.js} +1 -1
  322. package/dist/ionic/{p-CgRZM5_E.js → p-wsLGfiE0.js} +1 -1
  323. package/dist/types/components/input-otp/input-otp-interface.d.ts +21 -0
  324. package/dist/types/components/input-otp/input-otp.d.ts +270 -0
  325. package/dist/types/components.d.ts +167 -0
  326. package/dist/types/interface.d.ts +1 -0
  327. package/hydrate/index.js +701 -101
  328. package/hydrate/index.mjs +701 -101
  329. package/package.json +1 -1
  330. package/dist/ionic/p-07a47eb6.entry.js +0 -4
  331. package/dist/ionic/p-46f82b82.entry.js +0 -4
  332. package/dist/ionic/p-5459e444.entry.js +0 -4
  333. package/dist/ionic/p-83fdd9f6.entry.js +0 -4
  334. package/dist/ionic/p-CqNf-A5G.js +0 -4
  335. package/dist/ionic/p-DWFxQD6t.js +0 -4
  336. package/dist/ionic/p-EglNvYQn.js +0 -4
package/hydrate/index.mjs CHANGED
@@ -2872,6 +2872,9 @@ var setContentReference = (elm) => {
2872
2872
  contentRefElm["s-cn"] = true;
2873
2873
  insertBefore(elm, contentRefElm, elm.firstChild);
2874
2874
  };
2875
+
2876
+ // src/runtime/fragment.ts
2877
+ var Fragment = (_, children) => children;
2875
2878
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2876
2879
  if (listeners && win$2.document) {
2877
2880
  listeners.map(([flags, name, method]) => {
@@ -16409,7 +16412,7 @@ class Input {
16409
16412
  this.ionChange = createEvent(this, "ionChange", 7);
16410
16413
  this.ionBlur = createEvent(this, "ionBlur", 7);
16411
16414
  this.ionFocus = createEvent(this, "ionFocus", 7);
16412
- this.inputId = `ion-input-${inputIds++}`;
16415
+ this.inputId = `ion-input-${inputIds$1++}`;
16413
16416
  this.helperTextId = `${this.inputId}-helper-text`;
16414
16417
  this.errorTextId = `${this.inputId}-error-text`;
16415
16418
  this.inheritedAttributes = {};
@@ -16865,14 +16868,22 @@ class Input {
16865
16868
  'in-item': inItem,
16866
16869
  'in-item-color': hostContext('ion-item.ion-color', this.el),
16867
16870
  'input-disabled': disabled,
16868
- }) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', 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.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '78b3470646ec4fc237d33229a132164b089538a2', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
16871
+ }) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', 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.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '367d1a1c2eb69d4887fe29ab96ead3230d7dd513', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
16869
16872
  /**
16870
16873
  * This prevents mobile browsers from
16871
16874
  * blurring the input when the clear
16872
16875
  * button is activated.
16873
16876
  */
16874
16877
  ev.preventDefault();
16875
- }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '686ca853cf0e074ab32d01c077f066b5b4ab2dad', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '354e0bde7c7066a3ce31f852923e334859fedb78', name: "end" })), shouldRenderHighlight && hAsync("div", { key: '5fa78de0aee8883506ccdbdf1c834a3fa8503c87', class: "input-highlight" })), this.renderBottomContent()));
16878
+ }, onFocusin: (ev) => {
16879
+ /**
16880
+ * Prevent the focusin event from bubbling otherwise it will cause the focusin
16881
+ * event listener in scroll assist to fire. When this fires, focus will be moved
16882
+ * back to the input even if the clear button was never tapped. This poses issues
16883
+ * for screen readers as it means users would be unable to swipe past the clear button.
16884
+ */
16885
+ ev.stopPropagation();
16886
+ }, onClick: this.clearTextInput }, hAsync("ion-icon", { key: '69afc5c7ea6bfa1bff301635281b536e84277965', "aria-hidden": "true", icon: clearIconData }))), hAsync("slot", { key: '6f770a0ab703b4d19e936a0e1955274bc9f3e941', name: "end" })), shouldRenderHighlight && hAsync("div", { key: 'a048e240432c4d5e11b2c92fa99a0cff07f9a778', class: "input-highlight" })), this.renderBottomContent()));
16876
16887
  }
16877
16888
  get el() { return getElement(this); }
16878
16889
  static get watchers() { return {
@@ -16932,6 +16943,594 @@ class Input {
16932
16943
  "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
16933
16944
  }; }
16934
16945
  }
16946
+ let inputIds$1 = 0;
16947
+
16948
+ const inputOtpIosCss = ".sc-ion-input-otp-ios-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-ios{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-ios{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-ios{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-ios{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-ios-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:8px}.input-otp-size-medium.sc-ion-input-otp-ios-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-ios-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios,.input-otp-size-large.sc-ion-input-otp-ios-h .input-otp-group.sc-ion-input-otp-ios{gap:12px}.input-otp-shape-round.sc-ion-input-otp-ios-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-ios-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-ios-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-ios-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-disabled.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-ios-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-ios-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-ios-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-ios-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-ios-h,.ion-touched.ion-invalid.sc-ion-input-otp-ios-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-ios-h{--border-width:0.55px}.has-focus.sc-ion-input-otp-ios-h .native-input.sc-ion-input-otp-ios:focus{--border-width:1px}.input-otp-fill-outline.sc-ion-input-otp-ios-h{--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}";
16949
+
16950
+ const inputOtpMdCss = ".sc-ion-input-otp-md-h{--margin-top:0;--margin-end:0;--margin-bottom:0;--margin-start:0;--padding-top:16px;--padding-end:0;--padding-bottom:16px;--padding-start:0;--color:initial;--min-width:40px;--separator-width:8px;--separator-height:var(--separator-width);--separator-border-radius:999px;--separator-color:var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));--highlight-color-focused:var(--ion-color-primary, #0054e9);--highlight-color-valid:var(--ion-color-success, #2dd55b);--highlight-color-invalid:var(--ion-color-danger, #c5000f);--highlight-color:var(--highlight-color-focused);display:block;position:relative;font-size:0.875rem}.input-otp-group.sc-ion-input-otp-md{-webkit-margin-start:var(--margin-start);margin-inline-start:var(--margin-start);-webkit-margin-end:var(--margin-end);margin-inline-end:var(--margin-end);margin-top:var(--margin-top);margin-bottom:var(--margin-bottom);-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.native-wrapper.sc-ion-input-otp-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--min-width)}.native-input.sc-ion-input-otp-md{border-radius:var(--border-radius);width:var(--width);min-width:inherit;height:var(--height);border-width:var(--border-width);border-style:solid;border-color:var(--border-color);background:var(--background);color:var(--color);font-size:inherit;text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{caret-color:var(--highlight-color)}.input-otp-description.sc-ion-input-otp-md{color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-separator.sc-ion-input-otp-md{border-radius:var(--separator-border-radius);-ms-flex-negative:0;flex-shrink:0;width:var(--separator-width);height:var(--separator-height);background:var(--separator-color)}.input-otp-size-small.sc-ion-input-otp-md-h{--width:40px;--height:40px}.input-otp-size-small.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:8px}.input-otp-size-medium.sc-ion-input-otp-md-h{--width:48px;--height:48px}.input-otp-size-large.sc-ion-input-otp-md-h{--width:56px;--height:56px}.input-otp-size-medium.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md,.input-otp-size-large.sc-ion-input-otp-md-h .input-otp-group.sc-ion-input-otp-md{gap:12px}.input-otp-shape-round.sc-ion-input-otp-md-h{--border-radius:16px}.input-otp-shape-soft.sc-ion-input-otp-md-h{--border-radius:8px}.input-otp-shape-rectangular.sc-ion-input-otp-md-h{--border-radius:0}.input-otp-fill-outline.sc-ion-input-otp-md-h{--background:none}.input-otp-fill-solid.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-disabled.sc-ion-input-otp-md-h{--color:var(--ion-color-step-350, var(--ion-text-color-step-650, #a6a6a6))}.input-otp-fill-outline.input-otp-disabled.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-disabled.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:disabled{cursor:not-allowed}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-color:var(--highlight-color);outline:none}.input-otp-fill-outline.input-otp-readonly.sc-ion-input-otp-md-h{--background:var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2))}.input-otp-fill-solid.input-otp-disabled.sc-ion-input-otp-md-h,.input-otp-fill-solid.input-otp-readonly.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));--background:var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-otp-md-h{--highlight-color:var(--highlight-color-valid)}.has-focus.ion-valid.sc-ion-input-otp-md-h,.ion-touched.ion-invalid.sc-ion-input-otp-md-h{--border-color:var(--highlight-color)}.ion-color.sc-ion-input-otp-md-h{--highlight-color-focused:var(--ion-color-base)}.input-otp-fill-outline.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{border-color:rgba(var(--ion-color-base-rgb), 0.6)}.input-otp-fill-outline.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-invalid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-danger, #c5000f)}.input-otp-fill-outline.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-outline.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md,.input-otp-fill-solid.ion-color.has-focus.ion-valid.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:var(--ion-color-success, #2dd55b)}.input-otp-fill-outline.input-otp-disabled.ion-color.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md{border-color:rgba(var(--ion-color-base-rgb), 0.3)}.sc-ion-input-otp-md-h{--border-width:1px}.has-focus.sc-ion-input-otp-md-h .native-input.sc-ion-input-otp-md:focus{--border-width:2px}.input-otp-fill-outline.sc-ion-input-otp-md-h{--border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}";
16951
+
16952
+ class InputOTP {
16953
+ constructor(hostRef) {
16954
+ registerInstance(this, hostRef);
16955
+ this.ionInput = createEvent(this, "ionInput", 7);
16956
+ this.ionChange = createEvent(this, "ionChange", 7);
16957
+ this.ionComplete = createEvent(this, "ionComplete", 7);
16958
+ this.ionBlur = createEvent(this, "ionBlur", 7);
16959
+ this.ionFocus = createEvent(this, "ionFocus", 7);
16960
+ this.inputRefs = [];
16961
+ this.inputId = `ion-input-otp-${inputIds++}`;
16962
+ this.parsedSeparators = [];
16963
+ /**
16964
+ * Tracks whether the user is navigating through input boxes using keyboard navigation
16965
+ * (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
16966
+ * focus behavior when an input box is focused.
16967
+ */
16968
+ this.isKeyboardNavigation = false;
16969
+ this.inputValues = [];
16970
+ this.hasFocus = false;
16971
+ /**
16972
+ * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16973
+ * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
16974
+ */
16975
+ this.autocapitalize = 'off';
16976
+ /**
16977
+ * If `true`, the user cannot interact with the input.
16978
+ */
16979
+ this.disabled = false;
16980
+ /**
16981
+ * The fill for the input boxes. If `"solid"` the input boxes will have a background. If
16982
+ * `"outline"` the input boxes will be transparent with a border.
16983
+ */
16984
+ this.fill = 'outline';
16985
+ /**
16986
+ * The number of input boxes to display.
16987
+ */
16988
+ this.length = 4;
16989
+ /**
16990
+ * If `true`, the user cannot modify the value.
16991
+ */
16992
+ this.readonly = false;
16993
+ /**
16994
+ * The size of the input boxes.
16995
+ */
16996
+ this.size = 'medium';
16997
+ /**
16998
+ * The shape of the input boxes.
16999
+ * If "round" they will have an increased border radius.
17000
+ * If "rectangular" they will have no border radius.
17001
+ * If "soft" they will have a soft border radius.
17002
+ */
17003
+ this.shape = 'round';
17004
+ /**
17005
+ * The type of input allowed in the input boxes.
17006
+ */
17007
+ this.type = 'number';
17008
+ /**
17009
+ * The value of the input group.
17010
+ */
17011
+ this.value = '';
17012
+ this.onInput = (index) => (event) => {
17013
+ const { validKeys } = this;
17014
+ const value = event.target.value;
17015
+ // Only allow input if it's a single character and matches the pattern
17016
+ if (value.length > 1 || (value.length > 0 && !validKeys.test(value))) {
17017
+ // Reset the input value if not valid
17018
+ this.inputRefs[index].value = '';
17019
+ this.inputValues[index] = '';
17020
+ return;
17021
+ }
17022
+ // Find the first empty box before or at the current index
17023
+ let targetIndex = index;
17024
+ for (let i = 0; i < index; i++) {
17025
+ if (!this.inputValues[i] || this.inputValues[i] === '') {
17026
+ targetIndex = i;
17027
+ break;
17028
+ }
17029
+ }
17030
+ // Set the value at the target index
17031
+ this.inputValues[targetIndex] = value;
17032
+ // If the value was entered in a later box, clear the current box
17033
+ if (targetIndex !== index) {
17034
+ this.inputRefs[index].value = '';
17035
+ }
17036
+ if (value.length > 0) {
17037
+ this.focusNext(targetIndex);
17038
+ }
17039
+ this.updateValue(event);
17040
+ };
17041
+ /**
17042
+ * Handles keyboard navigation and input for the OTP component.
17043
+ *
17044
+ * Navigation:
17045
+ * - Backspace: Clears current input and moves to previous box if empty
17046
+ * - Arrow Left/Right: Moves focus between input boxes
17047
+ * - Tab: Allows normal tab navigation between components
17048
+ *
17049
+ * Input Behavior:
17050
+ * - Validates input against the allowed pattern
17051
+ * - When entering a key in a filled box:
17052
+ * - Shifts existing values right if there is room
17053
+ * - Updates the value of the input group
17054
+ * - Prevents default behavior to avoid automatic focus shift
17055
+ */
17056
+ this.onKeyDown = (index) => (event) => {
17057
+ const { length } = this;
17058
+ const rtl = isRTL$1(this.el);
17059
+ const input = event.target;
17060
+ const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
17061
+ const isTextSelection = input.selectionStart !== input.selectionEnd;
17062
+ // Return if the key is the paste shortcut or the input value
17063
+ // text is selected and let the onPaste / onInput handler manage it
17064
+ if (isPasteShortcut || isTextSelection) {
17065
+ return;
17066
+ }
17067
+ if (event.key === 'Backspace') {
17068
+ if (this.inputValues[index]) {
17069
+ // Remove the value at the current index
17070
+ this.inputValues[index] = '';
17071
+ // Shift all values to the right of the current index left by one
17072
+ for (let i = index; i < length - 1; i++) {
17073
+ this.inputValues[i] = this.inputValues[i + 1];
17074
+ }
17075
+ // Clear the last box
17076
+ this.inputValues[length - 1] = '';
17077
+ // Update all inputRefs to match inputValues
17078
+ for (let i = 0; i < length; i++) {
17079
+ this.inputRefs[i].value = this.inputValues[i] || '';
17080
+ }
17081
+ this.updateValue(event);
17082
+ event.preventDefault();
17083
+ }
17084
+ else if (!this.inputValues[index] && index > 0) {
17085
+ // If current input is empty, move to previous input
17086
+ this.focusPrevious(index);
17087
+ }
17088
+ }
17089
+ else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
17090
+ this.isKeyboardNavigation = true;
17091
+ event.preventDefault();
17092
+ const isLeft = event.key === 'ArrowLeft';
17093
+ const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
17094
+ // Only allow moving to the next input if the current has a value
17095
+ if (shouldMoveNext) {
17096
+ if (this.inputValues[index] && index < length - 1) {
17097
+ this.focusNext(index);
17098
+ }
17099
+ }
17100
+ else {
17101
+ this.focusPrevious(index);
17102
+ }
17103
+ }
17104
+ else if (event.key === 'Tab') {
17105
+ this.isKeyboardNavigation = true;
17106
+ // Let all tab events proceed normally
17107
+ return;
17108
+ }
17109
+ // If the input box contains a value and the key being
17110
+ // entered is a valid key for the input box update the value
17111
+ // and shift the values to the right if there is room.
17112
+ if (this.inputValues[index] && this.validKeys.test(event.key)) {
17113
+ if (!this.inputValues[length - 1]) {
17114
+ for (let i = length - 1; i > index; i--) {
17115
+ this.inputValues[i] = this.inputValues[i - 1];
17116
+ this.inputRefs[i].value = this.inputValues[i] || '';
17117
+ }
17118
+ }
17119
+ this.inputValues[index] = event.key;
17120
+ this.inputRefs[index].value = event.key;
17121
+ this.updateValue(event);
17122
+ // Prevent default to avoid the browser from
17123
+ // automatically moving the focus to the next input
17124
+ event.preventDefault();
17125
+ }
17126
+ };
17127
+ /**
17128
+ * Handles pasting text into the input OTP component.
17129
+ * This function prevents the default paste behavior and
17130
+ * validates the pasted text against the allowed pattern.
17131
+ * It then updates the value of the input group and focuses
17132
+ * the next empty input after pasting.
17133
+ */
17134
+ this.onPaste = (event) => {
17135
+ var _a, _b, _c;
17136
+ const { inputRefs, length, validKeys } = this;
17137
+ event.preventDefault();
17138
+ const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
17139
+ // If there is no pasted text, still emit the input change event
17140
+ // because this is how the native input element behaves
17141
+ // but return early because there is nothing to paste.
17142
+ if (!pastedText) {
17143
+ this.emitIonInput(event);
17144
+ return;
17145
+ }
17146
+ const validChars = pastedText
17147
+ .split('')
17148
+ .filter((char) => validKeys.test(char))
17149
+ .slice(0, length);
17150
+ // Find the first empty input
17151
+ const startIndex = this.getFirstEmptyIndex();
17152
+ // If all boxes are filled, start at 0
17153
+ const pasteStart = startIndex === -1 ? 0 : startIndex;
17154
+ validChars.forEach((char, index) => {
17155
+ const targetIndex = pasteStart + index;
17156
+ if (targetIndex < length) {
17157
+ this.inputRefs[targetIndex].value = char;
17158
+ this.inputValues[targetIndex] = char;
17159
+ }
17160
+ });
17161
+ this.updateValue(event);
17162
+ // Focus the next empty input after pasting
17163
+ // If all boxes are filled, focus the last input
17164
+ const nextEmptyIndex = pasteStart + validChars.length;
17165
+ if (nextEmptyIndex < length) {
17166
+ (_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17167
+ }
17168
+ else {
17169
+ (_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
17170
+ }
17171
+ };
17172
+ /**
17173
+ * Handles the focus behavior for the input OTP component.
17174
+ *
17175
+ * Focus behavior:
17176
+ * 1. Keyboard navigation: Allow normal focus movement
17177
+ * 2. Mouse click:
17178
+ * - If clicked box has value: Focus that box
17179
+ * - If clicked box is empty: Focus first empty box
17180
+ *
17181
+ * Emits the `ionFocus` event when the input group gains focus.
17182
+ */
17183
+ this.onFocus = (index) => (event) => {
17184
+ var _a;
17185
+ const { inputRefs } = this;
17186
+ // Only emit ionFocus and set the focusedValue when the
17187
+ // component first gains focus
17188
+ if (!this.hasFocus) {
17189
+ this.ionFocus.emit(event);
17190
+ this.focusedValue = this.value;
17191
+ }
17192
+ this.hasFocus = true;
17193
+ let finalIndex = index;
17194
+ if (!this.isKeyboardNavigation) {
17195
+ // If the clicked box has a value, focus it
17196
+ // Otherwise focus the first empty box
17197
+ const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
17198
+ finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
17199
+ // Focus the target box
17200
+ (_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17201
+ }
17202
+ // Update tabIndexes to match the focused box
17203
+ inputRefs.forEach((input, i) => {
17204
+ input.tabIndex = i === finalIndex ? 0 : -1;
17205
+ });
17206
+ // Reset the keyboard navigation flag
17207
+ this.isKeyboardNavigation = false;
17208
+ };
17209
+ /**
17210
+ * Handles the blur behavior for the input OTP component.
17211
+ * Emits the `ionBlur` event when the input group loses focus.
17212
+ */
17213
+ this.onBlur = (event) => {
17214
+ const { inputRefs } = this;
17215
+ const relatedTarget = event.relatedTarget;
17216
+ // Do not emit blur if we're moving to another input box in the same component
17217
+ const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
17218
+ if (!isInternalFocus) {
17219
+ this.hasFocus = false;
17220
+ // Reset tabIndexes when focus leaves the component
17221
+ this.updateTabIndexes();
17222
+ // Always emit ionBlur when focus leaves the component
17223
+ this.ionBlur.emit(event);
17224
+ // Only emit ionChange if the value has actually changed
17225
+ if (this.focusedValue !== this.value) {
17226
+ this.emitIonChange(event);
17227
+ }
17228
+ }
17229
+ };
17230
+ }
17231
+ valueChanged() {
17232
+ this.initializeValues();
17233
+ }
17234
+ /**
17235
+ * Processes the separators prop into an array of numbers.
17236
+ *
17237
+ * If the separators prop is not provided, returns an empty array.
17238
+ * If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
17239
+ * If the separators prop is an array, returns it as is.
17240
+ * If the separators prop is a string, splits it by commas and parses each part as a number.
17241
+ *
17242
+ * If the separators are greater than the input length, it will warn and ignore the separators.
17243
+ */
17244
+ processSeparators() {
17245
+ const { separators, length } = this;
17246
+ if (separators === undefined) {
17247
+ this.parsedSeparators = [];
17248
+ return;
17249
+ }
17250
+ if (typeof separators === 'string' && separators !== 'all') {
17251
+ const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
17252
+ if (!isValidFormat) {
17253
+ printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
17254
+ this.parsedSeparators = [];
17255
+ return;
17256
+ }
17257
+ }
17258
+ let separatorValues;
17259
+ if (separators === 'all') {
17260
+ separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
17261
+ }
17262
+ else if (Array.isArray(separators)) {
17263
+ separatorValues = separators;
17264
+ }
17265
+ else {
17266
+ separatorValues = separators
17267
+ .split(',')
17268
+ .map((pos) => parseInt(pos, 10))
17269
+ .filter((pos) => !isNaN(pos));
17270
+ }
17271
+ // Check for duplicate separator positions
17272
+ const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
17273
+ if (duplicates.length > 0) {
17274
+ printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
17275
+ }
17276
+ const invalidSeparators = separatorValues.filter((pos) => pos > length);
17277
+ if (invalidSeparators.length > 0) {
17278
+ printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
17279
+ }
17280
+ this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
17281
+ }
17282
+ componentWillLoad() {
17283
+ this.processSeparators();
17284
+ this.initializeValues();
17285
+ }
17286
+ /**
17287
+ * Initializes the input values array based on the current value prop.
17288
+ * This splits the value into individual characters and validates them against
17289
+ * the allowed pattern. The values are then used as the values in the native
17290
+ * input boxes and the value of the input group is updated.
17291
+ */
17292
+ initializeValues() {
17293
+ if (this.value != null && String(this.value).length > 0) {
17294
+ const chars = String(this.value).split('').slice(0, this.length);
17295
+ chars.forEach((char, index) => {
17296
+ if (this.validKeys.test(char)) {
17297
+ this.inputValues[index] = char;
17298
+ }
17299
+ });
17300
+ // Update the value without emitting events
17301
+ this.value = this.inputValues.join('');
17302
+ }
17303
+ }
17304
+ /**
17305
+ * Resets the input values and focus state.
17306
+ */
17307
+ async reset() {
17308
+ this.inputValues = Array(this.length).fill('');
17309
+ this.value = '';
17310
+ this.focusedValue = null;
17311
+ this.hasFocus = false;
17312
+ this.inputRefs.forEach((input) => {
17313
+ input.blur();
17314
+ });
17315
+ this.updateTabIndexes();
17316
+ }
17317
+ /**
17318
+ * Sets focus to an input box.
17319
+ * @param index - The index of the input box to focus (0-based).
17320
+ * If provided and the input box has a value, the input box at that index will be focused.
17321
+ * Otherwise, the first empty input box or the last input if all are filled will be focused.
17322
+ */
17323
+ async setFocus(index) {
17324
+ var _a, _b;
17325
+ if (typeof index === 'number') {
17326
+ const validIndex = Math.max(0, Math.min(index, this.length - 1));
17327
+ (_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17328
+ }
17329
+ else {
17330
+ const tabbableIndex = this.getTabbableIndex();
17331
+ (_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17332
+ }
17333
+ }
17334
+ /**
17335
+ * Get the regex pattern for allowed characters.
17336
+ * If a pattern is provided, use it to create a regex pattern
17337
+ * Otherwise, use the default regex pattern based on type
17338
+ */
17339
+ get validKeys() {
17340
+ return new RegExp(`^${this.getPattern()}$`);
17341
+ }
17342
+ /**
17343
+ * Gets the string pattern to pass to the input element
17344
+ * and use in the regex for allowed characters.
17345
+ */
17346
+ getPattern() {
17347
+ const { pattern, type } = this;
17348
+ if (pattern) {
17349
+ return pattern;
17350
+ }
17351
+ return type === 'number' ? '[0-9]' : '[a-zA-Z0-9]';
17352
+ }
17353
+ /**
17354
+ * Get the default value for inputmode.
17355
+ * If inputmode is provided, use it.
17356
+ * Otherwise, use the default inputmode based on type
17357
+ */
17358
+ getInputmode() {
17359
+ const { inputmode } = this;
17360
+ if (inputmode) {
17361
+ return inputmode;
17362
+ }
17363
+ if (this.type == 'number') {
17364
+ return 'numeric';
17365
+ }
17366
+ else {
17367
+ return 'text';
17368
+ }
17369
+ }
17370
+ /**
17371
+ * Updates the value of the input group.
17372
+ * This updates the value of the input group and emits an `ionChange` event.
17373
+ * If all of the input boxes are filled, it emits an `ionComplete` event.
17374
+ */
17375
+ updateValue(event) {
17376
+ const { inputValues, length } = this;
17377
+ const newValue = inputValues.join('');
17378
+ this.value = newValue;
17379
+ this.emitIonInput(event);
17380
+ if (newValue.length === length) {
17381
+ this.ionComplete.emit({ value: newValue });
17382
+ }
17383
+ }
17384
+ /**
17385
+ * Emits an `ionChange` event.
17386
+ * This API should be called for user committed changes.
17387
+ * This API should not be used for external value changes.
17388
+ */
17389
+ emitIonChange(event) {
17390
+ const { value } = this;
17391
+ // Checks for both null and undefined values
17392
+ const newValue = value == null ? value : value.toString();
17393
+ this.ionChange.emit({ value: newValue, event });
17394
+ }
17395
+ /**
17396
+ * Emits an `ionInput` event.
17397
+ * This is used to emit the input value when the user types,
17398
+ * backspaces, or pastes.
17399
+ */
17400
+ emitIonInput(event) {
17401
+ const { value } = this;
17402
+ // Checks for both null and undefined values
17403
+ const newValue = value == null ? value : value.toString();
17404
+ this.ionInput.emit({ value: newValue, event });
17405
+ }
17406
+ /**
17407
+ * Focuses the next input box.
17408
+ */
17409
+ focusNext(currentIndex) {
17410
+ var _a;
17411
+ const { inputRefs, length } = this;
17412
+ if (currentIndex < length - 1) {
17413
+ (_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
17414
+ }
17415
+ }
17416
+ /**
17417
+ * Focuses the previous input box.
17418
+ */
17419
+ focusPrevious(currentIndex) {
17420
+ var _a;
17421
+ const { inputRefs } = this;
17422
+ if (currentIndex > 0) {
17423
+ (_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
17424
+ }
17425
+ }
17426
+ /**
17427
+ * Determines if a separator should be shown for a given index by
17428
+ * checking if the index is included in the parsed separators array.
17429
+ */
17430
+ showSeparator(index) {
17431
+ const { length } = this;
17432
+ return this.parsedSeparators.includes(index + 1) && index < length - 1;
17433
+ }
17434
+ /**
17435
+ * Updates the tabIndexes for the input boxes.
17436
+ * This is used to ensure that the correct input is
17437
+ * focused when the user navigates using the tab key.
17438
+ */
17439
+ updateTabIndexes() {
17440
+ const { inputRefs, inputValues, length } = this;
17441
+ // Find first empty index after any filled boxes
17442
+ let firstEmptyIndex = -1;
17443
+ for (let i = 0; i < length; i++) {
17444
+ if (!inputValues[i] || inputValues[i] === '') {
17445
+ firstEmptyIndex = i;
17446
+ break;
17447
+ }
17448
+ }
17449
+ // Update tabIndex for all inputs
17450
+ inputRefs.forEach((input, index) => {
17451
+ // If all boxes are filled, make the last box tabbable
17452
+ // Otherwise, make the first empty box tabbable
17453
+ const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
17454
+ input.tabIndex = shouldBeTabbable ? 0 : -1;
17455
+ });
17456
+ }
17457
+ /**
17458
+ * Loops through the input values and returns the index
17459
+ * of the first empty input.
17460
+ * Returns -1 if all inputs are filled.
17461
+ */
17462
+ getFirstEmptyIndex() {
17463
+ const { inputValues, length } = this;
17464
+ for (let i = 0; i < length; i++) {
17465
+ if (!inputValues[i] || inputValues[i] === '') {
17466
+ return i;
17467
+ }
17468
+ }
17469
+ return -1;
17470
+ }
17471
+ /**
17472
+ * Returns the index of the input that should be tabbed to.
17473
+ * If all inputs are filled, returns the last input's index.
17474
+ * Otherwise, returns the index of the first empty input.
17475
+ */
17476
+ getTabbableIndex() {
17477
+ const { length } = this;
17478
+ const firstEmptyIndex = this.getFirstEmptyIndex();
17479
+ return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
17480
+ }
17481
+ render() {
17482
+ const { autocapitalize, color, disabled, fill, hasFocus, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
17483
+ const mode = getIonMode$1(this);
17484
+ const inputmode = this.getInputmode();
17485
+ const tabbableIndex = this.getTabbableIndex();
17486
+ const pattern = this.getPattern();
17487
+ return (hAsync(Host, { key: '74de5578f268fe055f85dd2edae519e744555a2c', class: createColorClasses$1(color, {
17488
+ [mode]: true,
17489
+ 'has-focus': hasFocus,
17490
+ [`input-otp-size-${size}`]: true,
17491
+ [`input-otp-shape-${shape}`]: true,
17492
+ [`input-otp-fill-${fill}`]: true,
17493
+ 'input-otp-disabled': disabled,
17494
+ 'input-otp-readonly': readonly,
17495
+ }) }, hAsync("div", { key: '0990a8817aac2d540228aeee4c6a42239f4aedaa', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, Array.from({ length }).map((_, index) => (hAsync(Fragment, null, hAsync("div", { class: "native-wrapper" }, hAsync("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, maxLength: 1, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: index === 0 ? 'one-time-code' : 'off', 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) && hAsync("div", { class: "input-otp-separator" }))))), hAsync("div", { key: 'e2c0fcfc7630d58360304d6e7b21b2e9a01971f6', class: "input-otp-description" }, hAsync("slot", { key: '9ba61fd056e67d5e1933f0b16f43e8a55de5319d' }))));
17496
+ }
17497
+ get el() { return getElement(this); }
17498
+ static get watchers() { return {
17499
+ "value": ["valueChanged"],
17500
+ "separators": ["processSeparators"],
17501
+ "length": ["processSeparators"]
17502
+ }; }
17503
+ static get style() { return {
17504
+ ios: inputOtpIosCss,
17505
+ md: inputOtpMdCss
17506
+ }; }
17507
+ static get cmpMeta() { return {
17508
+ "$flags$": 38,
17509
+ "$tagName$": "ion-input-otp",
17510
+ "$members$": {
17511
+ "autocapitalize": [1],
17512
+ "color": [513],
17513
+ "disabled": [516],
17514
+ "fill": [1],
17515
+ "inputmode": [1],
17516
+ "length": [2],
17517
+ "pattern": [1],
17518
+ "readonly": [516],
17519
+ "size": [1],
17520
+ "separators": [1],
17521
+ "shape": [1],
17522
+ "type": [1],
17523
+ "value": [1032],
17524
+ "inputValues": [32],
17525
+ "hasFocus": [32],
17526
+ "reset": [64],
17527
+ "setFocus": [64]
17528
+ },
17529
+ "$listeners$": undefined,
17530
+ "$lazyBundleId$": "-",
17531
+ "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
17532
+ }; }
17533
+ }
16935
17534
  let inputIds = 0;
16936
17535
 
16937
17536
  const iosInputPasswordToggleCss = "";
@@ -16993,16 +17592,16 @@ class InputPasswordToggle {
16993
17592
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
16994
17593
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
16995
17594
  const isPasswordVisible = type === 'text';
16996
- return (hAsync(Host, { key: '1a28e078c83e74c72d8bb8189ece93ec2e3fa3d0', class: createColorClasses$1(color, {
17595
+ return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
16997
17596
  [mode]: true,
16998
- }) }, hAsync("ion-button", { key: '039d1bab764093bb6fe4a34299b0872abda087fd', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
17597
+ }) }, hAsync("ion-button", { key: '99f86e2ee97ffa6dbc74a433df4e22a867889dd7', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
16999
17598
  /**
17000
17599
  * This prevents mobile browsers from
17001
17600
  * blurring the input when the password toggle
17002
17601
  * button is activated.
17003
17602
  */
17004
17603
  ev.preventDefault();
17005
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '26477ee97b808c3d79944bf5e33d4e05f1ae0b3f', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17604
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17006
17605
  }
17007
17606
  get el() { return getElement(this); }
17008
17607
  static get watchers() { return {
@@ -17312,11 +17911,11 @@ class ItemDivider {
17312
17911
  }
17313
17912
  render() {
17314
17913
  const mode = getIonMode$1(this);
17315
- return (hAsync(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses$1(this.color, {
17914
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
17316
17915
  [mode]: true,
17317
17916
  'item-divider-sticky': this.sticky,
17318
17917
  item: true,
17319
- }) }, hAsync("slot", { key: '6e9d9615f475392a81177bc49b4b01dbdab67925', name: "start" }), hAsync("div", { key: '12fe6b840ad1a1897cc34529e488207b2df448f7', class: "item-divider-inner" }, hAsync("div", { key: '626776a8c9887dd2df5ecf3b7861beb742b41e03', class: "item-divider-wrapper" }, hAsync("slot", { key: '90379dd99914e24ae45c9571c8d390f9b6622fd4' })), hAsync("slot", { key: '105644332c08530155b9cd8e8c6fa9e332072a63', name: "end" }))));
17918
+ }) }, hAsync("slot", { key: '39105d888e115416c3a3fe588da44b4c61f4e5fe', name: "start" }), hAsync("div", { key: '67e16f1056bd39187f3629c1bb383b7abbda829b', class: "item-divider-inner" }, hAsync("div", { key: 'b3a218fdcc7b9aeab6e0155340152d39fa0b6329', class: "item-divider-wrapper" }, hAsync("slot", { key: '69d8587533b387869d34b075d02f61396858fc90' })), hAsync("slot", { key: 'b91c654699b3b26d0012ea0c719c4a07d1fcfbaa', name: "end" }))));
17320
17919
  }
17321
17920
  get el() { return getElement(this); }
17322
17921
  static get style() { return {
@@ -17346,7 +17945,7 @@ class ItemGroup {
17346
17945
  }
17347
17946
  render() {
17348
17947
  const mode = getIonMode$1(this);
17349
- return (hAsync(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
17948
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
17350
17949
  [mode]: true,
17351
17950
  // Used internally for styling
17352
17951
  [`item-group-${mode}`]: true,
@@ -17416,12 +18015,12 @@ class ItemOption {
17416
18015
  href: this.href,
17417
18016
  target: this.target,
17418
18017
  };
17419
- return (hAsync(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses$1(this.color, {
18018
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
17420
18019
  [mode]: true,
17421
18020
  'item-option-disabled': disabled,
17422
18021
  'item-option-expandable': expandable,
17423
18022
  'ion-activatable': true,
17424
- }) }, hAsync(TagType, Object.assign({ key: 'd9f899f5425ad6b97071494485aa3ca90bc89d30' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: 'adc2cf72b4363be9b9eeb3584723e2bfc862af20', class: "button-inner" }, hAsync("slot", { key: 'e668fe8e655a74e6a35e979e0cd488506b962dbf', name: "top" }), hAsync("div", { key: '2ddcdb92b6b19c3cc549a7aee2400d1a6eeb51f1', class: "horizontal-wrapper" }, hAsync("slot", { key: '441f13df18b72e5ed6bb51b157722e065b5847d2', name: "start" }), hAsync("slot", { key: '425d815874b49e1628880160d7175ed3ca36ca39', name: "icon-only" }), hAsync("slot", { key: '27437d3fa3365b12bc030704e18481fdfb14aebb' }), hAsync("slot", { key: 'bd39330771c7f85c6df10f7f9050335ee7f14ff0', name: "end" })), hAsync("slot", { key: '440cb6dc7743d50b261d4bf61d2c24e24b89e58c', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '29632941464bbb34551cf64961187643f62bf755' }))));
18023
+ }) }, hAsync(TagType, Object.assign({ key: '5a7140eb99da5ec82fe2ea3ea134513130763399' }, attrs, { class: "button-native", part: "native", disabled: disabled }), hAsync("span", { key: '9b8577e612706b43e575c9a20f2f9d35c0d1bcb1', class: "button-inner" }, hAsync("slot", { key: '9acb82f04e4822bfaa363cc2c4d29d5c0fec0ad6', name: "top" }), hAsync("div", { key: '66f5fb4fdd0c39f205574c602c793dcf109c7a17', class: "horizontal-wrapper" }, hAsync("slot", { key: '3761a32bca7c6c41b7eb394045497cfde181a62a', name: "start" }), hAsync("slot", { key: 'a96a568955cf6962883dc6771726d3d07462da00', name: "icon-only" }), hAsync("slot", { key: 'af5dfe5eb41456b9359bafe3615b576617ed7b57' }), hAsync("slot", { key: '00426958066ab7b949ff966fabad5cf8a0b54079', name: "end" })), hAsync("slot", { key: 'ae66c8bd536a9f27865f49240980d7b4b831b229', name: "bottom" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '30df6c935ef8a3f28a6bc1f3bb162ca4f80aaf26' }))));
17425
18024
  }
17426
18025
  get el() { return getElement(this); }
17427
18026
  static get style() { return {
@@ -17470,7 +18069,7 @@ class ItemOptions {
17470
18069
  render() {
17471
18070
  const mode = getIonMode$1(this);
17472
18071
  const isEnd = isEndSide(this.side);
17473
- return (hAsync(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
18072
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
17474
18073
  [mode]: true,
17475
18074
  // Used internally for styling
17476
18075
  [`item-options-${mode}`]: true,
@@ -17934,7 +18533,7 @@ class ItemSliding {
17934
18533
  }
17935
18534
  render() {
17936
18535
  const mode = getIonMode$1(this);
17937
- return (hAsync(Host, { key: 'f8aea4bb9802b111ef358cc6c172a635637ae1f8', class: {
18536
+ return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
17938
18537
  [mode]: true,
17939
18538
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
17940
18539
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18039,13 +18638,13 @@ class Label {
18039
18638
  render() {
18040
18639
  const position = this.position;
18041
18640
  const mode = getIonMode$1(this);
18042
- return (hAsync(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses$1(this.color, {
18641
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18043
18642
  [mode]: true,
18044
18643
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18045
18644
  [`label-${position}`]: position !== undefined,
18046
18645
  [`label-no-animate`]: this.noAnimate,
18047
18646
  'label-rtl': document.dir === 'rtl',
18048
- }) }, hAsync("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
18647
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18049
18648
  }
18050
18649
  get el() { return getElement(this); }
18051
18650
  static get watchers() { return {
@@ -18101,7 +18700,7 @@ class List {
18101
18700
  render() {
18102
18701
  const mode = getIonMode$1(this);
18103
18702
  const { lines, inset } = this;
18104
- return (hAsync(Host, { key: '5ff2b0b3989cc99ce17abb8bcd7ec1847940d1ec', role: "list", class: {
18703
+ return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
18105
18704
  [mode]: true,
18106
18705
  // Used internally for styling
18107
18706
  [`list-${mode}`]: true,
@@ -18143,10 +18742,10 @@ class ListHeader {
18143
18742
  render() {
18144
18743
  const { lines } = this;
18145
18744
  const mode = getIonMode$1(this);
18146
- return (hAsync(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses$1(this.color, {
18745
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
18147
18746
  [mode]: true,
18148
18747
  [`list-header-lines-${lines}`]: lines !== undefined,
18149
- }) }, hAsync("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, hAsync("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
18748
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
18150
18749
  }
18151
18750
  static get style() { return {
18152
18751
  ios: listHeaderIosCss,
@@ -18432,9 +19031,9 @@ class Loading {
18432
19031
  * Otherwise, don't set aria-labelledby.
18433
19032
  */
18434
19033
  const ariaLabelledBy = message !== undefined ? msgId : null;
18435
- return (hAsync(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19034
+ return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
18436
19035
  zIndex: `${40000 + this.overlayIndex}`,
18437
- }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '2431eda00a2a3f510f5dfc39b7c7d47c056dfa3d', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'cf210aaf5e754e4eccdb49cf7ead4647b3f9b2d1', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'fa9375143d391656d70e181d25b952c77c2fc6ec', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '8e4a4ed994f7f62df86b03696ac95162df41f52d', class: "loading-spinner" }, hAsync("ion-spinner", { key: 'e5b323c272d365853ba92bd211e390b4fd4751d2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: 'cae35ec8c34800477bff3ebcec8010e632158233', tabindex: "0", "aria-hidden": "true" })));
19036
+ }, onIonBackdropTap: this.onBackdropTap, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'loading-translucent': this.translucent }) }), hAsync("ion-backdrop", { key: '1fd5fd8581d59eec321e534f9116f3ec0501010a', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: 'b4028045b0c8fbb9946136d85d939d55120b867c', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'b045fb0e61cc28e8163d45be18b431918dc27c80', class: "loading-wrapper ion-overlay-wrapper" }, spinner && (hAsync("div", { key: '2cf9df796f987d1251b3599d10a48ed87a1d0eb9', class: "loading-spinner" }, hAsync("ion-spinner", { key: '371cd41655402326adcb1e2fe1481009a83243b2', name: spinner, "aria-hidden": "true" }))), message !== undefined && this.renderLoadingMessage(msgId)), hAsync("div", { key: '2a5e5e66d22ee4c1cef0c93815ef023d47e7a8eb', tabindex: "0", "aria-hidden": "true" })));
18438
19037
  }
18439
19038
  get el() { return getElement(this); }
18440
19039
  static get watchers() { return {
@@ -19458,14 +20057,14 @@ class Menu {
19458
20057
  * the ionBackButton listener in the menu controller
19459
20058
  * will handle closing the menu when Escape is pressed.
19460
20059
  */
19461
- return (hAsync(Host, { key: '0a2ba4ff5600b80b54d1b5b45124779c6aa0d2f2', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20060
+ return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
19462
20061
  [mode]: true,
19463
20062
  [`menu-type-${type}`]: true,
19464
20063
  'menu-enabled': !disabled,
19465
20064
  [`menu-side-${side}`]: true,
19466
20065
  'menu-pane-visible': isPaneVisible,
19467
20066
  'split-pane-side': hostContext('ion-split-pane', el),
19468
- } }, hAsync("div", { key: '40a222bcde4b959abc9939c44e89ea0cf8967aba', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '6a7ec5583294bb314990ff4ce6f25045652c07cb' })), hAsync("ion-backdrop", { key: '95f1e87237f3cc24845d91b744f935bad6bb460d', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
20067
+ } }, hAsync("div", { key: 'c6153589d872ac7e3fdf5eedfdb858eb64ccd713', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '9994aac4b22f17db34c9b8b2aa56b8710b9df645' })), hAsync("ion-backdrop", { key: 'f09ac30cc4dd2dcb10628965e659dae5a23baf98', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
19469
20068
  }
19470
20069
  get el() { return getElement(this); }
19471
20070
  static get watchers() { return {
@@ -19573,7 +20172,7 @@ class MenuButton {
19573
20172
  type: this.type,
19574
20173
  };
19575
20174
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
19576
- return (hAsync(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20175
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
19577
20176
  [mode]: true,
19578
20177
  button: true, // ion-buttons target .button
19579
20178
  'menu-button-hidden': hidden,
@@ -19582,7 +20181,7 @@ class MenuButton {
19582
20181
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
19583
20182
  'ion-activatable': true,
19584
20183
  'ion-focusable': true,
19585
- }) }, hAsync("button", Object.assign({ key: 'a02a3374288bd1759b6e352ada8eab0d45c6422f' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'ba699f2277a4e7b27ce5e42faeefc53d8805bb43', class: "button-inner" }, hAsync("slot", { key: '829fe6cbdeb173f50d1a670389d1565baa6273e4' }, hAsync("ion-icon", { key: 'a9a9f7b8dcffc648a8429fe0adbe766869de72fd', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: '48deca9a771a249f2fc76eaa8b9741c8d66d8355', type: "unbounded" }))));
20184
+ }) }, hAsync("button", Object.assign({ key: 'ffebf7083d23501839970059ef8e411b571de197' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), hAsync("span", { key: 'cab0c1c763b3ce33ef11dba1d230f66126e59424', class: "button-inner" }, hAsync("slot", { key: 'ccfd2be8479b75b5c63e97e1ca7dfe203e9b36ee' }, hAsync("ion-icon", { key: 'ac254fe7f327b08f1ae3fcea89d5cf0e83c9a96c', part: "icon", icon: menuIcon, mode: mode, lazy: false, "aria-hidden": "true" }))), mode === 'md' && hAsync("ion-ripple-effect", { key: 'f0f17c4ca96e3eed3c1727ee00578d40af8f0115', type: "unbounded" }))));
19586
20185
  }
19587
20186
  get el() { return getElement(this); }
19588
20187
  static get style() { return {
@@ -19635,10 +20234,10 @@ class MenuToggle {
19635
20234
  render() {
19636
20235
  const mode = getIonMode$1(this);
19637
20236
  const hidden = this.autoHide && !this.visible;
19638
- return (hAsync(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20237
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
19639
20238
  [mode]: true,
19640
20239
  'menu-toggle-hidden': hidden,
19641
- } }, hAsync("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
20240
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
19642
20241
  }
19643
20242
  static get style() { return menuToggleCss; }
19644
20243
  static get cmpMeta() { return {
@@ -21970,18 +22569,18 @@ class Modal {
21970
22569
  const mode = getIonMode$1(this);
21971
22570
  const isCardModal = presentingElement !== undefined && mode === 'ios';
21972
22571
  const isHandleCycle = handleBehavior === 'cycle';
21973
- return (hAsync(Host, Object.assign({ key: '0991b2e4e32da511e59fb1463b47e4ac1b86d1ca', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
22572
+ return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
21974
22573
  zIndex: `${20000 + this.overlayIndex}`,
21975
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'ca9453ffe1021fb252ad9460676cfabb5633f00f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '9f8da446a7b0f3b26aec856e13f6d6d131a7e37b', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '9d08bf600571849c97b58f66df40b496a358d1e1',
22574
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'd72159e73daa5af7349aa9e8f695aa435eb43069', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: 'fd2d9b13676ae72473881649a397b6eacde03a03', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '908eccb1ad982dcde2dbcff0cbb18b6e60f8ba74',
21976
22575
  /*
21977
22576
  role and aria-modal must be used on the
21978
22577
  same element. They must also be set inside the
21979
22578
  shadow DOM otherwise ion-button will not be highlighted
21980
22579
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
21981
22580
  */
21982
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'f8bf0d1126e5376519101225d9965727121ee042', class: "modal-handle",
22581
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '332dc0b40363a77c7be62331d9f26def91c790e9', class: "modal-handle",
21983
22582
  // Prevents the handle from receiving keyboard focus when it does not cycle
21984
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '6d52849df98f2c6c8fbc03996a931ea6a39a512b' }))));
22583
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: 'c32698350193c450327e97049daf8b8d1fda0d0e' }))));
21985
22584
  }
21986
22585
  get el() { return getElement(this); }
21987
22586
  static get watchers() { return {
@@ -22928,7 +23527,7 @@ class Nav {
22928
23527
  }
22929
23528
  }
22930
23529
  render() {
22931
- return hAsync("slot", { key: '188d0abd6c047d235380f07aac81223b757010e8' });
23530
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
22932
23531
  }
22933
23532
  get el() { return getElement(this); }
22934
23533
  static get watchers() { return {
@@ -23001,7 +23600,7 @@ class NavLink {
23001
23600
  };
23002
23601
  }
23003
23602
  render() {
23004
- return hAsync(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
23603
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
23005
23604
  }
23006
23605
  get el() { return getElement(this); }
23007
23606
  static get cmpMeta() { return {
@@ -23032,9 +23631,9 @@ class Note {
23032
23631
  }
23033
23632
  render() {
23034
23633
  const mode = getIonMode$1(this);
23035
- return (hAsync(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses$1(this.color, {
23634
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
23036
23635
  [mode]: true,
23037
- }) }, hAsync("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
23636
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
23038
23637
  }
23039
23638
  static get style() { return {
23040
23639
  ios: noteIosCss,
@@ -23794,11 +24393,11 @@ class Picker {
23794
24393
  render() {
23795
24394
  const { htmlAttributes } = this;
23796
24395
  const mode = getIonMode$1(this);
23797
- return (hAsync(Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
24396
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
23798
24397
  zIndex: `${20000 + this.overlayIndex}`,
23799
24398
  }, class: Object.assign({ [mode]: true,
23800
24399
  // Used internally for styling
23801
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '20202ca1d7b6cd5f517a802879b39efb79033cb1', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '72fe76a1e1748593cdf38deab5100087bfa75983', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '921954cfc716f3774aab66677563754ff479a44a', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '224413950bfcf2a948e58c2554c2a37a4e6d0319', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '7e688c2d0705940ec8a9ace493b679e6a9b68860', class: "picker-columns" }, hAsync("div", { key: '0ec2db79a9ca9e2a0b324b6c4b90176a0eb33df3', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'b8344f4f342fddc3f773435515567ef8f3accbb0', class: "picker-below-highlight" }))), hAsync("div", { key: '374c7a6b31b0a00ab3913faeea0ec3d6c02274b9', tabindex: "0", "aria-hidden": "true" })));
24400
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '169d1c83ef40e7fcb134219a585298b403a70b0f', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '98518e5f5cea2dfb8dfa63d9545e9ae3a5765023', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '151755ab8eb23f9adafbfe201349398f5a69dee7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '5dcf93b2f4fe8f4fce7c7aec8f85ef45a03ef470', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: 'fd5d66708edd38adc5a4d2fad7298969398a05e3', class: "picker-columns" }, hAsync("div", { key: '1b5830fd6cef1016af7736792c514965d6cb38a8', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'c6edeca7afd69e13c9c66ba36f261974fd0f8f78', class: "picker-below-highlight" }))), hAsync("div", { key: 'e2a4b24710e30579b14b82dbfd3761b2187797b5', tabindex: "0", "aria-hidden": "true" })));
23802
24401
  }
23803
24402
  get el() { return getElement(this); }
23804
24403
  static get watchers() { return {
@@ -24785,9 +25384,9 @@ class PickerColumnCmp {
24785
25384
  render() {
24786
25385
  const col = this.col;
24787
25386
  const mode = getIonMode$1(this);
24788
- return (hAsync(Host, { key: '88a3c9397c9ac92dd814074c8ae6ecf8e3420a2c', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
25387
+ return (hAsync(Host, { key: '5f3701279923f2b67b1e9e8f948b110857fc2e7b', class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
24789
25388
  'max-width': this.col.columnWidth,
24790
- } }, col.prefix && (hAsync("div", { key: '4491a705d15337e6f45f3cf6fd21af5242474729', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'b0dd4b7a7a4c1edc4b73e7fb134ac85264072365', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: 'c16419ce6481d60fc3ba6b8d102a4edf0ede02aa', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
25389
+ } }, col.prefix && (hAsync("div", { key: '691ce6f6670e40128319ca7437a3bef8d7c8946c', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), hAsync("div", { key: 'bab1c4bcd7560b7e3d7fff5b000fffd79708b5b5', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (hAsync("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (hAsync("div", { key: '66b5fe2b40499c8311763e51761a02a8ea01a853', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
24791
25390
  }
24792
25391
  get el() { return getElement(this); }
24793
25392
  static get watchers() { return {
@@ -24904,10 +25503,10 @@ class PickerColumnOption {
24904
25503
  render() {
24905
25504
  const { color, disabled, ariaLabel } = this;
24906
25505
  const mode = getIonMode$1(this);
24907
- return (hAsync(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses$1(color, {
25506
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
24908
25507
  [mode]: true,
24909
25508
  ['option-disabled']: disabled,
24910
- }) }, hAsync("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
25509
+ }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
24911
25510
  }
24912
25511
  get el() { return getElement(this); }
24913
25512
  static get watchers() { return {
@@ -26313,9 +26912,9 @@ class Popover {
26313
26912
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
26314
26913
  const desktop = isPlatform('desktop');
26315
26914
  const enableArrow = arrow && !parentPopover;
26316
- return (hAsync(Host, Object.assign({ key: 'ff24e8d9677711248a36994cce568e74ba151499', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26915
+ return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26317
26916
  zIndex: `${20000 + this.overlayIndex}`,
26318
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'aca68b4002a08b0e563a976a867141162c20f8b4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '62d21d1eab5c6d675d49932559ffb161747e5fec', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '1b46cc77d5302637fc979353483bb5fd780fd1d3', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'a5657bff26e46d1959b71eb0992e7dc8fcae86f1', class: "popover-content", part: "content" }, hAsync("slot", { key: 'e1a98007226a46b51109e7004c4d338ca1bc0f9e' })))));
26917
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '981aa4e0102cb93312ffbd8243cdf2a0cdc60469', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '1a28ed55e9d34ef78cf0eb0178643301fd2dd75d', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '1c206ea5eb3c0b5883a3d45c34cd22dd5ffe4b65', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '5ba561486a328c0c7ab825995fdbfb7a196429a4', class: "popover-content", part: "content" }, hAsync("slot", { key: '00fc244ce9dcc2dfc677e6c34b7c8e7a330b2b03' })))));
26319
26918
  }
26320
26919
  get el() { return getElement(this); }
26321
26920
  static get watchers() { return {
@@ -26420,7 +27019,7 @@ class ProgressBar {
26420
27019
  const mode = getIonMode$1(this);
26421
27020
  // If the progress is displayed as a solid bar.
26422
27021
  const progressSolid = buffer === 1;
26423
- return (hAsync(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27022
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
26424
27023
  [mode]: true,
26425
27024
  [`progress-bar-${type}`]: true,
26426
27025
  'progress-paused': paused,
@@ -26604,7 +27203,7 @@ class Radio {
26604
27203
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
26605
27204
  const mode = getIonMode$1(this);
26606
27205
  const inItem = hostContext('ion-item', el);
26607
- return (hAsync(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27206
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
26608
27207
  [mode]: true,
26609
27208
  'in-item': inItem,
26610
27209
  'radio-checked': checked,
@@ -26615,10 +27214,10 @@ class Radio {
26615
27214
  // Focus and active styling should not apply when the radio is in an item
26616
27215
  'ion-activatable': !inItem,
26617
27216
  'ion-focusable': !inItem,
26618
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '8765b847edc93a1b5a16506e155ed03da807bb10', class: "radio-wrapper" }, hAsync("div", { key: '3d568a0192a32d4f0b8a920019c79ff02639b5c9', class: {
27217
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, hAsync("label", { key: '418a0a48366ff900e97da123abf665bbbda87fb7', class: "radio-wrapper" }, hAsync("div", { key: '6e5acdd8c8f5d0ad26632a65396afef8094153d1', class: {
26619
27218
  'label-text-wrapper': true,
26620
27219
  'label-text-wrapper-hidden': !hasLabel,
26621
- }, part: "label" }, hAsync("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), hAsync("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
27220
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
26622
27221
  }
26623
27222
  get el() { return getElement(this); }
26624
27223
  static get watchers() { return {
@@ -26841,7 +27440,7 @@ class RadioGroup {
26841
27440
  const { label, labelId, el, name, value } = this;
26842
27441
  const mode = getIonMode$1(this);
26843
27442
  renderHiddenInput(true, el, name, value, false);
26844
- return (hAsync(Host, { key: 'cac92777297029d7fd1b6af264d92850e35dfbba', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '6b5c634dba30d54eedc031b077863f3d6a9d9e9b', class: "radio-group-wrapper" }, hAsync("slot", { key: '443edb3ff6f4c59d4c4324c8a19f2d6def47a322' }))));
27443
+ return (hAsync(Host, { key: '81b8ebc96b2f383c36717f290d2959cc921ad6e8', role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: mode }, this.renderHintText(), hAsync("div", { key: '45b09efc10776b889a8f372cba80d25a3fc849da', class: "radio-group-wrapper" }, hAsync("slot", { key: '58714934542c2fdd7396de160364f3f06b32e8f8' }))));
26845
27444
  }
26846
27445
  get el() { return getElement(this); }
26847
27446
  static get watchers() { return {
@@ -27556,7 +28155,7 @@ class Range {
27556
28155
  const needsEndAdjustment = inItem && !hasEndContent;
27557
28156
  const mode = getIonMode$1(this);
27558
28157
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
27559
- return (hAsync(Host, { key: '3e065039ee048f1f70d97dba5dae98fa1315d867', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28158
+ return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
27560
28159
  [mode]: true,
27561
28160
  'in-item': inItem,
27562
28161
  'range-disabled': disabled,
@@ -27565,10 +28164,10 @@ class Range {
27565
28164
  [`range-label-placement-${labelPlacement}`]: true,
27566
28165
  'range-item-start-adjustment': needsStartAdjustment,
27567
28166
  'range-item-end-adjustment': needsEndAdjustment,
27568
- }) }, hAsync("label", { key: '27ff22842c9ea79a1b9495302b926f70c9080a95', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'da1f9784be02dfe87d2fef34931d8b7f2148189e', class: {
28167
+ }) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
27569
28168
  'label-text-wrapper': true,
27570
28169
  'label-text-wrapper-hidden': !hasLabel,
27571
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '4389bf30b08214f5b5917fc30976b38f7bcdd29b', class: "native-wrapper" }, hAsync("slot", { key: 'ad1b2745f8b061ee189617bb5c567e4f1d02250c', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'c6dec9e843e232af2a5f16a0f8ee56439c545d7a', name: "end" })))));
28170
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '797d39ac73610f6d81d0b99d71982f98f2a66c88', class: "native-wrapper" }, hAsync("slot", { key: '88824589cac5bb2134c30bed067ed11f6e81d887', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '7207a1164b272f56634435f7bff9114fb5d9f085', name: "end" })))));
27572
28171
  }
27573
28172
  get el() { return getElement(this); }
27574
28173
  static get watchers() { return {
@@ -28518,7 +29117,7 @@ class Refresher {
28518
29117
  }
28519
29118
  render() {
28520
29119
  const mode = getIonMode$1(this);
28521
- return (hAsync(Host, { key: 'c717c16f2ca3e42351848cc8ad37918dec28961d', slot: "fixed", class: {
29120
+ return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
28522
29121
  [mode]: true,
28523
29122
  // Used internally for styling
28524
29123
  [`refresher-${mode}`]: true,
@@ -28742,7 +29341,7 @@ class RefresherContent {
28742
29341
  const pullingIcon = this.pullingIcon;
28743
29342
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
28744
29343
  const mode = getIonMode$1(this);
28745
- return (hAsync(Host, { key: 'fb78d7e31f8feb31025e58903eb9de85cb928dbd', class: mode }, hAsync("div", { key: '23f67800f09765ef8fde8cf85a843e19e667f337', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: '5a08d3b69762f8b51dcd3dcfbaf3fddb707257fa', class: "refresher-pulling-icon" }, hAsync("div", { key: '42a613b029e092acdff7fe613a429375d89f157e', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: '2f9cdc75938c4d306de7a717ed67901daef71c2c', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '1f8a6347b4a46417ba55286a79f1a41f04bf9c91', class: "arrow-container" }, hAsync("ion-icon", { key: '326713d11d482d420ba5a739ff4528400a37e9ca', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: 'ab18c7cbea7bcbfa034f90f317652af4d93660ed', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'f488acd54acc8a61b6c5a279f0d7f9a437c370c0', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: '914ad6139442dac53af47120ea821fa11c309a38', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '7eba732f5e2d72b90399d68a3e89617d8979b3d1', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '838d66d8bef6f56622c62b1068e7fed29e094302', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
29344
+ return (hAsync(Host, { key: 'e235f8a9a84070ece2e2066ced234a64663bfa1d', class: mode }, hAsync("div", { key: '9121691818ddaa35801a5f442e144ac27686cf19', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (hAsync("div", { key: 'c8d65d740f1575041bd3b752c789077927397fe4', class: "refresher-pulling-icon" }, hAsync("div", { key: '309dd904977eaa788b09ea95b7fa4996a73bec5b', class: "spinner-arrow-container" }, hAsync("ion-spinner", { key: 'a2a1480f67775d56ca7822e76be1e9f983bca2f9', name: this.pullingIcon, paused: true }), mode === 'md' && this.pullingIcon === 'circular' && (hAsync("div", { key: '811d7e06d324bf4b6a18a31427a43e5177f3ae3a', class: "arrow-container" }, hAsync("ion-icon", { key: '86cc48e2e8dc054ff6ff1299094da35b524be63d', icon: caretBackSharp, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (hAsync("div", { key: '464ae097dbc95c18a2dd7dfd03f8489153dab719', class: "refresher-pulling-icon" }, hAsync("ion-icon", { key: 'ed6875978b9035add562caa743a68353743d978f', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), hAsync("div", { key: 'aff891924e44354543fec484e5cde1ca92e69904', class: "refresher-refreshing" }, this.refreshingSpinner && (hAsync("div", { key: '842d7ac4ff10a1058775493d62f31cbdcd34f7a0', class: "refresher-refreshing-icon" }, hAsync("ion-spinner", { key: '8c3e6195501e7e78d5cde1e3ad1fef90fd4a953f', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
28746
29345
  }
28747
29346
  get el() { return getElement(this); }
28748
29347
  static get cmpMeta() { return {
@@ -28783,7 +29382,7 @@ class Reorder {
28783
29382
  render() {
28784
29383
  const mode = getIonMode$1(this);
28785
29384
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
28786
- return (hAsync(Host, { key: '17adf3165f4e09283d5d6434d7cd47bd23519048', class: mode }, hAsync("slot", { key: 'd00d1cd97c689fc5c7b7175a2051cf697fe22871' }, hAsync("ion-icon", { key: 'eec219aebde6083de98358be3e75965c5a5dc3d0', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
29385
+ return (hAsync(Host, { key: 'e6807bb349725682e99e791ac65e729a360d64e8', class: mode }, hAsync("slot", { key: '1c691cdbffa6427ba08dc12184c69559ed5d5506' }, hAsync("ion-icon", { key: '8b4150302cdca475379582b2251737b5e74079b1', icon: reorderIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
28787
29386
  }
28788
29387
  get el() { return getElement(this); }
28789
29388
  static get style() { return {
@@ -29039,7 +29638,7 @@ class ReorderGroup {
29039
29638
  }
29040
29639
  render() {
29041
29640
  const mode = getIonMode$1(this);
29042
- return (hAsync(Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
29641
+ return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
29043
29642
  [mode]: true,
29044
29643
  'reorder-enabled': !this.disabled,
29045
29644
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -29155,7 +29754,7 @@ class RippleEffect {
29155
29754
  }
29156
29755
  render() {
29157
29756
  const mode = getIonMode$1(this);
29158
- return (hAsync(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
29757
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
29159
29758
  [mode]: true,
29160
29759
  unbounded: this.unbounded,
29161
29760
  } }));
@@ -30113,10 +30712,10 @@ class RouterLink {
30113
30712
  rel: this.rel,
30114
30713
  target: this.target,
30115
30714
  };
30116
- return (hAsync(Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: createColorClasses$1(this.color, {
30715
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
30117
30716
  [mode]: true,
30118
30717
  'ion-activatable': true,
30119
- }) }, hAsync("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), hAsync("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
30718
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
30120
30719
  }
30121
30720
  static get style() { return routerLinkCss; }
30122
30721
  static get cmpMeta() { return {
@@ -30313,7 +30912,7 @@ class RouterOutlet {
30313
30912
  return true;
30314
30913
  }
30315
30914
  render() {
30316
- return hAsync("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
30915
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
30317
30916
  }
30318
30917
  get el() { return getElement(this); }
30319
30918
  static get watchers() { return {
@@ -30346,7 +30945,7 @@ class Row {
30346
30945
  registerInstance(this, hostRef);
30347
30946
  }
30348
30947
  render() {
30349
- return (hAsync(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
30948
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
30350
30949
  }
30351
30950
  static get style() { return rowCss; }
30352
30951
  static get cmpMeta() { return {
@@ -30789,8 +31388,8 @@ class Searchbar {
30789
31388
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
30790
31389
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
30791
31390
  const shouldShowCancelButton = this.shouldShowCancelButton();
30792
- const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '989f3e84c472ada6e66dd9b249d0d268bf17ce26', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '7d335d4fde33822dc79d26b748ba2e98db7494bb', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
30793
- return (hAsync(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
31391
+ const cancelButton = this.showCancelButton !== 'never' && (hAsync("button", { key: '1a4a7b9efeffbff98f3e400f52367192a692d876', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, hAsync("div", { key: '5ac9bb7d7d4da3dcb6ad85c2eeddca5ebdf32d72', "aria-hidden": "true" }, mode === 'md' ? (hAsync("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));
31392
+ return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
30794
31393
  [mode]: true,
30795
31394
  'searchbar-animated': animated,
30796
31395
  'searchbar-disabled': this.disabled,
@@ -30800,14 +31399,14 @@ class Searchbar {
30800
31399
  'searchbar-has-focus': this.focused,
30801
31400
  'searchbar-should-show-clear': this.shouldShowClearButton(),
30802
31401
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
30803
- }) }, hAsync("div", { key: 'add53640b2994cb6b2bf02792dafe51aba6b1684', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '160cc36459a4a652e7f41ccd14dcdc782278779e', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: '8825fd13af0d2dea451ccc0e00ae7b5021dc01c4', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '8a7b56da278b9ca5c4f5a4ee9c01924fd5ae29d8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
31402
+ }) }, hAsync("div", { key: 'ba70d82a6c005b28940c2bf4f03ecedb441ba7aa', class: "searchbar-input-container" }, hAsync("input", Object.assign({ key: '91dd264e043cf06e29bc452f1e940e50377f1df8', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, hAsync("ion-icon", { key: 'f32927f3ab0045cf34b8331ee3cae02a8438da89', "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), hAsync("button", { key: '0f71fe7e3a7c40e3ab8af510f7a84643c22e43b8', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
30804
31403
  /**
30805
31404
  * This prevents mobile browsers from
30806
31405
  * blurring the input when the clear
30807
31406
  * button is activated.
30808
31407
  */
30809
31408
  ev.preventDefault();
30810
- }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: '24c55274516ab012d8c25f03525c6cdb9409e52f', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
31409
+ }, onClick: () => this.onClearInput(true) }, hAsync("ion-icon", { key: 'd34f027ae676128aff9a9ed74805e195b7ee9fa2', "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
30811
31410
  }
30812
31411
  get el() { return getElement(this); }
30813
31412
  static get watchers() { return {
@@ -31402,14 +32001,14 @@ class Segment {
31402
32001
  }
31403
32002
  render() {
31404
32003
  const mode = getIonMode$1(this);
31405
- return (hAsync(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32004
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
31406
32005
  [mode]: true,
31407
32006
  'in-toolbar': hostContext('ion-toolbar', this.el),
31408
32007
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
31409
32008
  'segment-activated': this.activated,
31410
32009
  'segment-disabled': this.disabled,
31411
32010
  'segment-scrollable': this.scrollable,
31412
- }) }, hAsync("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
32011
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
31413
32012
  }
31414
32013
  get el() { return getElement(this); }
31415
32014
  static get watchers() { return {
@@ -31549,7 +32148,7 @@ class SegmentButton {
31549
32148
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
31550
32149
  const mode = getIonMode$1(this);
31551
32150
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
31552
- return (hAsync(Host, { key: 'd79dad80db69123510c6d52bbf4424558600c14a', class: {
32151
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
31553
32152
  [mode]: true,
31554
32153
  'in-toolbar': hostContext('ion-toolbar', this.el),
31555
32154
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -31565,7 +32164,7 @@ class SegmentButton {
31565
32164
  'ion-activatable': true,
31566
32165
  'ion-activatable-instant': true,
31567
32166
  'ion-focusable': true,
31568
- } }, hAsync("button", Object.assign({ key: '781fd7fef443a2fbd404b8a399d1203794759a69', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '64df08f60ea17481183f8ad284884b9979eaeb24', class: "button-inner" }, hAsync("slot", { key: '2b7ef328023ab5ccc0adc6f865e5e7121467eeb8' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '1fd5e6179227925a03b6c3b5258bbf4ea99bfef1' })), hAsync("div", { key: 'dbcedad6988b0eadeebe02bdafdedb8eb37af19c', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'f4f1789f66bdfa2de5445bc0d292116a93bad7cc', part: "indicator-background", class: "segment-button-indicator-background" }))));
32167
+ } }, hAsync("button", Object.assign({ key: '75add37f11c107d1e2cfdb154e08004e9579e863', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '8e720d2a3e304903685bf09d226a64e944d78a22', class: "button-inner" }, hAsync("slot", { key: 'c8e7b3ebf8f03042a1001155643b585283c73c65' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3586ac317b8d82c92b0ccfbfae42f8778612321b' })), hAsync("div", { key: '9cf93957da9e8dc333c8b05327bb903385b1c5f4', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd3b6f0b3860ec6896b46703f64ed1cc8c75612e3', part: "indicator-background", class: "segment-button-indicator-background" }))));
31569
32168
  }
31570
32169
  get el() { return getElement(this); }
31571
32170
  static get watchers() { return {
@@ -31600,7 +32199,7 @@ class SegmentContent {
31600
32199
  registerInstance(this, hostRef);
31601
32200
  }
31602
32201
  render() {
31603
- return (hAsync(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, hAsync("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
32202
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
31604
32203
  }
31605
32204
  static get style() { return segmentContentCss; }
31606
32205
  static get cmpMeta() { return {
@@ -31713,10 +32312,10 @@ class SegmentView {
31713
32312
  }
31714
32313
  render() {
31715
32314
  const { disabled, isManualScroll } = this;
31716
- return (hAsync(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
32315
+ return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
31717
32316
  'segment-view-disabled': disabled,
31718
32317
  'segment-view-scroll-disabled': isManualScroll === false,
31719
- } }, hAsync("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
32318
+ } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
31720
32319
  }
31721
32320
  get el() { return getElement(this); }
31722
32321
  static get style() { return {
@@ -32455,7 +33054,7 @@ class Select {
32455
33054
  * TODO(FW-5592): Remove hasStartEndSlots condition
32456
33055
  */
32457
33056
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
32458
- return (hAsync(Host, { key: 'e6c0498d6c275f89344f4b5146752a047058ad88', onClick: this.onClick, class: createColorClasses$1(this.color, {
33057
+ return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
32459
33058
  [mode]: true,
32460
33059
  'in-item': inItem,
32461
33060
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -32473,7 +33072,7 @@ class Select {
32473
33072
  [`select-justify-${justify}`]: justifyEnabled,
32474
33073
  [`select-shape-${shape}`]: shape !== undefined,
32475
33074
  [`select-label-placement-${labelPlacement}`]: true,
32476
- }) }, hAsync("label", { key: 'f030b6bd329f8014c7227f5e5f1aeb7efa0e641a', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '7480e1b40d09e53a2942295d6c9dae474c9de810', class: "select-wrapper-inner" }, hAsync("slot", { key: '250fd2ff08b3e6ed04c7062455a044863481fe1c', name: "start" }), hAsync("div", { key: '11b73ad5b7decfe2d307f9d54293c21c0df3ddb8', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: 'ddedafc89061372567bd46354ef972f08c60e19d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '792ce27aea18a0020c17dceb0f0e293171ded3a3', class: "select-highlight" })), this.renderBottomContent()));
33075
+ }) }, hAsync("label", { key: '51174c91a816a6fe63f498996861ab27dab4d416', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '3d92a33e0482b0ef79ce6ed3dea9771dc3078abe', class: "select-wrapper-inner" }, hAsync("slot", { key: 'b19220872f1931c021bd6e111bfd7772904f0a72', name: "start" }), hAsync("div", { key: 'c8540be3898978738dd59d4de98da37b44e54c58', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '440a7f166528c4a3ccedffed1ea4e8f012f435c1', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'a6371e5eaec388b8a40e8e16cc81266578d6d070', class: "select-highlight" })), this.renderBottomContent()));
32477
33076
  }
32478
33077
  get el() { return getElement(this); }
32479
33078
  static get watchers() { return {
@@ -32632,7 +33231,7 @@ class SelectModal {
32632
33231
  } }, option.text))));
32633
33232
  }
32634
33233
  render() {
32635
- return (hAsync(Host, { key: '885198a9f21884e3bfb9bf0af53e0ee3ae37b231', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'd8b63726869747ac711e4fda78a50ce46f72970c' }, hAsync("ion-toolbar", { key: '9ab2a4c1480dd74eeae38d7b580a2e87fb71270e' }, this.header !== undefined && hAsync("ion-title", { key: '87a7034385ef57f55cefdd0371dbb66a64827290' }, this.header), hAsync("ion-buttons", { key: '0a35424ea13ca002abc9a43b6138730254f187d0', slot: "end" }, hAsync("ion-button", { key: '238bf40b47128d9aa995d14d9ff9ebcae4f79492', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '4a256f3381f8cabbc7194337b8ae4aa1c3ab1066' }, hAsync("ion-list", { key: 'acd38fc52024632176467ed6a84106a454021544' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
33234
+ return (hAsync(Host, { key: 'b6c0dec240b2e41985b15fdf4e5a6d3a145c1567', class: getIonMode$1(this) }, hAsync("ion-header", { key: 'cd177e85ee0f62a60a3a708342d6ab6eb19a44dc' }, hAsync("ion-toolbar", { key: 'aee8222a5a4daa540ad202b2e4cac1ef93d9558c' }, this.header !== undefined && hAsync("ion-title", { key: '5f8fecc764d97bf840d3d4cfddeeccd118ab4436' }, this.header), hAsync("ion-buttons", { key: '919033950d7c2b0101f96a9c9698219de9f568ea', slot: "end" }, hAsync("ion-button", { key: '34b571cab6dced4bde555a077a21e91800829931', onClick: () => this.closeModal() }, "Close")))), hAsync("ion-content", { key: '3c9153d26ba7a5a03d3b20fcd628d0c3031661a7' }, hAsync("ion-list", { key: 'e00b222c071bc97c82ad1bba4db95a8a5c43ed6d' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
32636
33235
  }
32637
33236
  get el() { return getElement(this); }
32638
33237
  static get style() { return {
@@ -32666,7 +33265,7 @@ class SelectOption {
32666
33265
  this.disabled = false;
32667
33266
  }
32668
33267
  render() {
32669
- return hAsync(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode$1(this) });
33268
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
32670
33269
  }
32671
33270
  get el() { return getElement(this); }
32672
33271
  static get style() { return selectOptionCss; }
@@ -32783,7 +33382,7 @@ class SelectPopover {
32783
33382
  render() {
32784
33383
  const { header, message, options, subHeader } = this;
32785
33384
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
32786
- return (hAsync(Host, { key: '542367ab8fb72bfebf7e65630b91017d68827fd6', class: getIonMode$1(this) }, hAsync("ion-list", { key: 'f2f0f37e1365cd7780b02de1a1698700d0df48a7' }, header !== undefined && hAsync("ion-list-header", { key: '4b8800a68e800f19277a44b7074ca24b70218daf' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: '932b7903daf97d5a57d289b7ee49e868bb9b0cf5' }, hAsync("ion-label", { key: 'fc3f1b69aa2a0bc6125d35692dcad3a8a99fd160', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'eceab2f47afa95f04b138342b0bdbfa1f50919a8' }, subHeader), message !== undefined && hAsync("p", { key: '70f4e27ad1316318efd0c17efce31e5e45c8fa02' }, message)))), this.renderOptions(options))));
33385
+ return (hAsync(Host, { key: 'ab931b49b59283825bd2afa3f7f995b0e6e05bef', class: getIonMode$1(this) }, hAsync("ion-list", { key: '3bd12b67832607596b912a73d5b3ae9b954b244d' }, header !== undefined && hAsync("ion-list-header", { key: '97da930246edf7423a039c030d40e3ff7a5148a3' }, header), hasSubHeaderOrMessage && (hAsync("ion-item", { key: 'c579df6ea8fac07bb0c59d34c69b149656863224' }, hAsync("ion-label", { key: 'af699c5f465710ccb13b8cf8e7be66f0e8acfad1', class: "ion-text-wrap" }, subHeader !== undefined && hAsync("h3", { key: 'df9a936d42064b134e843c7229f314a2a3ec7e80' }, subHeader), message !== undefined && hAsync("p", { key: '9c3ddad378df00f106afa94e9928cf68c17124dd' }, message)))), this.renderOptions(options))));
32787
33386
  }
32788
33387
  get el() { return getElement(this); }
32789
33388
  static get style() { return {
@@ -32833,11 +33432,11 @@ class SkeletonText {
32833
33432
  const animated = this.animated && config.getBoolean('animated', true);
32834
33433
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
32835
33434
  const mode = getIonMode$1(this);
32836
- return (hAsync(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
33435
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
32837
33436
  [mode]: true,
32838
33437
  'skeleton-text-animated': animated,
32839
33438
  'in-media': inMedia,
32840
- } }, hAsync("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
33439
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
32841
33440
  }
32842
33441
  get el() { return getElement(this); }
32843
33442
  static get style() { return skeletonTextCss; }
@@ -32889,7 +33488,7 @@ class Spinner {
32889
33488
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
32890
33489
  }
32891
33490
  }
32892
- return (hAsync(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses$1(self.color, {
33491
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
32893
33492
  [mode]: true,
32894
33493
  [`spinner-${spinnerName}`]: true,
32895
33494
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -32988,12 +33587,12 @@ class SplitPane {
32988
33587
  }
32989
33588
  render() {
32990
33589
  const mode = getIonMode$1(this);
32991
- return (hAsync(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
33590
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
32992
33591
  [mode]: true,
32993
33592
  // Used internally for styling
32994
33593
  [`split-pane-${mode}`]: true,
32995
33594
  'split-pane-visible': this.visible,
32996
- } }, hAsync("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
33595
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
32997
33596
  }
32998
33597
  get el() { return getElement(this); }
32999
33598
  static get watchers() { return {
@@ -33059,10 +33658,10 @@ class Tab {
33059
33658
  }
33060
33659
  render() {
33061
33660
  const { tab, active, component } = this;
33062
- return (hAsync(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33661
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33063
33662
  'ion-page': component === undefined,
33064
33663
  'tab-hidden': !active,
33065
- } }, hAsync("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
33664
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
33066
33665
  }
33067
33666
  get el() { return getElement(this); }
33068
33667
  static get watchers() { return {
@@ -33141,11 +33740,11 @@ class TabBar {
33141
33740
  const { color, translucent, keyboardVisible } = this;
33142
33741
  const mode = getIonMode$1(this);
33143
33742
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
33144
- return (hAsync(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33743
+ return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33145
33744
  [mode]: true,
33146
33745
  'tab-bar-translucent': translucent,
33147
33746
  'tab-bar-hidden': shouldHide,
33148
- }) }, hAsync("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
33747
+ }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
33149
33748
  }
33150
33749
  get el() { return getElement(this); }
33151
33750
  static get watchers() { return {
@@ -33241,7 +33840,7 @@ class TabButton {
33241
33840
  rel,
33242
33841
  target,
33243
33842
  };
33244
- return (hAsync(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33843
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33245
33844
  [mode]: true,
33246
33845
  'tab-selected': selected,
33247
33846
  'tab-disabled': disabled,
@@ -33253,7 +33852,7 @@ class TabButton {
33253
33852
  'ion-activatable': true,
33254
33853
  'ion-selectable': true,
33255
33854
  'ion-focusable': true,
33256
- } }, hAsync("a", Object.assign({ key: '8dfe1ccff2cf21601c5aea7f7f877c0fbe384e09' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: '3f557cf6e96e22b9318b4aee19ede810eb7fb720', class: "button-inner" }, hAsync("slot", { key: '836dd090dbe3c2ea97dc263fca7d01dea6ea0eb6' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '488a924fd04602c1b23e03d1a4c84dfa0f2ca03d', type: "unbounded" }))));
33855
+ } }, hAsync("a", Object.assign({ key: '01cb0ed2e77c5c1a8abd48da1bb07ac1b305d0b6' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), hAsync("span", { key: 'd0240c05f42217cfb186b86ff8a0c9cd70b9c8df', class: "button-inner" }, hAsync("slot", { key: '0a20b84925037dbaa8bb4a495b813d3f7c2e58ac' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '4c92c27178cdac89d69cffef8d2c39c3644914e8', type: "unbounded" }))));
33257
33856
  }
33258
33857
  get el() { return getElement(this); }
33259
33858
  static get style() { return {
@@ -33428,7 +34027,7 @@ class Tabs {
33428
34027
  return Array.from(this.el.querySelectorAll('ion-tab'));
33429
34028
  }
33430
34029
  render() {
33431
- return (hAsync(Host, { key: '20b97196d78c1b3f3faf31618a8a2347e087f06b', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'b0823fbae6e47743cfd12c376b365ad7e32cec7c', name: "top" }), hAsync("div", { key: 'eaffd7e4d69ab9489a387e3bbb36e3bab72203a0', class: "tabs-inner" }, hAsync("slot", { key: '20bb66a2937e3ec473aa59c4075ce581b5411677' })), hAsync("slot", { key: '1529dd361f050f52074f51c73b3982ba827dc3a5', name: "bottom" })));
34030
+ return (hAsync(Host, { key: '73ecd3294ca6c78ce6d8b6a7e5b6ccb11d84ada4', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '09661b26f07a3069a58e76ea4dceb9a6acbf365d', name: "top" }), hAsync("div", { key: 'db50d59fad8f9b11873b695fc548f3cfe4aceb6a', class: "tabs-inner" }, hAsync("slot", { key: '02694dde2d8381f48fc06dd9e79798c4bd540ccd' })), hAsync("slot", { key: '92c4661a5f3fa1c08c964fab7c422c1a2a03d3d8', name: "bottom" })));
33432
34031
  }
33433
34032
  get el() { return getElement(this); }
33434
34033
  static get style() { return tabsCss; }
@@ -33468,9 +34067,9 @@ class Text {
33468
34067
  }
33469
34068
  render() {
33470
34069
  const mode = getIonMode$1(this);
33471
- return (hAsync(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses$1(this.color, {
34070
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
33472
34071
  [mode]: true,
33473
- }) }, hAsync("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
34072
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
33474
34073
  }
33475
34074
  static get style() { return textCss; }
33476
34075
  static get cmpMeta() { return {
@@ -33909,7 +34508,7 @@ class Textarea {
33909
34508
  * TODO(FW-5592): Remove hasStartEndSlots condition
33910
34509
  */
33911
34510
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
33912
- return (hAsync(Host, { key: 'f53b9060248d885b0b8639401871e52017e497db', class: createColorClasses$1(this.color, {
34511
+ return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
33913
34512
  [mode]: true,
33914
34513
  'has-value': hasValue,
33915
34514
  'has-focus': hasFocus,
@@ -33918,7 +34517,7 @@ class Textarea {
33918
34517
  [`textarea-shape-${shape}`]: shape !== undefined,
33919
34518
  [`textarea-label-placement-${labelPlacement}`]: true,
33920
34519
  'textarea-disabled': disabled,
33921
- }) }, hAsync("label", { key: '3bc32a0799d1dd7253eb5a963877964de620ccd0', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'f5302723f4561b179b249cb28f5a31223c5c4394', class: "textarea-wrapper-inner" }, hAsync("div", { key: '75b85c5bd85af72a41da3310f10877a654397eaf', class: "start-slot-wrapper" }, hAsync("slot", { key: '7adc67b4c2917d20c35eecc11a5530e93bc581ea', name: "start" })), hAsync("div", { key: '35cbeca046ec7a40bcbcbc4a70eb83628350ba54', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'e3496262d163b70558a0188abdf322cbd8b44dfd', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), hAsync("div", { key: 'f274576d2e0bb6dace2ec36c362cb68ecfcd2c69', class: "end-slot-wrapper" }, hAsync("slot", { key: '70c881103410e74b3a3ffda4cc889be66f89bf20', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: 'cf33a473dfb637d284acc2b62ca59c2839ee1104', class: "textarea-highlight" })), this.renderBottomContent()));
34520
+ }) }, hAsync("label", { key: 'd7567588fed56352f0d202d8d2a3a572abc072e4', class: "textarea-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'e778956ae240ccdae855e3f5a0dc380e373f46e7', class: "textarea-wrapper-inner" }, hAsync("div", { key: 'fd02ecd700bae01d330f4767e206a12a5c9531fc', class: "start-slot-wrapper" }, hAsync("slot", { key: 'ef19a5aee8fc0d9a84d8c1a7e9862bcc116a8440', name: "start" })), hAsync("div", { key: '45ba34274b2a8f1e1fad3ea81f7ba90a11322019', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el) }, hAsync("textarea", Object.assign({ key: 'bedfe94f99c5cff815673896c4df245abede6288', class: "native-textarea", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes), value)), hAsync("div", { key: '3dc9d27e0cb922c33090c1091b7977af8543daef', class: "end-slot-wrapper" }, hAsync("slot", { key: '02424963e69d9c085f622fcc8ac70c78271b9f12', name: "end" }))), shouldRenderHighlight && hAsync("div", { key: '1513528f3841b26d9725d14a2fb6b21af8a8a3c1', class: "textarea-highlight" })), this.renderBottomContent()));
33922
34521
  }
33923
34522
  get el() { return getElement(this); }
33924
34523
  static get watchers() { return {
@@ -33980,7 +34579,7 @@ class Thumbnail {
33980
34579
  registerInstance(this, hostRef);
33981
34580
  }
33982
34581
  render() {
33983
- return (hAsync(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
34582
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
33984
34583
  }
33985
34584
  static get style() { return thumbnailCss; }
33986
34585
  static get cmpMeta() { return {
@@ -34839,9 +35438,9 @@ class Toast {
34839
35438
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
34840
35439
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
34841
35440
  }
34842
- return (hAsync(Host, Object.assign({ key: 'a2216d860255c99337464370dcb12f6125871a50', tabindex: "-1" }, this.htmlAttributes, { style: {
35441
+ return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
34843
35442
  zIndex: `${60000 + this.overlayIndex}`,
34844
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'd5adf8bc4c6c52431600033a76c4795689f9b412', class: wrapperClass }, hAsync("div", { key: 'ab694497ae37ceba123217eb48800129b9bebb84', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '224854fa3989ce0eb69416cb5b0cc55fc9f131ea', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: 'c8e11fb5bdac202987f5c8613a0ebbd42bda946e', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
35443
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: '7c3ad1a8df9e21fc30fc179c7edebeabcf3c6874', class: wrapperClass }, hAsync("div", { key: 'f950c21e8d7bf92653e0bd52e820ed6b84fa8cf5', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: '0266241927dbe16799adb57f9fc11bd5372877b2', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '9ef4b87bad672af6a5b693af61375564daf1eeeb', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
34845
35444
  }
34846
35445
  get el() { return getElement(this); }
34847
35446
  static get watchers() { return {
@@ -35136,7 +35735,7 @@ class Toggle {
35136
35735
  const value = this.getValue();
35137
35736
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
35138
35737
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
35139
- return (hAsync(Host, { key: '4a79e050a8ec58650ca13c8ac087891dc608013b', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
35738
+ return (hAsync(Host, { key: 'eef77257b1ef53c93b5a5ac8450b252ab2c450e0', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
35140
35739
  [mode]: true,
35141
35740
  'in-item': hostContext('ion-item', el),
35142
35741
  'toggle-activated': activated,
@@ -35146,10 +35745,10 @@ class Toggle {
35146
35745
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
35147
35746
  [`toggle-label-placement-${labelPlacement}`]: true,
35148
35747
  [`toggle-${rtl}`]: true,
35149
- }) }, hAsync("label", { key: 'a733a3b0e458b917f12c1c6495fbb5f2455ff828', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '95fdd95755fe4d972a07d1dfa2865a26b9be519c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '8207caf19f2679e40bd23eacd694c24ea5819916', class: {
35748
+ }) }, hAsync("label", { key: '7af46191ed2c51de8a69839bf760048f1cff5710', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '1d235ff33bcd70a4e6859370bcc4be0dacfee69f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '1c83d272234206c7d8b7138fb2b466d099b7a422', class: {
35150
35749
  'label-text-wrapper': true,
35151
35750
  'label-text-wrapper-hidden': !hasLabel,
35152
- }, part: "label", id: inputLabelId }, hAsync("slot", { key: '4555e00e2997e0a20d2e2f736e7b048c2de5320e' }), this.renderHintText()), hAsync("div", { key: 'b60d3e41561cf2ae46fb6de09f5590fa127a6172', class: "native-wrapper" }, this.renderToggleControl()))));
35751
+ }, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
35153
35752
  }
35154
35753
  get el() { return getElement(this); }
35155
35754
  static get watchers() { return {
@@ -35257,10 +35856,10 @@ class Toolbar {
35257
35856
  this.childrenStyles.forEach((value) => {
35258
35857
  Object.assign(childStyles, value);
35259
35858
  });
35260
- return (hAsync(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35859
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35261
35860
  [mode]: true,
35262
35861
  'in-toolbar': hostContext('ion-toolbar', this.el),
35263
- })) }, hAsync("div", { key: '2465a6dc8d507ec650538378d1be2abd399c58ad', class: "toolbar-background", part: "background" }), hAsync("div", { key: '6075096afd12303b961e4fe9ad345ef2887573af', class: "toolbar-container", part: "container" }, hAsync("slot", { key: '8b7eec1148cfeb339d87cdf9273f2104703e7601', name: "start" }), hAsync("slot", { key: 'b102d3926cade24faf78b7af78ad5e192c4c0308', name: "secondary" }), hAsync("div", { key: 'c6ab2e978328324c6f9e7892024cbcd8b8987067', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '86f8952c4355a9df5b4bbb95e9d0cafefd272d5b' })), hAsync("slot", { key: '501e43431da6b9dd35b47b79222f948d445f7a78', name: "primary" }), hAsync("slot", { key: '84bf1a15a5e52e8e94df9f479c4ce18004f5ab57', name: "end" }))));
35862
+ })) }, hAsync("div", { key: '9c81742ffa02de9ba7417025b077d05e67305074', class: "toolbar-background", part: "background" }), hAsync("div", { key: '5fc96d166fa47894a062e41541a9beee38078a36', class: "toolbar-container", part: "container" }, hAsync("slot", { key: 'b62c0d9d59a70176bdbf769aec6090d7a166853b', name: "start" }), hAsync("slot", { key: 'd01d3cc2c50e5aaa49c345b209fe8dbdf3d48131', name: "secondary" }), hAsync("div", { key: '3aaa3a2810aedd38c37eb616158ec7b9638528fc', class: "toolbar-content", part: "content" }, hAsync("slot", { key: '357246690f8d5e1cc3ca369611d4845a79edf610' })), hAsync("slot", { key: '06ed3cca4f7ebff4a54cd877dad3cc925ccf9f75', name: "primary" }), hAsync("slot", { key: 'e453d43d14a26b0d72f41e1b81a554bab8ece811', name: "end" }))));
35264
35863
  }
35265
35864
  get el() { return getElement(this); }
35266
35865
  static get style() { return {
@@ -35306,11 +35905,11 @@ class ToolbarTitle {
35306
35905
  render() {
35307
35906
  const mode = getIonMode$1(this);
35308
35907
  const size = this.getSize();
35309
- return (hAsync(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses$1(this.color, {
35908
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
35310
35909
  [mode]: true,
35311
35910
  [`title-${size}`]: true,
35312
35911
  'title-rtl': document.dir === 'rtl',
35313
- }) }, hAsync("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, hAsync("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
35912
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
35314
35913
  }
35315
35914
  get el() { return getElement(this); }
35316
35915
  static get watchers() { return {
@@ -35369,6 +35968,7 @@ registerComponents([
35369
35968
  InfiniteScroll,
35370
35969
  InfiniteScrollContent,
35371
35970
  Input,
35971
+ InputOTP,
35372
35972
  InputPasswordToggle,
35373
35973
  Item,
35374
35974
  ItemDivider,