@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.mjs CHANGED
@@ -2872,6 +2872,9 @@ var setContentReference = (elm) => {
2872
2872
  contentRefElm["s-cn"] = true;
2873
2873
  insertBefore(elm, contentRefElm, elm.firstChild);
2874
2874
  };
2875
+
2876
+ // src/runtime/fragment.ts
2877
+ var Fragment = (_, children) => children;
2875
2878
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
2876
2879
  if (listeners && win$2.document) {
2877
2880
  listeners.map(([flags, name, method]) => {
@@ -16409,7 +16412,7 @@ class Input {
16409
16412
  this.ionChange = createEvent(this, "ionChange", 7);
16410
16413
  this.ionBlur = createEvent(this, "ionBlur", 7);
16411
16414
  this.ionFocus = createEvent(this, "ionFocus", 7);
16412
- this.inputId = `ion-input-${inputIds++}`;
16415
+ this.inputId = `ion-input-${inputIds$1++}`;
16413
16416
  this.helperTextId = `${this.inputId}-helper-text`;
16414
16417
  this.errorTextId = `${this.inputId}-error-text`;
16415
16418
  this.inheritedAttributes = {};
@@ -16865,22 +16868,14 @@ class Input {
16865
16868
  'in-item': inItem,
16866
16869
  'in-item-color': hostContext('ion-item.ion-color', this.el),
16867
16870
  'input-disabled': disabled,
16868
- }) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '367d1a1c2eb69d4887fe29ab96ead3230d7dd513', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
16871
+ }) }, hAsync("label", { key: '697c6decb1fb8403777db7a37f54853863421ad9', class: "input-wrapper", htmlFor: inputId }, this.renderLabelContainer(), hAsync("div", { key: 'd35f44c3afcf8e075f7f845416cb8500606d3546', class: "native-wrapper" }, hAsync("slot", { key: '41ef868873ffd8262d53fd1a5e506c62030dc3f1', name: "start" }), hAsync("input", Object.assign({ key: 'd98e0aaa285b5424e9589ce36ed4f9910a6859cd', class: "native-input", ref: (input) => (this.nativeInput = input), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.type, value: value, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown, onCompositionstart: this.onCompositionStart, onCompositionend: this.onCompositionEnd, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId }, this.inheritedAttributes)), this.clearInput && !readonly && !disabled && (hAsync("button", { key: '78b3470646ec4fc237d33229a132164b089538a2', "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: (ev) => {
16869
16872
  /**
16870
16873
  * This prevents mobile browsers from
16871
16874
  * blurring the input when the clear
16872
16875
  * button is activated.
16873
16876
  */
16874
16877
  ev.preventDefault();
16875
- }, onFocusin: (ev) => {
16876
- /**
16877
- * Prevent the focusin event from bubbling otherwise it will cause the focusin
16878
- * event listener in scroll assist to fire. When this fires, focus will be moved
16879
- * back to the input even if the clear button was never tapped. This poses issues
16880
- * for screen readers as it means users would be unable to swipe past the clear button.
16881
- */
16882
- ev.stopPropagation();
16883
- }, 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()));
16878
+ }, 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()));
16884
16879
  }
16885
16880
  get el() { return getElement(this); }
16886
16881
  static get watchers() { return {
@@ -16940,6 +16935,607 @@ class Input {
16940
16935
  "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
16941
16936
  }; }
16942
16937
  }
