@ionic/core 8.7.10-dev.11762798751.11b77c85 → 8.7.10-dev.11763406256.1a4bac8c

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 (281) hide show
  1. package/components/checkbox.js +63 -9
  2. package/components/ion-input.js +7 -6
  3. package/components/ion-searchbar.js +6 -6
  4. package/components/ion-select.js +7 -6
  5. package/components/ion-textarea.js +2 -1
  6. package/components/ion-toggle.js +62 -12
  7. package/components/notch-controller.js +153 -0
  8. package/components/radio-group.js +60 -7
  9. package/components/validity.js +1 -150
  10. package/dist/cjs/{animation-D_c13yq_.js → animation-Bt3H9L1C.js} +1 -1
  11. package/dist/cjs/{app-globals--1qFsqEw.js → app-globals-Ciccnk9_.js} +1 -1
  12. package/dist/cjs/{button-active-CQiBOKCI.js → button-active-CMc8cD90.js} +1 -1
  13. package/dist/cjs/{config-DL8XJF0D.js → config-C5fsO43a.js} +1 -1
  14. package/dist/cjs/{data-DtEHxOpt.js → data-JwZKaIQB.js} +1 -1
  15. package/dist/cjs/{framework-delegate-DmSgIb_h.js → framework-delegate-DMJRBuDi.js} +1 -1
  16. package/dist/cjs/{hardware-back-button-C72O8m7E.js → hardware-back-button-VCK4V3mG.js} +1 -1
  17. package/dist/cjs/{helpers-xCoR213K.js → helpers-DrTqNghc.js} +1 -1
  18. package/dist/cjs/{index-WEBAL2Zz.js → index-094mMFB-.js} +4 -4
  19. package/dist/cjs/{index-DOeyHw27.js → index-C534ULug.js} +2 -2
  20. package/dist/cjs/{index-FugOCm8C.js → index-CO6eryBo.js} +2 -2
  21. package/dist/cjs/{index-qWlbeMTM.js → index-D6Wc6v08.js} +3 -41
  22. package/dist/cjs/{index-FdJ4-6Rg.js → index-DrMUZJj6.js} +5 -5
  23. package/dist/cjs/index.cjs.js +12 -12
  24. package/dist/cjs/{input-shims-CYpwizql.js → input-shims-CW0KUFTQ.js} +3 -3
  25. package/dist/cjs/{input.utils-DhlH-Ng5.js → input.utils-B_QROI2g.js} +2 -2
  26. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  27. package/dist/cjs/ion-action-sheet.cjs.entry.js +8 -8
  28. package/dist/cjs/ion-alert.cjs.entry.js +9 -9
  29. package/dist/cjs/ion-app_8.cjs.entry.js +12 -12
  30. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  31. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  32. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  33. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-card_5.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-checkbox.cjs.entry.js +63 -11
  37. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-datetime_3.cjs.entry.js +8 -8
  41. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -3
  42. package/dist/cjs/ion-img.cjs.entry.js +3 -3
  43. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +5 -5
  44. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-input.cjs.entry.js +11 -10
  47. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  48. package/dist/cjs/ion-item_8.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-loading.cjs.entry.js +8 -8
  50. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -8
  51. package/dist/cjs/ion-modal.cjs.entry.js +9 -9
  52. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  53. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -3
  54. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -3
  55. package/dist/cjs/ion-picker.cjs.entry.js +2 -2
  56. package/dist/cjs/ion-popover.cjs.entry.js +8 -8
  57. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -3
  58. package/dist/cjs/ion-radio_2.cjs.entry.js +60 -9
  59. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  60. package/dist/cjs/ion-refresher_2.cjs.entry.js +6 -6
  61. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-route_4.cjs.entry.js +3 -3
  64. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -8
  65. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  66. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -1
  67. package/dist/cjs/ion-segment_2.cjs.entry.js +3 -3
  68. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  69. package/dist/cjs/ion-select_3.cjs.entry.js +13 -12
  70. package/dist/cjs/ion-spinner.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +3 -3
  73. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-textarea.cjs.entry.js +7 -6
  76. package/dist/cjs/ion-toast.cjs.entry.js +8 -8
  77. package/dist/cjs/ion-toggle.cjs.entry.js +61 -13
  78. package/dist/cjs/{ionic-global-CR8JSFWa.js → ionic-global-HMVqOFGO.js} +1 -1
  79. package/dist/cjs/ionic.cjs.js +5 -5
  80. package/dist/cjs/{ios.transition-MQamiuLS.js → ios.transition-BOt_uW73.js} +4 -4
  81. package/dist/cjs/loader.cjs.js +4 -4
  82. package/dist/cjs/{md.transition-VK5nuqXu.js → md.transition-Dt968VXB.js} +4 -4
  83. package/dist/cjs/{validity-ilhIJL9Q.js → notch-controller-Bzqhjm4f.js} +1 -15
  84. package/dist/cjs/{overlays-DcMnmLe2.js → overlays-DxIZwUXI.js} +5 -5
  85. package/dist/cjs/{status-tap-C0NZlIwJ.js → status-tap-g0sWWkXk.js} +3 -3
  86. package/dist/cjs/{swipe-back-CdOHy9bk.js → swipe-back-BIayeNOD.js} +2 -2
  87. package/dist/cjs/validity-BpS37YFM.js +19 -0
  88. package/dist/collection/collection-manifest.json +2 -2
  89. package/dist/collection/components/checkbox/checkbox.js +67 -9
  90. package/dist/collection/components/input/input.js +8 -8
  91. package/dist/collection/components/radio-group/radio-group.js +64 -7
  92. package/dist/collection/components/searchbar/searchbar.js +9 -9
  93. package/dist/collection/components/select/select.js +5 -5
  94. package/dist/collection/components/toggle/toggle.js +62 -12
  95. package/dist/docs.json +25 -15
  96. package/dist/esm/{animation-BMjqGaKJ.js → animation-Dt8bGnA-.js} +1 -1
  97. package/dist/esm/{app-globals-CXKe5CYv.js → app-globals-BDSf8fOA.js} +1 -1
  98. package/dist/esm/{button-active-DsHCf5yJ.js → button-active-L570Swow.js} +1 -1
  99. package/dist/esm/{config-FyGnL1d5.js → config-mCdtaoPe.js} +1 -1
  100. package/dist/esm/{data-VwBJONjN.js → data-DCORV9FH.js} +1 -1
  101. package/dist/esm/{framework-delegate-DA71As64.js → framework-delegate-BYawdMXj.js} +1 -1
  102. package/dist/esm/{hardware-back-button-gEuwgxq4.js → hardware-back-button-CPLxO-Ev.js} +1 -1
  103. package/dist/esm/{helpers-Br4puuoA.js → helpers-DEn3pfjm.js} +1 -1
  104. package/dist/esm/{index-nzxJGPo-.js → index-Bs3kT4bc.js} +2 -2
  105. package/dist/esm/{index-COOKa-0k.js → index-C8IsBmNU.js} +3 -41
  106. package/dist/esm/{index-DNUVD4sY.js → index-CvDIirVx.js} +5 -5
  107. package/dist/esm/{index-CZzUL5H7.js → index-ceb5RaMT.js} +2 -2
  108. package/dist/esm/{index-DKnepNGf.js → index-r2D9DEro.js} +4 -4
  109. package/dist/esm/index.js +12 -12
  110. package/dist/esm/{input-shims-G0QQ_JXi.js → input-shims-DyOpfTg6.js} +3 -3
  111. package/dist/esm/{input.utils-BRuJbV55.js → input.utils-DrvTa8gz.js} +2 -2
  112. package/dist/esm/ion-accordion_2.entry.js +3 -3
  113. package/dist/esm/ion-action-sheet.entry.js +8 -8
  114. package/dist/esm/ion-alert.entry.js +9 -9
  115. package/dist/esm/ion-app_8.entry.js +12 -12
  116. package/dist/esm/ion-avatar_3.entry.js +2 -2
  117. package/dist/esm/ion-back-button.entry.js +3 -3
  118. package/dist/esm/ion-backdrop.entry.js +2 -2
  119. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  120. package/dist/esm/ion-button_2.entry.js +3 -3
  121. package/dist/esm/ion-card_5.entry.js +3 -3
  122. package/dist/esm/ion-checkbox.entry.js +63 -11
  123. package/dist/esm/ion-chip.entry.js +2 -2
  124. package/dist/esm/ion-col_3.entry.js +2 -2
  125. package/dist/esm/ion-datetime-button.entry.js +4 -4
  126. package/dist/esm/ion-datetime_3.entry.js +8 -8
  127. package/dist/esm/ion-fab_3.entry.js +3 -3
  128. package/dist/esm/ion-img.entry.js +3 -3
  129. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  130. package/dist/esm/ion-input-otp.entry.js +3 -3
  131. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  132. package/dist/esm/ion-input.entry.js +10 -9
  133. package/dist/esm/ion-item-option_3.entry.js +4 -4
  134. package/dist/esm/ion-item_8.entry.js +3 -3
  135. package/dist/esm/ion-loading.entry.js +8 -8
  136. package/dist/esm/ion-menu_3.entry.js +8 -8
  137. package/dist/esm/ion-modal.entry.js +9 -9
  138. package/dist/esm/ion-nav_2.entry.js +6 -6
  139. package/dist/esm/ion-picker-column-option.entry.js +3 -3
  140. package/dist/esm/ion-picker-column.entry.js +3 -3
  141. package/dist/esm/ion-picker.entry.js +2 -2
  142. package/dist/esm/ion-popover.entry.js +8 -8
  143. package/dist/esm/ion-progress-bar.entry.js +3 -3
  144. package/dist/esm/ion-radio_2.entry.js +60 -9
  145. package/dist/esm/ion-range.entry.js +4 -4
  146. package/dist/esm/ion-refresher_2.entry.js +6 -6
  147. package/dist/esm/ion-reorder_2.entry.js +4 -4
  148. package/dist/esm/ion-ripple-effect.entry.js +2 -2
  149. package/dist/esm/ion-route_4.entry.js +3 -3
  150. package/dist/esm/ion-searchbar.entry.js +8 -8
  151. package/dist/esm/ion-segment-content.entry.js +1 -1
  152. package/dist/esm/ion-segment-view.entry.js +1 -1
  153. package/dist/esm/ion-segment_2.entry.js +3 -3
  154. package/dist/esm/ion-select-modal.entry.js +6 -6
  155. package/dist/esm/ion-select_3.entry.js +12 -11
  156. package/dist/esm/ion-spinner.entry.js +2 -2
  157. package/dist/esm/ion-split-pane.entry.js +2 -2
  158. package/dist/esm/ion-tab-bar_2.entry.js +3 -3
  159. package/dist/esm/ion-tab_2.entry.js +3 -3
  160. package/dist/esm/ion-text.entry.js +2 -2
  161. package/dist/esm/ion-textarea.entry.js +6 -5
  162. package/dist/esm/ion-toast.entry.js +8 -8
  163. package/dist/esm/ion-toggle.entry.js +61 -13
  164. package/dist/esm/{ionic-global-ssiordoc.js → ionic-global-CDrldh-5.js} +1 -1
  165. package/dist/esm/ionic.js +6 -6
  166. package/dist/esm/{ios.transition-CdWk5te_.js → ios.transition-BDzw0_Hm.js} +4 -4
  167. package/dist/esm/loader.js +5 -5
  168. package/dist/esm/{md.transition-CTwmjwnm.js → md.transition-BzDYi3qq.js} +4 -4
  169. package/dist/esm/{validity-CwxNVaqN.js → notch-controller-BwelN_JM.js} +2 -15
  170. package/dist/esm/{overlays-DNIbGUWk.js → overlays-BymNv-BL.js} +5 -5
  171. package/dist/esm/{status-tap-B6uPB7F5.js → status-tap-5DQ7Fc4V.js} +3 -3
  172. package/dist/esm/{swipe-back-INesdA_O.js → swipe-back-BKw2CAHc.js} +2 -2
  173. package/dist/esm/validity-DJztqcrH.js +17 -0
  174. package/dist/html.html-data.json +18 -2
  175. package/dist/ionic/index.esm.js +1 -1
  176. package/dist/ionic/ionic.esm.js +1 -1
  177. package/dist/ionic/{p-2b9e100d.entry.js → p-020af078.entry.js} +1 -1
  178. package/dist/ionic/p-074839fc.entry.js +4 -0
  179. package/dist/ionic/{p-964e89ac.entry.js → p-0b80d700.entry.js} +1 -1
  180. package/dist/ionic/{p-894e8953.entry.js → p-0dfa5a37.entry.js} +1 -1
  181. package/dist/ionic/{p-3807749f.entry.js → p-11518b31.entry.js} +1 -1
  182. package/dist/ionic/{p-fcd74818.entry.js → p-15193d01.entry.js} +1 -1
  183. package/dist/ionic/{p-c49f0f68.entry.js → p-1647c46c.entry.js} +1 -1
  184. package/dist/ionic/{p-116a97cb.entry.js → p-2a939845.entry.js} +1 -1
  185. package/dist/ionic/{p-3c522786.entry.js → p-316c0420.entry.js} +1 -1
  186. package/dist/ionic/{p-860f309a.entry.js → p-31f7095f.entry.js} +1 -1
  187. package/dist/ionic/{p-adde497f.entry.js → p-370e4237.entry.js} +1 -1
  188. package/dist/ionic/{p-ef8c7682.entry.js → p-3a6caca9.entry.js} +1 -1
  189. package/dist/ionic/p-40c261a3.entry.js +4 -0
  190. package/dist/ionic/{p-06881392.entry.js → p-43ed1ef5.entry.js} +1 -1
  191. package/dist/ionic/{p-a66bbfa0.entry.js → p-46d74291.entry.js} +1 -1
  192. package/dist/ionic/{p-7047a7b7.entry.js → p-49d06882.entry.js} +1 -1
  193. package/dist/ionic/{p-d0f6b9a7.entry.js → p-4c85d268.entry.js} +1 -1
  194. package/dist/ionic/p-4e41ea20.entry.js +4 -0
  195. package/dist/ionic/{p-5d600703.entry.js → p-4efea47a.entry.js} +1 -1
  196. package/dist/ionic/{p-dfd6acb5.entry.js → p-510d86e1.entry.js} +1 -1
  197. package/dist/ionic/p-51a60e0f.entry.js +4 -0
  198. package/dist/ionic/{p-dfc6f4b1.entry.js → p-582824c5.entry.js} +1 -1
  199. package/dist/ionic/{p-259e4068.entry.js → p-6241ce47.entry.js} +1 -1
  200. package/dist/ionic/{p-4ede0a73.entry.js → p-639dd543.entry.js} +1 -1
  201. package/dist/ionic/{p-7a19f3d1.entry.js → p-6444c606.entry.js} +1 -1
  202. package/dist/ionic/{p-c7f3e813.entry.js → p-675b1a31.entry.js} +1 -1
  203. package/dist/ionic/{p-db44afdd.entry.js → p-6d070558.entry.js} +1 -1
  204. package/dist/ionic/{p-5dcbb52f.entry.js → p-7268efa5.entry.js} +1 -1
  205. package/dist/ionic/{p-c6b68ac0.entry.js → p-72c38b88.entry.js} +1 -1
  206. package/dist/ionic/p-7380261c.entry.js +4 -0
  207. package/dist/ionic/{p-a41048a1.entry.js → p-79bd78f9.entry.js} +1 -1
  208. package/dist/ionic/{p-295a2119.entry.js → p-7da39a4d.entry.js} +1 -1
  209. package/dist/ionic/{p-d24d55cb.entry.js → p-83be404e.entry.js} +1 -1
  210. package/dist/ionic/{p-70c66710.entry.js → p-86f53961.entry.js} +1 -1
  211. package/dist/ionic/{p-db648b6a.entry.js → p-94de5cfa.entry.js} +1 -1
  212. package/dist/ionic/{p-6fe93af5.entry.js → p-9575b654.entry.js} +1 -1
  213. package/dist/ionic/{p-bef7bd83.entry.js → p-98fc09eb.entry.js} +1 -1
  214. package/dist/ionic/{p-BA44xiai.js → p-B0q1YL7N.js} +1 -1
  215. package/dist/ionic/p-BFvmZNyx.js +4 -0
  216. package/dist/ionic/p-BKc55Xev.js +4 -0
  217. package/dist/ionic/{p-baqdazzM.js → p-BOVrCkpJ.js} +1 -1
  218. package/dist/ionic/{p-CT3hZD31.js → p-BYEqWnSg.js} +1 -1
  219. package/dist/ionic/p-Bmgaetn_.js +4 -0
  220. package/dist/ionic/{p-CUek2VVk.js → p-C7hRNDhM.js} +1 -1
  221. package/dist/ionic/p-C8IsBmNU.js +5 -0
  222. package/dist/ionic/{p-CYTVJxfQ.js → p-CJxh_yLS.js} +1 -1
  223. package/dist/ionic/{p-C8VsQFea.js → p-CTfR9YZG.js} +1 -1
  224. package/dist/ionic/p-CwgG81ZD.js +4 -0
  225. package/dist/ionic/{p-UCpjvnQe.js → p-D-eFFUkA.js} +1 -1
  226. package/dist/ionic/{p-DddcVlzx.js → p-D0dMcSkw.js} +1 -1
  227. package/dist/ionic/{p-ynapDa0U.js → p-D87hU-Ly.js} +1 -1
  228. package/dist/ionic/{p-C9IcKRgw.js → p-DCv9sLH2.js} +1 -1
  229. package/dist/ionic/p-DDb5r57F.js +4 -0
  230. package/dist/ionic/p-DJztqcrH.js +4 -0
  231. package/dist/ionic/{p-yu2f42Nv.js → p-DNcfiJwE.js} +1 -1
  232. package/dist/ionic/{p-CETqdl8n.js → p-DUt5fQmA.js} +1 -1
  233. package/dist/ionic/p-DZRJwG4S.js +4 -0
  234. package/dist/ionic/{p-D8G3beZX.js → p-DbQ5QkTP.js} +1 -1
  235. package/dist/ionic/{p-BUluHF_z.js → p-Dc45iWE4.js} +1 -1
  236. package/dist/ionic/{p-Bzed_Vkc.js → p-QHYY4sjU.js} +1 -1
  237. package/dist/ionic/{p-3ca55cd6.entry.js → p-a127bee2.entry.js} +1 -1
  238. package/dist/ionic/{p-b3da5db0.entry.js → p-a80f1b04.entry.js} +1 -1
  239. package/dist/ionic/{p-948228a2.entry.js → p-ac4eb91d.entry.js} +1 -1
  240. package/dist/ionic/{p-7078b759.entry.js → p-b0a7585c.entry.js} +1 -1
  241. package/dist/ionic/{p-3549e539.entry.js → p-b57c6d3e.entry.js} +1 -1
  242. package/dist/ionic/p-c19f63d0.entry.js +4 -0
  243. package/dist/ionic/{p-e1547a17.entry.js → p-cc45bcbc.entry.js} +1 -1
  244. package/dist/ionic/{p-e1c3b35d.entry.js → p-d0a2a1ab.entry.js} +1 -1
  245. package/dist/ionic/{p-89c2d5ea.entry.js → p-d126e8d3.entry.js} +1 -1
  246. package/dist/ionic/p-d1f54e28.entry.js +4 -0
  247. package/dist/ionic/p-d3014190.entry.js +4 -0
  248. package/dist/ionic/{p-93d7685c.entry.js → p-da7d04cc.entry.js} +1 -1
  249. package/dist/ionic/p-dbbe606a.entry.js +4 -0
  250. package/dist/ionic/{p-0144ab54.entry.js → p-e16b69e1.entry.js} +1 -1
  251. package/dist/ionic/{p-d27a5c0b.entry.js → p-f8f22cc0.entry.js} +1 -1
  252. package/dist/types/components/checkbox/checkbox.d.ts +9 -1
  253. package/dist/types/components/header/header.utils.d.ts +1 -2
  254. package/dist/types/components/input/input.d.ts +1 -1
  255. package/dist/types/components/radio-group/radio-group.d.ts +9 -1
  256. package/dist/types/components/searchbar/searchbar.d.ts +1 -1
  257. package/dist/types/components/select/select.d.ts +2 -2
  258. package/dist/types/components/toggle/toggle.d.ts +7 -1
  259. package/dist/types/components.d.ts +8 -8
  260. package/dist/types/stencil-public-runtime.d.ts +9 -19
  261. package/dist/types/utils/forms/validity.d.ts +1 -1
  262. package/dist/types/utils/gesture/listener.d.ts +1 -2
  263. package/hydrate/index.js +369 -356
  264. package/hydrate/index.mjs +369 -356
  265. package/package.json +3 -3
  266. package/dist/ionic/p-0188f4a6.entry.js +0 -4
  267. package/dist/ionic/p-14e08559.entry.js +0 -4
  268. package/dist/ionic/p-22bcfae9.entry.js +0 -4
  269. package/dist/ionic/p-45c80fd7.entry.js +0 -4
  270. package/dist/ionic/p-49a21ffb.entry.js +0 -4
  271. package/dist/ionic/p-5cf136b5.entry.js +0 -4
  272. package/dist/ionic/p-9fc9dfae.entry.js +0 -4
  273. package/dist/ionic/p-BS-HlVX0.js +0 -4
  274. package/dist/ionic/p-BWS2Niqo.js +0 -4
  275. package/dist/ionic/p-CCKqmAua.js +0 -4
  276. package/dist/ionic/p-COOKa-0k.js +0 -5
  277. package/dist/ionic/p-CSQuMCUi.js +0 -4
  278. package/dist/ionic/p-PfJ1h_Zm.js +0 -4
  279. package/dist/ionic/p-edcc6f4f.entry.js +0 -4
  280. package/dist/ionic/p-f53597ee.entry.js +0 -4
  281. package/dist/ionic/p-w2EzNm9e.js +0 -4
