@ionic/core 8.5.7-dev.11747949628.1b740070 → 8.5.7-dev.11748466845.12de1519

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 +23 -0
  2. package/components/ion-input-otp.d.ts +11 -0
  3. package/components/ion-input-otp.js +625 -0
  4. package/components/ion-input-password-toggle.js +3 -3
  5. package/components/ion-input.js +2 -10
  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-DGvxKeWy.js → input-shims-CQQtxW4l.js} +23 -0
  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 +588 -0
  87. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +5 -5
  88. package/dist/cjs/ion-input.cjs.entry.js +4 -12
  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 +2 -10
  129. package/dist/collection/components/input-otp/input-otp-interface.js +1 -0
  130. package/dist/collection/components/input-otp/input-otp.ios.css +381 -0
  131. package/dist/collection/components/input-otp/input-otp.js +1013 -0
  132. package/dist/collection/components/input-otp/input-otp.md.css +381 -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 +23 -0
  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-qlIPzMSm.js → input-shims-Km36_5AQ.js} +23 -0
  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 +586 -0
  217. package/dist/esm/ion-input-password-toggle.entry.js +5 -5
  218. package/dist/esm/ion-input.entry.js +4 -12
  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-3edb2346.entry.js → p-1da92348.entry.js} +1 -1
  265. package/dist/ionic/{p-12b44c66.entry.js → p-1e9ea564.entry.js} +1 -1
  266. package/dist/ionic/p-1fe35f29.entry.js +4 -0
  267. package/dist/ionic/{p-f0c5ea4c.entry.js → p-2438054c.entry.js} +1 -1
  268. package/dist/ionic/{p-b2b0f539.entry.js → p-250c972f.entry.js} +1 -1
  269. package/dist/ionic/{p-306eab7a.entry.js → p-2517fcdf.entry.js} +1 -1
  270. package/dist/ionic/{p-61f52724.entry.js → p-29186993.entry.js} +1 -1
  271. package/dist/ionic/{p-89e3b3c6.entry.js → p-2c6931ed.entry.js} +1 -1
  272. package/dist/ionic/{p-112af08b.entry.js → p-2e42fa68.entry.js} +1 -1
  273. package/dist/ionic/{p-EP3pwcdb.js → p-3GtB1kQI.js} +2 -2
  274. package/dist/ionic/{p-e2e4b1f1.entry.js → p-3ca63859.entry.js} +1 -1
  275. package/dist/ionic/{p-bc9feb4b.entry.js → p-3fa87259.entry.js} +1 -1
  276. package/dist/ionic/{p-08232f2d.entry.js → p-43f012a4.entry.js} +1 -1
  277. package/dist/ionic/{p-ff362ebc.entry.js → p-5756b724.entry.js} +1 -1
  278. package/dist/ionic/{p-4a5cf7ac.entry.js → p-592db4a8.entry.js} +1 -1
  279. package/dist/ionic/{p-a9997b1b.entry.js → p-691fa8c7.entry.js} +1 -1
  280. package/dist/ionic/{p-38598652.entry.js → p-6bd192d8.entry.js} +1 -1
  281. package/dist/ionic/{p-d887000e.entry.js → p-7a6c96ca.entry.js} +1 -1
  282. package/dist/ionic/p-8c496d65.entry.js +4 -0
  283. package/dist/ionic/{p-46c15fe2.entry.js → p-8d7afec5.entry.js} +1 -1
  284. package/dist/ionic/{p-93996b12.entry.js → p-920540c6.entry.js} +1 -1
  285. package/dist/ionic/{p-e471e1e5.entry.js → p-9262223a.entry.js} +1 -1
  286. package/dist/ionic/{p-5fb997f8.entry.js → p-96d912f5.entry.js} +1 -1
  287. package/dist/ionic/{p-49122d48.entry.js → p-98f759e4.entry.js} +1 -1
  288. package/dist/ionic/{p-c19bc276.entry.js → p-99cc16fb.entry.js} +1 -1
  289. package/dist/ionic/{p-46a1ce99.entry.js → p-9c7d7711.entry.js} +1 -1
  290. package/dist/ionic/p-B7Khsp7D.js +4 -0
  291. package/dist/ionic/{p-DCstKNei.js → p-BBMlbfDQ.js} +1 -1
  292. package/dist/ionic/{p-LpklIrOy.js → p-BC2IYr2c.js} +1 -1
  293. package/dist/ionic/p-BcSCNsNs.js +4 -0
  294. package/dist/ionic/{p-Uz6zKimy.js → p-CGyDG2ar.js} +1 -1
  295. package/dist/ionic/p-CO_y91jJ.js +4 -0
  296. package/dist/ionic/{p-DPhSdjFK.js → p-CjUUcfjC.js} +1 -1
  297. package/dist/ionic/{p-Dnc554yu.js → p-CuVupNFU.js} +1 -1
  298. package/dist/ionic/{p-BSMFLyVh.js → p-DYqTiW2v.js} +1 -1
  299. package/dist/ionic/{p-484073b5.entry.js → p-a20a15cc.entry.js} +1 -1
  300. package/dist/ionic/{p-5b8abc2f.entry.js → p-a22fe54d.entry.js} +1 -1
  301. package/dist/ionic/{p-38dcbd40.entry.js → p-b18a4590.entry.js} +1 -1
  302. package/dist/ionic/{p-c9bca536.entry.js → p-b9fc80d5.entry.js} +1 -1
  303. package/dist/ionic/{p-aeb7297a.entry.js → p-bc84650a.entry.js} +1 -1
  304. package/dist/ionic/p-bf6b00ab.entry.js +4 -0
  305. package/dist/ionic/{p-a26637b1.entry.js → p-c1b0e3b6.entry.js} +1 -1
  306. package/dist/ionic/p-cc51b53c.entry.js +4 -0
  307. package/dist/ionic/{p-4119d144.entry.js → p-cde545fa.entry.js} +1 -1
  308. package/dist/ionic/{p-ce26cd7d.entry.js → p-d4742f5c.entry.js} +1 -1
  309. package/dist/ionic/p-d7a74bde.entry.js +4 -0
  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 +272 -0
  325. package/dist/types/components.d.ts +167 -0
  326. package/dist/types/interface.d.ts +1 -0
  327. package/hydrate/index.js +706 -109
  328. package/hydrate/index.mjs +706 -109
  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-94375099.entry.js +0 -4
  334. package/dist/ionic/p-CqNf-A5G.js +0 -4
  335. package/dist/ionic/p-DjV8cNim.js +0 -4
  336. package/dist/ionic/p-EglNvYQn.js +0 -4
package/hydrate/index.js CHANGED
@@ -2874,6 +2874,9 @@ var setContentReference = (elm) => {
2874
2874
  contentRefElm["s-cn"] = true;
2875
2875
  insertBefore(elm, contentRefElm, elm.firstChild);
2876
2876
  };
2877
+
2878
+ // src/runtime/fragment.ts
2879
+ var Fragment = (_, children) => children;
2877
2880
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2878
2881
  if (listeners && win$2.document) {
2879
2882
  listeners.map(([flags, name, method]) => {
@@ -16411,7 +16414,7 @@ class Input {
16411
16414
  this.ionChange = createEvent(this, "ionChange", 7);
16412
16415
  this.ionBlur = createEvent(this, "ionBlur", 7);
16413
16416
  this.ionFocus = createEvent(this, "ionFocus", 7);
16414
- this.inputId = `ion-input-${inputIds++}`;
16417
+ this.inputId = `ion-input-${inputIds$1++}`;
16415
16418
  this.helperTextId = `${this.inputId}-helper-text`;
16416
16419
  this.errorTextId = `${this.inputId}-error-text`;
16417
16420
  this.inheritedAttributes = {};
@@ -16867,22 +16870,14 @@ class Input {
16867
16870
  'in-item': inItem,
16868
16871
  'in-item-color': hostContext('ion-item.ion-color', this.el),
16869
16872
  'input-disabled': disabled,
16870
- }) }, 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) => {
16873
+ }) }, 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
16874
  /**
16872
16875
  * This prevents mobile browsers from
16873
16876
  * blurring the input when the clear
16874
16877
  * button is activated.
16875
16878
  */