16938
+ let inputIds$1 = 0;
16939
+
16940
+ 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))))}";
16941
+
16942
+ 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))}";
16943
+
16944
+ class InputOTP {
16945
+ constructor(hostRef) {
16946
+ registerInstance(this, hostRef);
16947
+ this.ionInput = createEvent(this, "ionInput", 7);
16948
+ this.ionChange = createEvent(this, "ionChange", 7);
16949
+ this.ionComplete = createEvent(this, "ionComplete", 7);
16950
+ this.ionBlur = createEvent(this, "ionBlur", 7);
16951
+ this.ionFocus = createEvent(this, "ionFocus", 7);
16952
+ this.inheritedAttributes = {};
16953
+ this.inputRefs = [];
16954
+ this.inputId = `ion-input-otp-${inputIds++}`;
16955
+ this.parsedSeparators = [];
16956
+ /**
16957
+ * Tracks whether the user is navigating through input boxes using keyboard navigation
16958
+ * (arrow keys, tab) versus mouse clicks. This is used to determine the appropriate
16959
+ * focus behavior when an input box is focused.
16960
+ */
16961
+ this.isKeyboardNavigation = false;
16962
+ this.inputValues = [];
16963
+ this.hasFocus = false;
16964
+ /**
16965
+ * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
16966
+ * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
16967
+ */
16968
+ this.autocapitalize = 'off';
16969
+ /**
16970
+ * If `true`, the user cannot interact with the input.
16971
+ */
16972
+ this.disabled = false;
16973
+ /**
16974
+ * The fill for the input boxes. If `"solid"` the input boxes will have a background. If
16975
+ * `"outline"` the input boxes will be transparent with a border.
16976
+ */
16977
+ this.fill = 'outline';
16978
+ /**
16979
+ * The number of input boxes to display.
16980
+ */
16981
+ this.length = 4;
16982
+ /**
16983
+ * If `true`, the user cannot modify the value.
16984
+ */
16985
+ this.readonly = false;
16986
+ /**
16987
+ * The shape of the input boxes.
16988
+ * If "round" they will have an increased border radius.
16989
+ * If "rectangular" they will have no border radius.
16990
+ * If "soft" they will have a soft border radius.
16991
+ */
16992
+ this.shape = 'round';
16993
+ /**
16994
+ * The size of the input boxes.
16995
+ */
16996
+ this.size = 'medium';
16997
+ /**
16998
+ * The type of input allowed in the input boxes.
16999
+ */
17000
+ this.type = 'number';
17001
+ /**
17002
+ * The value of the input group.
17003
+ */
17004
+ this.value = '';
17005
+ /**
17006
+ * Handles the focus behavior for the input OTP component.
17007
+ *
17008
+ * Focus behavior:
17009
+ * 1. Keyboard navigation: Allow normal focus movement
17010
+ * 2. Mouse click:
17011
+ * - If clicked box has value: Focus that box
17012
+ * - If clicked box is empty: Focus first empty box
17013
+ *
17014
+ * Emits the `ionFocus` event when the input group gains focus.
17015
+ */
17016
+ this.onFocus = (index) => (event) => {
17017
+ var _a;
17018
+ const { inputRefs } = this;
17019
+ // Only emit ionFocus and set the focusedValue when the
17020
+ // component first gains focus
17021
+ if (!this.hasFocus) {
17022
+ this.ionFocus.emit(event);
17023
+ this.focusedValue = this.value;
17024
+ }
17025
+ this.hasFocus = true;
17026
+ let finalIndex = index;
17027
+ if (!this.isKeyboardNavigation) {
17028
+ // If the clicked box has a value, focus it
17029
+ // Otherwise focus the first empty box
17030
+ const targetIndex = this.inputValues[index] ? index : this.getFirstEmptyIndex();
17031
+ finalIndex = targetIndex === -1 ? this.length - 1 : targetIndex;
17032
+ // Focus the target box
17033
+ (_a = this.inputRefs[finalIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17034
+ }
17035
+ // Update tabIndexes to match the focused box
17036
+ inputRefs.forEach((input, i) => {
17037
+ input.tabIndex = i === finalIndex ? 0 : -1;
17038
+ });
17039
+ // Reset the keyboard navigation flag
17040
+ this.isKeyboardNavigation = false;
17041
+ };
17042
+ /**
17043
+ * Handles the blur behavior for the input OTP component.
17044
+ * Emits the `ionBlur` event when the input group loses focus.
17045
+ */
17046
+ this.onBlur = (event) => {
17047
+ const { inputRefs } = this;
17048
+ const relatedTarget = event.relatedTarget;
17049
+ // Do not emit blur if we're moving to another input box in the same component
17050
+ const isInternalFocus = relatedTarget != null && inputRefs.includes(relatedTarget);
17051
+ if (!isInternalFocus) {
17052
+ this.hasFocus = false;
17053
+ // Reset tabIndexes when focus leaves the component
17054
+ this.updateTabIndexes();
17055
+ // Always emit ionBlur when focus leaves the component
17056
+ this.ionBlur.emit(event);
17057
+ // Only emit ionChange if the value has actually changed
17058
+ if (this.focusedValue !== this.value) {
17059
+ this.emitIonChange(event);
17060
+ }
17061
+ }
17062
+ };
17063
+ /**
17064
+ * Handles keyboard navigation and input for the OTP component.
17065
+ *
17066
+ * Navigation:
17067
+ * - Backspace: Clears current input and moves to previous box if empty
17068
+ * - Arrow Left/Right: Moves focus between input boxes
17069
+ * - Tab: Allows normal tab navigation between components
17070
+ *
17071
+ * Input Behavior:
17072
+ * - Validates input against the allowed pattern
17073
+ * - When entering a key in a filled box:
17074
+ * - Shifts existing values right if there is room
17075
+ * - Updates the value of the input group
17076
+ * - Prevents default behavior to avoid automatic focus shift
17077
+ */
17078
+ this.onKeyDown = (index) => (event) => {
17079
+ const { length } = this;
17080
+ const rtl = isRTL$1(this.el);
17081
+ const input = event.target;
17082
+ const isPasteShortcut = (event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'v';
17083
+ const isTextSelection = input.selectionStart !== input.selectionEnd;
17084
+ // Return if the key is the paste shortcut or the input value
17085
+ // text is selected and let the onPaste / onInput handler manage it
17086
+ if (isPasteShortcut || isTextSelection) {
17087
+ return;
17088
+ }
17089
+ if (event.key === 'Backspace') {
17090
+ if (this.inputValues[index]) {
17091
+ // Shift all values to the right of the current index left by one
17092
+ for (let i = index; i < length - 1; i++) {
17093
+ this.inputValues[i] = this.inputValues[i + 1];
17094
+ }
17095
+ // Clear the last box
17096
+ this.inputValues[length - 1] = '';
17097
+ // Update all inputRefs to match inputValues
17098
+ for (let i = 0; i < length; i++) {
17099
+ this.inputRefs[i].value = this.inputValues[i] || '';
17100
+ }
17101
+ this.updateValue(event);
17102
+ event.preventDefault();
17103
+ }
17104
+ else if (!this.inputValues[index] && index > 0) {
17105
+ // If current input is empty, move to previous input
17106
+ this.focusPrevious(index);
17107
+ }
17108
+ }
17109
+ else if (event.key === 'ArrowLeft' || event.key === 'ArrowRight') {
17110
+ this.isKeyboardNavigation = true;
17111
+ event.preventDefault();
17112
+ const isLeft = event.key === 'ArrowLeft';
17113
+ const shouldMoveNext = (isLeft && rtl) || (!isLeft && !rtl);
17114
+ // Only allow moving to the next input if the current has a value
17115
+ if (shouldMoveNext) {
17116
+ if (this.inputValues[index] && index < length - 1) {
17117
+ this.focusNext(index);
17118
+ }
17119
+ }
17120
+ else {
17121
+ this.focusPrevious(index);
17122
+ }
17123
+ }
17124
+ else if (event.key === 'Tab') {
17125
+ this.isKeyboardNavigation = true;
17126
+ // Let all tab events proceed normally
17127
+ return;
17128
+ }
17129
+ // If the input box contains a value and the key being
17130
+ // entered is a valid key for the input box update the value
17131
+ // and shift the values to the right if there is room.
17132
+ if (this.inputValues[index] && this.validKeyPattern.test(event.key)) {
17133
+ if (!this.inputValues[length - 1]) {
17134
+ for (let i = length - 1; i > index; i--) {
17135
+ this.inputValues[i] = this.inputValues[i - 1];
17136
+ this.inputRefs[i].value = this.inputValues[i] || '';
17137
+ }
17138
+ }
17139
+ this.inputValues[index] = event.key;
17140
+ this.inputRefs[index].value = event.key;
17141
+ this.updateValue(event);
17142
+ // Prevent default to avoid the browser from
17143
+ // automatically moving the focus to the next input
17144
+ event.preventDefault();
17145
+ }
17146
+ };
17147
+ this.onInput = (index) => (event) => {
17148
+ const { validKeyPattern } = this;
17149
+ const value = event.target.value;
17150
+ // Only allow input if it's a single character and matches the pattern
17151
+ if (value.length > 1 || (value.length > 0 && !validKeyPattern.test(value))) {
17152
+ // Reset the input value if not valid
17153
+ this.inputRefs[index].value = '';
17154
+ this.inputValues[index] = '';
17155
+ return;
17156
+ }
17157
+ // Find the first empty box before or at the current index
17158
+ let targetIndex = index;
17159
+ for (let i = 0; i < index; i++) {
17160
+ if (!this.inputValues[i] || this.inputValues[i] === '') {
17161
+ targetIndex = i;
17162
+ break;
17163
+ }
17164
+ }
17165
+ // Set the value at the target index
17166
+ this.inputValues[targetIndex] = value;
17167
+ // If the value was entered in a later box, clear the current box
17168
+ if (targetIndex !== index) {
17169
+ this.inputRefs[index].value = '';
17170
+ }
17171
+ if (value.length > 0) {
17172
+ this.focusNext(targetIndex);
17173
+ }
17174
+ this.updateValue(event);
17175
+ };
17176
+ /**
17177
+ * Handles pasting text into the input OTP component.
17178
+ * This function prevents the default paste behavior and
17179
+ * validates the pasted text against the allowed pattern.
17180
+ * It then updates the value of the input group and focuses
17181
+ * the next empty input after pasting.
17182
+ */
17183
+ this.onPaste = (event) => {
17184
+ var _a, _b, _c;
17185
+ const { inputRefs, length, validKeyPattern } = this;
17186
+ event.preventDefault();
17187
+ const pastedText = (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');
17188
+ // If there is no pasted text, still emit the input change event
17189
+ // because this is how the native input element behaves
17190
+ // but return early because there is nothing to paste.
17191
+ if (!pastedText) {
17192
+ this.emitIonInput(event);
17193
+ return;
17194
+ }
17195
+ const validChars = pastedText
17196
+ .split('')
17197
+ .filter((char) => validKeyPattern.test(char))
17198
+ .slice(0, length);
17199
+ // Always paste starting at the first box
17200
+ validChars.forEach((char, index) => {
17201
+ if (index < length) {
17202
+ this.inputRefs[index].value = char;
17203
+ this.inputValues[index] = char;
17204
+ }
17205
+ });
17206
+ // Update the value so that all input boxes are updated
17207
+ this.value = validChars.join('');
17208
+ this.updateValue(event);
17209
+ // Focus the next empty input after pasting
17210
+ // If all boxes are filled, focus the last input
17211
+ const nextEmptyIndex = validChars.length;
17212
+ if (nextEmptyIndex < length) {
17213
+ (_b = inputRefs[nextEmptyIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17214
+ }
17215
+ else {
17216
+ (_c = inputRefs[length - 1]) === null || _c === void 0 ? void 0 : _c.focus();
17217
+ }
17218
+ };
17219
+ }
17220
+ /**
17221
+ * Resets the value and focus state.
17222
+ */
17223
+ async reset() {
17224
+ this.value = '';
17225
+ this.focusedValue = null;
17226
+ this.hasFocus = false;
17227
+ this.inputRefs.forEach((input) => {
17228
+ input.blur();
17229
+ });
17230
+ this.updateTabIndexes();
17231
+ }
17232
+ /**
17233
+ * Sets focus to an input box.
17234
+ * @param index - The index of the input box to focus (0-based).
17235
+ * If provided and the input box has a value, the input box at that index will be focused.
17236
+ * Otherwise, the first empty input box or the last input if all are filled will be focused.
17237
+ */
17238
+ async setFocus(index) {
17239
+ var _a, _b;
17240
+ if (typeof index === 'number') {
17241
+ const validIndex = Math.max(0, Math.min(index, this.length - 1));
17242
+ (_a = this.inputRefs[validIndex]) === null || _a === void 0 ? void 0 : _a.focus();
17243
+ }
17244
+ else {
17245
+ const tabbableIndex = this.getTabbableIndex();
17246
+ (_b = this.inputRefs[tabbableIndex]) === null || _b === void 0 ? void 0 : _b.focus();
17247
+ }
17248
+ }
17249
+ valueChanged() {
17250
+ this.initializeValues();
17251
+ }
17252
+ /**
17253
+ * Processes the separators prop into an array of numbers.
17254
+ *
17255
+ * If the separators prop is not provided, returns an empty array.
17256
+ * If the separators prop is 'all', returns an array of all valid positions (1 to length-1).
17257
+ * If the separators prop is an array, returns it as is.
17258
+ * If the separators prop is a string, splits it by commas and parses each part as a number.
17259
+ *
17260
+ * If the separators are greater than the input length, it will warn and ignore the separators.
17261
+ */
17262
+ processSeparators() {
17263
+ const { separators, length } = this;
17264
+ if (separators === undefined) {
17265
+ this.parsedSeparators = [];
17266
+ return;
17267
+ }
17268
+ if (typeof separators === 'string' && separators !== 'all') {
17269
+ const isValidFormat = /^(\d+)(,\d+)*$/.test(separators);
17270
+ if (!isValidFormat) {
17271
+ printIonWarning(`[ion-input-otp] - Invalid separators format. Expected a comma-separated list of numbers, an array of numbers, or "all". Received: ${separators}`, this.el);
17272
+ this.parsedSeparators = [];
17273
+ return;
17274
+ }
17275
+ }
17276
+ let separatorValues;
17277
+ if (separators === 'all') {
17278
+ separatorValues = Array.from({ length: length - 1 }, (_, i) => i + 1);
17279
+ }
17280
+ else if (Array.isArray(separators)) {
17281
+ separatorValues = separators;
17282
+ }
17283
+ else {
17284
+ separatorValues = separators
17285
+ .split(',')
17286
+ .map((pos) => parseInt(pos, 10))
17287
+ .filter((pos) => !isNaN(pos));
17288
+ }
17289
+ // Check for duplicate separator positions
17290
+ const duplicates = separatorValues.filter((pos, index) => separatorValues.indexOf(pos) !== index);
17291
+ if (duplicates.length > 0) {
17292
+ printIonWarning(`[ion-input-otp] - Duplicate separator positions are not allowed. Received: ${separators}`, this.el);
17293
+ }
17294
+ const invalidSeparators = separatorValues.filter((pos) => pos > length);
17295
+ if (invalidSeparators.length > 0) {
17296
+ printIonWarning(`[ion-input-otp] - The following separator positions are greater than the input length (${length}): ${invalidSeparators.join(', ')}. These separators will be ignored.`, this.el);
17297
+ }
17298
+ this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
17299
+ }
17300
+ componentWillLoad() {
17301
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
17302
+ this.processSeparators();
17303
+ this.initializeValues();
17304
+ }
17305
+ componentDidLoad() {
17306
+ this.updateTabIndexes();
17307
+ }
17308
+ /**
17309
+ * Get the regex pattern for allowed characters.
17310
+ * If a pattern is provided, use it to create a regex pattern
17311
+ * Otherwise, use the default regex pattern based on type
17312
+ */
17313
+ get validKeyPattern() {
17314
+ return new RegExp(`^${this.getPattern()}$`, 'u');
17315
+ }
17316
+ /**
17317
+ * Gets the string pattern to pass to the input element
17318
+ * and use in the regex for allowed characters.
17319
+ */
17320
+ getPattern() {
17321
+ const { pattern, type } = this;
17322
+ if (pattern) {
17323
+ return pattern;
17324
+ }
17325
+ return type === 'number' ? '[\\p{N}]' : '[\\p{L}\\p{N}]';
17326
+ }
17327
+ /**
17328
+ * Get the default value for inputmode.
17329
+ * If inputmode is provided, use it.
17330
+ * Otherwise, use the default inputmode based on type
17331
+ */
17332
+ getInputmode() {
17333
+ const { inputmode } = this;
17334
+ if (inputmode) {
17335
+ return inputmode;
17336
+ }
17337
+ if (this.type == 'number') {
17338
+ return 'numeric';
17339
+ }
17340
+ else {
17341
+ return 'text';
17342
+ }
17343
+ }
17344
+ /**
17345
+ * Initializes the input values array based on the current value prop.
17346
+ * This splits the value into individual characters and validates them against
17347
+ * the allowed pattern. The values are then used as the values in the native
17348
+ * input boxes and the value of the input group is updated.
17349
+ */
17350
+ initializeValues() {
17351
+ // Clear all input values
17352
+ this.inputValues = Array(this.length).fill('');
17353
+ // If the value is null, undefined, or an empty string, return
17354
+ if (this.value == null || String(this.value).length === 0) {
17355
+ return;
17356
+ }
17357
+ // Split the value into individual characters and validate
17358
+ // them against the allowed pattern
17359
+ const chars = String(this.value).split('').slice(0, this.length);
17360
+ chars.forEach((char, index) => {
17361
+ if (this.validKeyPattern.test(char)) {
17362
+ this.inputValues[index] = char;
17363
+ }
17364
+ });
17365
+ // Update the value without emitting events
17366
+ this.value = this.inputValues.join('');
17367
+ }
17368
+ /**
17369
+ * Updates the value of the input group.
17370
+ * This updates the value of the input group and emits an `ionChange` event.
17371
+ * If all of the input boxes are filled, it emits an `ionComplete` event.
17372
+ */
17373
+ updateValue(event) {
17374
+ const { inputValues, length } = this;
17375
+ const newValue = inputValues.join('');
17376
+ this.value = newValue;
17377
+ this.emitIonInput(event);
17378
+ if (newValue.length === length) {
17379
+ this.ionComplete.emit({ value: newValue });
17380
+ }
17381
+ this.updateTabIndexes();
17382
+ }
17383
+ /**
17384
+ * Emits an `ionChange` event.
17385
+ * This API should be called for user committed changes.
17386
+ * This API should not be used for external value changes.
17387
+ */
17388
+ emitIonChange(event) {
17389
+ const { value } = this;
17390
+ // Checks for both null and undefined values
17391
+ const newValue = value == null ? value : value.toString();
17392
+ this.ionChange.emit({ value: newValue, event });
17393
+ }
17394
+ /**
17395
+ * Emits an `ionInput` event.
17396
+ * This is used to emit the input value when the user types,
17397
+ * backspaces, or pastes.
17398
+ */
17399
+ emitIonInput(event) {
17400
+ const { value } = this;
17401
+ // Checks for both null and undefined values
17402
+ const newValue = value == null ? value : value.toString();
17403
+ this.ionInput.emit({ value: newValue, event });
17404
+ }
17405
+ /**
17406
+ * Focuses the next input box.
17407
+ */
17408
+ focusNext(currentIndex) {
17409
+ var _a;
17410
+ const { inputRefs, length } = this;
17411
+ if (currentIndex < length - 1) {
17412
+ (_a = inputRefs[currentIndex + 1]) === null || _a === void 0 ? void 0 : _a.focus();
17413
+ }
17414
+ }
17415
+ /**
17416
+ * Focuses the previous input box.
17417
+ */
17418
+ focusPrevious(currentIndex) {
17419
+ var _a;
17420
+ const { inputRefs } = this;
17421
+ if (currentIndex > 0) {
17422
+ (_a = inputRefs[currentIndex - 1]) === null || _a === void 0 ? void 0 : _a.focus();
17423
+ }
17424
+ }
17425
+ /**
17426
+ * Searches through the input values and returns the index
17427
+ * of the first empty input.
17428
+ * Returns -1 if all inputs are filled.
17429
+ */
17430
+ getFirstEmptyIndex() {
17431
+ var _a;
17432
+ const { inputValues, length } = this;
17433
+ // Create an array of the same length as the input OTP
17434
+ // and fill it with the input values
17435
+ const values = Array.from({ length }, (_, i) => inputValues[i] || '');
17436
+ return (_a = values.findIndex((value) => !value || value === '')) !== null && _a !== void 0 ? _a : -1;
17437
+ }
17438
+ /**
17439
+ * Returns the index of the input that should be tabbed to.
17440
+ * If all inputs are filled, returns the last input's index.
17441
+ * Otherwise, returns the index of the first empty input.
17442
+ */
17443
+ getTabbableIndex() {
17444
+ const { length } = this;
17445
+ const firstEmptyIndex = this.getFirstEmptyIndex();
17446
+ return firstEmptyIndex === -1 ? length - 1 : firstEmptyIndex;
17447
+ }
17448
+ /**
17449
+ * Updates the tabIndexes for the input boxes.
17450
+ * This is used to ensure that the correct input is
17451
+ * focused when the user navigates using the tab key.
17452
+ */
17453
+ updateTabIndexes() {
17454
+ const { inputRefs, inputValues, length } = this;
17455
+ // Find first empty index after any filled boxes
17456
+ let firstEmptyIndex = -1;
17457
+ for (let i = 0; i < length; i++) {
17458
+ if (!inputValues[i] || inputValues[i] === '') {
17459
+ firstEmptyIndex = i;
17460
+ break;
17461
+ }
17462
+ }
17463
+ // Update tabIndex and aria-hidden for all inputs
17464
+ inputRefs.forEach((input, index) => {
17465
+ const shouldBeTabbable = firstEmptyIndex === -1 ? index === length - 1 : firstEmptyIndex === index;
17466
+ input.tabIndex = shouldBeTabbable ? 0 : -1;
17467
+ // If the input is empty and not the first empty input,
17468
+ // it should be hidden from screen readers.
17469
+ const isEmpty = !inputValues[index] || inputValues[index] === '';
17470
+ input.setAttribute('aria-hidden', isEmpty && !shouldBeTabbable ? 'true' : 'false');
17471
+ });
17472
+ }
17473
+ /**
17474
+ * Determines if a separator should be shown for a given index by
17475
+ * checking if the index is included in the parsed separators array.
17476
+ */
17477
+ showSeparator(index) {
17478
+ const { length } = this;
17479
+ return this.parsedSeparators.includes(index + 1) && index < length - 1;
17480
+ }
17481
+ render() {
17482
+ var _a, _b;
17483
+ const { autocapitalize, color, disabled, el, fill, hasFocus, inheritedAttributes, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
17484
+ const mode = getIonMode$1(this);
17485
+ const inputmode = this.getInputmode();
17486
+ const tabbableIndex = this.getTabbableIndex();
17487
+ const pattern = this.getPattern();
17488
+ 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()) !== '';
17489
+ return (hAsync(Host, { key: '973743fa99d77dbdaaf9b630b64180a189b5d778', class: createColorClasses$1(color, {
17490
+ [mode]: true,
17491
+ 'has-focus': hasFocus,
17492
+ [`input-otp-size-${size}`]: true,
17493
+ [`input-otp-shape-${shape}`]: true,
17494
+ [`input-otp-fill-${fill}`]: true,
17495
+ 'input-otp-disabled': disabled,
17496
+ 'input-otp-readonly': readonly,
17497
+ }) }, 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: {
17498
+ 'input-otp-description': true,
17499
+ 'input-otp-description-hidden': !hasDescription,
17500
+ } }, hAsync("slot", { key: '13c3f795956749ccdf396bfb0ff882a9c9e9ce81' }))));
17501
+ }
17502
+ get el() { return getElement(this); }
17503
+ static get watchers() { return {
17504
+ "value": ["valueChanged"],
17505
+ "separators": ["processSeparators"],
17506
+ "length": ["processSeparators"]
17507
+ }; }
17508
+ static get style() { return {
17509
+ ios: inputOtpIosCss,
17510
+ md: inputOtpMdCss
17511
+ }; }
17512
+ static get cmpMeta() { return {
17513
+ "$flags$": 38,
17514
+ "$tagName$": "ion-input-otp",
17515
+ "$members$": {
17516
+ "autocapitalize": [1],
17517
+ "color": [513],
17518
+ "disabled": [516],
17519
+ "fill": [1],
17520
+ "inputmode": [1],
17521
+ "length": [2],
17522
+ "pattern": [1],
17523
+ "readonly": [516],
17524
+ "separators": [1],
17525
+ "shape": [1],
17526
+ "size": [1],
17527
+ "type": [1],
17528
+ "value": [1032],
17529
+ "inputValues": [32],
17530
+ "hasFocus": [32],
17531
+ "reset": [64],
17532
+ "setFocus": [64]
17533
+ },
17534
+ "$listeners$": undefined,
17535
+ "$lazyBundleId$": "-",
17536
+ "$attrsToReflect$": [["color", "color"], ["disabled", "disabled"], ["readonly", "readonly"]]
17537
+ }; }
17538
+ }
16943
17539
  let inputIds = 0;
16944
17540
 
16945
17541
  const iosInputPasswordToggleCss = "";
@@ -17001,16 +17597,16 @@ class InputPasswordToggle {
17001
17597
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
17002
17598
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
17003
17599
  const isPasswordVisible = type === 'text';
17004
- return (hAsync(Host, { key: '1a28e078c83e74c72d8bb8189ece93ec2e3fa3d0', class: createColorClasses$1(color, {
17600
+ return (hAsync(Host, { key: '91bc55664d496fe457518bd112865dd7811d0c17', class: createColorClasses$1(color, {
17005
17601
  [mode]: true,
17006
- }) }, 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) => {
17602
+ }) }, 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) => {
17007
17603
  /**
17008
17604
  * This prevents mobile browsers from
17009
17605
  * blurring the input when the password toggle
17010
17606
  * button is activated.
17011
17607
  */
17012
17608
  ev.preventDefault();
17013
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '26477ee97b808c3d79944bf5e33d4e05f1ae0b3f', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17609
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: 'e7656040b08c6a394d56f1fc41d6ca34225287d2', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
17014
17610
  }
17015
17611
  get el() { return getElement(this); }
17016
17612
  static get watchers() { return {
@@ -17320,11 +17916,11 @@ class ItemDivider {
17320
17916
  }
17321
17917
  render() {
17322
17918
  const mode = getIonMode$1(this);
17323
- return (hAsync(Host, { key: '7150b1a3a881c3c312db40821acb9830c2885ccf', class: createColorClasses$1(this.color, {
17919
+ return (hAsync(Host, { key: '1523095ce4af3f2611512ff0948ead659959ee4a', class: createColorClasses$1(this.color, {
17324
17920
  [mode]: true,
17325
17921
  'item-divider-sticky': this.sticky,
17326
17922
  item: true,
17327
- }) }, 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" }))));
17923
+ }) }, 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" }))));
17328
17924
  }
17329
17925
  get el() { return getElement(this); }
17330
17926
  static get style() { return {
@@ -17354,7 +17950,7 @@ class ItemGroup {
17354
17950
  }
17355
17951
  render() {
17356
17952
  const mode = getIonMode$1(this);
17357
- return (hAsync(Host, { key: 'de2a969ed0dda880bc560a325848b28d0287fdb9', role: "group", class: {
17953
+ return (hAsync(Host, { key: 'e49dc8f99247d2431d7c6db01b6e021a0f5b1c37', role: "group", class: {
17358
17954
  [mode]: true,
17359
17955
  // Used internally for styling
17360
17956
  [`item-group-${mode}`]: true,
@@ -17424,12 +18020,12 @@ class ItemOption {
17424
18020
  href: this.href,
17425
18021
  target: this.target,
17426
18022
  };
17427
- return (hAsync(Host, { key: '1b7708dd178dc2c9280652ca3da38c84ba7b767f', onClick: this.onClick, class: createColorClasses$1(this.color, {
18023
+ return (hAsync(Host, { key: '189a0040b97163b2336bf216baa71d584c5923a8', onClick: this.onClick, class: createColorClasses$1(this.color, {
17428
18024
  [mode]: true,
17429
18025
  'item-option-disabled': disabled,
17430
18026
  'item-option-expandable': expandable,
17431
18027
  'ion-activatable': true,
17432
- }) }, 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' }))));
18028
+ }) }, 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' }))));
17433
18029
  }
17434
18030
  get el() { return getElement(this); }
17435
18031
  static get style() { return {
@@ -17478,7 +18074,7 @@ class ItemOptions {
17478
18074
  render() {
17479
18075
  const mode = getIonMode$1(this);
17480
18076
  const isEnd = isEndSide(this.side);
17481
- return (hAsync(Host, { key: '7df4b71547524bf359c48e1b40ccbc44e850f632', class: {
18077
+ return (hAsync(Host, { key: '05a22a505e043c2715e3805e5e26ab4668940af0', class: {
17482
18078
  [mode]: true,
17483
18079
  // Used internally for styling
17484
18080
  [`item-options-${mode}`]: true,
@@ -17942,7 +18538,7 @@ class ItemSliding {
17942
18538
  }
17943
18539
  render() {
17944
18540
  const mode = getIonMode$1(this);
17945
- return (hAsync(Host, { key: 'f8aea4bb9802b111ef358cc6c172a635637ae1f8', class: {
18541
+ return (hAsync(Host, { key: '9880396ad79e06117d572a27f92c4b753d1e26db', class: {
17946
18542
  [mode]: true,
17947
18543
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
17948
18544
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18047,13 +18643,13 @@ class Label {
18047
18643
  render() {
18048
18644
  const position = this.position;
18049
18645
  const mode = getIonMode$1(this);
18050
- return (hAsync(Host, { key: '4da84c95351a74b547f8224ecfa66924d21398c5', class: createColorClasses$1(this.color, {
18646
+ return (hAsync(Host, { key: 'd6fba1a97189acc8ddfd64a2f009954a3e46e188', class: createColorClasses$1(this.color, {
18051
18647
  [mode]: true,
18052
18648
  'in-item-color': hostContext('ion-item.ion-color', this.el),
18053
18649
  [`label-${position}`]: position !== undefined,
18054
18650
  [`label-no-animate`]: this.noAnimate,
18055
18651
  'label-rtl': document.dir === 'rtl',
18056
- }) }, hAsync("slot", { key: 'ea158ebb620275e5492965234d0ab925d391f919' })));
18652
+ }) }, hAsync("slot", { key: 'ce0ab50b5700398fdf50f36d02b7ad287eb71481' })));
18057
18653
  }
18058
18654
  get el() { return getElement(this); }
18059
18655
  static get watchers() { return {
@@ -18109,7 +18705,7 @@ class List {
18109
18705
  render() {
18110
18706
  const mode = getIonMode$1(this);
18111
18707
  const { lines, inset } = this;
18112
- return (hAsync(Host, { key: '5ff2b0b3989cc99ce17abb8bcd7ec1847940d1ec', role: "list", class: {
18708
+ return (hAsync(Host, { key: '7f9943751542d2cbd49a4ad3f28e16d9949f70d4', role: "list", class: {
18113
18709
  [mode]: true,
18114
18710
  // Used internally for styling
18115
18711
  [`list-${mode}`]: true,
@@ -18151,10 +18747,10 @@ class ListHeader {
18151
18747
  render() {
18152
18748
  const { lines } = this;
18153
18749
  const mode = getIonMode$1(this);
18154
- return (hAsync(Host, { key: '95ce2135e2b1ad4d7d6020b0fb9bc6e02b3c0851', class: createColorClasses$1(this.color, {
18750
+ return (hAsync(Host, { key: 'd9bc827ad8cc77231efddc2435831a7fc080f77d', class: createColorClasses$1(this.color, {
18155
18751
  [mode]: true,
18156
18752
  [`list-header-lines-${lines}`]: lines !== undefined,
18157
- }) }, hAsync("div", { key: '3065b0a094bc31a90518898a5126a813c8a33816', class: "list-header-inner" }, hAsync("slot", { key: 'fe15c87d7867f3e5d8185645c49c0228496697b8' }))));
18753
+ }) }, hAsync("div", { key: '02dd9698304a7b2997ea1487e2f308bebea2b44c', class: "list-header-inner" }, hAsync("slot", { key: '01d63a572c003286ae467a1ab23631e37e695042' }))));
18158
18754
  }
18159
18755
  static get style() { return {
18160
18756
  ios: listHeaderIosCss,
@@ -18440,9 +19036,9 @@ class Loading {
18440
19036
  * Otherwise, don't set aria-labelledby.
18441
19037
  */
18442
19038
  const ariaLabelledBy = message !== undefined ? msgId : null;
18443
- return (hAsync(Host, Object.assign({ key: 'd6066c8b56b1fe4b597a243a7dab191ef0d21286', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
19039
+ return (hAsync(Host, Object.assign({ key: '6369ed244c06c39aa338141bffacf7a861d7da1a', role: "dialog", "aria-modal": "true", "aria-labelledby": ariaLabelledBy, tabindex: "-1" }, htmlAttributes, { style: {
18444
19040
  zIndex: `${40000 + this.overlayIndex}`,
18445
- }, 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" })));
19041
+ }, 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" })));
18446
19042
  }
18447
19043
  get el() { return getElement(this); }
18448
19044
  static get watchers() { return {
@@ -19466,14 +20062,14 @@ class Menu {
19466
20062
  * the ionBackButton listener in the menu controller
19467
20063
  * will handle closing the menu when Escape is pressed.
19468
20064
  */
19469
- return (hAsync(Host, { key: '0a2ba4ff5600b80b54d1b5b45124779c6aa0d2f2', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
20065
+ return (hAsync(Host, { key: '9e4ae9476a76781f1d228395c9af9e1c39ec82bb', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
19470
20066
  [mode]: true,
19471
20067
  [`menu-type-${type}`]: true,
19472
20068
  'menu-enabled': !disabled,
19473
20069
  [`menu-side-${side}`]: true,
19474
20070
  'menu-pane-visible': isPaneVisible,
19475
20071
  'split-pane-side': hostContext('ion-split-pane', el),
19476
- } }, 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" })));
20072
+ } }, 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" })));
19477
20073
  }
19478
20074
  get el() { return getElement(this); }
19479
20075
  static get watchers() { return {
@@ -19581,7 +20177,7 @@ class MenuButton {
19581
20177
  type: this.type,
19582
20178
  };
19583
20179
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
19584
- return (hAsync(Host, { key: '3cde3704f28eb275f4a5ff2985bbb68c1024e79c', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
20180
+ return (hAsync(Host, { key: '9f0f0e50d39a6872508220c58e64bb2092a0d7ef', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses$1(color, {
19585
20181
  [mode]: true,
19586
20182
  button: true, // ion-buttons target .button
19587
20183
  'menu-button-hidden': hidden,
@@ -19590,7 +20186,7 @@ class MenuButton {
19590
20186
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
19591
20187
  'ion-activatable': true,
19592
20188
  'ion-focusable': true,
19593
- }) }, 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" }))));
20189
+ }) }, 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" }))));
19594
20190
  }
19595
20191
  get el() { return getElement(this); }
19596
20192
  static get style() { return {
@@ -19643,10 +20239,10 @@ class MenuToggle {
19643
20239
  render() {
19644
20240
  const mode = getIonMode$1(this);
19645
20241
  const hidden = this.autoHide && !this.visible;
19646
- return (hAsync(Host, { key: '88e88fa13ac7f10ba3acfe378bd11cda0c7e2749', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
20242
+ return (hAsync(Host, { key: 'cd567114769a30bd3871ed5d15bf42aed39956e1', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
19647
20243
  [mode]: true,
19648
20244
  'menu-toggle-hidden': hidden,
19649
- } }, hAsync("slot", { key: '0a14c7b63eda64702d2fd1b4bc7db4809892842d' })));
20245
+ } }, hAsync("slot", { key: '773d4cff95ca75f23578b1e1dca53c9933f28a33' })));
19650
20246
  }
19651
20247
  static get style() { return menuToggleCss; }
19652
20248
  static get cmpMeta() { return {
@@ -21978,18 +22574,18 @@ class Modal {
21978
22574
  const mode = getIonMode$1(this);
21979
22575
  const isCardModal = presentingElement !== undefined && mode === 'ios';
21980
22576
  const isHandleCycle = handleBehavior === 'cycle';
21981
- return (hAsync(Host, Object.assign({ key: '0991b2e4e32da511e59fb1463b47e4ac1b86d1ca', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
22577
+ return (hAsync(Host, Object.assign({ key: '0bcbdcfcd7d890eb599da3f97f21c317d34f8e0e', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
21982
22578
  zIndex: `${20000 + this.overlayIndex}`,
21983
- }, 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',
22579
+ }, 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',
21984
22580
  /*
21985
22581
  role and aria-modal must be used on the
21986
22582
  same element. They must also be set inside the
21987
22583
  shadow DOM otherwise ion-button will not be highlighted
21988
22584
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
21989
22585
  */
21990
- 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",
22586
+ 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",
21991
22587
  // Prevents the handle from receiving keyboard focus when it does not cycle
21992
- 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' }))));
22588
+ 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' }))));
21993
22589
  }
21994
22590
  get el() { return getElement(this); }
21995
22591
  static get watchers() { return {
@@ -22936,7 +23532,7 @@ class Nav {
22936
23532
  }
22937
23533
  }
22938
23534
  render() {
22939
- return hAsync("slot", { key: '188d0abd6c047d235380f07aac81223b757010e8' });
23535
+ return hAsync("slot", { key: '8067c9835d255daec61f33dba200fd3a6ff839a0' });
22940
23536
  }
22941
23537
  get el() { return getElement(this); }
22942
23538
  static get watchers() { return {
@@ -23009,7 +23605,7 @@ class NavLink {
23009
23605
  };
23010
23606
  }
23011
23607
  render() {
23012
- return hAsync(Host, { key: '9ba170d1b10e08e8a6b5e6a30d363871d455a0a9', onClick: this.onClick });
23608
+ return hAsync(Host, { key: '6dbb1ad4f351e9215375aac11ab9b53762e07a08', onClick: this.onClick });
23013
23609
  }
23014
23610
  get el() { return getElement(this); }
23015
23611
  static get cmpMeta() { return {
@@ -23040,9 +23636,9 @@ class Note {
23040
23636
  }
23041
23637
  render() {
23042
23638
  const mode = getIonMode$1(this);
23043
- return (hAsync(Host, { key: '3c3d9b2aa805c0bc1fdc6270a2bbf4dcc1b96c5b', class: createColorClasses$1(this.color, {
23639
+ return (hAsync(Host, { key: '0ec2ef7367d867fd7588611953f696eecdf3221e', class: createColorClasses$1(this.color, {
23044
23640
  [mode]: true,
23045
- }) }, hAsync("slot", { key: '39e34682009fcb705ecafe51825162734bdf14d3' })));
23641
+ }) }, hAsync("slot", { key: 'a200b94ddffb29cf6dabe6e984220930ea7efdef' })));
23046
23642
  }
23047
23643
  static get style() { return {
23048
23644
  ios: noteIosCss,
@@ -23802,11 +24398,11 @@ class Picker {
23802
24398
  render() {
23803
24399
  const { htmlAttributes } = this;
23804
24400
  const mode = getIonMode$1(this);
23805
- return (hAsync(Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
24401
+ return (hAsync(Host, Object.assign({ key: 'b95440747eb80cba23ae676d399d5e5816722c58', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
23806
24402
  zIndex: `${20000 + this.overlayIndex}`,
23807
24403
  }, class: Object.assign({ [mode]: true,
23808
24404
  // Used internally for styling
23809
- [`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" })));
24405
+ [`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" })));
23810
24406
  }
23811
24407
  get el() { return getElement(this); }
23812
24408
  static get watchers() { return {
@@ -24793,9 +25389,9 @@ class PickerColumnCmp {
24793
25389
  render() {
24794
25390
  const col = this.col;
24795
25391
  const mode = getIonMode$1(this);
24796
- 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: {
25392
+ 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: {
24797
25393
  'max-width': this.col.columnWidth,
24798
- } }, 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))));
25394
+ } }, 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))));
24799
25395
  }
24800
25396
  get el() { return getElement(this); }
24801
25397
  static get watchers() { return {
@@ -24912,10 +25508,10 @@ class PickerColumnOption {
24912
25508
  render() {
24913
25509
  const { color, disabled, ariaLabel } = this;
24914
25510
  const mode = getIonMode$1(this);
24915
- return (hAsync(Host, { key: 'c1353e99c2aa19c0e3ddbe433557ed18e72e1c66', class: createColorClasses$1(color, {
25511
+ return (hAsync(Host, { key: 'f816729941aabcb31ddfdce3ffe2e2139030d715', class: createColorClasses$1(color, {
24916
25512
  [mode]: true,
24917
25513
  ['option-disabled']: disabled,
24918
- }) }, hAsync("button", { key: 'b4ee62ecf7458a07a56e8aa494485766a87a3fcb', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: '9ab1e4700c27103b676670a4b3521c183c6ab83d' }))));
25514
+ }) }, hAsync("button", { key: '48dff7833bb60fc8331cd353a0885e6affa683d1', tabindex: "-1", "aria-label": ariaLabel, disabled: disabled, onClick: () => this.onClick() }, hAsync("slot", { key: 'f9224d0e7b7aa6c05b29abfdcfe0f30ad6ee3141' }))));
24919
25515
  }
24920
25516
  get el() { return getElement(this); }
24921
25517
  static get watchers() { return {
@@ -26321,9 +26917,9 @@ class Popover {
26321
26917
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
26322
26918
  const desktop = isPlatform('desktop');
26323
26919
  const enableArrow = arrow && !parentPopover;
26324
- return (hAsync(Host, Object.assign({ key: 'ff24e8d9677711248a36994cce568e74ba151499', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26920
+ return (hAsync(Host, Object.assign({ key: '1de4862099cfcb5035e78008e6dc7c1371846f9a', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
26325
26921
  zIndex: `${20000 + this.overlayIndex}`,
26326
- }, 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' })))));
26922
+ }, 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' })))));
26327
26923
  }
26328
26924
  get el() { return getElement(this); }
26329
26925
  static get watchers() { return {
@@ -26428,7 +27024,7 @@ class ProgressBar {
26428
27024
  const mode = getIonMode$1(this);
26429
27025
  // If the progress is displayed as a solid bar.
26430
27026
  const progressSolid = buffer === 1;
26431
- return (hAsync(Host, { key: 'd60eeaa18aaee607e083c0ef9d0de8178d47c4cd', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
27027
+ return (hAsync(Host, { key: 'dc69693b5d2dcb2b6e4296d7cb85bc27507f3fa6', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses$1(color, {
26432
27028
  [mode]: true,
26433
27029
  [`progress-bar-${type}`]: true,
26434
27030
  'progress-paused': paused,
@@ -26612,7 +27208,7 @@ class Radio {
26612
27208
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
26613
27209
  const mode = getIonMode$1(this);
26614
27210
  const inItem = hostContext('ion-item', el);
26615
- return (hAsync(Host, { key: '8badd4aec277addc0793e14df21f73bb345e99b7', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
27211
+ return (hAsync(Host, { key: '3353b28172b7f837d4b38964169b5b5f4ba02788', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses$1(color, {
26616
27212
  [mode]: true,
26617
27213
  'in-item': inItem,
26618
27214
  'radio-checked': checked,
@@ -26623,10 +27219,10 @@ class Radio {
26623
27219
  // Focus and active styling should not apply when the radio is in an item
26624
27220
  'ion-activatable': !inItem,
26625
27221
  'ion-focusable': !inItem,
26626
- }), 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: {
27222
+ }), 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: {
26627
27223
  'label-text-wrapper': true,
26628
27224
  'label-text-wrapper-hidden': !hasLabel,
26629
- }, part: "label" }, hAsync("slot", { key: '331f3dc2ce5f6ed8f124fc4560f92e0f7c668a85' })), hAsync("div", { key: '473bd4aaf448753e385f2dda3fddc9f56379aa19', class: "native-wrapper" }, this.renderRadioControl()))));
27225
+ }, part: "label" }, hAsync("slot", { key: '10b157162cd283d624153c747679609cf0bbf11e' })), hAsync("div", { key: '4c45cca95cb105cd6df1025a26e3c045272184a0', class: "native-wrapper" }, this.renderRadioControl()))));
26630
27226
  }
26631
27227
  get el() { return getElement(this); }
26632
27228
  static get watchers() { return {
@@ -26849,7 +27445,7 @@ class RadioGroup {
26849
27445
  const { label, labelId, el, name, value } = this;
26850
27446
  const mode = getIonMode$1(this);
26851
27447
  renderHiddenInput(true, el, name, value, false);
26852
- 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' }))));
27448
+ 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' }))));
26853
27449
  }
26854
27450
  get el() { return getElement(this); }
26855
27451
  static get watchers() { return {
@@ -27564,7 +28160,7 @@ class Range {
27564
28160
  const needsEndAdjustment = inItem && !hasEndContent;
27565
28161
  const mode = getIonMode$1(this);
27566
28162
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
27567
- return (hAsync(Host, { key: '3e065039ee048f1f70d97dba5dae98fa1315d867', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
28163
+ return (hAsync(Host, { key: '124909954930d95f353e8593fd967de1486b0315', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
27568
28164
  [mode]: true,
27569
28165
  'in-item': inItem,
27570
28166
  'range-disabled': disabled,
@@ -27573,10 +28169,10 @@ class Range {
27573
28169
  [`range-label-placement-${labelPlacement}`]: true,
27574
28170
  'range-item-start-adjustment': needsStartAdjustment,
27575
28171
  'range-item-end-adjustment': needsEndAdjustment,
27576
- }) }, hAsync("label", { key: '27ff22842c9ea79a1b9495302b926f70c9080a95', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'da1f9784be02dfe87d2fef34931d8b7f2148189e', class: {
28172
+ }) }, hAsync("label", { key: '0af177a2ba5869d3441c4b3f393835218807a418', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '4d834224b9c834e88497f58af4339348cec9ca1c', class: {
27577
28173
  'label-text-wrapper': true,
27578
28174
  'label-text-wrapper-hidden': !hasLabel,
27579
- }, 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" })))));
28175
+ }, 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" })))));
27580
28176
  }
27581
28177
  get el() { return getElement(this); }
27582
28178
  static get watchers() { return {
@@ -28526,7 +29122,7 @@ class Refresher {
28526
29122
  }
28527
29123
  render() {
28528
29124
  const mode = getIonMode$1(this);
28529
- return (hAsync(Host, { key: 'c717c16f2ca3e42351848cc8ad37918dec28961d', slot: "fixed", class: {
29125
+ return (hAsync(Host, { key: '8c7a5cc32da02a9cbeaa954258148683f60a6d1b', slot: "fixed", class: {
28530
29126
  [mode]: true,
28531
29127
  // Used internally for styling
28532
29128
  [`refresher-${mode}`]: true,
@@ -28750,7 +29346,7 @@ class RefresherContent {
28750
29346
  const pullingIcon = this.pullingIcon;
28751
29347
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
28752
29348
  const mode = getIonMode$1(this);
28753
- 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())));
29349
+ 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())));
28754
29350
  }
28755
29351
  get el() { return getElement(this); }
28756
29352
  static get cmpMeta() { return {
@@ -28791,7 +29387,7 @@ class Reorder {
28791
29387
  render() {
28792
29388
  const mode = getIonMode$1(this);
28793
29389
  const reorderIcon = mode === 'ios' ? reorderThreeOutline : reorderTwoSharp;
28794
- 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" }))));
29390
+ 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" }))));
28795
29391
  }
28796
29392
  get el() { return getElement(this); }
28797
29393
  static get style() { return {
@@ -29047,7 +29643,7 @@ class ReorderGroup {
29047
29643
  }
29048
29644
  render() {
29049
29645
  const mode = getIonMode$1(this);
29050
- return (hAsync(Host, { key: '6ca009dd65302a914d459aec638e62977440db20', class: {
29646
+ return (hAsync(Host, { key: 'f30613b361c5c3095b7928a92fb4b1e8d6eff600', class: {
29051
29647
  [mode]: true,
29052
29648
  'reorder-enabled': !this.disabled,
29053
29649
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -29163,7 +29759,7 @@ class RippleEffect {
29163
29759
  }
29164
29760
  render() {
29165
29761
  const mode = getIonMode$1(this);
29166
- return (hAsync(Host, { key: '40c7f73e7f5f67e29f83e1236a61c6e1c9943c42', role: "presentation", class: {
29762
+ return (hAsync(Host, { key: 'ae9d3b1ed6773a9b9bb2267129f7e9af23b6c9fc', role: "presentation", class: {
29167
29763
  [mode]: true,
29168
29764
  unbounded: this.unbounded,
29169
29765
  } }));
@@ -30121,10 +30717,10 @@ class RouterLink {
30121
30717
  rel: this.rel,
30122
30718
  target: this.target,
30123
30719
  };
30124
- return (hAsync(Host, { key: '11183264fb6ae0db9a7a47c71b6862d60001b834', onClick: this.onClick, class: createColorClasses$1(this.color, {
30720
+ return (hAsync(Host, { key: 'd7f2affcde45c5fbb6cb46cd1c30008ee92a68c5', onClick: this.onClick, class: createColorClasses$1(this.color, {
30125
30721
  [mode]: true,
30126
30722
  'ion-activatable': true,
30127
- }) }, hAsync("a", Object.assign({ key: '3e0e5242161cb0df593d6d573e51b8ba750065a1' }, attrs), hAsync("slot", { key: '5bd808e98a4627bb1236f0d955f4b32971355417' }))));
30723
+ }) }, hAsync("a", Object.assign({ key: 'babafae85ca5c6429958d383feff0493ff8cf33e' }, attrs), hAsync("slot", { key: '50314e9555bbf6dffa0c50c3f763009dee59b10b' }))));
30128
30724
  }
30129
30725
  static get style() { return routerLinkCss; }
30130
30726
  static get cmpMeta() { return {
@@ -30321,7 +30917,7 @@ class RouterOutlet {
30321
30917
  return true;
30322
30918
  }
30323
30919
  render() {
30324
- return hAsync("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
30920
+ return hAsync("slot", { key: '84b50f1155b0d780dff802ee13223287259fd525' });
30325
30921
  }
30326
30922
  get el() { return getElement(this); }
30327
30923
  static get watchers() { return {
@@ -30354,7 +30950,7 @@ class Row {
30354
30950
  registerInstance(this, hostRef);
30355
30951
  }
30356
30952
  render() {
30357
- return (hAsync(Host, { key: 'a690022e2abdce6946d24264574e4aa0886a8ea5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd1a0e831dd1dbfe7877d3ad01d0a3045a5fb29e3' })));
30953
+ return (hAsync(Host, { key: '65592a79621bd8f75f9566db3e8c05a4b8fc6048', class: getIonMode$1(this) }, hAsync("slot", { key: '56f09784db7a0299c9ce76dfcede185b295251ff' })));
30358
30954
  }
30359
30955
  static get style() { return rowCss; }
30360
30956
  static get cmpMeta() { return {
@@ -30797,8 +31393,8 @@ class Searchbar {
30797
31393
  const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);
30798
31394
  const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);
30799
31395
  const shouldShowCancelButton = this.shouldShowCancelButton();
30800
- 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))));
30801
- return (hAsync(Host, { key: 'd1a1972725e949fb102c91487aaa7b9d10c2d718', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
31396
+ 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))));
31397
+ return (hAsync(Host, { key: '4432996807ffe9372c7d6955c94366d5b920f6dd', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses$1(this.color, {
30802
31398
  [mode]: true,
30803
31399
  'searchbar-animated': animated,
30804
31400
  'searchbar-disabled': this.disabled,
@@ -30808,14 +31404,14 @@ class Searchbar {
30808
31404
  'searchbar-has-focus': this.focused,
30809
31405
  'searchbar-should-show-clear': this.shouldShowClearButton(),
30810
31406
  'searchbar-should-show-cancel': this.shouldShowCancelButton(),
30811
- }) }, 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) => {
31407
+ }) }, 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) => {
30812
31408
  /**
30813
31409
  * This prevents mobile browsers from
30814
31410
  * blurring the input when the clear
30815
31411
  * button is activated.
30816
31412
  */
30817
31413
  ev.preventDefault();
30818
- }, 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));
31414
+ }, 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));
30819
31415
  }
30820
31416
  get el() { return getElement(this); }
30821
31417
  static get watchers() { return {
@@ -31410,14 +32006,14 @@ class Segment {
31410
32006
  }
31411
32007
  render() {
31412
32008
  const mode = getIonMode$1(this);
31413
- return (hAsync(Host, { key: 'a64e39352050b516f7dc82ce95a4bcff8431d1d0', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
32009
+ return (hAsync(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: "tablist", onClick: this.onClick, class: createColorClasses$1(this.color, {
31414
32010
  [mode]: true,
31415
32011
  'in-toolbar': hostContext('ion-toolbar', this.el),
31416
32012
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
31417
32013
  'segment-activated': this.activated,
31418
32014
  'segment-disabled': this.disabled,
31419
32015
  'segment-scrollable': this.scrollable,
31420
- }) }, hAsync("slot", { key: 'bb3f3ec30e59e0461fa620d8961ab730cc802a4e', onSlotchange: this.onSlottedItemsChange })));
32016
+ }) }, hAsync("slot", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));
31421
32017
  }
31422
32018
  get el() { return getElement(this); }
31423
32019
  static get watchers() { return {
@@ -31557,7 +32153,7 @@ class SegmentButton {
31557
32153
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
31558
32154
  const mode = getIonMode$1(this);
31559
32155
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
31560
- return (hAsync(Host, { key: 'd79dad80db69123510c6d52bbf4424558600c14a', class: {
32156
+ return (hAsync(Host, { key: '26cb7ee90455bcaa6416125802d7e5729fa05b5b', class: {
31561
32157
  [mode]: true,
31562
32158
  'in-toolbar': hostContext('ion-toolbar', this.el),
31563
32159
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -31573,7 +32169,7 @@ class SegmentButton {
31573
32169
  'ion-activatable': true,
31574
32170
  'ion-activatable-instant': true,
31575
32171
  'ion-focusable': true,
31576
- } }, 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" }))));
32172
+ } }, 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" }))));
31577
32173
  }
31578
32174
  get el() { return getElement(this); }
31579
32175
  static get watchers() { return {
@@ -31608,7 +32204,7 @@ class SegmentContent {
31608
32204
  registerInstance(this, hostRef);
31609
32205
  }
31610
32206
  render() {
31611
- return (hAsync(Host, { key: '64b3965b14c749e77e9ce13b59f349d971e245c8' }, hAsync("slot", { key: '2d0bed34f9bc93f92e713cb51e42220f3cecd8f5' })));
32207
+ return (hAsync(Host, { key: 'db6876f2aee7afa1ea8bc147337670faa68fae1c' }, hAsync("slot", { key: 'bc05714a973a5655668679033f5809a1da6db8cc' })));
31612
32208
  }
31613
32209
  static get style() { return segmentContentCss; }
31614
32210
  static get cmpMeta() { return {
@@ -31721,10 +32317,10 @@ class SegmentView {
31721
32317
  }
31722
32318
  render() {
31723
32319
  const { disabled, isManualScroll } = this;
31724
- return (hAsync(Host, { key: 'fa528d2d9ae0f00fc3067defe2a047dce77c814a', class: {
32320
+ return (hAsync(Host, { key: '754a374e89fd4dd682eb00497e717242a6f83357', class: {
31725
32321
  'segment-view-disabled': disabled,
31726
32322
  'segment-view-scroll-disabled': isManualScroll === false,
31727
- } }, hAsync("slot", { key: '74dc8b4d073caeff1bab272d11b9ea3e1a215954' })));
32323
+ } }, hAsync("slot", { key: '77366044eb61f0d4bba305bd6f0ef8fd1e25194b' })));
31728
32324
  }
31729
32325
  get el() { return getElement(this); }
31730
32326
  static get style() { return {
@@ -32463,7 +33059,7 @@ class Select {
32463
33059
  * TODO(FW-5592): Remove hasStartEndSlots condition
32464
33060
  */
32465
33061
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
32466
- return (hAsync(Host, { key: 'e6c0498d6c275f89344f4b5146752a047058ad88', onClick: this.onClick, class: createColorClasses$1(this.color, {
33062
+ return (hAsync(Host, { key: 'd42f9434cdf0f22f8710f1f363096e12967695dd', onClick: this.onClick, class: createColorClasses$1(this.color, {
32467
33063
  [mode]: true,
32468
33064
  'in-item': inItem,
32469
33065
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -32481,7 +33077,7 @@ class Select {
32481
33077
  [`select-justify-${justify}`]: justifyEnabled,
32482
33078
  [`select-shape-${shape}`]: shape !== undefined,
32483
33079
  [`select-label-placement-${labelPlacement}`]: true,
32484
- }) }, 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()));
33080
+ }) }, 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()));
32485
33081
  }
32486
33082
  get el() { return getElement(this); }
32487
33083
  static get watchers() { return {
@@ -32640,7 +33236,7 @@ class SelectModal {
32640
33236
  } }, option.text))));
32641
33237
  }
32642
33238
  render() {
32643
- 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()))));
33239
+ 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()))));
32644
33240
  }
32645
33241
  get el() { return getElement(this); }
32646
33242
  static get style() { return {
@@ -32674,7 +33270,7 @@ class SelectOption {
32674
33270
  this.disabled = false;
32675
33271
  }
32676
33272
  render() {
32677
- return hAsync(Host, { key: '8c96c199ce3a3065de3fe446500f567236e0610a', role: "option", id: this.inputId, class: getIonMode$1(this) });
33273
+ return hAsync(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: "option", id: this.inputId, class: getIonMode$1(this) });
32678
33274
  }
32679
33275
  get el() { return getElement(this); }
32680
33276
  static get style() { return selectOptionCss; }
@@ -32791,7 +33387,7 @@ class SelectPopover {
32791
33387
  render() {
32792
33388
  const { header, message, options, subHeader } = this;
32793
33389
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
32794
- 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))));
33390
+ 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))));
32795
33391
  }
32796
33392
  get el() { return getElement(this); }
32797
33393
  static get style() { return {
@@ -32841,11 +33437,11 @@ class SkeletonText {
32841
33437
  const animated = this.animated && config.getBoolean('animated', true);
32842
33438
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
32843
33439
  const mode = getIonMode$1(this);
32844
- return (hAsync(Host, { key: 'c193f9a8e8efab5139544f047bdae4b6d421aa86', class: {
33440
+ return (hAsync(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {
32845
33441
  [mode]: true,
32846
33442
  'skeleton-text-animated': animated,
32847
33443
  'in-media': inMedia,
32848
- } }, hAsync("span", { key: 'e15db679bd3c359b4df5123efd2f92e5b380fde3' }, "\u00A0")));
33444
+ } }, hAsync("span", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, "\u00A0")));
32849
33445
  }
32850
33446
  get el() { return getElement(this); }
32851
33447
  static get style() { return skeletonTextCss; }
@@ -32897,7 +33493,7 @@ class Spinner {
32897
33493
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
32898
33494
  }
32899
33495
  }
32900
- return (hAsync(Host, { key: 'e0dfa8a3ee2a0469eb31323f506750bd77d65797', class: createColorClasses$1(self.color, {
33496
+ return (hAsync(Host, { key: 'a33d6421fcc885995fbc7a348516525f68ca496c', class: createColorClasses$1(self.color, {
32901
33497
  [mode]: true,
32902
33498
  [`spinner-${spinnerName}`]: true,
32903
33499
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -32996,12 +33592,12 @@ class SplitPane {
32996
33592
  }
32997
33593
  render() {
32998
33594
  const mode = getIonMode$1(this);
32999
- return (hAsync(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
33595
+ return (hAsync(Host, { key: 'd5e30df12f1f1f855da4c66f98076b9dce762c59', class: {
33000
33596
  [mode]: true,
33001
33597
  // Used internally for styling
33002
33598
  [`split-pane-${mode}`]: true,
33003
33599
  'split-pane-visible': this.visible,
33004
- } }, hAsync("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
33600
+ } }, hAsync("slot", { key: '3e30d7cf3bc1cf434e16876a0cb2a36377b8e00f' })));
33005
33601
  }
33006
33602
  get el() { return getElement(this); }
33007
33603
  static get watchers() { return {
@@ -33067,10 +33663,10 @@ class Tab {
33067
33663
  }
33068
33664
  render() {
33069
33665
  const { tab, active, component } = this;
33070
- return (hAsync(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33666
+ return (hAsync(Host, { key: 'dbad8fe9f1566277d14647626308eaf1601ab01f', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
33071
33667
  'ion-page': component === undefined,
33072
33668
  'tab-hidden': !active,
33073
- } }, hAsync("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
33669
+ } }, hAsync("slot", { key: '3be64f4e7161f6769aaf8e4dcb5293fcaa09af45' })));
33074
33670
  }
33075
33671
  get el() { return getElement(this); }
33076
33672
  static get watchers() { return {
@@ -33149,11 +33745,11 @@ class TabBar {
33149
33745
  const { color, translucent, keyboardVisible } = this;
33150
33746
  const mode = getIonMode$1(this);
33151
33747
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
33152
- return (hAsync(Host, { key: '62303a7f9d8c98ffab51a5900c144c5117b9c543', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33748
+ return (hAsync(Host, { key: '275dc6c1b30f6928ce9039b2f445208bb3500ddc', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses$1(color, {
33153
33749
  [mode]: true,
33154
33750
  'tab-bar-translucent': translucent,
33155
33751
  'tab-bar-hidden': shouldHide,
33156
- }) }, hAsync("slot", { key: '5771a9828f748c2bd6b5e26758b9723c6b3de5ff' })));
33752
+ }) }, hAsync("slot", { key: 'ceac20128d75c6a4a0f445f2df8deb8cc71fc4da' })));
33157
33753
  }
33158
33754
  get el() { return getElement(this); }
33159
33755
  static get watchers() { return {
@@ -33249,7 +33845,7 @@ class TabButton {
33249
33845
  rel,
33250
33846
  target,
33251
33847
  };
33252
- return (hAsync(Host, { key: 'a86d441d8df350fe991f2f948fc6b6ad007728f7', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33848
+ return (hAsync(Host, { key: 'ce9d29ced0c781d6b2fa62cd5feb801c11fc42e8', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
33253
33849
  [mode]: true,
33254
33850
  'tab-selected': selected,
33255
33851
  'tab-disabled': disabled,
@@ -33261,7 +33857,7 @@ class TabButton {
33261
33857
  'ion-activatable': true,
33262
33858
  'ion-selectable': true,
33263
33859
  'ion-focusable': true,
33264
- } }, 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" }))));
33860
+ } }, 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" }))));
33265
33861
  }
33266
33862
  get el() { return getElement(this); }
33267
33863
  static get style() { return {
@@ -33436,7 +34032,7 @@ class Tabs {
33436
34032
  return Array.from(this.el.querySelectorAll('ion-tab'));
33437
34033
  }
33438
34034
  render() {
33439
- 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" })));
34035
+ 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" })));
33440
34036
  }
33441
34037
  get el() { return getElement(this); }
33442
34038
  static get style() { return tabsCss; }
@@ -33476,9 +34072,9 @@ class Text {
33476
34072
  }
33477
34073
  render() {
33478
34074
  const mode = getIonMode$1(this);
33479
- return (hAsync(Host, { key: '0c2546ea3f24b0a6bfd606199441d0a4edfa4ca1', class: createColorClasses$1(this.color, {
34075
+ return (hAsync(Host, { key: '361035eae7b92dc109794348d39bad2f596eb6be', class: createColorClasses$1(this.color, {
33480
34076
  [mode]: true,
33481
- }) }, hAsync("slot", { key: 'b7623ccb06f9461090a1f33e9f85886c7a4d5eff' })));
34077
+ }) }, hAsync("slot", { key: 'c7b8835cf485ba9ecd73298f0529276ce1ea0852' })));
33482
34078
  }
33483
34079
  static get style() { return textCss; }
33484
34080
  static get cmpMeta() { return {
@@ -33917,7 +34513,7 @@ class Textarea {
33917
34513
  * TODO(FW-5592): Remove hasStartEndSlots condition
33918
34514
  */
33919
34515
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
33920
- return (hAsync(Host, { key: 'f53b9060248d885b0b8639401871e52017e497db', class: createColorClasses$1(this.color, {
34516
+ return (hAsync(Host, { key: '550ae8e37d94a3f9950c191626beb2ba49ca25f7', class: createColorClasses$1(this.color, {
33921
34517
  [mode]: true,
33922
34518
  'has-value': hasValue,
33923
34519
  'has-focus': hasFocus,
@@ -33926,7 +34522,7 @@ class Textarea {
33926
34522
  [`textarea-shape-${shape}`]: shape !== undefined,
33927
34523
  [`textarea-label-placement-${labelPlacement}`]: true,
33928
34524
  'textarea-disabled': disabled,
33929
- }) }, 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()));
34525
+ }) }, 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()));
33930
34526
  }
33931
34527
  get el() { return getElement(this); }
33932
34528
  static get watchers() { return {
@@ -33988,7 +34584,7 @@ class Thumbnail {
33988
34584
  registerInstance(this, hostRef);
33989
34585
  }
33990
34586
  render() {
33991
- return (hAsync(Host, { key: '7f5fd6c056da2d82feb2c3c33f3e6dec898787f5', class: getIonMode$1(this) }, hAsync("slot", { key: 'd15fd2b6cdc03777edc1930be95ad838e1b376c8' })));
34587
+ return (hAsync(Host, { key: '70ada828e8cf541ab3b47f94b7e56ce34114ef88', class: getIonMode$1(this) }, hAsync("slot", { key: 'c43e105669d2bae123619b616f3af8ca2f722d61' })));
33992
34588
  }
33993
34589
  static get style() { return thumbnailCss; }
33994
34590
  static get cmpMeta() { return {
@@ -34847,9 +35443,9 @@ class Toast {
34847
35443
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
34848
35444
  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);
34849
35445
  }
34850
- return (hAsync(Host, Object.assign({ key: 'a2216d860255c99337464370dcb12f6125871a50', tabindex: "-1" }, this.htmlAttributes, { style: {
35446
+ return (hAsync(Host, Object.assign({ key: '425be734aee0eeef281ab1609a9f982ce8b5e852', tabindex: "-1" }, this.htmlAttributes, { style: {
34851
35447
  zIndex: `${60000 + this.overlayIndex}`,
34852
- }, 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')))));
35448
+ }, 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')))));
34853
35449
  }
34854
35450
  get el() { return getElement(this); }
34855
35451
  static get watchers() { return {
@@ -35144,7 +35740,7 @@ class Toggle {
35144
35740
  const value = this.getValue();
35145
35741
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
35146
35742
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
35147
- 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, {
35743
+ 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, {
35148
35744
  [mode]: true,
35149
35745
  'in-item': hostContext('ion-item', el),
35150
35746
  'toggle-activated': activated,
@@ -35154,10 +35750,10 @@ class Toggle {
35154
35750
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
35155
35751
  [`toggle-label-placement-${labelPlacement}`]: true,
35156
35752
  [`toggle-${rtl}`]: true,
35157
- }) }, 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: {
35753
+ }) }, 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: {
35158
35754
  'label-text-wrapper': true,
35159
35755
  'label-text-wrapper-hidden': !hasLabel,
35160
- }, part: "label", id: inputLabelId }, hAsync("slot", { key: '4555e00e2997e0a20d2e2f736e7b048c2de5320e' }), this.renderHintText()), hAsync("div", { key: 'b60d3e41561cf2ae46fb6de09f5590fa127a6172', class: "native-wrapper" }, this.renderToggleControl()))));
35756
+ }, part: "label", id: inputLabelId }, hAsync("slot", { key: 'e6afe1ed4d6f478411cc7030c44492ba59509b22' }), this.renderHintText()), hAsync("div", { key: '6271c04a5954352d93cec8dbca753084d4bac9fd', class: "native-wrapper" }, this.renderToggleControl()))));
35161
35757
  }
35162
35758
  get el() { return getElement(this); }
35163
35759
  static get watchers() { return {
@@ -35265,10 +35861,10 @@ class Toolbar {
35265
35861
  this.childrenStyles.forEach((value) => {
35266
35862
  Object.assign(childStyles, value);
35267
35863
  });
35268
- return (hAsync(Host, { key: '402afe7ce0c97883cedd0e48a5a0492a9bfe76ae', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35864
+ return (hAsync(Host, { key: 'f6c4f669a6a61c5eac4cbb5ea0aa97c48ae5bd46', class: Object.assign(Object.assign({}, childStyles), createColorClasses$1(this.color, {
35269
35865
  [mode]: true,
35270
35866
  'in-toolbar': hostContext('ion-toolbar', this.el),
35271
- })) }, 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" }))));
35867
+ })) }, 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" }))));
35272
35868
  }
35273
35869
  get el() { return getElement(this); }
35274
35870
  static get style() { return {
@@ -35314,11 +35910,11 @@ class ToolbarTitle {
35314
35910
  render() {
35315
35911
  const mode = getIonMode$1(this);
35316
35912
  const size = this.getSize();
35317
- return (hAsync(Host, { key: '3f7b19c99961dbb86c0a925218332528b22e6880', class: createColorClasses$1(this.color, {
35913
+ return (hAsync(Host, { key: 'e599c0bf1b0817df3fa8360bdcd6d787f751c371', class: createColorClasses$1(this.color, {
35318
35914
  [mode]: true,
35319
35915
  [`title-${size}`]: true,
35320
35916
  'title-rtl': document.dir === 'rtl',
35321
- }) }, hAsync("div", { key: '12054fbdd60e40a15875e442c20143766fc34fc3', class: "toolbar-title" }, hAsync("slot", { key: '9f14fb14a67d4bd1e4536a4d64a637fbe5a151c7' }))));
35917
+ }) }, hAsync("div", { key: '6e7eee9047d6759876bb31d7305b76efc7c4338c', class: "toolbar-title" }, hAsync("slot", { key: 'bf790eb4c83dd0af4f2fd1f85ab4af5819f46ff4' }))));
35322
35918
  }
35323
35919
  get el() { return getElement(this); }
35324
35920
  static get watchers() { return {
@@ -35377,6 +35973,7 @@ registerComponents([
35377
35973
  InfiniteScroll,
35378
35974
  InfiniteScrollContent,
35379
35975
  Input,
35976
+ InputOTP,
35380
35977
  InputPasswordToggle,
35381
35978
  Item,
35382
35979
  ItemDivider,