@@ -1,19 +1,20 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement, i as forceUpdate } from './index-COOKa-0k.js';
5
- import { c as createNotchController, a as checkInvalidState } from './validity-CwxNVaqN.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement, i as forceUpdate } from './index-C8IsBmNU.js';
5
+ import { c as createNotchController } from './notch-controller-BwelN_JM.js';
6
6
  import { i as isOptionSelected, c as compareOptions } from './compare-with-utils-sObYyvOy.js';
7
- import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-Br4puuoA.js';
8
- import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-DNIbGUWk.js';
7
+ import { c as checkInvalidState } from './validity-DJztqcrH.js';
8
+ import { b as inheritAttributes, a as renderHiddenInput, n as focusVisibleElement } from './helpers-DEn3pfjm.js';
9
+ import { c as popoverController, b as actionSheetController, a as alertController, m as modalController, s as safeCall } from './overlays-BymNv-BL.js';
9
10
  import { i as isRTL } from './dir-C53feagD.js';
10
11
  import { h as hostContext, c as createColorClasses, g as getClassMap } from './theme-DiVJyqlX.js';
11
12
  import { w as watchForOptions } from './watch-options-Dtdm8lKC.js';
12
13
  import { w as chevronExpand, q as caretDownSharp } from './index-DV3sJJW8.js';