16876
16879
  ev.preventDefault();
16877
- }, onFocusin: (ev) => {
16878
- /**
16879
- * Prevent the focusin event from bubbling otherwise it will cause the focusin
16880
- * event listener in scroll assist to fire. When this fires, focus will be moved
16881
- * back to the input even if the clear button was never tapped. This poses issues
16882
- * for screen readers as it means users would be unable to swipe past the clear button.
16883
- */
16884
- ev.stopPropagation();
16885
- }, 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()));
16880
+ }, 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()));
16886
16881
  }
16887
16882
  get el() { return getElement(this); }
16888
16883
  static get watchers() { return {
@@ -16942,6 +16937,607 @@ class Input {
16942
16937
  "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
16943
16938
  }; }
16944
16939
  }
16940
+ let inputIds$1 = 0;
16941
+
16942
+ 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-description-hidden.sc-ion-input-otp-ios{display:none}.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))))}";
16943
+
16944
+ 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-description-hidden.sc-ion-input-otp-md{display:none}.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))}";
16945
+
16946
+ class InputOTP {
16947
+ constructor(hostRef) {
16948
+ registerInstance(this, hostRef);
16949
+ this.ionInput = createEvent(this, "ionInput", 7);
16950
+ this.ionChange = createEvent(this, "ionChange", 7);
16951
+ this.ionComplete = createEvent(this, "ionComplete", 7);
16952
+ this.ionBlur = createEvent(this, "ionBlur", 7);
16953
+ this.ionFocus = createEvent(this, "ionFocus", 7);
16954
+ this.inheritedAttributes = {};
16955
+ this.inputRefs = [];
16956
+ this.inputId = `ion-input-otp-${inputIds++}`;
16957
+ this.parsedSeparators = [];
16958
+ /**
16959
+ * Tracks whether the user is navigating through input boxes using keyboard navigation
16960
+ * (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
16961
+ * focus behavior when an input box is focused.
16962
+ */
16963
+ this.isKeyboardNavigation = false;
16964
+ this.inputValues = [];
16965
+ this.hasFocus = false;
16966
+ /**
16967
+ * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16968
+ * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
16969
+ */
16970
+ this.autocapitalize = 'off';
16971
+ /**
16972
+ * If `true`, the user cannot interact with the input.
16973
+ */
16974
+ this.disabled = false;
16975
+ /**
16976
+ * The fill for the input boxes. If `"solid"` the input boxes will have a background. If
16977
+ * `"outline"` the input boxes will be transparent with a border.
16978
+ */
16979
+ this.fill = 'outline';
16980
+ /**
16981
+ * The number of input boxes to display.
16982
+ */
16983
+ this.length = 4;
16984
+ /**
16985
+ * If `true`, the user cannot modify the value.
16986
+ */
16987
+ this.readonly = false;
16988
+ /**
16989
+ * The shape of the input boxes.
16990
+ * If "round" they will have an increased border radius.
16991
+ * If "rectangular" they will have no border radius.
16992
+ * If "soft" they will have a soft border radius.
16993
+ */
16994
+ this.shape = 'round';
16995
+ /**
16996
+ * The size of the input boxes.
16997
+ */
16998
+ this.size = 'medium';
16999
+ /**
17000
+ * The type of input allowed in the input boxes.
17001
+ */
17002
+ this.type = 'number';
17003
+ /**
17004
+ * The value of the input group.
17005
+ */
17006
+ this.value = '';
17007
+ /**
17008
+ * Handles the focus behavior for the input OTP component.
17009
+ *
17010
+ * Focus behavior:
17011
+ * 1. Keyboard navigation: Allow normal focus movement
17012
+ * 2. Mouse click:
17013
+ * - If clicked box has value: Focus that box
17014
+ * - If clicked box is empty: Focus first empty box
17015
+ *
17016
+ * Emits the `ionFocus` event when the input group gains focus.
17017
+ */
17018
+ this.onFocus = (index) => (event) => {
17019
+ var _a;
17020
+ const { inputRefs } = this;
17021
+ // Only emit ionFocus and set the focusedValue when the
17022
+ // component first gains focus
17023
+ if (!this.hasFocus) {
17024
+ this.ionFocus.emit(event);
17025
+ this.focusedValue = this.value;
17026
+ }
17027
+ this.hasFocus = true;
17028
+ let finalIndex = index;
17029
+ if (!this.isKeyboardNavigation) {
17030
+ // If the clicked box has a value, focus it
17031
+ // Otherwise focus the first empty box
17032
+ const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
17033
+ finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
17034
+ // Focus the target box
17035
+ (_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17036
+ }
17037
+ // Update tabIndexes to match the focused box
17038
+ inputRefs.forEach((input, i) => {
17039
+ input.tabIndex = i === finalIndex ? 0 : -1;
17040
+ });
17041
+ // Reset the keyboard navigation flag
17042
+ this.isKeyboardNavigation = false;
17043
+ };
17044
+ /**
17045
+ * Handles the blur behavior for the input OTP component.
17046
+ * Emits the `ionBlur` event when the input group loses focus.
17047
+ */
17048
+ this.onBlur = (event) => {
17049
+ const { inputRefs } = this;
17050
+ const relatedTarget = event.relatedTarget;
17051
+ // Do not emit blur if we're moving to another input box in the same component
17052
+ const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
17053
+ if (!isInternalFocus) {
17054
+ this.hasFocus = false;
17055
+ // Reset tabIndexes when focus leaves the component
17056
+ this.updateTabIndexes();
17057
+ // Always emit ionBlur when focus leaves the component
17058
+ this.ionBlur.emit(event);
17059
+ // Only emit ionChange if the value has actually changed
17060
+ if (this.focusedValue !== this.value) {
17061
+ this.emitIonChange(event);
17062
+ }
17063
+ }
17064
+ };
17065
+ /**
17066
+ * Handles keyboard navigation and input for the OTP component.
17067
+ *
17068
+ * Navigation:
17069
+ * - Backspace: Clears current input and moves to previous box if empty
17070
+ * - Arrow Left/Right: Moves focus between input boxes
17071
+ * - Tab: Allows normal tab navigation between components
17072
+ *
17073
+ * Input Behavior:
17074
+ * - Validates input against the allowed pattern
17075
+ * - When entering a key in a filled box:
17076
+ * - Shifts existing values right if there is room
17077
+ * - Updates the value of the input group
17078
+ * - Prevents default behavior to avoid automatic focus shift
17079
+ */
17080
+ this.onKeyDown = (index) => (event) => {
17081
+ const { length } = this;
17082
+ const rtl = isRTL$1(this.el);
17083
+ const input = event.target;
17084
+ const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
17085
+ const isTextSelection = input.selectionStart !== input.selectionEnd;
17086
+ // Return if the key is the paste shortcut or the input value
17087
+ // text is selected and let the onPaste / onInput handler manage it
17088
+ if (isPasteShortcut || isTextSelection) {
17089
+ return;
17090
+ }
17091
+ if (event.key === 'Backspace') {
17092
+ if (this.inputValues[index]) {
17093
+ // Shift all values to the right of the current index left by one
17094
+ for (let i = index; i < length - 1; i++) {
17095
+ this.inputValues[i] = this.inputValues[i + 1];
17096
+ }
17097
+ // Clear the last box
17098
+ this.inputValues[length - 1] = '';
17099
+ // Update all inputRefs to match inputValues
17100
+ for (let i = 0; i < length; i++) {
17101
+ this.inputRefs[i].value = this.inputValues[i] || '';
17102
+ }
17103
+ this.updateValue(event);
17104
+ event.preventDefault();
17105
+ }
17106
+ else if (!this.inputValues[index] && index > 0) {
17107
+ // If current input is empty, move to previous input
17108
+ this.focusPrevious(index);
17109
+ }
17110
+ }
17111
+ else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
17112
+ this.isKeyboardNavigation = true;
17113
+ event.preventDefault();
17114
+ const isLeft = event.key === 'ArrowLeft';
17115
+ const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
17116
+ // Only allow moving to the next input if the current has a value
17117
+ if (shouldMoveNext) {
17118
+ if (this.inputValues[index] && index < length - 1) {
17119
+ this.focusNext(index);
17120
+ }
17121
+ }
17122
+ else {
17123
+ this.focusPrevious(index);
17124
+ }
17125
+ }
17126
+ else if (event.key === 'Tab') {
17127
+ this.isKeyboardNavigation = true;
17128
+ // Let all tab events proceed normally
17129
+ return;
17130
+ }
17131
+ // If the input box contains a value and the key being
17132
+ // entered is a valid key for the input box update the value
17133
+ // and shift the values to the right if there is room.
17134
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
17135
+ if (!this.inputValues[length - 1]) {
17136
+ for (let i = length - 1; i > index; i--) {
17137
+ this.inputValues[i] = this.inputValues[i - 1];
17138
+ this.inputRefs[i].value = this.inputValues[i] || '';
17139
+ }
17140
+ }
17141
+ this.inputValues[index] = event.key;
17142
+ this.inputRefs[index].value = event.key;
17143
+ this.updateValue(event);
17144
+ // Prevent default to avoid the browser from
17145
+ // automatically moving the focus to the next input
17146
+ event.preventDefault();
17147
+ }
17148
+ };
17149
+ this.onInput = (index) => (event) => {
17150
+ const { validKeyPattern } = this;
17151
+ const value = event.target.value;
17152
+ // Only allow input if it's a single character and matches the pattern
17153
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
17154
+ // Reset the input value if not valid
17155
+ this.inputRefs[index].value = '';
17156
+ this.inputValues[index] = '';
17157
+ return;
17158
+ }
17159
+ // Find the first empty box before or at the current index
17160
+ let targetIndex = index;
17161
+ for (let i = 0; i < index; i++) {
17162
+ if (!this.inputValues[i] || this.inputValues[i] === '') {
17163
+ targetIndex = i;
17164
+ break;
17165
+ }
17166
+ }
17167
+ // Set the value at the target index
17168
+ this.inputValues[targetIndex] = value;
17169
+ // If the value was entered in a later box, clear the current box
17170
+ if (targetIndex !== index) {
17171
+ this.inputRefs[index].value = '';
17172
+ }
17173
+ if (value.length > 0) {
17174
+ this.focusNext(targetIndex);
17175
+ }
17176
+ this.updateValue(event);
17177
+ };
17178
+ /**
17179
+ * Handles pasting text into the input OTP component.
17180
+ * This function prevents the default paste behavior and
17181
+ * validates the pasted text against the allowed pattern.
17182
+ * It then updates the value of the input group and focuses
17183
+ * the next empty input after pasting.
17184
+ */
17185
+ this.onPaste = (event) => {
17186
+ var _a, _b, _c;
17187
+ const { inputRefs, length, validKeyPattern } = this;
17188
+ event.preventDefault();
17189
+ const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
17190
+ // If there is no pasted text, still emit the input change event
17191
+ // because this is how the native input element behaves
17192
+ // but return early because there is nothing to paste.
17193
+ if (!pastedText) {
17194
+ this.emitIonInput(event);
17195
+ return;
17196
+ }
17197
+ const validChars = pastedText
17198
+ .split('')
17199
+ .filter((char) => validKeyPattern.test(char))
17200
+ .slice(0, length);
17201
+ // Always paste starting at the first box
17202
+ validChars.forEach((char, index) => {
17203
+ if (index < length) {
17204
+ this.inputRefs[index].value = char;
17205
+ this.inputValues[index] = char;
17206
+ }
17207
+ });
17208
+ // Update the value so that all input boxes are updated
17209
+ this.value = validChars.join('');
17210
+ this.updateValue(event);
17211
+ // Focus the next empty input after pasting
17212
+ // If all boxes are filled, focus the last input
17213
+ const nextEmptyIndex = validChars.length;
17214
+ if (nextEmptyIndex < length) {
17215
+ (_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17216
+ }
17217
+ else {
17218
+ (_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
17219
+ }
17220
+ };
17221
+ }
17222
+ /**
17223
+ * Resets the value and focus state.
17224
+ */
17225
+ async reset() {
17226
+ this.value = '';
17227
+ this.focusedValue = null;
17228
+ this.hasFocus = false;
17229
+ this.inputRefs.forEach((input) => {
17230
+ input.blur();
17231
+ });
17232
+ this.updateTabIndexes();
17233
+ }
17234
+ /**
17235
+ * Sets focus to an input box.
17236
+ * @param index - The index of the input box to focus (0-based).
17237
+ * If provided and the input box has a value, the input box at that index will be focused.
17238
+ * Otherwise, the first empty input box or the last input if all are filled will be focused.
17239
+ */
17240
+ async setFocus(index) {
17241
+ var _a, _b;
17242
+ if (typeof index === 'number') {
17243
+ const validIndex = Math.max(0, Math.min(index, this.length - 1));
17244
+ (_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17245
+ }
17246
+ else {
17247
+ const tabbableIndex = this.getTabbableIndex();
17248
+ (_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17249
+ }
17250
+ }
17251
+ valueChanged() {
17252
+ this.initializeValues();
17253
+ }
17254
+ /**
17255
+ * Processes the separators prop into an array of numbers.
17256
+ *
17257
+ * If the separators prop is not provided, returns an empty array.
17258
+ * If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
17259
+ * If the separators prop is an array, returns it as is.
17260
+ * If the separators prop is a string, splits it by commas and parses each part as a number.
17261
+ *
17262
+ * If the separators are greater than the input length, it will warn and ignore the separators.
17263
+ */
17264
+ processSeparators() {
17265
+ const { separators, length } = this;
17266
+ if (separators === undefined) {
17267
+ this.parsedSeparators = [];
17268
+ return;
17269
+ }
17270
+ if (typeof separators === 'string' && separators !== 'all') {
17271
+ const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
17272
+ if (!isValidFormat) {
17273
+ printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
17274
+ this.parsedSeparators = [];
17275
+ return;
17276
+ }
17277
+ }
17278
+ let separatorValues;
17279
+ if (separators === 'all') {
17280
+ separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
17281
+ }
17282
+ else if (Array.isArray(separators)) {
17283
+ separatorValues = separators;
17284
+ }
17285
+ else {
17286
+ separatorValues = separators
17287
+ .split(',')
17288
+ .map((pos) => parseInt(pos, 10))
17289
+ .filter((pos) => !isNaN(pos));
17290
+ }
17291
+ // Check for duplicate separator positions
17292
+ const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
17293
+ if (duplicates.length > 0) {
17294
+ printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
17295
+ }
17296
+ const invalidSeparators = separatorValues.filter((pos) => pos > length);
17297
+ if (invalidSeparators.length > 0) {
17298
+ printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
17299
+ }
17300
+ this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
17301
+ }
17302
+ componentWillLoad() {
17303
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
17304
+ this.processSeparators();
17305
+ this.initializeValues();
17306
+ }
17307
+ componentDidLoad() {
17308
+ this.updateTabIndexes();
17309
+ }
17310
+ /**
17311
+ * Get the regex pattern for allowed characters.
17312
+ * If a pattern is provided, use it to create a regex pattern
17313
+ * Otherwise, use the default regex pattern based on type
17314
+ */
17315
+ get validKeyPattern() {
17316
+ return new RegExp(`^${this.getPattern()}$`, 'u');
17317
+ }
17318
+ /**
17319
+ * Gets the string pattern to pass to the input element
17320
+ * and use in the regex for allowed characters.
17321
+ */
17322
+ getPattern() {
17323
+ const { pattern, type } = this;
17324
+ if (pattern) {
17325
+ return pattern;
17326
+ }
17327
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
17328
+ }
17329
+ /**
17330
+ * Get the default value for inputmode.
17331
+ * If inputmode is provided, use it.
17332
+ * Otherwise, use the default inputmode based on type
17333
+ */
17334
+ getInputmode() {
17335
+ const { inputmode } = this;
17336
+ if (inputmode) {
17337
+ return inputmode;
17338
+ }
17339
+ if (this.type == 'number') {
17340
+ return 'numeric';
17341
+ }
17342
+ else {
17343
+ return 'text';
17344
+ }
17345
+ }
17346
+ /**
17347
+ * Initializes the input values array based on the current value prop.
17348
+ * This splits the value into individual characters and validates them against
17349
+ * the allowed pattern. The values are then used as the values in the native
17350
+ * input boxes and the value of the input group is updated.
17351
+ */
17352
+ initializeValues() {
17353
+ // Clear all input values
17354
+ this.inputValues = Array(this.length).fill('');
17355
+ // If the value is null, undefined, or an empty string, return
17356
+ if (this.value == null || String(this.value).length === 0) {
17357
+ return;
17358
+ }
17359
+ // Split the value into individual characters and validate
17360
+ // them against the allowed pattern
17361
+ const chars = String(this.value).split('').slice(0, this.length);
17362
+ chars.forEach((char, index) => {
17363
+ if (this.validKeyPattern.test(char)) {
17364
+ this.inputValues[index] = char;
17365
+ }
17366
+ });
17367
+ // Update the value without emitting events
17368
+ this.value = this.inputValues.join('');
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
+ this.updateTabIndexes();
17384
+ }
17385
+ /**
17386
+ * Emits an `ionChange` event.
17387
+ * This API should be called for user committed changes.
17388
+ * This API should not be used for external value changes.
17389
+ */
17390
+ emitIonChange(event) {
17391
+ const { value } = this;
17392
+ // Checks for both null and undefined values
17393
+ const newValue = value == null ? value : value.toString();
17394
+ this.ionChange.emit({ value: newValue, event });
17395
+ }
17396
+ /**
17397
+ * Emits an `ionInput` event.
17398
+ * This is used to emit the input value when the user types,
17399
+ * backspaces, or pastes.
17400
+ */
17401
+ emitIonInput(event) {
17402
+ const { value } = this;
17403
+ // Checks for both null and undefined values
17404
+ const newValue = value == null ? value : value.toString();
17405
+ this.ionInput.emit({ value: newValue, event });
17406
+ }
17407
+ /**
17408
+ * Focuses the next input box.
17409
+ */
17410
+ focusNext(currentIndex) {
17411
+ var _a;
17412
+ const { inputRefs, length } = this;
17413
+ if (currentIndex < length - 1) {
17414
+ (_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
17415
+ }
17416
+ }
17417
+ /**
17418
+ * Focuses the previous input box.
17419
+ */
17420
+ focusPrevious(currentIndex) {
17421
+ var _a;
17422
+ const { inputRefs } = this;
17423
+ if (currentIndex > 0) {
17424
+ (_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
17425
+ }
17426
+ }
17427
+ /**
17428
+ * Searches through the input values and returns the index
17429
+ * of the first empty input.
17430
+ * Returns -1 if all inputs are filled.
17431
+ */
17432
+ getFirstEmptyIndex() {
17433
+ var _a;
17434
+ const { inputValues, length } = this;
17435
+ // Create an array of the same length as the input OTP
17436
+ // and fill it with the input values
17437
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
17438
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
17439
+ }
17440
+ /**
17441
+ * Returns the index of the input that should be tabbed to.
17442
+ * If all inputs are filled, returns the last input's index.
17443
+ * Otherwise, returns the index of the first empty input.
17444
+ */
17445
+ getTabbableIndex() {
17446
+ const { length } = this;
17447
+ const firstEmptyIndex = this.getFirstEmptyIndex();
17448
+ return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
17449
+ }
17450
+ /**
17451
+ * Updates the tabIndexes for the input boxes.
17452
+ * This is used to ensure that the correct input is
17453
+ * focused when the user navigates using the tab key.
17454
+ */
17455
+ updateTabIndexes() {
17456
+ const { inputRefs, inputValues, length } = this;
17457
+ // Find first empty index after any filled boxes
17458
+ let firstEmptyIndex = -1;
17459
+ for (let i = 0; i < length; i++) {
17460
+ if (!inputValues[i] || inputValues[i] === '') {
17461
+ firstEmptyIndex = i;
17462
+ break;
17463
+ }
17464
+ }
17465
+ // Update tabIndex and aria-hidden for all inputs
17466
+ inputRefs.forEach((input, index) => {
17467
+ const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
17468
+ input.tabIndex = shouldBeTabbable ? 0 : -1;
17469
+ // If the input is empty and not the first empty input,
17470
+ // it should be hidden from screen readers.
17471
+ const isEmpty = !inputValues[index] || inputValues[index] === '';
17472
+ input.setAttribute('aria-hidden', isEmpty && !shouldBeTabbable ? 'true' : 'false');
17473
+ });
17474
+ }
17475
+ /**
17476
+ * Determines if a separator should be shown for a given index by
17477
+ * checking if the index is included in the parsed separators array.
17478
+ */
17479
+ showSeparator(index) {
17480
+ const { length } = this;
17481
+ return this.parsedSeparators.includes(index + 1) && index < length - 1;
17482
+ }
17483
+ render() {
17484
+ var _a, _b;
17485
+ const { autocapitalize, color, disabled, el, fill, hasFocus, inheritedAttributes, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
17486
+ const mode = getIonMode$1(this);
17487
+ const inputmode = this.getInputmode();
17488
+ const tabbableIndex = this.getTabbableIndex();
17489
+ const pattern = this.getPattern();
17490
+ const hasDescription = ((_b = (_a = el.querySelector('.input-otp-description')) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== '';
17491
+ return (hAsync(Host, { key: '973743fa99d77dbdaaf9b630b64180a189b5d778', class: createColorClasses$1(color, {
17492
+ [mode]: true,
17493
+ 'has-focus': hasFocus,
17494
+ [`input-otp-size-${size}`]: true,
17495
+ [`input-otp-shape-${shape}`]: true,
17496
+ [`input-otp-fill-${fill}`]: true,
17497
+ 'input-otp-disabled': disabled,
17498
+ 'input-otp-readonly': readonly,
17499
+ }) }, hAsync("div", Object.assign({ key: '3891cbdc07d4fa017ea04590bbb6225ab68deff2', role: "group", "aria-label": "One-time password input", class: "input-otp-group" }, inheritedAttributes), 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: '0d3cfa8c081552d0c52a544a1c52c0e3d5d4f532', class: {
17500
+ 'input-otp-description': true,
17501
+ 'input-otp-description-hidden': !hasDescription,
17502
+ } }, hAsync("slot", { key: '13c3f795956749ccdf396bfb0ff882a9c9e9ce81' }))));
17503
+ }
17504
+ get el() { return getElement(this); }
17505
+ static get watchers() { return {
17506
+ "value": ["valueChanged"],
17507
+ "separators": ["processSeparators"],
17508
+ "length": ["processSeparators"]
17509
+ }; }
17510
+ static get style() { return {
17511
+ ios: inputOtpIosCss,
17512
+ md: inputOtpMdCss
17513
+ }; }
17514
+ static get cmpMeta() { return {
17515
+ "$flags$": 38,
17516
+ "$tagName$": "ion-input-otp",
17517
+ "$members$": {
17518
+ "autocapitalize": [1],
17519
+ "color": [513],
17520
+ "disabled": [516],
17521
+ "fill": [1],
17522
+ "inputmode": [1],
17523
+ "length": [2],
17524
+ "pattern": [1],
17525
+ "readonly": [516],
17526
+ "separators": [1],
17527
+ "shape": [1],
17528
+ "size": [1],
17529
+ "type": [1],
17530
+ "value": [1032],
17531
+ "inputValues": [32],
17532
+ "hasFocus": [32],
17533
+ "reset": [64],
17534
+ "setFocus": [64]
17535
+ },
17536
+ "$listeners$": undefined,
17537
+ "$lazyBundleId$": "-",
17538
+ "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
17539
+ }; }
17540
+ }
16945
17541
  let inputIds = 0;
16946
17542
 
16947
17543
  const iosInputPasswordToggleCss = "";
@@ -17003,16 +17599,16 @@ class InputPasswordToggle {
17003
17599
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
17004
17600
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
17005
17601
  const isPasswordVisible = type === 'text';
17006
- return (hAsync(Host, { key: '1a28e078c83e74c72d8bb8189ece93ec2e3fa3d0', class: createColorClasses$1(color, {
17602
+ return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
17007
17603
  [mode]: true,
17008
- }) }, 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) => {
17604
+ }) }, 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) => {
17009
17605
  /**
17010
17606
  * This prevents mobile browsers from
17011
17607
  * blurring the input when the password toggle
17012
17608
  * button is activated.
17013
17609
  */
17014
17610
  ev.preventDefault();
17015
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '26477ee97b808c3d79944bf5e33d4e05f1ae0b3f', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17611
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17016
17612
  }
17017
17613
  get el() { return getElement(this); }
17018
17614
  static get watchers() { return {
@@ -17322,11 +17918,11 @@ class ItemDivider {
17322
17918
  }
17323
17919
  render() {
17324
17920
  const mode = getIonMode$1(this);
17325
- return (hAsync(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses$1(this.color, {
17921
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
17326
17922
  [mode]: true,
17327
17923
  'item-divider-sticky': this.sticky,
17328
17924
  item: true,
17329
- }) }, 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" }))));
17925
+ }) }, 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" }))));
17330
17926
  }
17331
17927
  get el() { return getElement(this); }
17332
17928
  static get style() { return {
@@ -17356,7 +17952,7 @@ class ItemGroup {
17356
17952
  }
17357
17953
  render() {
17358
17954
  const mode = getIonMode$1(this);
17359
- return (hAsync(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
17955
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
17360
17956
  [mode]: true,
17361
17957
  // Used internally for styling
17362
17958
  [`item-group-${mode}`]: true,
@@ -17426,12 +18022,12 @@ class ItemOption {
17426
18022
  href: this.href,
17427
18023
  target: this.target,
17428
18024
  };
17429
- return (hAsync(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses$1(this.color, {
18025
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
17430
18026
  [mode]: true,
17431
18027
  'item-option-disabled': disabled,
17432
18028
  'item-option-expandable': expandable,
17433
18029
  'ion-activatable': true,
17434
- }) }, 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' }))));
18030
+ }) }, 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' }))));
17435
18031
  }
17436
18032
  get el() { return getElement(this); }
17437
18033
  static get style() { return {
@@ -17480,7 +18076,7 @@ class ItemOptions {
17480
18076
  render() {
17481
18077
  const mode = getIonMode$1(this);
17482
18078
  const isEnd = isEndSide(this.side);
17483
- return (hAsync(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
18079
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
17484
18080
  [mode]: true,
17485
18081
  // Used internally for styling
17486
18082
  [`item-options-${mode}`]: true,
@@ -17944,7 +18540,7 @@ class ItemSliding {
17944
18540
  }
17945
18541
  render() {
17946
18542
  const mode = getIonMode$1(this);
17947
- return (hAsync(Host, { key: 'f8aea4bb9802b111ef358cc6c172a635637ae1f8', class: {
18543
+ return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
17948
18544
  [mode]: true,
17949
18545
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
17950
18546
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18049,13 +18645,13 @@ class Label {
18049
18645
  render() {
18050
18646
  const position = this.position;
18051
18647
  const mode = getIonMode$1(this);
18052
- return (hAsync(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses$1(this.color, {
18648
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18053
18649
  [mode]: true,
18054
18650
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18055
18651
  [`label-${position}`]: position !== undefined,
18056
18652
  [`label-no-animate`]: this.noAnimate,
18057
18653
  'label-rtl': document.dir === 'rtl',
18058
- }) }, hAsync("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
18654
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18059
18655
  }
18060
18656
  get el() { return getElement(this); }
18061
18657
  static get watchers() { return {
@@ -18111,7 +18707,7 @@ class List {
18111
18707
  render() {
18112
18708
  const mode = getIonMode$1(this);
18113
18709
  const { lines, inset } = this;
18114
- return (hAsync(Host, { key: '5ff2b0b3989cc99ce17abb8bcd7ec1847940d1ec', role: "list", class: {
18710
+ return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
18115
18711
  [mode]: true,
18116
18712
  // Used internally for styling
18117
18713
  [`list-${mode}`]: true,
@@ -18153,10 +18749,10 @@ class ListHeader {
18153
18749
  render() {
18154
18750
  const { lines } = this;
18155
18751
  const mode = getIonMode$1(this);
18156
- return (hAsync(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses$1(this.color, {
18752
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
18157
18753
  [mode]: true,
18158
18754
  [`list-header-lines-${lines}`]: lines !== undefined,
18159
- }) }, hAsync("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, hAsync("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
18755
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
18160
18756
  }
18161
18757
  static get style() { return {
18162
18758
  ios: listHeaderIosCss,
@@ -18442,9 +19038,9 @@ class Loading {
18442
19038
  * Otherwise, don't set aria-labelledby.
18443
19039
  */
18444
19040
  const ariaLabelledBy = message !== undefined ? msgId : null;
18445
- return (hAsync(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19041
+ return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
18446
19042
  zIndex: `${40000 + this.overlayIndex}`,
18447
- }, 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" })));
19043
+ }, 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" })));
18448
19044
  }
18449
19045
  get el() { return getElement(this); }
18450
19046
  static get watchers() { return {
@@ -19468,14 +20064,14 @@ class Menu {
19468
20064
  * the ionBackButton listener in the menu controller
19469
20065
  * will handle closing the menu when Escape is pressed.
19470
20066
  */
19471
- return (hAsync(Host, { key: '0a2ba4ff5600b80b54d1b5b45124779c6aa0d2f2', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20067
+ return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
19472
20068
  [mode]: true,
19473
20069
  [`menu-type-${type}`]: true,
19474
20070
  'menu-enabled': !disabled,
19475
20071
  [`menu-side-${side}`]: true,
19476
20072
  'menu-pane-visible': isPaneVisible,
19477
20073
  'split-pane-side': hostContext('ion-split-pane', el),
19478
- } }, 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" })));
20074
+ } }, 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" })));
19479
20075
  }
19480
20076
  get el() { return getElement(this); }
19481
20077
  static get watchers() { return {
@@ -19583,7 +20179,7 @@ class MenuButton {
19583
20179
  type: this.type,
19584
20180
  };
19585
20181
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
19586
- return (hAsync(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20182
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
19587
20183
  [mode]: true,
19588
20184
  button: true, // ion-buttons target .button
19589
20185
  'menu-button-hidden': hidden,
@@ -19592,7 +20188,7 @@ class MenuButton {
19592
20188
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
19593
20189
  'ion-activatable': true,
19594
20190
  'ion-focusable': true,
19595
- }) }, 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" }))));
20191
+ }) }, 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" }))));
19596
20192
  }
19597
20193
  get el() { return getElement(this); }
19598
20194
  static get style() { return {
@@ -19645,10 +20241,10 @@ class MenuToggle {
19645
20241
  render() {
19646
20242
  const mode = getIonMode$1(this);
19647
20243
  const hidden = this.autoHide && !this.visible;
19648
- return (hAsync(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20244
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
19649
20245
  [mode]: true,
19650
20246
  'menu-toggle-hidden': hidden,
19651
- } }, hAsync("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
20247
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
19652
20248
  }
19653
20249
  static get style() { return menuToggleCss; }
19654
20250
  static get cmpMeta() { return {
@@ -21980,18 +22576,18 @@ class Modal {
21980
22576
  const mode = getIonMode$1(this);
21981
22577
  const isCardModal = presentingElement !== undefined && mode === 'ios';
21982
22578
  const isHandleCycle = handleBehavior === 'cycle';
21983
- return (hAsync(Host, Object.assign({ key: '0991b2e4e32da511e59fb1463b47e4ac1b86d1ca', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
22579
+ return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
21984
22580
  zIndex: `${20000 + this.overlayIndex}`,
21985
- }, 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',
22581
+ }, 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',
21986
22582
  /*
21987
22583
  role and aria-modal must be used on the
21988
22584
  same element. They must also be set inside the
21989
22585
  shadow DOM otherwise ion-button will not be highlighted
21990
22586
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
21991
22587
  */
21992
- 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",
22588
+ 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",
21993
22589
  // Prevents the handle from receiving keyboard focus when it does not cycle
21994
- 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' }))));
22590
+ 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' }))));
21995
22591
  }
21996
22592
  get el() { return getElement(this); }
21997
22593
  static get watchers() { return {
@@ -22938,7 +23534,7 @@ class Nav {
22938
23534
  }
22939
23535
  }
22940
23536
  render() {
22941
- return hAsync("slot", { key: '188d0abd6c047d235380f07aac81223b757010e8' });
23537
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
22942
23538
  }
22943
23539
  get el() { return getElement(this); }
22944
23540
  static get watchers() { return {
@@ -23011,7 +23607,7 @@ class NavLink {
23011
23607
  };
23012
23608
  }
23013
23609
  render() {
23014
- return hAsync(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
23610
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
23015
23611
  }
23016
23612
  get el() { return getElement(this); }
23017
23613
  static get cmpMeta() { return {
@@ -23042,9 +23638,9 @@ class Note {
23042
23638
  }
23043
23639
  render() {
23044
23640
  const mode = getIonMode$1(this);
23045
- return (hAsync(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses$1(this.color, {
23641
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
23046
23642
  [mode]: true,
23047
- }) }, hAsync("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
23643
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
23048
23644
  }
23049
23645
  static get style() { return {
23050
23646
  ios: noteIosCss,
@@ -23804,11 +24400,11 @@ class Picker {
23804
24400
  render() {
23805
24401
  const { htmlAttributes } = this;
23806
24402
  const mode = getIonMode$1(this);
23807
- return (hAsync(Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
24403
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
23808
24404
  zIndex: `${20000 + this.overlayIndex}`,
23809
24405
  }, class: Object.assign({ [mode]: true,
23810
24406
  // Used internally for styling
23811
- [`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" })));
24407
+ [`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" })));
23812
24408
  }
23813
24409
  get el() { return getElement(this); }
23814
24410
  static get watchers() { return {
@@ -24795,9 +25391,9 @@ class PickerColumnCmp {
24795
25391
  render() {
24796
25392
  const col = this.col;
24797
25393
  const mode = getIonMode$1(this);
24798
- 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: {
25394
+ 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: {
24799
25395
  'max-width': this.col.columnWidth,
24800
- } }, 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))));
25396
+ } }, 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))));
24801
25397
  }
24802
25398
  get el() { return getElement(this); }
24803
25399
  static get watchers() { return {
@@ -24914,10 +25510,10 @@ class PickerColumnOption {
24914
25510
  render() {
24915
25511
  const { color, disabled, ariaLabel } = this;
24916
25512
  const mode = getIonMode$1(this);
24917
- return (hAsync(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses$1(color, {
25513
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
24918
25514
  [mode]: true,
24919
25515
  ['option-disabled']: disabled,
24920
- }) }, hAsync("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
25516
+ }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
24921
25517
  }
24922
25518
  get el() { return getElement(this); }
24923
25519
  static get watchers() { return {
@@ -26323,9 +26919,9 @@ class Popover {
26323
26919
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
26324
26920
  const desktop = isPlatform('desktop');
26325
26921
  const enableArrow = arrow && !parentPopover;
26326
- return (hAsync(Host, Object.assign({ key: 'ff24e8d9677711248a36994cce568e74ba151499', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26922
+ return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26327
26923
  zIndex: `${20000 + this.overlayIndex}`,
26328
- }, 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' })))));
26924
+ }, 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' })))));
26329
26925
  }
26330
26926
  get el() { return getElement(this); }
26331
26927
  static get watchers() { return {
@@ -26430,7 +27026,7 @@ class ProgressBar {
26430
27026
  const mode = getIonMode$1(this);
26431
27027
  // If the progress is displayed as a solid bar.
26432
27028
  const progressSolid = buffer === 1;
26433
- return (hAsync(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27029
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
26434
27030
  [mode]: true,
26435
27031
  [`progress-bar-${type}`]: true,
26436
27032
  'progress-paused': paused,
@@ -26614,7 +27210,7 @@ class Radio {
26614
27210
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
26615
27211
  const mode = getIonMode$1(this);
26616
27212
  const inItem = hostContext('ion-item', el);
26617
- return (hAsync(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27213
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
26618
27214
  [mode]: true,
26619
27215
  'in-item': inItem,
26620
27216
  'radio-checked': checked,
@@ -26625,10 +27221,10 @@ class Radio {
26625
27221
  // Focus and active styling should not apply when the radio is in an item
26626
27222
  'ion-activatable': !inItem,
26627
27223
  'ion-focusable': !inItem,
26628
- }), 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: {
27224
+ }), 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: {
26629
27225
  'label-text-wrapper': true,
26630
27226
  'label-text-wrapper-hidden': !hasLabel,
26631
- }, part: "label" }, hAsync("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), hAsync("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
27227
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
26632
27228
  }
26633
27229
  get el() { return getElement(this); }
26634
27230
  static get watchers() { return {
@@ -26851,7 +27447,7 @@ class RadioGroup {
26851
27447
  const { label, labelId, el, name, value } = this;
26852
27448
  const mode = getIonMode$1(this);
26853
27449
  renderHiddenInput(true, el, name, value, false);
26854
- 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' }))));
27450
+ 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' }))));
26855
27451
  }
26856
27452
  get el() { return getElement(this); }
26857
27453
  static get watchers() { return {
@@ -27566,7 +28162,7 @@ class Range {
27566
28162
  const needsEndAdjustment = inItem && !hasEndContent;
27567
28163
  const mode = getIonMode$1(this);
27568
28164
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
27569
- return (hAsync(Host, { key: '3e065039ee048f1f70d97dba5dae98fa1315d867', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28165
+ return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
27570
28166
  [mode]: true,
27571
28167
  'in-item': inItem,
27572
28168
  'range-disabled': disabled,
@@ -27575,10 +28171,10 @@ class Range {
27575
28171
  [`range-label-placement-${labelPlacement}`]: true,
27576
28172
  'range-item-start-adjustment': needsStartAdjustment,
27577
28173
  'range-item-end-adjustment': needsEndAdjustment,
27578
- }) }, hAsync("label", { key: '27ff22842c9ea79a1b9495302b926f70c9080a95', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'da1f9784be02dfe87d2fef34931d8b7f2148189e', class: {
28174
+ }) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
27579
28175
  'label-text-wrapper': true,
27580
28176
  'label-text-wrapper-hidden': !hasLabel,
27581
- }, 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" })))));
28177
+ }, 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" })))));
27582
28178
  }
27583
28179
  get el() { return getElement(this); }
27584
28180
  static get watchers() { return {
@@ -28528,7 +29124,7 @@ class Refresher {
28528
29124
  }
28529
29125
  render() {
28530
29126
  const mode = getIonMode$1(this);
28531
- return (hAsync(Host, { key: 'c717c16f2ca3e42351848cc8ad37918dec28961d', slot: "fixed", class: {
29127
+ return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
28532
29128
  [mode]: true,
28533
29129
  // Used internally for styling
28534
29130
  [`refresher-${mode}`]: true,
@@ -28752,7 +29348,7 @@ class RefresherContent {
28752
29348
  const pullingIcon = this.pullingIcon;
28753
29349
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
28754
29350
  const mode = getIonMode$1(this);
28755
- 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())));
29351
+ 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())));
28756
29352
  }
28757
29353
  get el() { return getElement(this); }
28758
29354
  static get cmpMeta() { return {
@@ -28793,7 +29389,7 @@ class Reorder {
28793
29389
  render() {
28794
29390
  const mode = getIonMode$1(this);
28795
29391
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
28796
- 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" }))));
29392
+ 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" }))));
28797
29393
  }
28798
29394
  get el() { return getElement(this); }
28799
29395
  static get style() { return {
@@ -29049,7 +29645,7 @@ class ReorderGroup {
29049
29645
  }
29050
29646
  render() {
29051
29647
  const mode = getIonMode$1(this);
29052
- return (hAsync(Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
29648
+ return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
29053
29649
  [mode]: true,
29054
29650
  'reorder-enabled': !this.disabled,
29055
29651
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -29165,7 +29761,7 @@ class RippleEffect {
29165
29761
  }
29166
29762
  render() {
29167
29763
  const mode = getIonMode$1(this);
29168
- return (hAsync(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
29764
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
29169
29765
  [mode]: true,
29170
29766
  unbounded: this.unbounded,
29171
29767
  } }));
@@ -30123,10 +30719,10 @@ class RouterLink {
30123
30719
  rel: this.rel,
30124
30720
  target: this.target,
30125
30721
  };
30126
- return (hAsync(Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: createColorClasses$1(this.color, {
30722
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
30127
30723
  [mode]: true,
30128
30724
  'ion-activatable': true,
30129
- }) }, hAsync("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), hAsync("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
30725
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
30130
30726
  }
30131
30727
  static get style() { return routerLinkCss; }
30132
30728
  static get cmpMeta() { return {
@@ -30323,7 +30919,7 @@ class RouterOutlet {
30323
30919
  return true;
30324
30920
  }
30325
30921
  render() {
30326
- return hAsync("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
30922
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
30327
30923
  }
30328
30924
  get el() { return getElement(this); }
30329
30925
  static get watchers() { return {
@@ -30356,7 +30952,7 @@ class Row {
30356
30952
  registerInstance(this, hostRef);
30357
30953
  }
30358
30954
  render() {
30359
- return (hAsync(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
30955
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
30360
30956
  }
30361
30957
  static get style() { return rowCss; }
30362
30958
  static get cmpMeta() { return {
@@ -30799,8 +31395,8 @@ class Searchbar {
30799
31395
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
30800
31396
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
30801
31397
  const shouldShowCancelButton = this.shouldShowCancelButton();
30802
- 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))));
30803
- return (hAsync(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
31398
+ 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))));
31399
+ return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
30804
31400
  [mode]: true,
30805
31401
  'searchbar-animated': animated,
30806
31402
  'searchbar-disabled': this.disabled,
@@ -30810,14 +31406,14 @@ class Searchbar {
30810
31406
  'searchbar-has-focus': this.focused,
30811
31407
  'searchbar-should-show-clear': this.shouldShowClearButton(),
30812
31408
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
30813
- }) }, 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) => {
31409
+ }) }, 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) => {
30814
31410
  /**
30815
31411
  * This prevents mobile browsers from
30816
31412
  * blurring the input when the clear
30817
31413
  * button is activated.
30818
31414
  */
30819
31415
  ev.preventDefault();
30820
- }, 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));
31416
+ }, 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));
30821
31417
  }
30822
31418
  get el() { return getElement(this); }
30823
31419
  static get watchers() { return {
@@ -31412,14 +32008,14 @@ class Segment {
31412
32008
  }
31413
32009
  render() {
31414
32010
  const mode = getIonMode$1(this);
31415
- return (hAsync(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32011
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
31416
32012
  [mode]: true,
31417
32013
  'in-toolbar': hostContext('ion-toolbar', this.el),
31418
32014
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
31419
32015
  'segment-activated': this.activated,
31420
32016
  'segment-disabled': this.disabled,
31421
32017
  'segment-scrollable': this.scrollable,
31422
- }) }, hAsync("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
32018
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
31423
32019
  }
31424
32020
  get el() { return getElement(this); }
31425
32021
  static get watchers() { return {
@@ -31559,7 +32155,7 @@ class SegmentButton {
31559
32155
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
31560
32156
  const mode = getIonMode$1(this);
31561
32157
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
31562
- return (hAsync(Host, { key: 'd79dad80db69123510c6d52bbf4424558600c14a', class: {
32158
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
31563
32159
  [mode]: true,
31564
32160
  'in-toolbar': hostContext('ion-toolbar', this.el),
31565
32161
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -31575,7 +32171,7 @@ class SegmentButton {
31575
32171
  'ion-activatable': true,
31576
32172
  'ion-activatable-instant': true,
31577
32173
  'ion-focusable': true,
31578
- } }, 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" }))));
32174
+ } }, 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" }))));
31579
32175
  }
31580
32176
  get el() { return getElement(this); }
31581
32177
  static get watchers() { return {
@@ -31610,7 +32206,7 @@ class SegmentContent {
31610
32206
  registerInstance(this, hostRef);
31611
32207
  }
31612
32208
  render() {
31613
- return (hAsync(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, hAsync("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
32209
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
31614
32210
  }
31615
32211
  static get style() { return segmentContentCss; }
31616
32212
  static get cmpMeta() { return {
@@ -31723,10 +32319,10 @@ class SegmentView {
31723
32319
  }
31724
32320
  render() {
31725
32321
  const { disabled, isManualScroll } = this;
31726
- return (hAsync(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
32322
+ return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
31727
32323
  'segment-view-disabled': disabled,
31728
32324
  'segment-view-scroll-disabled': isManualScroll === false,
31729
- } }, hAsync("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
32325
+ } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
31730
32326
  }
31731
32327
  get el() { return getElement(this); }
31732
32328
  static get style() { return {
@@ -32465,7 +33061,7 @@ class Select {
32465
33061
  * TODO(FW-5592): Remove hasStartEndSlots condition
32466
33062
  */
32467
33063
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
32468
- return (hAsync(Host, { key: 'e6c0498d6c275f89344f4b5146752a047058ad88', onClick: this.onClick, class: createColorClasses$1(this.color, {
33064
+ return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
32469
33065
  [mode]: true,
32470
33066
  'in-item': inItem,
32471
33067
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -32483,7 +33079,7 @@ class Select {
32483
33079
  [`select-justify-${justify}`]: justifyEnabled,
32484
33080
  [`select-shape-${shape}`]: shape !== undefined,
32485
33081
  [`select-label-placement-${labelPlacement}`]: true,
32486
- }) }, 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()));
33082
+ }) }, 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()));
32487
33083
  }
32488
33084
  get el() { return getElement(this); }
32489
33085
  static get watchers() { return {
@@ -32642,7 +33238,7 @@ class SelectModal {
32642
33238
  } }, option.text))));
32643
33239
  }
32644
33240
  render() {
32645
- 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()))));
33241
+ 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()))));
32646
33242
  }
32647
33243
  get el() { return getElement(this); }
32648
33244
  static get style() { return {
@@ -32676,7 +33272,7 @@ class SelectOption {
32676
33272
  this.disabled = false;
32677
33273
  }
32678
33274
  render() {
32679
- return hAsync(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode$1(this) });
33275
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
32680
33276
  }
32681
33277
  get el() { return getElement(this); }
32682
33278
  static get style() { return selectOptionCss; }
@@ -32793,7 +33389,7 @@ class SelectPopover {
32793
33389
  render() {
32794
33390
  const { header, message, options, subHeader } = this;
32795
33391
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
32796
- 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))));
33392
+ 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))));
32797
33393
  }
32798
33394
  get el() { return getElement(this); }
32799
33395
  static get style() { return {
@@ -32843,11 +33439,11 @@ class SkeletonText {
32843
33439
  const animated = this.animated && config.getBoolean('animated', true);
32844
33440
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
32845
33441
  const mode = getIonMode$1(this);
32846
- return (hAsync(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
33442
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
32847
33443
  [mode]: true,
32848
33444
  'skeleton-text-animated': animated,
32849
33445
  'in-media': inMedia,
32850
- } }, hAsync("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
33446
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
32851
33447
  }
32852
33448
  get el() { return getElement(this); }
32853
33449
  static get style() { return skeletonTextCss; }
@@ -32899,7 +33495,7 @@ class Spinner {
32899
33495
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
32900
33496
  }
32901
33497
  }
32902
- return (hAsync(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses$1(self.color, {
33498
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
32903
33499
  [mode]: true,
32904
33500
  [`spinner-${spinnerName}`]: true,
32905
33501
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -32998,12 +33594,12 @@ class SplitPane {
32998
33594
  }
32999
33595
  render() {
33000
33596
  const mode = getIonMode$1(this);
33001
- return (hAsync(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
33597
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
33002
33598
  [mode]: true,
33003
33599
  // Used internally for styling
33004
33600
  [`split-pane-${mode}`]: true,
33005
33601
  'split-pane-visible': this.visible,
33006
- } }, hAsync("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
33602
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
33007
33603
  }
33008
33604
  get el() { return getElement(this); }
33009
33605
  static get watchers() { return {
@@ -33069,10 +33665,10 @@ class Tab {
33069
33665
  }
33070
33666
  render() {
33071
33667
  const { tab, active, component } = this;
33072
- return (hAsync(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33668
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33073
33669
  'ion-page': component === undefined,
33074
33670
  'tab-hidden': !active,
33075
- } }, hAsync("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
33671
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
33076
33672
  }
33077
33673
  get el() { return getElement(this); }
33078
33674
  static get watchers() { return {
@@ -33151,11 +33747,11 @@ class TabBar {
33151
33747
  const { color, translucent, keyboardVisible } = this;
33152
33748
  const mode = getIonMode$1(this);
33153
33749
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
33154
- return (hAsync(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33750
+ return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33155
33751
  [mode]: true,
33156
33752
  'tab-bar-translucent': translucent,
33157
33753
  'tab-bar-hidden': shouldHide,
33158
- }) }, hAsync("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
33754
+ }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
33159
33755
  }
33160
33756
  get el() { return getElement(this); }
33161
33757
  static get watchers() { return {
@@ -33251,7 +33847,7 @@ class TabButton {
33251
33847
  rel,
33252
33848
  target,
33253
33849
  };
33254
- return (hAsync(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33850
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33255
33851
  [mode]: true,
33256
33852
  'tab-selected': selected,
33257
33853
  'tab-disabled': disabled,
@@ -33263,7 +33859,7 @@ class TabButton {
33263
33859
  'ion-activatable': true,
33264
33860
  'ion-selectable': true,
33265
33861
  'ion-focusable': true,
33266
- } }, 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" }))));
33862
+ } }, 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" }))));
33267
33863
  }
33268
33864
  get el() { return getElement(this); }
33269
33865
  static get style() { return {
@@ -33438,7 +34034,7 @@ class Tabs {
33438
34034
  return Array.from(this.el.querySelectorAll('ion-tab'));
33439
34035
  }
33440
34036
  render() {
33441
- 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" })));
34037
+ 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" })));
33442
34038
  }
33443
34039
  get el() { return getElement(this); }
33444
34040
  static get style() { return tabsCss; }
@@ -33478,9 +34074,9 @@ class Text {
33478
34074
  }
33479
34075
  render() {
33480
34076
  const mode = getIonMode$1(this);
33481
- return (hAsync(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses$1(this.color, {
34077
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
33482
34078
  [mode]: true,
33483
- }) }, hAsync("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
34079
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
33484
34080
  }
33485
34081
  static get style() { return textCss; }
33486
34082
  static get cmpMeta() { return {
@@ -33919,7 +34515,7 @@ class Textarea {
33919
34515
  * TODO(FW-5592): Remove hasStartEndSlots condition
33920
34516
  */
33921
34517
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
33922
- return (hAsync(Host, { key: 'f53b9060248d885b0b8639401871e52017e497db', class: createColorClasses$1(this.color, {
34518
+ return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
33923
34519
  [mode]: true,
33924
34520
  'has-value': hasValue,
33925
34521
  'has-focus': hasFocus,
@@ -33928,7 +34524,7 @@ class Textarea {
33928
34524
  [`textarea-shape-${shape}`]: shape !== undefined,
33929
34525
  [`textarea-label-placement-${labelPlacement}`]: true,
33930
34526
  'textarea-disabled': disabled,
33931
- }) }, 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()));
34527
+ }) }, 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()));
33932
34528
  }
33933
34529
  get el() { return getElement(this); }
33934
34530
  static get watchers() { return {
@@ -33990,7 +34586,7 @@ class Thumbnail {
33990
34586
  registerInstance(this, hostRef);
33991
34587
  }
33992
34588
  render() {
33993
- return (hAsync(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
34589
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
33994
34590
  }
33995
34591
  static get style() { return thumbnailCss; }
33996
34592
  static get cmpMeta() { return {
@@ -34849,9 +35445,9 @@ class Toast {
34849
35445
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
34850
35446
  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);
34851
35447
  }
34852
- return (hAsync(Host, Object.assign({ key: 'a2216d860255c99337464370dcb12f6125871a50', tabindex: "-1" }, this.htmlAttributes, { style: {
35448
+ return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
34853
35449
  zIndex: `${60000 + this.overlayIndex}`,
34854
- }, 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')))));
35450
+ }, 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')))));
34855
35451
  }
34856
35452
  get el() { return getElement(this); }
34857
35453
  static get watchers() { return {
@@ -35146,7 +35742,7 @@ class Toggle {
35146
35742
  const value = this.getValue();
35147
35743
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
35148
35744
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
35149
- 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, {
35745
+ 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, {
35150
35746
  [mode]: true,
35151
35747
  'in-item': hostContext('ion-item', el),
35152
35748
  'toggle-activated': activated,
@@ -35156,10 +35752,10 @@ class Toggle {
35156
35752
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
35157
35753
  [`toggle-label-placement-${labelPlacement}`]: true,
35158
35754
  [`toggle-${rtl}`]: true,
35159
- }) }, 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: {
35755
+ }) }, 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: {
35160
35756
  'label-text-wrapper': true,
35161
35757
  'label-text-wrapper-hidden': !hasLabel,
35162
- }, part: "label", id: inputLabelId }, hAsync("slot", { key: '4555e00e2997e0a20d2e2f736e7b048c2de5320e' }), this.renderHintText()), hAsync("div", { key: 'b60d3e41561cf2ae46fb6de09f5590fa127a6172', class: "native-wrapper" }, this.renderToggleControl()))));
35758
+ }, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
35163
35759
  }
35164
35760
  get el() { return getElement(this); }
35165
35761
  static get watchers() { return {
@@ -35267,10 +35863,10 @@ class Toolbar {
35267
35863
  this.childrenStyles.forEach((value) => {
35268
35864
  Object.assign(childStyles, value);
35269
35865
  });
35270
- return (hAsync(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35866
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35271
35867
  [mode]: true,
35272
35868
  'in-toolbar': hostContext('ion-toolbar', this.el),
35273
- })) }, 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" }))));
35869
+ })) }, 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" }))));
35274
35870
  }
35275
35871
  get el() { return getElement(this); }
35276
35872
  static get style() { return {
@@ -35316,11 +35912,11 @@ class ToolbarTitle {
35316
35912
  render() {
35317
35913
  const mode = getIonMode$1(this);
35318
35914
  const size = this.getSize();
35319
- return (hAsync(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses$1(this.color, {
35915
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
35320
35916
  [mode]: true,
35321
35917
  [`title-${size}`]: true,
35322
35918
  'title-rtl': document.dir === 'rtl',
35323
- }) }, hAsync("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, hAsync("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
35919
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
35324
35920
  }
35325
35921
  get el() { return getElement(this); }
35326
35922
  static get watchers() { return {
@@ -35379,6 +35975,7 @@ registerComponents([
35379
35975
  InfiniteScroll,
35380
35976
  InfiniteScrollContent,
35381
35977
  Input,
35978
+ InputOTP,
35382
35979
  InputPasswordToggle,
35383
35980
  Item,
35384
35981
  ItemDivider,