@ionic/core 9.0.10-dev.11792788258.1f71cfee → 9.0.10-dev.11793383958.19a7d413

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 (376) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion.js +1 -1
  3. package/components/ion-action-sheet.js +1 -1
  4. package/components/ion-alert.js +1 -1
  5. package/components/ion-app.js +1 -1
  6. package/components/ion-back-button.js +1 -1
  7. package/components/ion-breadcrumb.js +1 -1
  8. package/components/ion-button.js +1 -1
  9. package/components/ion-card.js +1 -1
  10. package/components/ion-checkbox.js +1 -1
  11. package/components/ion-col.js +1 -1
  12. package/components/ion-content.js +1 -1
  13. package/components/ion-datetime-button.js +1 -1
  14. package/components/ion-datetime.js +1 -1
  15. package/components/ion-fab-button.js +1 -1
  16. package/components/ion-footer.js +1 -1
  17. package/components/ion-header.js +1 -1
  18. package/components/ion-img.js +1 -1
  19. package/components/ion-infinite-scroll.js +1 -1
  20. package/components/ion-input-otp.js +1 -1
  21. package/components/ion-input-password-toggle.js +1 -1
  22. package/components/ion-input.js +1 -1
  23. package/components/ion-item-options.js +1 -1
  24. package/components/ion-item-sliding.js +1 -1
  25. package/components/ion-item.js +1 -1
  26. package/components/ion-label.js +1 -1
  27. package/components/ion-loading.js +1 -1
  28. package/components/ion-menu-button.js +1 -1
  29. package/components/ion-menu-toggle.js +1 -1
  30. package/components/ion-menu.js +1 -1
  31. package/components/ion-modal.js +1 -1
  32. package/components/ion-nav.js +1 -1
  33. package/components/ion-picker-column-option.js +1 -1
  34. package/components/ion-picker-column.js +1 -1
  35. package/components/ion-picker.js +1 -1
  36. package/components/ion-popover.js +1 -1
  37. package/components/ion-progress-bar.js +1 -1
  38. package/components/ion-radio-group.js +1 -1
  39. package/components/ion-radio.js +1 -1
  40. package/components/ion-range.js +1 -1
  41. package/components/ion-refresher-content.js +1 -1
  42. package/components/ion-refresher.js +1 -1
  43. package/components/ion-reorder-group.js +1 -1
  44. package/components/ion-router-outlet.js +1 -1
  45. package/components/ion-router.js +1 -1
  46. package/components/ion-searchbar.js +1 -1
  47. package/components/ion-segment-button.js +1 -1
  48. package/components/ion-segment-view.js +1 -1
  49. package/components/ion-segment.js +1 -1
  50. package/components/ion-select-modal.js +1 -1
  51. package/components/ion-select-popover.js +1 -1
  52. package/components/ion-select.js +1 -1
  53. package/components/ion-tab-button.js +1 -1
  54. package/components/ion-tab.js +1 -1
  55. package/components/ion-textarea.js +1 -1
  56. package/components/ion-title.js +1 -1
  57. package/components/ion-toast.js +1 -1
  58. package/components/ion-toggle.js +1 -1
  59. package/components/{p-PkD1iLNN.js → p--cshUOAU.js} +1 -1
  60. package/components/{p-D8FyR2IB.js → p-B02CcbPD.js} +1 -1
  61. package/components/{p-CUQjkOdi.js → p-B4IBdPVJ.js} +1 -1
  62. package/components/p-BODcC-C0.js +4 -0
  63. package/components/p-BVNUhOOf.js +4 -0
  64. package/components/{p-BZ1k9WL7.js → p-Ba9_OzSY.js} +1 -1
  65. package/components/p-Bd8hg9FK.js +4 -0
  66. package/components/{p-3avHDbEF.js → p-BqyLLYLm.js} +1 -1
  67. package/components/p-C1AxSUnp.js +4 -0
  68. package/components/{p-DwTzX8Vi.js → p-CKTjkpAq.js} +1 -1
  69. package/components/{p-Dah8BCNg.js → p-CKiqp4Vl.js} +1 -1
  70. package/components/p-CONpe3oX.js +4 -0
  71. package/components/p-CVrOcN5N.js +4 -0
  72. package/components/p-CYctYy9B.js +4 -0
  73. package/components/{p-C-SO5kIs.js → p-C_gnmBt2.js} +1 -1
  74. package/components/{p-DnBabjgY.js → p-CxEV3Vwy.js} +1 -1
  75. package/components/p-Cyajikho.js +4 -0
  76. package/components/p-D0nwlsl_.js +4 -0
  77. package/components/{p-BT2InaHz.js → p-DBtFJlTi.js} +1 -1
  78. package/components/{p-BBsseItU.js → p-DD92Fw3n.js} +1 -1
  79. package/components/{p-kKGBuIkf.js → p-DDI6VLW9.js} +1 -1
  80. package/components/{p-LkEGRiq0.js → p-DfDIY2oP.js} +1 -1
  81. package/components/{p-Dj4J3LkD.js → p-Dojwmvde.js} +1 -1
  82. package/components/p-Drpw2dyl.js +4 -0
  83. package/components/{p-07wRJfkt.js → p-GpqwNbxf.js} +1 -1
  84. package/components/p-IQN1T5zw.js +4 -0
  85. package/components/{p-DTGCMApY.js → p-ODGeXc3M.js} +1 -1
  86. package/components/p-SHHIB5F0.js +4 -0
  87. package/components/{p-D5_mEbGJ.js → p-V1THdfzs.js} +1 -1
  88. package/components/p-YNnH1_Hs.js +4 -0
  89. package/components/{p-C8BAigo3.js → p-ZrYBjOcc.js} +1 -1
  90. package/components/p-_y7kwBO8.js +4 -0
  91. package/components/{p-BrrMFd9K.js → p-jsVMT15X.js} +1 -1
  92. package/components/{p-7NbIvzb4.js → p-r59A3wQk.js} +1 -1
  93. package/components/{p-Dy7x-KDF.js → p-yGD6MBgf.js} +1 -1
  94. package/dist/cjs/{animation-UiXhXV49.js → animation-DcgLg_PI.js} +1 -1
  95. package/dist/cjs/{attribute-controller-0-lwbVEj.js → attribute-controller-BjTE2TOf.js} +1 -1
  96. package/dist/cjs/{button-active-DzN1aPt-.js → button-active-FdsfRDY_.js} +1 -1
  97. package/dist/cjs/{capacitor-BTjfXFlK.js → capacitor-C6Pp4Z7A.js} +1 -1
  98. package/dist/cjs/{dir-Bma_9Lqh.js → dir-zwDPRE5K.js} +1 -1
  99. package/dist/cjs/{framework-delegate-hNMKEiQC.js → framework-delegate-JbKIVMzR.js} +1 -1
  100. package/dist/cjs/{haptic-BD5qPgy8.js → haptic--4QteuuM.js} +1 -1
  101. package/dist/cjs/{helpers-BrETKUUX.js → helpers-Cqr69qxA.js} +3 -2
  102. package/dist/cjs/{index-bwclzjks.js → index-BQpSekmz.js} +2 -2
  103. package/dist/cjs/{index-BTc0Jnhx.js → index-BhWiDK25.js} +3 -3
  104. package/dist/cjs/{index-DMz2Eyis.js → index-CNaZ6SYM.js} +1 -1
  105. package/dist/cjs/{index-DNBYnlrc.js → index-DCfr5hz-.js} +3 -3
  106. package/dist/cjs/index.cjs.js +9 -9
  107. package/dist/cjs/{input-shims-CRmdShL9.js → input-shims-2AsXPZ5m.js} +9 -8
  108. package/dist/cjs/ion-accordion_2.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  110. package/dist/cjs/ion-alert.cjs.entry.js +19 -19
  111. package/dist/cjs/ion-app_8.cjs.entry.js +18 -18
  112. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  113. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  115. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  116. package/dist/cjs/ion-checkbox.cjs.entry.js +2 -2
  117. package/dist/cjs/ion-col_3.cjs.entry.js +12 -14
  118. package/dist/cjs/ion-datetime-button.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-datetime.cjs.entry.js +9 -8
  120. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  121. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  122. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  123. package/dist/cjs/ion-input-otp.cjs.entry.js +128 -12
  124. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  125. package/dist/cjs/ion-item-option_3.cjs.entry.js +9 -9
  126. package/dist/cjs/ion-item_8.cjs.entry.js +10 -10
  127. package/dist/cjs/ion-loading.cjs.entry.js +5 -5
  128. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  129. package/dist/cjs/ion-modal.cjs.entry.js +10 -10
  130. package/dist/cjs/ion-nav_2.cjs.entry.js +5 -5
  131. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  132. package/dist/cjs/ion-picker-column.cjs.entry.js +4 -4
  133. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-popover.cjs.entry.js +14 -28
  135. package/dist/cjs/ion-progress-bar.cjs.entry.js +5 -6
  136. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  137. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  138. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  139. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -5
  140. package/dist/cjs/ion-route_4.cjs.entry.js +124 -19
  141. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  142. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  143. package/dist/cjs/ion-segment_2.cjs.entry.js +2 -2
  144. package/dist/cjs/ion-select-modal.cjs.entry.js +4 -4
  145. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  146. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +5 -5
  147. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  148. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  149. package/dist/cjs/ion-toast.cjs.entry.js +5 -5
  150. package/dist/cjs/ion-toggle.cjs.entry.js +4 -4
  151. package/dist/cjs/ionic.cjs.js +1 -1
  152. package/dist/cjs/{ios.transition-CN092Fh6.js → ios.transition-Ca6XODo9.js} +15 -15
  153. package/dist/cjs/{keyboard-BMpscicm.js → keyboard-BlHp4a_c.js} +1 -1
  154. package/dist/cjs/{keyboard-4OBzkjOG.js → keyboard-c2_I35b-.js} +4 -4
  155. package/dist/cjs/{keyboard-controller-DZE97OtR.js → keyboard-controller-DHS0BgXp.js} +2 -2
  156. package/dist/cjs/loader.cjs.js +1 -1
  157. package/dist/cjs/{md.transition-B6961Ny9.js → md.transition-D8SfNYEp.js} +4 -4
  158. package/dist/cjs/{overlays-BbVQG3UT.js → overlays-CLld3axA.js} +2 -2
  159. package/dist/cjs/{slot-mutation-controller-CRa_cKOh.js → slot-mutation-controller-B2OfJEBH.js} +2 -2
  160. package/dist/cjs/{status-tap-hRIvObiJ.js → status-tap-CDA0Y3Ad.js} +3 -3
  161. package/dist/cjs/{swipe-back-C-aigThB.js → swipe-back-Idb4gqUk.js} +2 -2
  162. package/dist/collection/components/alert/alert.js +11 -11
  163. package/dist/collection/components/col/col.js +12 -14
  164. package/dist/collection/components/datetime/datetime.js +5 -4
  165. package/dist/collection/components/input-otp/input-otp.ios.css +30 -5
  166. package/dist/collection/components/input-otp/input-otp.js +191 -12
  167. package/dist/collection/components/input-otp/input-otp.md.css +30 -5
  168. package/dist/collection/components/item/item.js +4 -5
  169. package/dist/collection/components/item-options/item-options.js +2 -2
  170. package/dist/collection/components/item-sliding/item-sliding.js +4 -5
  171. package/dist/collection/components/label/label.js +3 -4
  172. package/dist/collection/components/popover/animations/ios.enter.js +3 -4
  173. package/dist/collection/components/popover/animations/md.enter.js +3 -4
  174. package/dist/collection/components/popover/popover.js +2 -17
  175. package/dist/collection/components/progress-bar/progress-bar.js +3 -5
  176. package/dist/collection/components/route/route.js +9 -1
  177. package/dist/collection/components/route-redirect/route-redirect.js +1 -1
  178. package/dist/collection/components/router/utils/constants.js +2 -0
  179. package/dist/collection/components/router/utils/matching.js +97 -14
  180. package/dist/collection/components/router/utils/path.js +17 -3
  181. package/dist/collection/components/title/title.js +3 -4
  182. package/dist/collection/utils/helpers.js +2 -1
  183. package/dist/collection/utils/input-shims/hacks/common.js +4 -4
  184. package/dist/collection/utils/rtl/dir.js +1 -1
  185. package/dist/collection/utils/transition/ios.transition.js +11 -12
  186. package/dist/docs.json +92 -3
  187. package/dist/esm/{animation-C_V9lXzL.js → animation-DmtJpz89.js} +1 -1
  188. package/dist/esm/{attribute-controller-ItNOXNp9.js → attribute-controller-DPMIcbef.js} +1 -1
  189. package/dist/esm/{button-active-rB-Ct9KZ.js → button-active-DVk40Sjl.js} +1 -1
  190. package/dist/esm/{capacitor-BY7l8HgR.js → capacitor-CHJaJ9aX.js} +1 -1
  191. package/dist/esm/{dir-Dj4J3LkD.js → dir-Dojwmvde.js} +1 -1
  192. package/dist/esm/{framework-delegate-CW5_kWfc.js → framework-delegate-CDjM1vRH.js} +1 -1
  193. package/dist/esm/{haptic-ES_sSPLn.js → haptic-WXfMCob9.js} +1 -1
  194. package/dist/esm/{helpers-p94IkmEA.js → helpers-BJqKF1pr.js} +3 -2
  195. package/dist/esm/{index-DLDbwWW7.js → index-Clv8QC5L.js} +2 -2
  196. package/dist/esm/{index-txcXIB3P.js → index-DIouXecD.js} +3 -3
  197. package/dist/esm/{index-CBkVO5D0.js → index-TkLga3ma.js} +1 -1
  198. package/dist/esm/{index-vgPixHgF.js → index-z9vdZN7I.js} +3 -3
  199. package/dist/esm/index.js +9 -9
  200. package/dist/esm/{input-shims-KNXj3DAv.js → input-shims-C1iYF5JK.js} +9 -8
  201. package/dist/esm/ion-accordion_2.entry.js +2 -2
  202. package/dist/esm/ion-action-sheet.entry.js +8 -8
  203. package/dist/esm/ion-alert.entry.js +19 -19
  204. package/dist/esm/ion-app_8.entry.js +18 -18
  205. package/dist/esm/ion-back-button.entry.js +2 -2
  206. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  207. package/dist/esm/ion-button_2.entry.js +3 -3
  208. package/dist/esm/ion-card_5.entry.js +3 -3
  209. package/dist/esm/ion-checkbox.entry.js +2 -2
  210. package/dist/esm/ion-col_3.entry.js +13 -15
  211. package/dist/esm/ion-datetime-button.entry.js +2 -2
  212. package/dist/esm/ion-datetime.entry.js +9 -8
  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 +3 -3
  216. package/dist/esm/ion-input-otp.entry.js +129 -13
  217. package/dist/esm/ion-input.entry.js +3 -3
  218. package/dist/esm/ion-item-option_3.entry.js +9 -9
  219. package/dist/esm/ion-item_8.entry.js +10 -10
  220. package/dist/esm/ion-loading.entry.js +5 -5
  221. package/dist/esm/ion-menu_3.entry.js +6 -6
  222. package/dist/esm/ion-modal.entry.js +10 -10
  223. package/dist/esm/ion-nav_2.entry.js +5 -5
  224. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  225. package/dist/esm/ion-picker-column.entry.js +4 -4
  226. package/dist/esm/ion-picker.entry.js +2 -2
  227. package/dist/esm/ion-popover.entry.js +14 -28
  228. package/dist/esm/ion-progress-bar.entry.js +6 -7
  229. package/dist/esm/ion-radio_2.entry.js +2 -2
  230. package/dist/esm/ion-range.entry.js +3 -3
  231. package/dist/esm/ion-refresher_2.entry.js +6 -6
  232. package/dist/esm/ion-reorder_2.entry.js +5 -5
  233. package/dist/esm/ion-route_4.entry.js +124 -19
  234. package/dist/esm/ion-searchbar.entry.js +2 -2
  235. package/dist/esm/ion-segment-view.entry.js +1 -1
  236. package/dist/esm/ion-segment_2.entry.js +2 -2
  237. package/dist/esm/ion-select-modal.entry.js +4 -4
  238. package/dist/esm/ion-select_3.entry.js +5 -5
  239. package/dist/esm/ion-tab-bar_2.entry.js +5 -5
  240. package/dist/esm/ion-tab_2.entry.js +3 -3
  241. package/dist/esm/ion-textarea.entry.js +3 -3
  242. package/dist/esm/ion-toast.entry.js +5 -5
  243. package/dist/esm/ion-toggle.entry.js +4 -4
  244. package/dist/esm/ionic.js +1 -1
  245. package/dist/esm/{ios.transition-CW92wRDL.js → ios.transition-BkUGiDUz.js} +15 -15
  246. package/dist/esm/{keyboard-BumguZrM.js → keyboard-B4Y-Gph8.js} +4 -4
  247. package/dist/esm/{keyboard-CutS8BPd.js → keyboard-Cmqp5iZD.js} +1 -1
  248. package/dist/esm/{keyboard-controller-DqohyEsZ.js → keyboard-controller-B2NoF7bV.js} +2 -2
  249. package/dist/esm/loader.js +1 -1
  250. package/dist/esm/{md.transition-yhfkYX1P.js → md.transition-B6hlrWjR.js} +4 -4
  251. package/dist/esm/{overlays-BBgMM61s.js → overlays-DmDY-El7.js} +2 -2
  252. package/dist/esm/{slot-mutation-controller-uKdPbY9K.js → slot-mutation-controller-Btpr9-9O.js} +2 -2
  253. package/dist/esm/{status-tap-BskkGI4e.js → status-tap-VGRBYwiC.js} +3 -3
  254. package/dist/esm/{swipe-back-BZdyM2Q-.js → swipe-back-DV3UpWzz.js} +2 -2
  255. package/dist/html.html-data.json +10 -2
  256. package/dist/ionic/index.esm.js +1 -1
  257. package/dist/ionic/ionic.esm.js +1 -1
  258. package/dist/ionic/{p-013b9aba.entry.js → p-01b7e3f2.entry.js} +1 -1
  259. package/dist/ionic/{p-9515f840.entry.js → p-095da8ec.entry.js} +1 -1
  260. package/dist/ionic/{p-ec08a7e6.entry.js → p-0b09c60e.entry.js} +1 -1
  261. package/dist/ionic/{p-5b47b8d5.entry.js → p-0c32c626.entry.js} +1 -1
  262. package/dist/ionic/p-0f97175e.entry.js +4 -0
  263. package/dist/ionic/{p-b0faaae2.entry.js → p-107a81a6.entry.js} +1 -1
  264. package/dist/ionic/{p-27960f65.entry.js → p-293cb1d5.entry.js} +1 -1
  265. package/dist/ionic/{p-1ffa5577.entry.js → p-362dcd86.entry.js} +1 -1
  266. package/dist/ionic/{p-0562139b.entry.js → p-4bd80334.entry.js} +1 -1
  267. package/dist/ionic/{p-16de8fd9.entry.js → p-4f25b926.entry.js} +1 -1
  268. package/dist/ionic/{p-0f1613f2.entry.js → p-52a16f94.entry.js} +1 -1
  269. package/dist/ionic/{p-436d4ac8.entry.js → p-5bb24bce.entry.js} +1 -1
  270. package/dist/ionic/{p-9d7e5a0b.entry.js → p-60780b88.entry.js} +1 -1
  271. package/dist/ionic/{p-1f342c2d.entry.js → p-62c87f3d.entry.js} +1 -1
  272. package/dist/ionic/{p-7868eb92.entry.js → p-64ac3864.entry.js} +1 -1
  273. package/dist/ionic/{p-f37e6ed2.entry.js → p-67f004eb.entry.js} +1 -1
  274. package/dist/ionic/p-6c7b5930.entry.js +4 -0
  275. package/dist/ionic/p-705759fd.entry.js +4 -0
  276. package/dist/ionic/{p-a45caa30.entry.js → p-7db20410.entry.js} +1 -1
  277. package/dist/ionic/{p-694f3e78.entry.js → p-7e9c2a97.entry.js} +1 -1
  278. package/dist/ionic/p-7l6ENjIV.js +4 -0
  279. package/dist/ionic/{p-77540bcb.entry.js → p-82abf431.entry.js} +1 -1
  280. package/dist/ionic/p-8d2ccf0c.entry.js +4 -0
  281. package/dist/ionic/{p-87fb6d59.entry.js → p-8d651adb.entry.js} +1 -1
  282. package/dist/ionic/{p-51af4728.entry.js → p-8db08782.entry.js} +1 -1
  283. package/dist/ionic/{p-af15fc5d.entry.js → p-91f3cd8b.entry.js} +1 -1
  284. package/dist/ionic/{p-c7ea2647.entry.js → p-930c3538.entry.js} +1 -1
  285. package/dist/ionic/p-94f1f7df.entry.js +4 -0
  286. package/dist/ionic/p-99c518de.entry.js +4 -0
  287. package/dist/ionic/{p-014c3633.entry.js → p-9ffccbf1.entry.js} +1 -1
  288. package/dist/ionic/p-BNXIurCt.js +4 -0
  289. package/dist/ionic/p-BOLqP2-V.js +4 -0
  290. package/dist/ionic/{p-5a3UxQAh.js → p-BY4FwwBp.js} +1 -1
  291. package/dist/ionic/p-BZTgGzGK.js +4 -0
  292. package/dist/ionic/p-BdHBcCZF.js +4 -0
  293. package/dist/ionic/{p-8B39TMv-.js → p-BpED_ep_.js} +1 -1
  294. package/dist/ionic/p-BuLlVedw.js +4 -0
  295. package/dist/ionic/p-Bx5x5GJV.js +4 -0
  296. package/dist/ionic/{p-C4SpVvhx.js → p-C1WYZOZj.js} +1 -1
  297. package/dist/ionic/p-C2LaBx3E.js +4 -0
  298. package/dist/ionic/{p-BWKtcudz.js → p-CXs4J83x.js} +1 -1
  299. package/dist/ionic/p-CgcGX08t.js +4 -0
  300. package/dist/ionic/p-CngfKMRU.js +4 -0
  301. package/dist/ionic/p-Co7eql8D.js +4 -0
  302. package/dist/ionic/{p-DArnNWiu.js → p-D13gXhdC.js} +1 -1
  303. package/dist/ionic/p-D926OmIX.js +4 -0
  304. package/dist/ionic/{p-BBZQUbCq.js → p-DPNVo1nr.js} +1 -1
  305. package/dist/ionic/{p-B0afqOUt.js → p-DXXGkPA8.js} +1 -1
  306. package/dist/ionic/{p-CJmyfI8x.js → p-Dk4Mdaru.js} +1 -1
  307. package/dist/ionic/{p-Dj4J3LkD.js → p-Dojwmvde.js} +1 -1
  308. package/dist/ionic/p-a4389f13.entry.js +4 -0
  309. package/dist/ionic/p-af8fb360.entry.js +4 -0
  310. package/dist/ionic/{p-f6a1ab48.entry.js → p-b9ed3a52.entry.js} +1 -1
  311. package/dist/ionic/p-bfdbe24b.entry.js +4 -0
  312. package/dist/ionic/{p-77e7b612.entry.js → p-c250b6b0.entry.js} +1 -1
  313. package/dist/ionic/p-c83dbc12.entry.js +4 -0
  314. package/dist/ionic/{p-1bb1be7e.entry.js → p-d0e374f8.entry.js} +1 -1
  315. package/dist/ionic/{p-af4b4719.entry.js → p-d2406889.entry.js} +1 -1
  316. package/dist/ionic/{p-cbc73380.entry.js → p-d72accc4.entry.js} +1 -1
  317. package/dist/ionic/{p-1252621e.entry.js → p-e7ab4def.entry.js} +1 -1
  318. package/dist/ionic/{p-5dcddfd5.entry.js → p-e8e69c21.entry.js} +1 -1
  319. package/dist/ionic/{p-96d040b0.entry.js → p-eb989dc9.entry.js} +1 -1
  320. package/dist/ionic/{p-59e4b521.entry.js → p-ec259ac5.entry.js} +1 -1
  321. package/dist/ionic/p-f2116a54.entry.js +4 -0
  322. package/dist/ionic/{p-B2JD8_LP.js → p-nCAPr1Ah.js} +1 -1
  323. package/dist/types/components/alert/alert.d.ts +0 -4
  324. package/dist/types/components/col/col.d.ts +0 -1
  325. package/dist/types/components/input-otp/input-otp-interface.d.ts +1 -0
  326. package/dist/types/components/input-otp/input-otp.d.ts +40 -2
  327. package/dist/types/components/popover/popover.d.ts +0 -1
  328. package/dist/types/components/progress-bar/progress-bar.d.ts +0 -1
  329. package/dist/types/components/route/route.d.ts +8 -0
  330. package/dist/types/components/route-redirect/route-redirect.d.ts +3 -1
  331. package/dist/types/components/router/utils/constants.d.ts +2 -0
  332. package/dist/types/components/router/utils/matching.d.ts +10 -0
  333. package/dist/types/components/router/utils/path.d.ts +5 -1
  334. package/dist/types/components.d.ts +32 -6
  335. package/dist/types/utils/helpers.d.ts +3 -2
  336. package/dist/types/utils/rtl/dir.d.ts +1 -1
  337. package/hydrate/index.js +301 -109
  338. package/hydrate/index.mjs +301 -109
  339. package/package.json +1 -1
  340. package/components/p-B3dSuofL.js +0 -4
  341. package/components/p-BWbz71uB.js +0 -4
  342. package/components/p-C0TdbIVo.js +0 -4
  343. package/components/p-C6Y0cCH_.js +0 -4
  344. package/components/p-CCFj0kgH.js +0 -4
  345. package/components/p-CRb2xRCz.js +0 -4
  346. package/components/p-DLEJ61lJ.js +0 -4
  347. package/components/p-DRm4t-by.js +0 -4
  348. package/components/p-D_U0pDe5.js +0 -4
  349. package/components/p-DaW9OZ6S.js +0 -4
  350. package/components/p-DaojW_d_.js +0 -4
  351. package/components/p-Ds5vN3iu.js +0 -4
  352. package/components/p-RhI78AKb.js +0 -4
  353. package/components/p-z-EWo6r-.js +0 -4
  354. package/dist/ionic/p-129f7b95.entry.js +0 -4
  355. package/dist/ionic/p-210f906e.entry.js +0 -4
  356. package/dist/ionic/p-3c6fc2e8.entry.js +0 -4
  357. package/dist/ionic/p-43729675.entry.js +0 -4
  358. package/dist/ionic/p-4468e439.entry.js +0 -4
  359. package/dist/ionic/p-800ce1e0.entry.js +0 -4
  360. package/dist/ionic/p-84470714.entry.js +0 -4
  361. package/dist/ionic/p-8af85fa8.entry.js +0 -4
  362. package/dist/ionic/p-8dQB1sG_.js +0 -4
  363. package/dist/ionic/p-B2y1T0dN.js +0 -4
  364. package/dist/ionic/p-BHBb21Hp.js +0 -4
  365. package/dist/ionic/p-BgkRGRO3.js +0 -4
  366. package/dist/ionic/p-CNdt1FPc.js +0 -4
  367. package/dist/ionic/p-Cf6KtUnA.js +0 -4
  368. package/dist/ionic/p-CfccUand.js +0 -4
  369. package/dist/ionic/p-DBFcFCH5.js +0 -4
  370. package/dist/ionic/p-DCmOKz8e.js +0 -4
  371. package/dist/ionic/p-DFPZa_No.js +0 -4
  372. package/dist/ionic/p-DYKDWM2f.js +0 -4
  373. package/dist/ionic/p-DzQk7Lu8.js +0 -4
  374. package/dist/ionic/p-c56c23b6.entry.js +0 -4
  375. package/dist/ionic/p-c8c77f7b.entry.js +0 -4
  376. package/dist/ionic/p-d58e9da3.entry.js +0 -4
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as printIonError, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
- import { f as addEventListener, c as componentOnReady } from './helpers-p94IkmEA.js';
5
+ import { f as addEventListener, c as componentOnReady } from './helpers-BJqKF1pr.js';
6
6
  import { c as createColorClasses } from './theme-byZM6qHV.js';