13
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
14
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
14
15
  import './index-ZjP4CjeZ.js';
15
- import './hardware-back-button-gEuwgxq4.js';
16
- import './framework-delegate-DA71As64.js';
16
+ import './hardware-back-button-CPLxO-Ev.js';
17
+ import './framework-delegate-BYawdMXj.js';
17
18
  import './gesture-controller-BTEOs1at.js';
18
19
 
19
20
  const selectIosCss = ":host{--padding-top:0px;--padding-end:0px;--padding-bottom:0px;--padding-start:0px;--placeholder-color:currentColor;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--background:transparent;--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;font-family:var(--ion-font-family, inherit);white-space:nowrap;cursor:pointer;z-index:2}:host(.select-label-placement-floating),:host(.select-label-placement-stacked){min-height:56px}:host(.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0}:host(.select-disabled){pointer-events:none}:host(.has-focus) button{border:2px solid #5e9ed6}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}.select-placeholder{color:var(--placeholder-color);opacity:var(--placeholder-opacity)}button{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0;border:0;outline:0;clip:rect(0 0 0 0);opacity:0;overflow:hidden;-webkit-appearance:none;-moz-appearance:none}.select-icon{-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0;position:relative;-ms-flex-negative:0;flex-shrink:0}:host(.in-item-color) .select-icon{color:inherit}:host(.select-label-placement-stacked) .select-icon,:host(.select-label-placement-floating) .select-icon{position:absolute;height:100%}:host(.select-ltr.select-label-placement-stacked) .select-icon,:host(.select-ltr.select-label-placement-floating) .select-icon{right:var(--padding-end, 0)}:host(.select-rtl.select-label-placement-stacked) .select-icon,:host(.select-rtl.select-label-placement-floating) .select-icon{left:var(--padding-start, 0)}.select-text{-ms-flex:1;flex:1;min-width:16px;font-size:inherit;text-overflow:ellipsis;white-space:inherit;overflow:hidden}.select-wrapper{-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:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal;cursor:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.select-wrapper .select-placeholder{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.select-wrapper-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;overflow:hidden}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{-ms-flex-positive:1;flex-grow:1}:host(.ion-touched.ion-invalid){--highlight-color:var(--highlight-color-invalid)}:host(.ion-valid){--highlight-color:var(--highlight-color-valid)}.select-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: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}:host(.has-focus.ion-valid),:host(.select-expanded.ion-valid),:host(.ion-touched.ion-invalid),:host(.select-expanded.ion-touched.ion-invalid){--border-color:var(--highlight-color)}.select-bottom .error-text{display:none;color:var(--highlight-color-invalid)}.select-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .select-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .select-bottom .helper-text{display:none}.label-text-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;max-width:200px;-webkit-transition:color 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), -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);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text,::slotted([slot=label]){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden,.select-outline-notch-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);overflow:hidden}:host(.select-justify-space-between) .select-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.select-justify-start) .select-wrapper{-ms-flex-pack:start;justify-content:start}:host(.select-justify-end) .select-wrapper{-ms-flex-pack:end;justify-content:end}:host(.select-label-placement-start) .select-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.select-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-end) .select-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.select-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.select-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.select-label-placement-stacked) .select-wrapper,:host(.select-label-placement-floating) .select-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}:host(.select-label-placement-stacked) .label-text-wrapper,:host(.select-label-placement-floating) .label-text-wrapper{max-width:100%}:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,:host(.select-ltr.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,:host(.select-rtl.select-label-placement-floating) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}:host(.select-label-placement-stacked) .native-wrapper,:host(.select-label-placement-floating) .native-wrapper{margin-left:0;margin-right:0;margin-top:1px;margin-bottom:0;-ms-flex-positive:1;flex-grow:1;width:100%}:host(.select-label-placement-floating) .label-text-wrapper{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder{opacity:0}:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder{opacity:1}:host(.label-floating) .label-text-wrapper{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}::slotted([slot=start]),::slotted([slot=end]){-ms-flex-negative:0;flex-shrink:0}::slotted([slot=start]:last-of-type){-webkit-margin-end:16px;margin-inline-end:16px;-webkit-margin-start:0;margin-inline-start:0}::slotted([slot=end]:first-of-type){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host{--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}.select-icon{width:1.125rem;height:1.125rem;color:var(--ion-color-step-650, var(--ion-text-color-step-350, #595959))}:host(.select-label-placement-stacked) .select-wrapper-inner,:host(.select-label-placement-floating) .select-wrapper-inner{width:calc(100% - 1.125rem - 4px)}:host(.select-disabled){opacity:0.3}::slotted(ion-button[slot=start].button-has-icon-only),::slotted(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}";
@@ -201,7 +202,7 @@ const Select = class {
201
202
  * a higher priority.
202
203
  */
203
204
  Promise.resolve().then(() => {
204
- this.hintTextID = this.getHintTextID();
205
+ this.hintTextId = this.getHintTextId();
205
206
  });
206
207
  }
207
208
  });
@@ -215,7 +216,7 @@ const Select = class {
215
216
  }
216
217
  componentWillLoad() {
217
218
  this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
218
- this.hintTextID = this.getHintTextID();
219
+ this.hintTextId = this.getHintTextId();
219
220
  }
220
221
  componentDidLoad() {
221
222
  /**
@@ -714,9 +715,9 @@ const Select = class {
714
715
  }
715
716
  renderListbox() {
716
717
  const { disabled, inputId, isExpanded, required } = this;
717
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.hintTextID, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
718
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
718
719
  }
719
- getHintTextID() {
720
+ getHintTextId() {
720
721
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
721
722
  if (isInvalid && errorText) {
722
723
  return errorTextId;
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, e as config, h, d as Host } from './index-COOKa-0k.js';
4
+ import { r as registerInstance, e as config, h, d as Host } from './index-C8IsBmNU.js';
5
5
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
6
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
6
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
7
7
  import { S as SPINNERS } from './spinner-configs-D4RIp70E.js';
8
8
 
9
9
  const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{-webkit-transform-origin:center;transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}:host-context([dir=rtl]) svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}[dir=rtl] svg{-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}@supports selector(:dir(rtl)){svg:dir(rtl){-webkit-transform-origin:calc(100% - center);transform-origin:calc(100% - center)}}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{-webkit-animation:spinner-scale-out 1s linear infinite;animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{-webkit-animation:spinner-fade-out 1s linear infinite;animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{-webkit-animation:spinner-rotate 1s linear infinite;animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{-webkit-animation:spinner-dots 1s linear infinite;animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{-webkit-animation:spinner-circular linear infinite;animation:spinner-circular linear infinite}:host(.spinner-circular) circle{-webkit-animation:spinner-circular-inner ease-in-out infinite;animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{-webkit-animation-play-state:paused;animation-play-state:paused}@-webkit-keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@keyframes spinner-scale-out{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1)}100%{-webkit-transform:scale(0, 0);transform:scale(0, 0)}}@-webkit-keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@keyframes spinner-dots{0%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}50%{-webkit-transform:scale(0.4, 0.4);transform:scale(0.4, 0.4);opacity:0.3}100%{-webkit-transform:scale(1, 1);transform:scale(1, 1);opacity:0.9}}@-webkit-keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-circular{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-COOKa-0k.js';
5
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
4
+ import { r as registerInstance, c as createEvent, f as printIonWarning, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
6
6
 
7
7
  const splitPaneIosCss = ":host{--side-width:100%;left:0;right:0;top:0;bottom:0;display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap;contain:strict}:host(.split-pane-visible) ::slotted(.split-pane-main){left:0;right:0;top:0;bottom:0;position:relative;-ms-flex:1;flex:1;-webkit-box-shadow:none;box-shadow:none;overflow:hidden;z-index:0}::slotted(.split-pane-side:not(ion-menu)){display:none}:host{--border:0.55px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));--side-min-width:270px;--side-max-width:28%}";
8
8
 
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, h, d as Host, g as getElement, e as config } from './index-COOKa-0k.js';
4
+ import { r as registerInstance, c as createEvent, h, d as Host, g as getElement, e as config } from './index-C8IsBmNU.js';
5
5
  import { c as createKeyboardController } from './keyboard-controller-BaaVITYt.js';
6
6
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
7
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
8
- import { b as inheritAttributes } from './helpers-Br4puuoA.js';
7
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
8
+ import { b as inheritAttributes } from './helpers-DEn3pfjm.js';
9
9
  import './index-ZjP4CjeZ.js';
10
10
  import './keyboard-CUw4ekVy.js';
11
11
  import './capacitor-CFERIeaU.js';
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, j as printIonError, h, d as Host, g as getElement, c as createEvent } from './index-COOKa-0k.js';
5
- import { a as attachComponent } from './framework-delegate-DA71As64.js';
6
- import './helpers-Br4puuoA.js';
4
+ import { r as registerInstance, j as printIonError, h, d as Host, g as getElement, c as createEvent } from './index-C8IsBmNU.js';
5
+ import { a as attachComponent } from './framework-delegate-BYawdMXj.js';
6
+ import './helpers-DEn3pfjm.js';
7
7
 
8
8
  const tabCss = ":host(.tab-hidden){display:none !important}";
9
9
 
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, h, d as Host } from './index-COOKa-0k.js';
4
+ import { r as registerInstance, h, d as Host } from './index-C8IsBmNU.js';
5
5
  import { c as createColorClasses } from './theme-DiVJyqlX.js';
6
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
6
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
7
7
 
8
8
  const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
9
9
 
@@ -1,12 +1,13 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, h, d as Host, g as getElement } from './index-COOKa-0k.js';
5
- import { c as createNotchController, a as checkInvalidState } from './validity-CwxNVaqN.js';
6
- import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-Br4puuoA.js';
7
- import { c as createSlotMutationController, g as getCounterText } from './input.utils-BRuJbV55.js';
4
+ import { r as registerInstance, c as createEvent, i as forceUpdate, w as writeTask, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
+ import { c as createNotchController } from './notch-controller-BwelN_JM.js';
6
+ import { c as checkInvalidState } from './validity-DJztqcrH.js';
7
+ import { d as debounceEvent, i as inheritAriaAttributes, b as inheritAttributes, c as componentOnReady } from './helpers-DEn3pfjm.js';
8
+ import { c as createSlotMutationController, g as getCounterText } from './input.utils-DrvTa8gz.js';
8
9
  import { h as hostContext, c as createColorClasses } from './theme-DiVJyqlX.js';
9
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
10
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
10
11
  import './index-ZjP4CjeZ.js';
11
12
 
12
13
  const textareaIosCss = ".sc-ion-textarea-ios-h{--background:initial;--color:initial;--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:var(--ion-placeholder-opacity, 0.6);--padding-top:0;--padding-end:0;--padding-bottom:8px;--padding-start:0;--border-radius:0;--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;color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2;-webkit-box-sizing:border-box;box-sizing:border-box}.textarea-label-placement-floating.sc-ion-textarea-ios-h,.textarea-label-placement-stacked.sc-ion-textarea-ios-h{--padding-top:0px;min-height:56px}[cols].sc-ion-textarea-ios-h:not([auto-grow]){width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.ion-color.sc-ion-textarea-ios-h{--highlight-color-focused:var(--ion-color-base);background:initial}ion-item.sc-ion-textarea-ios-h,ion-item .sc-ion-textarea-ios-h{-ms-flex-item-align:baseline;align-self:baseline}ion-item[slot=start].sc-ion-textarea-ios-h,ion-item [slot=start].sc-ion-textarea-ios-h,ion-item[slot=end].sc-ion-textarea-ios-h,ion-item [slot=end].sc-ion-textarea-ios-h{width:auto}.native-textarea.sc-ion-textarea-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;position:relative;-ms-flex:1;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;white-space:pre-wrap;z-index:1;-webkit-box-sizing:border-box;box-sizing:border-box;resize:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.native-textarea.sc-ion-textarea-ios::-webkit-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-moz-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios:-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::-ms-input-placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios::placeholder{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-textarea.sc-ion-textarea-ios{color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.cloned-input.sc-ion-textarea-ios{top:0;bottom:0;position:absolute;pointer-events:none}.cloned-input.sc-ion-textarea-ios{inset-inline-start:0}.cloned-input.sc-ion-textarea-ios:disabled{opacity:1}[auto-grow].sc-ion-textarea-ios-h .cloned-input.sc-ion-textarea-ios{height:100%}[auto-grow].sc-ion-textarea-ios-h .native-textarea.sc-ion-textarea-ios{overflow:hidden}.textarea-wrapper.sc-ion-textarea-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:0px;padding-bottom:0px;border-radius:var(--border-radius);display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:start;align-items:flex-start;height:inherit;min-height:inherit;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;background:var(--background);line-height:normal}.native-wrapper.sc-ion-textarea-ios{position:relative;width:100%;height:100%}.has-focus.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{caret-color:var(--highlight-color)}.native-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}.native-wrapper.sc-ion-textarea-ios{display:grid;min-width:inherit;max-width:inherit;min-height:inherit;max-height:inherit;grid-auto-rows:100%}.native-wrapper.sc-ion-textarea-ios::after{white-space:pre-wrap;content:attr(data-replicated-value) \" \";visibility:hidden}.native-wrapper.sc-ion-textarea-ios::after{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;border-radius:var(--border-radius);color:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-align:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;grid-area:1/1/2/2;word-break:break-word}.textarea-wrapper-inner.sc-ion-textarea-ios{display:-ms-flexbox;display:flex;width:100%;min-height:inherit}.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-invalid)}.ion-valid.sc-ion-textarea-ios-h{--highlight-color:var(--highlight-color-valid)}.textarea-bottom.sc-ion-textarea-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-textarea-ios-h,.ion-touched.ion-invalid.sc-ion-textarea-ios-h{--border-color:var(--highlight-color)}.textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:none;color:var(--highlight-color-invalid)}.textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .error-text.sc-ion-textarea-ios{display:block}.ion-touched.ion-invalid.sc-ion-textarea-ios-h .textarea-bottom.sc-ion-textarea-ios .helper-text.sc-ion-textarea-ios{display:none}.textarea-bottom.sc-ion-textarea-ios .counter.sc-ion-textarea-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}.label-text-wrapper.sc-ion-textarea-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);max-width:200px;-webkit-transition:color 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), -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);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 150ms cubic-bezier(0.4, 0, 0.2, 1);pointer-events:none}.label-text.sc-ion-textarea-ios,.sc-ion-textarea-ios-s>[slot=label]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden.sc-ion-textarea-ios,.textarea-outline-notch-hidden.sc-ion-textarea-ios{display:none}.textarea-wrapper.sc-ion-textarea-ios textarea.sc-ion-textarea-ios{-webkit-transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 150ms cubic-bezier(0.4, 0, 0.2, 1)}.textarea-label-placement-start.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row;flex-direction:row}.textarea-label-placement-start.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-end.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:row-reverse;flex-direction:row-reverse}.textarea-label-placement-end.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}.textarea-label-placement-fixed.sc-ion-textarea-ios-h .label-text.sc-ion-textarea-ios{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .textarea-wrapper.sc-ion-textarea-ios{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:start}.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:left top;transform-origin:left top;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;max-width:100%;z-index:2}[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-stacked.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .sc-ion-textarea-ios-h -no-combinator.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl].textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios,[dir=rtl] .textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){.textarea-label-placement-stacked.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h:dir(rtl) .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform-origin:right top;transform-origin:right top}}.textarea-label-placement-stacked.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.textarea-label-placement-stacked[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after,.textarea-label-placement-floating[auto-grow].sc-ion-textarea-ios-h .native-wrapper.sc-ion-textarea-ios::after{-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:8px;margin-bottom:0px}.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-stacked.sc-ion-textarea-ios-s>[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-stacked .sc-ion-textarea-ios-s>[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-h.textarea-label-placement-floating.sc-ion-textarea-ios-s>[slot=end],.sc-ion-textarea-ios-h.textarea-label-placement-floating .sc-ion-textarea-ios-s>[slot=end]{margin-top:8px}.textarea-label-placement-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(100%) scale(1);transform:translateY(100%) scale(1)}.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:0}.has-focus.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios,.has-value.textarea-label-placement-floating.sc-ion-textarea-ios-h textarea.sc-ion-textarea-ios{opacity:1}.label-floating.sc-ion-textarea-ios-h .label-text-wrapper.sc-ion-textarea-ios{-webkit-transform:translateY(50%) scale(0.75);transform:translateY(50%) scale(0.75);max-width:calc(100% / 0.75)}.start-slot-wrapper.sc-ion-textarea-ios,.end-slot-wrapper.sc-ion-textarea-ios{padding-left:0;padding-right:0;padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-item-align:start;align-self:start}.sc-ion-textarea-ios-s>[slot=start],.sc-ion-textarea-ios-s>[slot=end]{margin-top:0}.sc-ion-textarea-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-textarea-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-textarea-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))));--padding-top:10px;--padding-end:0px;--padding-bottom:8px;--padding-start:0px;--highlight-height:0px;font-size:inherit}.textarea-disabled.sc-ion-textarea-ios-h{opacity:0.3}.sc-ion-textarea-ios-s>ion-button[slot=start].button-has-icon-only,.sc-ion-textarea-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}";
@@ -1,18 +1,18 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { f as printIonWarning, r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-COOKa-0k.js';
5
- import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-FyGnL1d5.js';
6
- import { g as getElementRoot, r as raf } from './helpers-Br4puuoA.js';
4
+ import { f as printIonWarning, r as registerInstance, c as createEvent, e as config, j as printIonError, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
+ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-mCdtaoPe.js';
6
+ import { g as getElementRoot, r as raf } from './helpers-DEn3pfjm.js';
7
7
  import { c as createLockController } from './lock-controller-B-hirT0v.js';
8
- import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-DNIbGUWk.js';
8
+ import { O as OVERLAY_GESTURE_PRIORITY, d as createDelegateController, e as createTriggerController, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall, G as GESTURE } from './overlays-BymNv-BL.js';
9
9
  import { c as createColorClasses, g as getClassMap } from './theme-DiVJyqlX.js';
10
- import { b as getIonMode } from './ionic-global-ssiordoc.js';
11
- import { c as createAnimation } from './animation-BMjqGaKJ.js';
10
+ import { b as getIonMode } from './ionic-global-CDrldh-5.js';
11
+ import { c as createAnimation } from './animation-Dt8bGnA-.js';
12
12
  import { w as win } from './index-ZjP4CjeZ.js';
13
13
  import { createGesture } from './index-CfgBF1SE.js';
14
- import './hardware-back-button-gEuwgxq4.js';
15
- import './framework-delegate-DA71As64.js';
14
+ import './hardware-back-button-CPLxO-Ev.js';
15
+ import './framework-delegate-BYawdMXj.js';
16
16
  import './gesture-controller-BTEOs1at.js';
17
17
 
18
18
  /**
@@ -1,10 +1,11 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement } from './index-COOKa-0k.js';
5
- import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-Br4puuoA.js';
4
+ import { r as registerInstance, c as createEvent, e as config, h, d as Host, g as getElement } from './index-C8IsBmNU.js';
5
+ import { i as inheritAriaAttributes, a as renderHiddenInput } from './helpers-DEn3pfjm.js';
6
+ import { c as checkInvalidState } from './validity-DJztqcrH.js';
6
7
  import { c as hapticSelection } from './haptic-DzAMWJuk.js';
7
- import { a as isPlatform, b as getIonMode } from './ionic-global-ssiordoc.js';
8
+ import { a as isPlatform, b as getIonMode } from './ionic-global-CDrldh-5.js';
8
9
  import { i as isRTL } from './dir-C53feagD.js';
9
10
  import { c as createColorClasses, h as hostContext } from './theme-DiVJyqlX.js';
10
11
  import { f as checkmarkOutline, r as removeOutline, g as ellipseOutline } from './index-DV3sJJW8.js';
@@ -29,6 +30,10 @@ const Toggle = class {
29
30
  this.inheritedAttributes = {};
30
31
  this.didLoad = false;
31
32
  this.activated = false;
33
+ /**
34
+ * Track validation state for proper aria-live announcements.
35
+ */
36
+ this.isInvalid = false;
32
37
  /**
33
38
  * The name of the control, which is submitted with the form data.
34
39
  */
@@ -142,15 +147,52 @@ const Toggle = class {
142
147
  });