7
7
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
8
8
  import { D as parseDate, d as getHourCycle, P as getLocalizedDateTime, O as getLocalizedTime } from './format-Ck1cw5z7.js';
9
- import './dir-Dj4J3LkD.js';
9
+ import './dir-Dojwmvde.js';
10
10
 
11
11
  const datetimeButtonIosCss = () => `:host{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}:host button{border-radius:8px;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px;margin-top:0px;margin-bottom:0px;position:relative;-webkit-transition:150ms color ease-in-out;transition:150ms color ease-in-out;border:none;background:var(--ion-color-step-300, var(--ion-background-color-step-300, #edeef0));color:var(--ion-text-color, #000);font-family:inherit;font-size:1rem;cursor:pointer;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host(.time-active) #time-button,:host(.date-active) #date-button{color:var(--ion-color-primary, #0054e9)}:host(.ion-color.time-active) #time-button,:host(.ion-color.date-active) #date-button{color:var(--ion-color-base)}:host(.datetime-button-disabled){pointer-events:none}:host(.datetime-button-disabled) button{opacity:0.4}:host button{-webkit-padding-start:13px;padding-inline-start:13px;-webkit-padding-end:13px;padding-inline-end:13px;padding-top:7px;padding-bottom:7px}:host button.ion-activated{color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666))}`;