143
148
  }
144
149
  async connectedCallback() {
150
+ const { didLoad, el } = this;
145
151
  /**
146
152
  * If we have not yet rendered
147
153
  * ion-toggle, then toggleTrack is not defined.
148
154
  * But if we are moving ion-toggle via appendChild,
149
155
  * then toggleTrack will be defined.
150
156
  */
151
- if (this.didLoad) {
157
+ if (didLoad) {
152
158
  this.setupGesture();
153
159
  }
160
+ // Watch for class changes to update validation state.
161
+ if (typeof MutationObserver !== 'undefined') {
162
+ this.validationObserver = new MutationObserver(() => {
163
+ const newIsInvalid = checkInvalidState(el);
164
+ if (this.isInvalid !== newIsInvalid) {
165
+ this.isInvalid = newIsInvalid;
166
+ /**
167
+ * Screen readers tend to announce changes
168
+ * to `aria-describedby` when the attribute
169
+ * is changed during a blur event for a
170
+ * native form control.
171
+ * However, the announcement can be spotty
172
+ * when using a non-native form control
173
+ * and `forceUpdate()`.
174
+ * This is due to `forceUpdate()` internally
175
+ * rescheduling the DOM update to a lower
176
+ * priority queue regardless if it's called
177
+ * inside a Promise or not, thus causing
178
+ * the screen reader to potentially miss the
179
+ * change.
180
+ * By using a State variable inside a Promise,
181
+ * it guarantees a re-render immediately at
182
+ * a higher priority.
183
+ */
184
+ Promise.resolve().then(() => {
185
+ this.hintTextId = this.getHintTextId();
186
+ });
187
+ }
188
+ });
189
+ this.validationObserver.observe(el, {
190
+ attributes: true,
191
+ attributeFilter: ['class'],
192
+ });
193
+ }
194
+ // Always set initial state
195
+ this.isInvalid = checkInvalidState(el);
154
196
  }
155
197
  componentDidLoad() {
156
198
  this.setupGesture();
@@ -161,9 +203,15 @@ const Toggle = class {
161
203
  this.gesture.destroy();
162
204
  this.gesture = undefined;
163
205
  }
206
+ // Clean up validation observer to prevent memory leaks.
207
+ if (this.validationObserver) {
208
+ this.validationObserver.disconnect();
209
+ this.validationObserver = undefined;
210
+ }
164
211
  }
165
212
  componentWillLoad() {
166
213
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
214
+ this.hintTextId = this.getHintTextId();
167
215
  }
168
216
  onStart() {
169
217
  this.activated = true;
@@ -204,9 +252,9 @@ const Toggle = class {
204
252
  get hasLabel() {
205
253
  return this.el.textContent !== '';
206
254
  }
207
- getHintTextID() {
208
- const { el, helperText, errorText, helperTextId, errorTextId } = this;
209
- if (el.classList.contains('ion-touched') && el.classList.contains('ion-invalid') && errorText) {
255
+ getHintTextId() {
256
+ const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
257
+ if (isInvalid && errorText) {
210
258
  return errorTextId;
211
259
  }
212
260
  if (helperText) {
@@ -219,7 +267,7 @@ const Toggle = class {
219
267
  * This element should only be rendered if hint text is set.
220
268
  */
221
269
  renderHintText() {
222
- const { helperText, errorText, helperTextId, errorTextId } = this;
270
+ const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
223
271
  /**
224
272
  * undefined and empty string values should
225
273
  * be treated as not having helper/error text.
@@ -228,15 +276,15 @@ const Toggle = class {
228
276
  if (!hasHintText) {
229
277
  return;
230
278
  }
231
- return (h("div", { class: "toggle-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
279
+ return (h("div", { class: "toggle-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text", role: "alert" }, isInvalid ? errorText : null)));
232
280
  }
233
281
  render() {
234
- const { activated, alignment, checked, color, disabled, el, errorTextId, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
282
+ const { activated, alignment, checked, color, disabled, el, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
235
283
  const mode = getIonMode(this);
236
284
  const value = this.getValue();
237
285
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
238
286
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
239
- return (h(Host, { key: '17bbbc8d229868e5c872b2bc5a3faf579780c5e0', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
287
+ return (h(Host, { key: 'f569148edd89ee041a4719ffc4733c16b05229bd', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
240
288
  [mode]: true,
241
289
  'in-item': hostContext('ion-item', el),
242
290
  'toggle-activated': activated,
@@ -246,10 +294,10 @@ const Toggle = class {
246
294
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
247
295
  [`toggle-label-placement-${labelPlacement}`]: true,
248
296
  [`toggle-${rtl}`]: true,
249
- }) }, h("label", { key: '673625b62a2c909e95dccb642c91312967a6cd1c', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '7dc3f357b4708116663970047765da9f8f845bf0', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '8f1c6a182031e8cbc6727e5f4ac0e00ad4247447', class: {
297
+ }) }, h("label", { key: '3027f2ac4be6de422a14486d847fbee77f615db1', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '4b0304c9e879e432b80184b4e5de37d55c11b436', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '8ef265ec942e7f01ff31cbb202ed146c6bf94e02', class: {
250
298
  'label-text-wrapper': true,
251
299
  'label-text-wrapper-hidden': !hasLabel,
252
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '8322b9d54dc7edeb4e16fefcde9f7ebca8d5c3e1' }), this.renderHintText()), h("div", { key: 'fe6984143db817a7b3020a3f57cf5418fc3dcc0e', class: "native-wrapper" }, this.renderToggleControl()))));
300
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '7b162b7dd27199cca2a4c995276a18b9f8e44aaf' }), this.renderHintText()), h("div", { key: 'd13c34bd42fca01cc73ddb4ea7e471b33a282a3e', class: "native-wrapper" }, this.renderToggleControl()))));
253
301
  }
254
302
  get el() { return getElement(this); }
255
303
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { e as config, l as configFromSession, m as configFromURL, n as saveConfig, o as getMode, q as setMode, f as printIonWarning } from './index-COOKa-0k.js';
4
+ import { e as config, l as configFromSession, m as configFromURL, n as saveConfig, o as getMode, q as setMode, f as printIonWarning } from './index-C8IsBmNU.js';
5
5
 
6
6
  const getPlatforms = (win) => setupPlatforms(win);
7
7
  const isPlatform = (winOrPlatform, platform) => {