12
12
 
@@ -3,14 +3,14 @@
3
3
  */
4
4
  import { c as printIonError, a as printIonWarning, r as registerInstance, d as createEvent, w as writeTask, i as config, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
5
  import { startFocusVisible } from './focus-visible-BmVRXR1y.js';
6
- import { r as raf, g as getElementRoot, a as renderHiddenInput } from './helpers-p94IkmEA.js';
7
- import { F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-BBgMM61s.js';
8
- import { i as isRTL } from './dir-Dj4J3LkD.js';
6
+ import { r as raf, g as getElementRoot, a as renderHiddenInput } from './helpers-BJqKF1pr.js';
7
+ import { F as FOCUS_TRAP_DISABLE_CLASS } from './overlays-DmDY-El7.js';
8
+ import { i as isRTL } from './dir-Dojwmvde.js';
9
9
  import { c as createColorClasses } from './theme-byZM6qHV.js';
10
10
  import { b as chevronDown, d as caretUpSharp, e as chevronForward, f as caretDownSharp, c as chevronBack } from './index-BvabGprD.js';
11
11
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
12
12
  import { r as removeDateTzOffset, g as getNextMonth, a as getPreviousMonth, b as getTodayLabel, c as getYear, d as getHourCycle, e as getInternalHourValue, f as getFormattedHour, h as addTimePadding, i as getLocalizedDayPeriod, j as isBefore, k as isSameDay, l as isAfter, m as is24Hour, n as getNumDaysInMonth, o as getDay, p as generateDayAriaLabel, v as validateParts, q as getPartsFromCalendarDay, s as getNextYear, t as getPreviousYear, u as getEndOfWeek, w as getStartOfWeek, x as getPreviousDay, y as getNextDay, z as getPreviousWeek, A as getNextWeek, B as parseMinParts, C as parseMaxParts, D as parseDate, E as warnIfValueOutOfBounds, F as parseAmPm, G as clampDate, H as convertToArrayOfNumbers, I as convertDataToISO, J as getClosestValidDate, K as isMonthFirstLocale, L as isLocaleDayPeriodRTL, M as calculateHourFromAMPM, N as getMonthAndYear, O as getLocalizedTime, P as getLocalizedDateTime, Q as formatValue } from './format-Ck1cw5z7.js';
13
- import './framework-delegate-CW5_kWfc.js';
13
+ import './framework-delegate-CDjM1vRH.js';
14
14
  import './gesture-controller-B_gJaBk0.js';
15
15
 
16
16
  /**
@@ -2261,12 +2261,13 @@ const Datetime = class {
2261
2261
  const collapsedIcon = mode === 'ios' ? chevronForward : caretDownSharp;
2262
2262
  const prevMonthDisabled = disabled || isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
2263
2263
  const nextMonthDisabled = disabled || isNextMonthDisabled(this.workingParts, this.maxParts);
2264
- const hostDir = isRTL(this.el) ? 'rtl' : 'ltr';
2264
+ // don't use the inheritAttributes util because it removes dir from the host, and we still need that
2265
+ const hostDir = this.el.getAttribute('dir') || undefined;
2265
2266
  return (h("div", { class: "calendar-header", part: "calendar-header" }, h("div", { class: "calendar-action-buttons" }, h("div", { class: "calendar-month-year" }, h("button", { class: {
2266
2267
  'calendar-month-year-toggle': true,
2267
2268
  'ion-activatable': true,
2268
2269
  'ion-focusable': true,
2269
- }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { dir: hostDir, "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "navigation-button previous-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "navigation-button next-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "calendar-days-of-week" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
2270
+ }, part: "month-year-button", disabled: disabled, "aria-label": this.showMonthAndYear ? 'Hide year picker' : 'Show year picker', onClick: () => this.toggleMonthAndYearView() }, h("span", { id: "toggle-wrapper" }, getMonthAndYear(this.locale, this.workingParts), h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })), mode === 'md' && h("ion-ripple-effect", null))), h("div", { class: "calendar-next-prev" }, h("ion-buttons", null, h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth(), part: "navigation-button previous-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronBack, lazy: false, flipRtl: true })), h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth(), part: "navigation-button next-button" }, h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: chevronForward, lazy: false, flipRtl: true }))))), h("div", { class: "calendar-days-of-week", "aria-hidden": "true", part: "calendar-days-of-week" }, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
2270
2271
  return h("div", { class: "day-of-week" }, d);
2271
2272
  }))));
2272
2273
  }
@@ -2583,7 +2584,7 @@ const Datetime = class {
2583
2584
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
2584
2585
  const hasWheelVariant = hasDatePresentation && preferWheel;
2585
2586
  renderHiddenInput(true, el, name, formatValue(value), disabled);
2586
- return (h(Host, { key: '465c9c22bccabc4a82ea4054c536c6086b85ddf9', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
2587
+ return (h(Host, { key: 'e9b99bb5610fc7fe879200a56dcc865c6e2f1404', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: {
2587
2588
  ...createColorClasses(color, {
2588
2589
  [mode]: true,
2589
2590
  ['datetime-readonly']: readonly,
@@ -2595,7 +2596,7 @@ const Datetime = class {
2595
2596
  [`datetime-prefer-wheel`]: hasWheelVariant,
2596
2597
  [`datetime-grid`]: isGridStyle,
2597
2598
  }),
2598
- } }, h("div", { key: '9732b003440a0ca23520bc8a09e73125d88fd565', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
2599
+ } }, h("div", { key: 'a5e61be2989468dc24ec8fb394116d9339b7824c', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
2599
2600
  }
2600
2601
  get el() { return getElement(this); }
2601
2602
  static get watchers() { return {
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, g as getElement, d as createEvent, a as printIonWarning } from './index-BpRUsN_W.js';
5
5
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
6
- import { k as hasShadowDom, i as inheritAriaAttributes } from './helpers-p94IkmEA.js';
6
+ import { k as hasShadowDom, i as inheritAriaAttributes } from './helpers-BJqKF1pr.js';
7
7
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-byZM6qHV.js';
8
8
  import { t as close } from './index-BvabGprD.js';
9
- import './dir-Dj4J3LkD.js';
9
+ import './dir-Dojwmvde.js';
10
10
 
11
11
  const fabCss = () => `:host{position:absolute;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;z-index:999}:host(.fab-horizontal-center){left:0px;right:0px;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}:host(.fab-horizontal-start){left:calc(10px + var(--ion-safe-area-left, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-start),:host-context([dir=rtl]).fab-horizontal-start{right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-start:dir(rtl)){right:calc(10px + var(--ion-safe-area-right, 0px));left:unset}}:host(.fab-horizontal-end){right:calc(10px + var(--ion-safe-area-right, 0px));}:host-context([dir=rtl]):host(.fab-horizontal-end),:host-context([dir=rtl]).fab-horizontal-end{left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}@supports selector(:dir(rtl)){:host(.fab-horizontal-end:dir(rtl)){left:calc(10px + var(--ion-safe-area-left, 0px));right:unset}}:host(.fab-vertical-top){top:10px}:host(.fab-vertical-top.fab-edge){top:0}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-top:calc((-100% + 16px) / 2)}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-top:-50%}:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-top.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-top:calc(50% + 10px)}:host(.fab-vertical-bottom){bottom:10px}:host(.fab-vertical-bottom.fab-edge){bottom:0}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-button.fab-button-small){margin-bottom:calc((-100% + 16px) / 2)}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-start),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-end){margin-bottom:-50%}:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-top),:host(.fab-vertical-bottom.fab-edge) ::slotted(ion-fab-list.fab-list-side-bottom){margin-bottom:calc(50% + 10px)}:host(.fab-vertical-center){top:0px;bottom:0px;margin-top:auto;margin-bottom:auto}`;
12
12
 
@@ -2,9 +2,9 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, a as printIonWarning, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
- import { b as inheritAttributes } from './helpers-p94IkmEA.js';
5
+ import { b as inheritAttributes } from './helpers-BJqKF1pr.js';
6
6
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
7
- import './dir-Dj4J3LkD.js';
7
+ import './dir-Dojwmvde.js';
8
8
 
9
9
  const imgCss = () => `:host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}`;
10
10
 
@@ -2,12 +2,12 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, w as writeTask, e as readTask, h, f as Host, g as getElement, i as config } from './index-BpRUsN_W.js';
5
- import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-CBkVO5D0.js';
5
+ import { a as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-TkLga3ma.js';
6
6
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
7
7
  import { E as ENABLE_HTML_CONTENT_DEFAULT } from './config-DWCzVL3Y.js';
8
8
  import { s as sanitizeDOMString } from './index-CK8uF0iB.js';
9
- import './helpers-p94IkmEA.js';
10
- import './dir-Dj4J3LkD.js';
9
+ import './helpers-BJqKF1pr.js';
10
+ import './dir-Dojwmvde.js';
11
11
 
12
12
  const infiniteScrollCss = () => `ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}`;
13
13
 
@@ -1,15 +1,17 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, d as createEvent, a as printIonWarning, h, F as Fragment, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
- import { i as inheritAriaAttributes } from './helpers-p94IkmEA.js';
6
- import { i as isRTL } from './dir-Dj4J3LkD.js';
4
+ import { r as registerInstance, d as createEvent, j as forceUpdate, a as printIonWarning, h, c as printIonError, F as Fragment, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
+ import { a as createAttributeController } from './attribute-controller-DPMIcbef.js';
6
+ import { q as ariaAttributes } from './helpers-BJqKF1pr.js';
7
+ import { i as isRTL } from './dir-Dojwmvde.js';
8
+ import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
9
  import { c as createColorClasses } from './theme-byZM6qHV.js';
8
10
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
9
11
 
10
- 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))))}`;
12
+ 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);--border-color:initial;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, var(--internal-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-bottom.sc-ion-input-otp-ios{font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-bottom.sc-ion-input-otp-ios .error-text.sc-ion-input-otp-ios{display:none;color:var(--highlight-color-invalid)}.input-otp-bottom.sc-ion-input-otp-ios .helper-text.sc-ion-input-otp-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h .input-otp-bottom.sc-ion-input-otp-ios .error-text.sc-ion-input-otp-ios{display:block}.ion-touched.ion-invalid.sc-ion-input-otp-ios-h .input-otp-bottom.sc-ion-input-otp-ios .helper-text.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{--internal-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));--internal-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{--internal-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{--internal-border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))))}`;
11
13
 
12
- 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))}`;
14
+ 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);--border-color:initial;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, var(--internal-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-bottom.sc-ion-input-otp-md{font-size:0.75rem;line-height:1.25rem;text-align:center}.input-otp-bottom.sc-ion-input-otp-md .error-text.sc-ion-input-otp-md{display:none;color:var(--highlight-color-invalid)}.input-otp-bottom.sc-ion-input-otp-md .helper-text.sc-ion-input-otp-md{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-otp-md-h .input-otp-bottom.sc-ion-input-otp-md .error-text.sc-ion-input-otp-md{display:block}.ion-touched.ion-invalid.sc-ion-input-otp-md-h .input-otp-bottom.sc-ion-input-otp-md .helper-text.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{--internal-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));--internal-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{--internal-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{--internal-border-color:var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3))}`;
13
15
 
14
16
  const InputOTP = class {
15
17
  constructor(hostRef) {
@@ -19,9 +21,11 @@ const InputOTP = class {
19
21
  this.ionComplete = createEvent(this, "ionComplete", 7);
20
22
  this.ionBlur = createEvent(this, "ionBlur", 7);
21
23
  this.ionFocus = createEvent(this, "ionFocus", 7);
22
- this.inheritedAttributes = {};
23
24
  this.inputRefs = [];
24
25
  this.inputId = `ion-input-otp-${inputIds++}`;
26
+ this.helperTextId = `${this.inputId}-helper-text`;
27
+ this.errorTextId = `${this.inputId}-error-text`;
28
+ this.descriptionId = `${this.inputId}-description`;
25
29
  this.parsedSeparators = [];
26
30
  /**
27
31
  * Tracks whether the user is navigating through input boxes using keyboard navigation
@@ -37,6 +41,7 @@ const InputOTP = class {
37
41
  this.inputValues = [];
38
42
  this.hasFocus = false;
39
43
  this.previousInputValues = [];
44
+ this.isInvalid = false;
40
45
  /**
41
46
  * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
42
47
  * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
@@ -389,6 +394,10 @@ const InputOTP = class {
389
394
  this.inputRefs[tabbableIndex]?.focus();
390
395
  }
391
396
  }
397
+ // The host keeps these (see `HOST_ARIA_ATTRIBUTES`), so re-render when they change
398
+ onHostAriaChange() {
399
+ forceUpdate(this);
400
+ }
392
401
  valueChanged() {
393
402
  this.initializeValues();
394
403
  this.updateTabIndexes();
@@ -445,13 +454,45 @@ const InputOTP = class {
445
454
  }
446
455
  this.parsedSeparators = separatorValues.filter((pos) => pos <= length);
447
456
  }
457
+ connectedCallback() {
458
+ const { el } = this;
459
+ if (typeof MutationObserver !== 'undefined') {
460
+ this.validationObserver = new MutationObserver(() => {
461
+ const newIsInvalid = checkInvalidState(el);
462
+ if (this.isInvalid !== newIsInvalid) {
463
+ this.isInvalid = newIsInvalid;
464
+ // Force a re-render to update aria-describedby immediately
465
+ forceUpdate(this);
466
+ }
467
+ });
468
+ this.validationObserver.observe(el, {
469
+ attributes: true,
470
+ attributeFilter: ['class'],
471
+ });
472
+ }
473
+ this.isInvalid = checkInvalidState(el);
474
+ // Resumes watching after a move, since `componentWillLoad` only runs once
475
+ this.ariaController?.init();
476
+ }
477
+ disconnectedCallback() {
478
+ this.ariaController?.destroy();
479
+ if (this.validationObserver) {
480
+ this.validationObserver.disconnect();
481
+ this.validationObserver = undefined;
482
+ }
483
+ }
448
484
  componentWillLoad() {
449
- this.inheritedAttributes = inheritAriaAttributes(this.el);
485
+ // Only read `role` at load so a later host write isn't copied to the group
486
+ this.ariaController = createAttributeController(this.el, ariaAttributes.filter((attr) => !HOST_ARIA_ATTRIBUTES.includes(attr)), () => forceUpdate(this), ['role']);
450
487
  this.processSeparators();
451
488
  this.initializeValues();
452
489
  }
453
490
  componentDidLoad() {
454
491
  this.updateTabIndexes();
492
+ // The description only exists after the first render, so render again to reference it
493
+ if (this.getDescriptionText()) {
494
+ forceUpdate(this);
495
+ }
455
496
  }
456
497
  componentDidRender() {
457
498
  if (this.updateTabIndexesAfterRender) {
@@ -629,14 +670,77 @@ const InputOTP = class {
629
670
  const { length } = this;
630
671
  return this.parsedSeparators.includes(index + 1) && index < length - 1;
631
672
  }
673
+ /**
674
+ * Returns `undefined` until the first render creates the description container.
675
+ */
676
+ getDescriptionText() {
677
+ return this.el.querySelector('.input-otp-description')?.textContent?.trim();
678
+ }
679
+ getHintTextId() {
680
+ const { isInvalid, helperText, errorText, helperTextId, errorTextId } = this;
681
+ if (isInvalid && errorText) {
682
+ return errorTextId;
683
+ }
684
+ if (helperText) {
685
+ return helperTextId;
686
+ }
687
+ return undefined;
688
+ }
689
+ renderHintText() {
690
+ const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
691
+ return [
692
+ h("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null),
693
+ h("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null),
694
+ ];
695
+ }
696
+ renderBottomContent() {
697
+ const { helperText, errorText } = this;
698
+ if (!helperText && !errorText) {
699
+ return;
700
+ }
701
+ return h("div", { class: "input-otp-bottom" }, this.renderHintText());
702
+ }
703
+ /**
704
+ * A custom formatter is used as is so translators control the whole name.
705
+ * With a host `aria-labelledby`, each box also references itself so its
706
+ * position is still read.
707
+ */
708
+ getInputLabelAttributes(index, hostAttributes) {
709
+ const { inputId, inputLabelFormatter, length } = this;
710
+ const hostLabel = hostAttributes['aria-label'];
711
+ const hostLabelledBy = hostAttributes['aria-labelledby'];
712
+ const position = `${index + 1} of ${length}`;
713
+ if (inputLabelFormatter !== undefined) {
714
+ try {
715
+ return { 'aria-label': inputLabelFormatter(index, length) };
716
+ }
717
+ catch (e) {
718
+ printIonError('[ion-input-otp] - Exception in provided `inputLabelFormatter`:', e);
719
+ }
720
+ }
721
+ if (hostLabelledBy) {
722
+ return { 'aria-label': position, 'aria-labelledby': `${hostLabelledBy} ${inputId}-${index}` };
723
+ }
724
+ return { 'aria-label': hostLabel ? `${hostLabel}, ${position}` : `Input ${position}` };
725
+ }
632
726
  render() {
633
- const { autocapitalize, color, disabled, el, fill, hasFocus, inheritedAttributes, inputId, inputRefs, inputValues, length, readonly, shape, size, } = this;
727
+ const { ariaController, autocapitalize, color, descriptionId, disabled, el, fill, hasFocus, inputId, inputRefs, inputValues, isInvalid, length, readonly, shape, size, } = this;
634
728
  const mode = getIonMode(this);
635
729
  const inputmode = this.getInputmode();
636
730
  const tabbableIndex = this.getTabbableIndex();
637
731
  const pattern = this.getPattern();
638
- const hasDescription = el.querySelector('.input-otp-description')?.textContent?.trim() !== '';
639
- return (h(Host, { key: 'def9fbd4fa135e6f435380c6ea86ac1621b4a111', class: createColorClasses(color, {
732
+ const descriptionText = this.getDescriptionText();
733
+ // Keep the description visible until the first render can check it
734
+ const hasDescription = descriptionText !== '';
735
+ /**
736
+ * Screen readers only announce these from the focused input. The
737
+ * description stays on the group so it isn't repeated for every input.
738
+ */
739
+ const { 'aria-errormessage': ariaErrorMessage, 'aria-required': ariaRequired, ...groupAttributes } = ariaController?.attributes ?? {};
740
+ const hostDescribedBy = el.getAttribute('aria-describedby');
741
+ const hostInvalid = el.getAttribute('aria-invalid') ?? undefined;
742
+ const describedBy = [hostDescribedBy, this.getHintTextId()].filter(Boolean).join(' ');
743
+ return (h(Host, { key: '5b13c3bed3979e269cf4409895954edb171d68f3', class: createColorClasses(color, {
640
744
  [mode]: true,
641
745
  'has-focus': hasFocus,
642
746
  [`input-otp-size-${size}`]: true,
@@ -644,7 +748,7 @@ const InputOTP = class {
644
748
  [`input-otp-fill-${fill}`]: true,
645
749
  'input-otp-disabled': disabled,
646
750
  'input-otp-readonly': readonly,
647
- }) }, h("div", { key: '5d3d7646a3d4fc856b7b2e1f53d29fca47b10baf', role: "group", "aria-label": "One-time password input", class: "input-otp-group", ...inheritedAttributes }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, "aria-label": `Input ${index + 1} of ${length}`, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => {
751
+ }) }, h("div", { key: '6db010743f0eb5e059dc00de5822f117a264bb16', role: "group", class: "input-otp-group", ...groupAttributes, "aria-label": groupAttributes['aria-label'] || 'One-time password input', "aria-describedby": descriptionText ? descriptionId : undefined }, Array.from({ length }).map((_, index) => (h(Fragment, null, h("div", { class: "native-wrapper" }, h("input", { class: "native-input", id: `${inputId}-${index}`, ...this.getInputLabelAttributes(index, groupAttributes), "aria-describedby": describedBy || undefined, "aria-errormessage": ariaErrorMessage, "aria-invalid": isInvalid ? 'true' : hostInvalid, "aria-required": ariaRequired, type: "text", autoCapitalize: autocapitalize, inputmode: inputmode, pattern: pattern, disabled: disabled, readOnly: readonly, tabIndex: index === tabbableIndex ? 0 : -1, value: inputValues[index] || '', autocomplete: "one-time-code", ref: (el) => {
648
752
  if (el) {
649
753
  inputRefs[index] = el;
650
754
  }
@@ -652,13 +756,19 @@ const InputOTP = class {
652
756
  // The input was removed, so drop its ref and any after it.
653
757
  inputRefs.splice(index);
654
758
  }
655
- }, onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '9d72a4ab35b5fdd6bba9701050c385ed253b310f', class: {
759
+ }, onInput: this.onInput(index), onBlur: this.onBlur, onFocus: this.onFocus(index), onKeyDown: this.onKeyDown(index), onPaste: this.onPaste })), this.showSeparator(index) && h("div", { class: "input-otp-separator" }))))), h("div", { key: '4d55d7532dcc28fadcb2f860dd2fcd2aa45ccccc', id: descriptionId, class: {
656
760
  'input-otp-description': true,
657
761
  'input-otp-description-hidden': !hasDescription,
658
- } }, h("slot", { key: '7deb3373c0d4e5deac22fa51577d271b9bb3a6d2' }))));
762
+ } }, h("slot", { key: '5d6823f48a9786799c9d485ce0d6b9de2ae7f537' })), this.renderBottomContent()));
659
763
  }
660
764
  get el() { return getElement(this); }
661
765
  static get watchers() { return {
766
+ "aria-describedby": [{
767
+ "onHostAriaChange": 0
768
+ }],
769
+ "aria-invalid": [{
770
+ "onHostAriaChange": 0
771
+ }],
662
772
  "value": [{
663
773
  "valueChanged": 0
664
774
  }],
@@ -673,6 +783,12 @@ const InputOTP = class {
673
783
  }; }
674
784
  };
675
785
  let inputIds = 0;
786
+ /**
787
+ * The attribute controller removes these from the host, so an app could never
788
+ * clear them. They stay on the host instead, which only works for global
789
+ * attributes since the host has no role.
790
+ */
791
+ const HOST_ARIA_ATTRIBUTES = ['aria-describedby', 'aria-invalid'];
676
792
  InputOTP.style = {
677
793
  ios: inputOtpIosCss(),
678
794
  md: inputOtpMdCss()
@@ -2,14 +2,14 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, j as forceUpdate, h, f as Host, g as getElement } from './index-BpRUsN_W.js';
5
- import { c as createSlotMutationController, a as createNotchController, b as createStartEndContainerController, d as createClickController } from './slot-mutation-controller-uKdPbY9K.js';
5
+ import { c as createSlotMutationController, a as createNotchController, b as createStartEndContainerController, d as createClickController } from './slot-mutation-controller-Btpr9-9O.js';
6
6
  import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
- import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-p94IkmEA.js';
7
+ import { d as debounceEvent, b as inheritAttributes, i as inheritAriaAttributes, c as componentOnReady } from './helpers-BJqKF1pr.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-byZM6qHV.js';
9
9
  import { g as closeCircle, h as closeSharp } from './index-BvabGprD.js';
10
10
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
11
11
  import { g as getCounterText } from './input.utils-DZY_K8Po.js';
12
- import './dir-Dj4J3LkD.js';
12
+ import './dir-Dojwmvde.js';
13
13
 
14
14
  const inputIosCss = () => `.sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--background:transparent;--color:initial;--border-style:solid;--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;width:100%;min-height:44px;padding:0 !important;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item[slot=start].sc-ion-input-ios-h,ion-item [slot=start].sc-ion-input-ios-h,ion-item[slot=end].sc-ion-input-ios-h,ion-item [slot=end].sc-ion-input-ios-h{width:auto}.ion-color.sc-ion-input-ios-h{--highlight-color-focused:var(--ion-color-base)}.input-label-placement-floating.sc-ion-input-ios-h,.input-label-placement-stacked.sc-ion-input-ios-h{min-height:56px}.native-input.sc-ion-input-ios{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:inline-block;position:relative;-ms-flex:1;flex:1;width:100%;min-width:2ch;max-width:100%;height:100%;max-height:100%;border:0;outline:none;background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:1}.native-input.sc-ion-input-ios::-webkit-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-moz-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::-ms-input-placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{-webkit-box-shadow:none;box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.cloned-input.sc-ion-input-ios{position:absolute;top:0;bottom:0;height:auto;max-height:none;pointer-events:none}.cloned-input.sc-ion-input-ios:disabled{opacity:1}.input-clear-icon.sc-ion-input-ios{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:30px;height:30px;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;color:var(--ion-color-step-600, var(--ion-text-color-step-400, #666666));visibility:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.in-item-color.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{color:inherit}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.input-wrapper.sc-ion-input-ios{-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);border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:stretch;align-items:stretch;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.input-control.sc-ion-input-ios{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;width:100%;min-width:0}.native-wrapper.sc-ion-input-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;width:100%}.input-label-placement-start.sc-ion-input-ios-h .native-wrapper.sc-ion-input-ios,.input-label-placement-end.sc-ion-input-ios-h .native-wrapper.sc-ion-input-ios,.input-label-placement-fixed.sc-ion-input-ios-h .native-wrapper.sc-ion-input-ios{-ms-flex:1 1 0px;flex:1 1 0}.input-start.sc-ion-input-ios,.input-end.sc-ion-input-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center}.ion-touched.ion-invalid.sc-ion-input-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-input-ios-h{--highlight-color:var(--highlight-color-valid)}.input-bottom.sc-ion-input-ios{-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:5px;padding-bottom:0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;border-top:var(--border-width) var(--border-style) var(--border-color);font-size:0.75rem;white-space:normal}.has-focus.ion-valid.sc-ion-input-ios-h,.ion-touched.ion-invalid.sc-ion-input-ios-h{--border-color:var(--highlight-color)}.input-bottom.sc-ion-input-ios .error-text.sc-ion-input-ios{display:none;color:var(--highlight-color-invalid)}.input-bottom.sc-ion-input-ios .helper-text.sc-ion-input-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-input-ios-h .input-bottom.sc-ion-input-ios .error-text.sc-ion-input-ios{display:block}.ion-touched.ion-invalid.sc-ion-input-ios-h .input-bottom.sc-ion-input-ios .helper-text.sc-ion-input-ios{display:none}.input-bottom.sc-ion-input-ios .counter.sc-ion-input-ios{-webkit-margin-start:auto;margin-inline-start:auto;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));white-space:nowrap;-webkit-padding-start:16px;padding-inline-start:16px}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios{caret-color:var(--highlight-color)}.label-text-wrapper.sc-ion-input-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-width:0;max-width:200px;-webkit-transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), max-width 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.skip-label-transition.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transition:none;transition:none}.label-text.sc-ion-input-ios,.sc-ion-input-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-input-ios,.input-outline-notch-hidden.sc-ion-input-ios{display:none}.input-wrapper.sc-ion-input-ios input.sc-ion-input-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.input-label-placement-start.sc-ion-input-ios-h .input-control.sc-ion-input-ios{-ms-flex-direction:row;flex-direction:row}.input-label-placement-start.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.input-label-placement-end.sc-ion-input-ios-h .input-control.sc-ion-input-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.input-label-placement-end.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.input-label-placement-fixed.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.input-label-placement-fixed.sc-ion-input-ios-h .label-text.sc-ion-input-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.input-label-placement-stacked.sc-ion-input-ios-h .input-control.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h .input-control.sc-ion-input-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:left top;transform-origin:left top;max-width:100%;z-index:2}[dir=rtl].sc-ion-input-ios-h -no-combinator.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h -no-combinator.input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .input-label-placement-stacked.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h -no-combinator.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h -no-combinator.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl].input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios,[dir=rtl] .input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.input-label-placement-stacked.sc-ion-input-ios-h:dir(rtl) .label-text-wrapper.sc-ion-input-ios,.input-label-placement-floating.sc-ion-input-ios-h:dir(rtl) .label-text-wrapper.sc-ion-input-ios{-webkit-transform-origin:right top;transform-origin:right top}}.input-label-placement-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios{opacity:0}.has-focus.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios,.has-value.input-label-placement-floating.sc-ion-input-ios-h input.sc-ion-input-ios{opacity:1}.label-floating.sc-ion-input-ios-h .label-text-wrapper.sc-ion-input-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.sc-ion-input-ios-s>[slot=start]:last-of-type{-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}.sc-ion-input-ios-s>[slot=end]:first-of-type{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}.sc-ion-input-ios-h[disabled].sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[disabled] .sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[readonly].sc-ion-input-ios-s>ion-input-password-toggle,.sc-ion-input-ios-h[readonly] .sc-ion-input-ios-s>ion-input-password-toggle{visibility:hidden}.sc-ion-input-ios-h{--border-width:0.55px;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--highlight-height:0px;font-size:inherit}.input-clear-icon.sc-ion-input-ios ion-icon.sc-ion-input-ios{font-size:18px}.input-disabled.sc-ion-input-ios-h{opacity:0.3}.sc-ion-input-ios-s>ion-button[slot=start].button-has-icon-only,.sc-ion-input-ios-s>ion-button[slot=end].button-has-icon-only{--border-radius:50%;--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;aspect-ratio:1}`;
15
15
 
@@ -4,10 +4,10 @@
4
4
  import { r as registerInstance, h, f as Host, g as getElement, d as createEvent, a as printIonWarning } from './index-BpRUsN_W.js';
5
5
  import { c as createColorClasses } from './theme-byZM6qHV.js';
6
6
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
7
- import { s as isEndSide, c as componentOnReady } from './helpers-p94IkmEA.js';
8
- import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-CBkVO5D0.js';
9
- import { i as isRTL } from './dir-Dj4J3LkD.js';
7
+ import { s as isEndSide, c as componentOnReady } from './helpers-BJqKF1pr.js';
8
+ import { a as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-TkLga3ma.js';
10
9
  import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
10
+ import './dir-Dojwmvde.js';
11
11
 
12
12
  const itemOptionIosCss = () => `:host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit)}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}.button-native{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;-webkit-padding-start:0.7em;padding-inline-start:0.7em;-webkit-padding-end:0.7em;padding-inline-end:0.7em;padding-top:0;padding-bottom:0;display:inline-block;position:relative;width:100%;height:100%;border:0;outline:none;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;box-sizing:border-box}.button-inner{display:-ms-flexbox;display:flex;-ms-flex-flow:column nowrap;flex-flow:column nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%}.horizontal-wrapper{display:-ms-flexbox;display:flex;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-negative:0;flex-shrink:0;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%}::slotted(*){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:5px;margin-inline-start:5px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}::slotted([slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px;margin-top:0;margin-bottom:0;min-width:0.9em;font-size:1.8em}:host(.item-option-expandable){-ms-flex-negative:0;flex-shrink:0;-webkit-transition-duration:0;transition-duration:0;-webkit-transition-property:none;transition-property:none;-webkit-transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1);transition-timing-function:cubic-bezier(0.65, 0.05, 0.36, 1)}:host(.item-option-disabled){pointer-events:none}:host(.item-option-disabled) .button-native{cursor:default;opacity:0.5;pointer-events:none}:host{font-size:clamp(16px, 1rem, 35.2px)}:host(.ion-activated){background:var(--ion-color-primary-shade, #004acd)}:host(.ion-color.ion-activated){background:var(--ion-color-shade)}`;
13
13
 
@@ -82,8 +82,8 @@ const ItemOptions = class {
82
82
  }
83
83
  render() {
84
84
  const mode = getIonMode(this);
85
- const isEnd = isEndSide(this.side, this.el);
86
- return (h(Host, { key: '47d4bf67ac04745ce2d4990844257320f27908dd', class: {
85
+ const isEnd = isEndSide(this.side);
86
+ return (h(Host, { key: '6e60ff004d48bf7701711e518ec0b21264496ae8', class: {
87
87
  [mode]: true,
88
88
  // Used internally for styling
89
89
  [`item-options-${mode}`]: true,
@@ -223,7 +223,7 @@ const ItemSliding = class {
223
223
  side = optionsToOpen === this.leftOptions ? 'start' : 'end';
224
224
  }
225
225
  // In RTL we want to switch the sides
226
- side = isEndSide(side, this.el) ? 'end' : 'start';
226
+ side = isEndSide(side) ? 'end' : 'start';
227
227
  const isStartOpen = this.openAmount < 0;
228
228
  const isEndOpen = this.openAmount > 0;
229
229
  /**
@@ -292,7 +292,7 @@ const ItemSliding = class {
292
292
  // Reset left and right options in case they were removed
293
293
  this.leftOptions = this.rightOptions = undefined;
294
294
  for (const option of options) {
295
- const side = isEndSide(option.side ?? option.getAttribute('side'), option) ? 'end' : 'start';
295
+ const side = isEndSide(option.side ?? option.getAttribute('side')) ? 'end' : 'start';
296
296
  if (side === 'start') {
297
297
  this.leftOptions = option;
298
298
  sides |= 1 /* ItemSide.Start */;
@@ -311,7 +311,7 @@ const ItemSliding = class {
311
311
  * do not open left side so swipe to go
312
312
  * back will still work.
313
313
  */
314
- const rtl = isRTL(this.el);
314
+ const rtl = document.dir === 'rtl';
315
315
  const atEdge = rtl ? window.innerWidth - gesture.startX < 15 : gesture.startX < 15;
316
316
  if (atEdge) {
317
317
  return false;
@@ -490,7 +490,7 @@ const ItemSliding = class {
490
490
  }
491
491
  render() {
492
492
  const mode = getIonMode(this);
493
- return (h(Host, { key: '94e1e3ae3505bc821b4c806a1e99a0c707ffec64', class: {
493
+ return (h(Host, { key: '02174ca963753d3a51a4249068f3d436f8acb03d', class: {
494
494
  [mode]: true,
495
495
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
496
496
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -2,12 +2,12 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, j as forceUpdate, h, f as Host, g as getElement, d as createEvent, i as config } from './index-BpRUsN_W.js';
5
- import { a as createAttributeController } from './attribute-controller-ItNOXNp9.js';
6
- import { r as raf } from './helpers-p94IkmEA.js';
7
- import { i as isRTL } from './dir-Dj4J3LkD.js';
5
+ import { a as createAttributeController } from './attribute-controller-DPMIcbef.js';
6
+ import { r as raf } from './helpers-BJqKF1pr.js';
8
7
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-byZM6qHV.js';
9
8
  import { e as chevronForward } from './index-BvabGprD.js';
10
9
  import { b as getIonMode } from './ionic-global-Cep6oYzK.js';
10
+ import './dir-Dojwmvde.js';
11
11
 
12
12
  const itemIosCss = () => `:host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--detail-icon-color:initial;--detail-icon-font-size:1.25em;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-control-needs-pointer-cursor){cursor:pointer}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;padding-right:var(--padding-end);padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:inherit;align-items:inherit;-ms-flex-pack:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);-webkit-transition:var(--transition);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}[dir=rtl] .item-native{padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}@supports selector(:dir(rtl)){.item-native:dir(rtl){padding-right:calc(var(--padding-start) + var(--ion-safe-area-right, 0px));padding-left:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:"";opacity:0;-webkit-transition:var(--transition);transition:var(--transition);z-index:-1}button,a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-left:var(--inner-padding-start);display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);-webkit-box-shadow:var(--inner-box-shadow);box-shadow:var(--inner-box-shadow);overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host-context([dir=rtl]) .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}[dir=rtl] .item-inner{padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}@supports selector(:dir(rtl)){.item-inner:dir(rtl){padding-right:var(--inner-padding-start);padding-left:calc(var(--ion-safe-area-left, 0px) + var(--inner-padding-end))}}.item-detail-icon{-webkit-margin-start:calc(var(--inner-padding-end) / 2);margin-inline-start:calc(var(--inner-padding-end) / 2);-webkit-margin-end:-6px;margin-inline-end:-6px;color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label:not([slot=end])){-ms-flex:1;flex:1;width:-webkit-min-content;width:-moz-min-content;width:min-content;max-width:100%}:host(.item-input){-ms-flex-align:center;align-items:center}.input-wrapper{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:inherit;flex-direction:inherit;-ms-flex-align:inherit;align-items:inherit;-ms-flex-item-align:stretch;align-self:stretch;text-overflow:ellipsis;overflow:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){-ms-flex-align:start;align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column}:host(.item-focus-indicator-room) .input-wrapper{-webkit-margin-start:-12px;margin-inline-start:-12px;-webkit-margin-end:-12px;margin-inline-end:-12px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio){position:relative}:host(.item-textarea){-ms-flex-align:stretch;align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:16px;--inner-padding-end:16px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:var(--ion-text-color, #000);--background-focused:var(--ion-text-color, #000);--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--color:var(--ion-item-color, var(--ion-text-color, #000));font-size:1rem}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:2px;margin-bottom:2px}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:1px;--padding-bottom:1px;--padding-start:.5em;--padding-end:.5em;min-height:24px;font-size:0.8125rem}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){--size:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){-webkit-margin-start:8px;margin-inline-start:8px;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:8px;margin-bottom:8px}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){-webkit-margin-start:0px;margin-inline-start:0px}::slotted(ion-label){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px;margin-top:10px;margin-bottom:10px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}`;
13
13
 
@@ -233,7 +233,7 @@ const Item = class {
233
233
  return controls[0];
234
234
  }
235
235
  render() {
236
- const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs, el, } = this;
236
+ const { detail, detailIcon, download, labelColorStyles, lines, disabled, href, rel, target, routerAnimation, routerDirection, multipleInputs, } = this;
237
237
  const inheritedAriaAttributes = this.ariaController?.attributes ?? {};
238
238
  const childStyles = {};
239
239
  const mode = getIonMode(this);
@@ -310,7 +310,7 @@ const Item = class {
310
310
  * multi-input item, and in a clickable item, which is a second tab stop.
311
311
  */
312
312
  const slottedIndicatorNeedsRoom = this.hasSlottedIndicatorControl && (multipleInputs || this.isClickable());
313
- return (h(Host, { key: 'dedd4fbc4f9e4db557c6f8bd91299778af9aba1c', "aria-disabled": ariaDisabled, class: {
313
+ return (h(Host, { key: '7fe924642310c19f057ae1bfa29c1acdf5cc7ed6', "aria-disabled": ariaDisabled, class: {
314
314
  ...childStyles,
315
315
  ...labelColorStyles,
316
316
  ...createColorClasses(this.color, {
@@ -325,9 +325,9 @@ const Item = class {
325
325
  'item-focus-indicator-room': slottedIndicatorNeedsRoom,
326
326
  'ion-activatable': canActivate,
327
327
  'ion-focusable': this.focusable,
328
- 'item-rtl': isRTL(el),
328
+ 'item-rtl': document.dir === 'rtl',
329
329
  }),
330
- }, role: inList ? 'listitem' : null }, h(TagType, { key: '949000f555bbc8b76a227d84a2442defc3577a4e', ...attrs, ...inheritedAriaAttributes, class: "item-native", part: "native", disabled: disabled, ...clickFn }, h("slot", { key: '9fde070c0f830cfed9c7e25ea4d1f1d7ab710d07', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), h("div", { key: 'd7ab19b4d7e5d4a7fec2d66e1cb865ff30c609f0', class: "item-inner", part: "inner" }, h("div", { key: 'fdf3f306b98ab6af536e320341985fb34d50ef35', class: "input-wrapper", part: "container" }, h("slot", { key: '06ecb3817c2bdf171f806e2b3e8701d3eb52897e', onSlotchange: this.updateInteractivityOnSlotChange })), h("slot", { key: '7e401db776cd19b0399004e77920b23e526c551a', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (h("ion-icon", { key: '1dac0a6d5a1ce811731fd5b81b92440de8725989', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && h("ion-ripple-effect", { key: '7a782fa9c7e74e600191c41c7dd90a4a499de64e' }))));
330
+ }, role: inList ? 'listitem' : null }, h(TagType, { key: '8fddfb2a076b4b98e45ee8b23579d011dba12acb', ...attrs, ...inheritedAriaAttributes, class: "item-native", part: "native", disabled: disabled, ...clickFn }, h("slot", { key: '7f888b62b2023cf501fd308e32629e7a291c2d05', name: "start", onSlotchange: this.updateInteractivityOnSlotChange }), h("div", { key: '6d5cdde307caa65b131edb65cb0a5f8294cf151c', class: "item-inner", part: "inner" }, h("div", { key: '9fbfffdff4cf51adf1f02d573953cf8b145574b0', class: "input-wrapper", part: "container" }, h("slot", { key: '574c7e61cdaa3959a28bad7353105ef217a76ed9', onSlotchange: this.updateInteractivityOnSlotChange })), h("slot", { key: 'ed7e211960cd65ed17f865a6d50d5bdde069416b', name: "end", onSlotchange: this.updateInteractivityOnSlotChange }), showDetail && (h("ion-icon", { key: '2847bb21f42e9d5ab8ea86262b2bc1c3b3f7c902', icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }))), canActivate && mode === 'md' && h("ion-ripple-effect", { key: '55502ef394db0953144387fa3baebf9fa6a976a9' }))));
331
331
  }
332
332
  get el() { return getElement(this); }
333
333
  static get watchers() { return {
@@ -461,13 +461,13 @@ const Label = class {
461
461
  render() {
462
462
  const position = this.position;
463
463
  const mode = getIonMode(this);
464
- return (h(Host, { key: '5415f57fc93a0b2b82b6d327a8e635876ca5cbf5', class: createColorClasses(this.color, {
464
+ return (h(Host, { key: '461604c1887f322dc13d7df3d5cdbb7ee1361117', class: createColorClasses(this.color, {
465
465
  [mode]: true,
466
466
  'in-item-color': hostContext('ion-item.ion-color', this.el),
467
467
  [`label-${position}`]: position !== undefined,
468
468
  [`label-no-animate`]: this.noAnimate,
469
- 'label-rtl': isRTL(this.el),
470
- }) }, h("slot", { key: 'b6b65053228525c94a06c20abb0f03c659cdd7dc' })));
469
+ 'label-rtl': document.dir === 'rtl',
470
+ }) }, h("slot", { key: 'a7005d0a217641278aa8e95144e8e4b9ae87a1c5' })));
471
471
  }
472
472
  get el() { return getElement(this); }
473
473
  static get watchers() { return {