@ionic/core 8.5.5-dev.11744665184.1ec1e7e9 → 8.5.5-dev.11744727671.1ce813fb

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 (592) hide show
  1. package/components/alert.js +5 -4
  2. package/components/animation.js +2 -1
  3. package/components/button.js +5 -5
  4. package/components/config.js +3 -1
  5. package/components/data.js +2 -2
  6. package/components/hardware-back-button.js +2 -2
  7. package/components/helpers.js +3 -1
  8. package/components/index.js +1 -1
  9. package/components/index2.js +1 -2
  10. package/components/index4.js +85 -8
  11. package/components/index8.js +1 -1
  12. package/components/input.utils.js +1 -1
  13. package/components/ion-accordion-group.js +3 -3
  14. package/components/ion-accordion.js +2 -1
  15. package/components/ion-app.js +4 -4
  16. package/components/ion-back-button.js +2 -1
  17. package/components/ion-datetime-button.js +6 -6
  18. package/components/ion-datetime.js +16 -16
  19. package/components/ion-infinite-scroll-content.js +2 -1
  20. package/components/ion-input-password-toggle.js +5 -5
  21. package/components/ion-item-sliding.js +3 -2
  22. package/components/ion-loading.js +2 -1
  23. package/components/ion-menu-button.js +2 -1
  24. package/components/ion-menu.js +6 -5
  25. package/components/ion-nav.js +5 -5
  26. package/components/ion-picker-legacy.js +3 -3
  27. package/components/ion-progress-bar.js +2 -1
  28. package/components/ion-range.js +5 -5
  29. package/components/ion-refresher-content.js +2 -1
  30. package/components/ion-refresher.js +3 -2
  31. package/components/ion-router-outlet.js +4 -3
  32. package/components/ion-router.js +9 -8
  33. package/components/ion-searchbar.js +2 -1
  34. package/components/ion-segment-button.js +6 -5
  35. package/components/ion-select.js +5 -4
  36. package/components/ion-skeleton-text.js +2 -1
  37. package/components/ion-split-pane.js +5 -4
  38. package/components/ion-tab-button.js +2 -1
  39. package/components/ion-tab.js +5 -4
  40. package/components/ion-tabs.js +3 -2
  41. package/components/ion-toast.js +10 -10
  42. package/components/ion-toggle.js +9 -17
  43. package/components/ionic-global.js +3 -77
  44. package/components/modal.js +9 -9
  45. package/components/overlays.js +5 -5
  46. package/components/popover.js +3 -3
  47. package/components/spinner.js +2 -1
  48. package/dist/cjs/{animation-b4fdf128.js → animation-ab2d3449.js} +4 -3
  49. package/dist/cjs/{app-globals-dd592863.js → app-globals-ddceb1f4.js} +1 -1
  50. package/dist/cjs/{config-4f60b98a.js → config-f6225ae7.js} +3 -1
  51. package/dist/cjs/{data-48893b46.js → data-94e8d392.js} +3 -3
  52. package/dist/cjs/{framework-delegate-50a86d56.js → framework-delegate-862d9d00.js} +1 -1
  53. package/dist/cjs/{hardware-back-button-5a99001f.js → hardware-back-button-3d2b1004.js} +7 -8
  54. package/dist/cjs/{helpers-3a248559.js → helpers-8a48fdea.js} +3 -1
  55. package/dist/cjs/{index-edd488c9.js → index-1eff7149.js} +7 -8
  56. package/dist/cjs/{index-6946900a.js → index-31b07b9c.js} +2 -2
  57. package/dist/cjs/{index-026ab0f9.js → index-a96d31ae.js} +5 -5
  58. package/dist/cjs/index-cc858e97.js +129 -0
  59. package/dist/cjs/{index-e36bd277.js → index-dbe01e08.js} +2 -1
  60. package/dist/cjs/index.cjs.js +18 -12
  61. package/dist/cjs/{input-shims-07765d6d.js → input-shims-415be7ee.js} +3 -5
  62. package/dist/cjs/{input.utils-601abddc.js → input.utils-a7957fd6.js} +3 -3
  63. package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -9
  64. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
  65. package/dist/cjs/ion-alert.cjs.entry.js +12 -12
  66. package/dist/cjs/ion-app_8.cjs.entry.js +23 -23
  67. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -1
  68. package/dist/cjs/ion-back-button.cjs.entry.js +8 -7
  69. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -1
  70. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -2
  71. package/dist/cjs/ion-button_2.cjs.entry.js +8 -8
  72. package/dist/cjs/ion-card_5.cjs.entry.js +3 -2
  73. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -2
  74. package/dist/cjs/ion-chip.cjs.entry.js +2 -1
  75. package/dist/cjs/ion-col_3.cjs.entry.js +2 -1
  76. package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -10
  77. package/dist/cjs/ion-datetime_3.cjs.entry.js +27 -27
  78. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -2
  79. package/dist/cjs/ion-img.cjs.entry.js +3 -2
  80. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  81. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -7
  82. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  83. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  84. package/dist/cjs/ion-item_8.cjs.entry.js +4 -3
  85. package/dist/cjs/ion-loading.cjs.entry.js +10 -10
  86. package/dist/cjs/ion-menu_3.cjs.entry.js +24 -24
  87. package/dist/cjs/ion-modal.cjs.entry.js +18 -18
  88. package/dist/cjs/ion-nav_2.cjs.entry.js +18 -18
  89. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -2
  90. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -2
  91. package/dist/cjs/ion-picker.cjs.entry.js +2 -1
  92. package/dist/cjs/ion-popover.cjs.entry.js +11 -11
  93. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -3
  94. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -2
  95. package/dist/cjs/ion-range.cjs.entry.js +9 -9
  96. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -14
  97. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  98. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -1
  99. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  100. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -7
  101. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -7
  102. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  103. package/dist/cjs/ion-select_3.cjs.entry.js +13 -13
  104. package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
  105. package/dist/cjs/ion-split-pane.cjs.entry.js +6 -5
  106. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -3
  107. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  108. package/dist/cjs/ion-text.cjs.entry.js +2 -1
  109. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  110. package/dist/cjs/ion-toast.cjs.entry.js +18 -18
  111. package/dist/cjs/ion-toggle.cjs.entry.js +11 -19
  112. package/dist/cjs/{ionic-global-acb665ad.js → ionic-global-6dea5a96.js} +15 -90
  113. package/dist/cjs/ionic.cjs.js +3 -2
  114. package/dist/cjs/{ios.transition-f6bf4835.js → ios.transition-a131cd4d.js} +4 -5
  115. package/dist/cjs/loader.cjs.js +3 -2
  116. package/dist/cjs/{md.transition-b40e2ae2.js → md.transition-e018ebe5.js} +4 -5
  117. package/dist/cjs/{notch-controller-ae03a497.js → notch-controller-09b7f358.js} +1 -1
  118. package/dist/cjs/{overlays-f1482698.js → overlays-4c291a05.js} +19 -19
  119. package/dist/cjs/{status-tap-b96103c1.js → status-tap-f1acefac.js} +3 -4
  120. package/dist/cjs/{swipe-back-cd0d9f77.js → swipe-back-4918e56b.js} +2 -1
  121. package/dist/collection/components/accordion-group/accordion-group.js +3 -3
  122. package/dist/collection/components/alert/alert.js +4 -3
  123. package/dist/collection/components/app/app.js +2 -2
  124. package/dist/collection/components/button/button.js +5 -5
  125. package/dist/collection/components/datetime/datetime.js +11 -11
  126. package/dist/collection/components/datetime/utils/comparison.js +1 -1
  127. package/dist/collection/components/datetime/utils/parse.js +1 -1
  128. package/dist/collection/components/datetime/utils/state.js +1 -1
  129. package/dist/collection/components/datetime/utils/validate.js +4 -4
  130. package/dist/collection/components/datetime-button/datetime-button.js +6 -6
  131. package/dist/collection/components/input/input.utils.js +1 -1
  132. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -5
  133. package/dist/collection/components/item-sliding/item-sliding.js +3 -2
  134. package/dist/collection/components/menu/menu.js +5 -4
  135. package/dist/collection/components/modal/modal.js +7 -7
  136. package/dist/collection/components/nav/nav.js +3 -3
  137. package/dist/collection/components/picker-legacy/picker.js +3 -3
  138. package/dist/collection/components/popover/popover.js +3 -3
  139. package/dist/collection/components/range/range.js +5 -5
  140. package/dist/collection/components/refresher/refresher.js +3 -2
  141. package/dist/collection/components/router/router.js +8 -7
  142. package/dist/collection/components/router/utils/dom.js +2 -1
  143. package/dist/collection/components/router-outlet/router-outlet.js +3 -2
  144. package/dist/collection/components/segment-button/segment-button.js +6 -5
  145. package/dist/collection/components/select/select.js +5 -4
  146. package/dist/collection/components/split-pane/split-pane.js +5 -4
  147. package/dist/collection/components/tab/tab.js +5 -4
  148. package/dist/collection/components/tabs/tabs.js +3 -2
  149. package/dist/collection/components/toast/animations/utils.js +1 -1
  150. package/dist/collection/components/toast/toast.js +8 -8
  151. package/dist/collection/components/toggle/toggle.ios.css +17 -5
  152. package/dist/collection/components/toggle/toggle.js +5 -14
  153. package/dist/collection/components/toggle/toggle.md.css +17 -5
  154. package/dist/collection/global/ionic-global.js +2 -1
  155. package/dist/collection/index.js +1 -1
  156. package/dist/collection/utils/animation/animation.js +2 -1
  157. package/dist/collection/utils/hardware-back-button.js +2 -1
  158. package/dist/collection/utils/helpers.js +2 -1
  159. package/dist/collection/utils/logging/index.js +10 -6
  160. package/dist/collection/utils/overlays.js +4 -4
  161. package/dist/collection/utils/sanitization/index.js +2 -1
  162. package/dist/docs.json +1 -1
  163. package/dist/esm/{animation-eab5a4ca.js → animation-8b25e105.js} +2 -1
  164. package/dist/esm/{app-globals-7b6cbf1a.js → app-globals-dbdbb3df.js} +1 -1
  165. package/dist/esm/{config-49c88215.js → config-9898ed97.js} +3 -1
  166. package/dist/esm/{data-e24ae812.js → data-0d7ea6eb.js} +3 -3
  167. package/dist/esm/{framework-delegate-2eea1763.js → framework-delegate-56b467ad.js} +1 -1
  168. package/dist/esm/{hardware-back-button-864101a3.js → hardware-back-button-a7eb8233.js} +2 -3
  169. package/dist/esm/{helpers-78efeec3.js → helpers-d94bc8ad.js} +3 -1
  170. package/dist/esm/{index-3ee2dbd5.js → index-18f31305.js} +5 -5
  171. package/dist/esm/{index-f438077f.js → index-68c0d151.js} +4 -5
  172. package/dist/esm/{index-fe70a837.js → index-9a17db3d.js} +2 -2
  173. package/dist/esm/{index-40894f4b.js → index-be190feb.js} +2 -1
  174. package/dist/esm/index-cfd9c1f2.js +121 -0
  175. package/dist/esm/index.js +12 -12
  176. package/dist/esm/{input-shims-4ceed1d8.js → input-shims-279903e2.js} +3 -5
  177. package/dist/esm/{input.utils-8b9046b7.js → input.utils-40504d6d.js} +3 -3
  178. package/dist/esm/ion-accordion_2.entry.js +6 -6
  179. package/dist/esm/ion-action-sheet.entry.js +7 -7
  180. package/dist/esm/ion-alert.entry.js +11 -11
  181. package/dist/esm/ion-app_8.entry.js +16 -16
  182. package/dist/esm/ion-avatar_3.entry.js +2 -1
  183. package/dist/esm/ion-back-button.entry.js +3 -2
  184. package/dist/esm/ion-backdrop.entry.js +2 -1
  185. package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
  186. package/dist/esm/ion-button_2.entry.js +8 -8
  187. package/dist/esm/ion-card_5.entry.js +3 -2
  188. package/dist/esm/ion-checkbox.entry.js +3 -2
  189. package/dist/esm/ion-chip.entry.js +2 -1
  190. package/dist/esm/ion-col_3.entry.js +2 -1
  191. package/dist/esm/ion-datetime-button.entry.js +10 -10
  192. package/dist/esm/ion-datetime_3.entry.js +27 -27
  193. package/dist/esm/ion-fab_3.entry.js +3 -2
  194. package/dist/esm/ion-img.entry.js +3 -2
  195. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  196. package/dist/esm/ion-input-password-toggle.entry.js +7 -7
  197. package/dist/esm/ion-input.entry.js +5 -5
  198. package/dist/esm/ion-item-option_3.entry.js +6 -6
  199. package/dist/esm/ion-item_8.entry.js +3 -2
  200. package/dist/esm/ion-loading.entry.js +8 -8
  201. package/dist/esm/ion-menu_3.entry.js +12 -12
  202. package/dist/esm/ion-modal.entry.js +16 -16
  203. package/dist/esm/ion-nav_2.entry.js +8 -8
  204. package/dist/esm/ion-picker-column-option.entry.js +3 -2
  205. package/dist/esm/ion-picker-column.entry.js +3 -2
  206. package/dist/esm/ion-picker.entry.js +2 -1
  207. package/dist/esm/ion-popover.entry.js +11 -11
  208. package/dist/esm/ion-progress-bar.entry.js +3 -2
  209. package/dist/esm/ion-radio_2.entry.js +3 -2
  210. package/dist/esm/ion-range.entry.js +9 -9
  211. package/dist/esm/ion-refresher_2.entry.js +8 -8
  212. package/dist/esm/ion-reorder_2.entry.js +4 -4
  213. package/dist/esm/ion-ripple-effect.entry.js +2 -1
  214. package/dist/esm/ion-route_4.entry.js +11 -10
  215. package/dist/esm/ion-searchbar.entry.js +3 -2
  216. package/dist/esm/ion-segment_2.entry.js +8 -7
  217. package/dist/esm/ion-select-modal.entry.js +6 -6
  218. package/dist/esm/ion-select_3.entry.js +11 -11
  219. package/dist/esm/ion-spinner.entry.js +2 -1
  220. package/dist/esm/ion-split-pane.entry.js +6 -5
  221. package/dist/esm/ion-tab-bar_2.entry.js +3 -2
  222. package/dist/esm/ion-tab_2.entry.js +8 -7
  223. package/dist/esm/ion-text.entry.js +2 -1
  224. package/dist/esm/ion-textarea.entry.js +5 -5
  225. package/dist/esm/ion-toast.entry.js +16 -16
  226. package/dist/esm/ion-toggle.entry.js +10 -18
  227. package/dist/esm/{ionic-global-ca86cf32.js → ionic-global-b26f573e.js} +3 -77
  228. package/dist/esm/ionic.js +3 -2
  229. package/dist/esm/{ios.transition-b8b60b46.js → ios.transition-4047cb68.js} +4 -5
  230. package/dist/esm/loader.js +3 -2
  231. package/dist/esm/{md.transition-75b978a8.js → md.transition-30ce8d1b.js} +4 -5
  232. package/dist/esm/{notch-controller-00d92e89.js → notch-controller-1a1f7183.js} +1 -1
  233. package/dist/esm/{overlays-fb9f8b68.js → overlays-d99dcb0a.js} +8 -8
  234. package/dist/esm/{status-tap-d7b90d63.js → status-tap-42a8af65.js} +3 -4
  235. package/dist/esm/{swipe-back-07df2095.js → swipe-back-0184f6b3.js} +2 -1
  236. package/dist/esm-es5/animation-8b25e105.js +4 -0
  237. package/dist/esm-es5/app-globals-dbdbb3df.js +4 -0
  238. package/dist/esm-es5/config-9898ed97.js +4 -0
  239. package/dist/esm-es5/data-0d7ea6eb.js +4 -0
  240. package/dist/esm-es5/{framework-delegate-2eea1763.js → framework-delegate-56b467ad.js} +1 -1
  241. package/dist/esm-es5/hardware-back-button-a7eb8233.js +4 -0
  242. package/dist/esm-es5/helpers-d94bc8ad.js +4 -0
  243. package/dist/esm-es5/{index-3ee2dbd5.js → index-18f31305.js} +1 -1
  244. package/dist/esm-es5/index-68c0d151.js +4 -0
  245. package/dist/esm-es5/{index-fe70a837.js → index-9a17db3d.js} +1 -1
  246. package/dist/esm-es5/index-be190feb.js +4 -0
  247. package/dist/esm-es5/index-cfd9c1f2.js +5 -0
  248. package/dist/esm-es5/index.js +1 -1
  249. package/dist/esm-es5/input-shims-279903e2.js +4 -0
  250. package/dist/esm-es5/input.utils-40504d6d.js +4 -0
  251. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  252. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  253. package/dist/esm-es5/ion-alert.entry.js +1 -1
  254. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  255. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  256. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  257. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  258. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  259. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  260. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  261. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  262. package/dist/esm-es5/ion-chip.entry.js +1 -1
  263. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  264. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  265. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  266. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  267. package/dist/esm-es5/ion-img.entry.js +1 -1
  268. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  269. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  270. package/dist/esm-es5/ion-input.entry.js +1 -1
  271. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  272. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  273. package/dist/esm-es5/ion-loading.entry.js +1 -1
  274. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  275. package/dist/esm-es5/ion-modal.entry.js +1 -1
  276. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  277. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  278. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  279. package/dist/esm-es5/ion-picker.entry.js +1 -1
  280. package/dist/esm-es5/ion-popover.entry.js +1 -1
  281. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  282. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  283. package/dist/esm-es5/ion-range.entry.js +1 -1
  284. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  285. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  286. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  287. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  288. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  289. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  290. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  291. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  292. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  293. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  294. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  295. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  296. package/dist/esm-es5/ion-text.entry.js +1 -1
  297. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  298. package/dist/esm-es5/ion-toast.entry.js +1 -1
  299. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  300. package/dist/esm-es5/ionic-global-b26f573e.js +4 -0
  301. package/dist/esm-es5/ionic.js +1 -1
  302. package/dist/esm-es5/ios.transition-4047cb68.js +4 -0
  303. package/dist/esm-es5/loader.js +1 -1
  304. package/dist/esm-es5/md.transition-30ce8d1b.js +4 -0
  305. package/dist/esm-es5/{notch-controller-00d92e89.js → notch-controller-1a1f7183.js} +1 -1
  306. package/dist/esm-es5/overlays-d99dcb0a.js +4 -0
  307. package/dist/esm-es5/status-tap-42a8af65.js +4 -0
  308. package/dist/esm-es5/swipe-back-0184f6b3.js +4 -0
  309. package/dist/ionic/index.esm.js +1 -1
  310. package/dist/ionic/ionic.esm.js +1 -1
  311. package/dist/ionic/ionic.js +1 -1
  312. package/dist/ionic/p-00023f5a.system.js +4 -0
  313. package/dist/ionic/p-019e30a3.system.entry.js +4 -0
  314. package/dist/ionic/p-03480b95.system.entry.js +4 -0
  315. package/dist/ionic/p-08cef0b1.entry.js +4 -0
  316. package/dist/ionic/{p-281d022a.js → p-0f5e6225.js} +1 -1
  317. package/dist/ionic/p-105b2e8b.entry.js +4 -0
  318. package/dist/ionic/p-10a1bddc.js +4 -0
  319. package/dist/ionic/p-117d0013.system.entry.js +4 -0
  320. package/dist/ionic/{p-32a0756f.system.js → p-12193821.system.js} +1 -1
  321. package/dist/ionic/p-12830298.system.entry.js +4 -0
  322. package/dist/ionic/p-12914457.entry.js +4 -0
  323. package/dist/ionic/p-14154301.system.entry.js +4 -0
  324. package/dist/ionic/p-14bdb5aa.entry.js +4 -0
  325. package/dist/ionic/{p-56bab0a5.system.entry.js → p-1706b406.system.entry.js} +1 -1
  326. package/dist/ionic/p-171ca87d.system.js +4 -0
  327. package/dist/ionic/p-17e21141.js +4 -0
  328. package/dist/ionic/p-19494658.system.entry.js +4 -0
  329. package/dist/ionic/{p-9e45532a.system.js → p-1966a13c.system.js} +1 -1
  330. package/dist/ionic/p-1974d5b2.system.js +4 -0
  331. package/dist/ionic/p-1a81ac09.system.js +4 -0
  332. package/dist/ionic/p-1b9c59ab.js +4 -0
  333. package/dist/ionic/p-1cb02e44.entry.js +4 -0
  334. package/dist/ionic/{p-f56dfbf7.system.js → p-1d307396.system.js} +1 -1
  335. package/dist/ionic/p-2233344a.system.js +4 -0
  336. package/dist/ionic/p-228e2522.entry.js +4 -0
  337. package/dist/ionic/p-2469240b.entry.js +4 -0
  338. package/dist/ionic/{p-f92b151c.system.entry.js → p-24a6c8a3.system.entry.js} +1 -1
  339. package/dist/ionic/p-257fb777.entry.js +4 -0
  340. package/dist/ionic/{p-85c82728.js → p-25b10f81.js} +1 -1
  341. package/dist/ionic/p-2bb55ebc.js +4 -0
  342. package/dist/ionic/p-2bff0e69.system.entry.js +4 -0
  343. package/dist/ionic/p-31dc303d.entry.js +4 -0
  344. package/dist/ionic/p-33503ae0.system.entry.js +4 -0
  345. package/dist/ionic/p-3535d6b5.entry.js +4 -0
  346. package/dist/ionic/p-3592aa68.entry.js +4 -0
  347. package/dist/ionic/{p-32cdf2de.system.entry.js → p-35cdfd77.system.entry.js} +1 -1
  348. package/dist/ionic/p-393ffcc2.entry.js +4 -0
  349. package/dist/ionic/p-39fa7dd1.system.entry.js +4 -0
  350. package/dist/ionic/p-3a30f31b.system.entry.js +4 -0
  351. package/dist/ionic/p-42f08b26.system.entry.js +4 -0
  352. package/dist/ionic/p-481e0885.entry.js +4 -0
  353. package/dist/ionic/p-4a5be299.system.entry.js +4 -0
  354. package/dist/ionic/p-4c667fce.js +4 -0
  355. package/dist/ionic/p-4cf4172e.entry.js +4 -0
  356. package/dist/ionic/p-4e88c353.system.js +4 -0
  357. package/dist/ionic/p-4ec0e961.system.entry.js +4 -0
  358. package/dist/ionic/{p-2685241d.system.js → p-4ed5db19.system.js} +1 -1
  359. package/dist/ionic/{p-8c54309e.entry.js → p-4f86aa6d.entry.js} +1 -1
  360. package/dist/ionic/p-50cb2e8b.system.entry.js +4 -0
  361. package/dist/ionic/p-57957c0f.entry.js +4 -0
  362. package/dist/ionic/p-5b67b447.js +4 -0
  363. package/dist/ionic/p-5b6f0155.entry.js +4 -0
  364. package/dist/ionic/p-5c9feddc.system.entry.js +4 -0
  365. package/dist/ionic/p-5edf78c5.system.entry.js +4 -0
  366. package/dist/ionic/p-612096e6.system.entry.js +4 -0
  367. package/dist/ionic/p-6201c4ba.entry.js +4 -0
  368. package/dist/ionic/p-625248d0.system.js +4 -0
  369. package/dist/ionic/p-663413be.system.js +4 -0
  370. package/dist/ionic/p-6636a436.js +4 -0
  371. package/dist/ionic/p-67077d48.entry.js +4 -0
  372. package/dist/ionic/p-6835ebdd.system.entry.js +4 -0
  373. package/dist/ionic/p-6a03fc0f.entry.js +4 -0
  374. package/dist/ionic/p-6b8530f5.system.entry.js +4 -0
  375. package/dist/ionic/{p-5c906a14.entry.js → p-6c474e87.entry.js} +1 -1
  376. package/dist/ionic/p-6dd86ff5.system.entry.js +4 -0
  377. package/dist/ionic/p-6ec0c94a.entry.js +4 -0
  378. package/dist/ionic/{p-3ee33601.entry.js → p-70044cb8.entry.js} +1 -1
  379. package/dist/ionic/p-712c0131.entry.js +4 -0
  380. package/dist/ionic/{p-1848b7c3.entry.js → p-721f43f9.entry.js} +1 -1
  381. package/dist/ionic/p-72b3050b.system.entry.js +4 -0
  382. package/dist/ionic/p-7445a2e5.system.js +4 -0
  383. package/dist/ionic/p-7611ede3.system.entry.js +4 -0
  384. package/dist/ionic/p-781e2dbb.system.js +4 -0
  385. package/dist/ionic/p-7a6a7d75.system.entry.js +4 -0
  386. package/dist/ionic/p-7b8c12c3.entry.js +4 -0
  387. package/dist/ionic/p-7c5c7ae1.system.entry.js +4 -0
  388. package/dist/ionic/p-7e3e6ed2.entry.js +4 -0
  389. package/dist/ionic/{p-8bdb12a6.system.entry.js → p-7ffedf77.system.entry.js} +1 -1
  390. package/dist/ionic/p-809483ac.js +4 -0
  391. package/dist/ionic/{p-4a019528.entry.js → p-81904a80.entry.js} +1 -1
  392. package/dist/ionic/{p-a6625de8.system.js → p-84096b45.system.js} +1 -1
  393. package/dist/ionic/p-8460d95a.entry.js +4 -0
  394. package/dist/ionic/p-85b01465.js +4 -0
  395. package/dist/ionic/p-865fe95c.entry.js +4 -0
  396. package/dist/ionic/p-8674af94.entry.js +4 -0
  397. package/dist/ionic/p-890a4ee2.entry.js +4 -0
  398. package/dist/ionic/p-891553d8.entry.js +4 -0
  399. package/dist/ionic/p-8ab2f7a4.system.entry.js +4 -0
  400. package/dist/ionic/p-8b050e84.system.js +4 -0
  401. package/dist/ionic/{p-22bc235f.js → p-8d2d39d0.js} +1 -1
  402. package/dist/ionic/p-8dacf4e2.entry.js +4 -0
  403. package/dist/ionic/p-94551927.js +4 -0
  404. package/dist/ionic/p-95001a19.js +4 -0
  405. package/dist/ionic/{p-a856757d.system.entry.js → p-958fd7e9.system.entry.js} +1 -1
  406. package/dist/ionic/p-98fd942b.system.entry.js +4 -0
  407. package/dist/ionic/p-a0fd2fe5.system.entry.js +4 -0
  408. package/dist/ionic/p-a78d1c24.entry.js +4 -0
  409. package/dist/ionic/p-a835aca8.entry.js +4 -0
  410. package/dist/ionic/p-a83e3290.system.js +4 -0
  411. package/dist/ionic/{p-a243b90c.js → p-aded71ec.js} +1 -1
  412. package/dist/ionic/p-ae039072.entry.js +4 -0
  413. package/dist/ionic/p-aebfab05.system.entry.js +4 -0
  414. package/dist/ionic/p-b22ab9f4.js +4 -0
  415. package/dist/ionic/p-b2e7eda0.system.entry.js +4 -0
  416. package/dist/ionic/p-b445ff65.entry.js +4 -0
  417. package/dist/ionic/{p-b677558c.system.entry.js → p-b4d17da0.system.entry.js} +1 -1
  418. package/dist/ionic/p-b5432d15.entry.js +4 -0
  419. package/dist/ionic/p-b6d324f0.js +4 -0
  420. package/dist/ionic/p-b7b1d91a.js +4 -0
  421. package/dist/ionic/{p-14100bae.system.entry.js → p-b8050298.system.entry.js} +1 -1
  422. package/dist/ionic/p-b9c793d4.entry.js +4 -0
  423. package/dist/ionic/{p-68dcebd9.system.entry.js → p-bce753bd.system.entry.js} +1 -1
  424. package/dist/ionic/p-bf184319.system.entry.js +4 -0
  425. package/dist/ionic/p-c16443a8.system.js +4 -0
  426. package/dist/ionic/{p-a37fd0d0.system.entry.js → p-c1b7d311.system.entry.js} +1 -1
  427. package/dist/ionic/p-c5b77054.entry.js +4 -0
  428. package/dist/ionic/p-c5bfa3e9.entry.js +4 -0
  429. package/dist/ionic/p-cad82569.entry.js +4 -0
  430. package/dist/ionic/p-cc852fe4.system.entry.js +4 -0
  431. package/dist/ionic/{p-3723b544.system.entry.js → p-cec902a0.system.entry.js} +1 -1
  432. package/dist/ionic/p-cf356ebb.system.entry.js +4 -0
  433. package/dist/ionic/p-d16fab3f.entry.js +4 -0
  434. package/dist/ionic/p-d382f09c.system.js +4 -0
  435. package/dist/ionic/p-d91f942c.system.entry.js +4 -0
  436. package/dist/ionic/p-d984c1ab.system.entry.js +4 -0
  437. package/dist/ionic/p-da6247e5.entry.js +4 -0
  438. package/dist/ionic/p-dabe3bd4.js +4 -0
  439. package/dist/ionic/p-df069a0d.entry.js +4 -0
  440. package/dist/ionic/p-e727e32d.system.entry.js +4 -0
  441. package/dist/ionic/p-e887b6a9.system.js +4 -0
  442. package/dist/ionic/p-ed005d9c.js +4 -0
  443. package/dist/ionic/p-edd2e3c7.entry.js +4 -0
  444. package/dist/ionic/{p-b9fa7882.js → p-f08a92cc.js} +1 -1
  445. package/dist/ionic/p-f0c9f8e3.system.entry.js +4 -0
  446. package/dist/ionic/p-f0ef39ab.entry.js +4 -0
  447. package/dist/ionic/{p-e1765627.system.entry.js → p-f22490a7.system.entry.js} +1 -1
  448. package/dist/ionic/{p-8dfe9d69.system.js → p-f6e7d104.system.js} +1 -1
  449. package/dist/ionic/p-f725bf9e.system.js +4 -0
  450. package/dist/ionic/p-f9a87db2.system.entry.js +4 -0
  451. package/dist/ionic/{p-3855fef7.system.js → p-fa3f4b96.system.js} +2 -2
  452. package/dist/ionic/p-fcb8b828.entry.js +4 -0
  453. package/dist/ionic/p-fe063952.system.entry.js +4 -0
  454. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  455. package/dist/types/components/toggle/toggle.d.ts +0 -2
  456. package/dist/types/utils/logging/index.d.ts +1 -1
  457. package/hydrate/index.js +189 -194
  458. package/hydrate/index.mjs +189 -194
  459. package/package.json +1 -1
  460. package/dist/cjs/index-59aca5d9.js +0 -48
  461. package/dist/esm/index-7981a992.js +0 -44
  462. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  463. package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
  464. package/dist/esm-es5/config-49c88215.js +0 -4
  465. package/dist/esm-es5/data-e24ae812.js +0 -4
  466. package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
  467. package/dist/esm-es5/helpers-78efeec3.js +0 -4
  468. package/dist/esm-es5/index-40894f4b.js +0 -4
  469. package/dist/esm-es5/index-7981a992.js +0 -4
  470. package/dist/esm-es5/index-f438077f.js +0 -4
  471. package/dist/esm-es5/input-shims-4ceed1d8.js +0 -4
  472. package/dist/esm-es5/input.utils-8b9046b7.js +0 -4
  473. package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
  474. package/dist/esm-es5/ios.transition-b8b60b46.js +0 -4
  475. package/dist/esm-es5/md.transition-75b978a8.js +0 -4
  476. package/dist/esm-es5/overlays-fb9f8b68.js +0 -4
  477. package/dist/esm-es5/status-tap-d7b90d63.js +0 -4
  478. package/dist/esm-es5/swipe-back-07df2095.js +0 -4
  479. package/dist/ionic/p-0176e46f.entry.js +0 -4
  480. package/dist/ionic/p-027a48f1.entry.js +0 -4
  481. package/dist/ionic/p-053e4c10.js +0 -4
  482. package/dist/ionic/p-058b7f35.js +0 -4
  483. package/dist/ionic/p-05e6ae38.system.entry.js +0 -4
  484. package/dist/ionic/p-061a7fc7.js +0 -4
  485. package/dist/ionic/p-0a456b7f.entry.js +0 -4
  486. package/dist/ionic/p-0adb6909.system.entry.js +0 -4
  487. package/dist/ionic/p-0bedc891.system.entry.js +0 -4
  488. package/dist/ionic/p-0d1be7c9.system.entry.js +0 -4
  489. package/dist/ionic/p-11dab837.system.entry.js +0 -4
  490. package/dist/ionic/p-12614d54.entry.js +0 -4
  491. package/dist/ionic/p-15bb1dde.system.js +0 -4
  492. package/dist/ionic/p-16844125.system.entry.js +0 -4
  493. package/dist/ionic/p-19c32a76.entry.js +0 -4
  494. package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
  495. package/dist/ionic/p-1c8b3ac9.entry.js +0 -4
  496. package/dist/ionic/p-1de5dfcd.system.entry.js +0 -4
  497. package/dist/ionic/p-22656e0c.entry.js +0 -4
  498. package/dist/ionic/p-235d368d.entry.js +0 -4
  499. package/dist/ionic/p-2567237c.entry.js +0 -4
  500. package/dist/ionic/p-281c32d3.entry.js +0 -4
  501. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  502. package/dist/ionic/p-2a2c6bf4.system.entry.js +0 -4
  503. package/dist/ionic/p-2dfd125c.entry.js +0 -4
  504. package/dist/ionic/p-33058ec5.entry.js +0 -4
  505. package/dist/ionic/p-33518a04.entry.js +0 -4
  506. package/dist/ionic/p-344837bc.system.entry.js +0 -4
  507. package/dist/ionic/p-35f14792.entry.js +0 -4
  508. package/dist/ionic/p-36cfa9e8.system.js +0 -4
  509. package/dist/ionic/p-383a6058.entry.js +0 -4
  510. package/dist/ionic/p-3d98fc29.system.entry.js +0 -4
  511. package/dist/ionic/p-41d5544e.js +0 -4
  512. package/dist/ionic/p-41e70fa2.entry.js +0 -4
  513. package/dist/ionic/p-44fde7d5.system.entry.js +0 -4
  514. package/dist/ionic/p-455cd7cc.system.js +0 -4
  515. package/dist/ionic/p-457509cd.entry.js +0 -4
  516. package/dist/ionic/p-4748aa16.system.js +0 -4
  517. package/dist/ionic/p-4bf48f96.entry.js +0 -4
  518. package/dist/ionic/p-4ea4c73a.system.entry.js +0 -4
  519. package/dist/ionic/p-4eeca839.system.entry.js +0 -4
  520. package/dist/ionic/p-50e0ce13.entry.js +0 -4
  521. package/dist/ionic/p-597ff9af.js +0 -4
  522. package/dist/ionic/p-5fb1321f.entry.js +0 -4
  523. package/dist/ionic/p-6155027f.system.entry.js +0 -4
  524. package/dist/ionic/p-616f888a.entry.js +0 -4
  525. package/dist/ionic/p-6181e1c3.js +0 -4
  526. package/dist/ionic/p-61e794fb.entry.js +0 -4
  527. package/dist/ionic/p-61f2de6f.entry.js +0 -4
  528. package/dist/ionic/p-624b0ee3.system.entry.js +0 -4
  529. package/dist/ionic/p-657ada6a.entry.js +0 -4
  530. package/dist/ionic/p-65943bec.system.entry.js +0 -4
  531. package/dist/ionic/p-68609395.system.js +0 -4
  532. package/dist/ionic/p-705fda69.system.js +0 -4
  533. package/dist/ionic/p-70abb1f2.system.entry.js +0 -4
  534. package/dist/ionic/p-747f9517.entry.js +0 -4
  535. package/dist/ionic/p-783865ab.entry.js +0 -4
  536. package/dist/ionic/p-78574140.js +0 -4
  537. package/dist/ionic/p-7cc33a9a.system.js +0 -4
  538. package/dist/ionic/p-7e0ed182.entry.js +0 -4
  539. package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
  540. package/dist/ionic/p-8a2080c8.system.entry.js +0 -4
  541. package/dist/ionic/p-8b22be32.system.entry.js +0 -4
  542. package/dist/ionic/p-8d98e2bb.entry.js +0 -4
  543. package/dist/ionic/p-8e86ffce.entry.js +0 -4
  544. package/dist/ionic/p-9146695e.system.js +0 -4
  545. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  546. package/dist/ionic/p-96eec056.entry.js +0 -4
  547. package/dist/ionic/p-96ff4d01.system.entry.js +0 -4
  548. package/dist/ionic/p-9af7f110.js +0 -4
  549. package/dist/ionic/p-9b069739.entry.js +0 -4
  550. package/dist/ionic/p-a520973b.entry.js +0 -4
  551. package/dist/ionic/p-a59e8fd6.system.js +0 -4
  552. package/dist/ionic/p-a9198501.system.entry.js +0 -4
  553. package/dist/ionic/p-aa81c2ba.system.entry.js +0 -4
  554. package/dist/ionic/p-aa8c1b2f.system.js +0 -4
  555. package/dist/ionic/p-ac58d726.system.entry.js +0 -4
  556. package/dist/ionic/p-b1f9fbe8.system.entry.js +0 -4
  557. package/dist/ionic/p-b2a242bd.system.js +0 -4
  558. package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
  559. package/dist/ionic/p-b8a461f5.system.entry.js +0 -4
  560. package/dist/ionic/p-bf64af90.system.js +0 -4
  561. package/dist/ionic/p-c005cc37.entry.js +0 -4
  562. package/dist/ionic/p-c1dd88dd.entry.js +0 -4
  563. package/dist/ionic/p-c27c57ea.system.entry.js +0 -4
  564. package/dist/ionic/p-c53c414d.system.entry.js +0 -4
  565. package/dist/ionic/p-c63d8dc1.js +0 -4
  566. package/dist/ionic/p-c7e16491.js +0 -4
  567. package/dist/ionic/p-c88783e6.js +0 -4
  568. package/dist/ionic/p-ccb740ea.entry.js +0 -4
  569. package/dist/ionic/p-ce371c44.entry.js +0 -4
  570. package/dist/ionic/p-cec54707.system.entry.js +0 -4
  571. package/dist/ionic/p-d2168294.entry.js +0 -4
  572. package/dist/ionic/p-d3a54968.system.js +0 -4
  573. package/dist/ionic/p-d40f2b7a.js +0 -4
  574. package/dist/ionic/p-d83a61be.entry.js +0 -4
  575. package/dist/ionic/p-d8de0a14.system.js +0 -4
  576. package/dist/ionic/p-d9bf6f6f.system.entry.js +0 -4
  577. package/dist/ionic/p-d9f64fb5.js +0 -4
  578. package/dist/ionic/p-de46ce9a.system.entry.js +0 -4
  579. package/dist/ionic/p-df9d4b4a.entry.js +0 -4
  580. package/dist/ionic/p-e2ce5f8b.entry.js +0 -4
  581. package/dist/ionic/p-e3284879.system.entry.js +0 -4
  582. package/dist/ionic/p-e3e4eed7.entry.js +0 -4
  583. package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
  584. package/dist/ionic/p-e4d2c281.entry.js +0 -4
  585. package/dist/ionic/p-eb9c5d61.js +0 -4
  586. package/dist/ionic/p-ec70313c.system.entry.js +0 -4
  587. package/dist/ionic/p-ec9d3e18.js +0 -4
  588. package/dist/ionic/p-ece78e7b.js +0 -4
  589. package/dist/ionic/p-f13019e9.system.entry.js +0 -4
  590. package/dist/ionic/p-f201b53a.system.js +0 -4
  591. package/dist/ionic/p-f233f1e0.system.js +0 -4
  592. package/dist/ionic/p-fa70eaab.entry.js +0 -4
package/hydrate/index.js CHANGED
@@ -2368,6 +2368,80 @@ var Build = {
2368
2368
  var styles = /* @__PURE__ */ new Map();
2369
2369
  var modeResolutionChain = [];
2370
2370
 
2371
+ // TODO(FW-2832): types
2372
+ class Config {
2373
+ constructor() {
2374
+ this.m = new Map();
2375
+ }
2376
+ reset(configObj) {
2377
+ this.m = new Map(Object.entries(configObj));
2378
+ }
2379
+ get(key, fallback) {
2380
+ const value = this.m.get(key);
2381
+ return value !== undefined ? value : fallback;
2382
+ }
2383
+ getBoolean(key, fallback = false) {
2384
+ const val = this.m.get(key);
2385
+ if (val === undefined) {
2386
+ return fallback;
2387
+ }
2388
+ if (typeof val === 'string') {
2389
+ return val === 'true';
2390
+ }
2391
+ return !!val;
2392
+ }
2393
+ getNumber(key, fallback) {
2394
+ const val = parseFloat(this.m.get(key));
2395
+ return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
2396
+ }
2397
+ set(key, value) {
2398
+ this.m.set(key, value);
2399
+ }
2400
+ }
2401
+ const config = /*@__PURE__*/ new Config();
2402
+
2403
+ var LogLevel;
2404
+ (function (LogLevel) {
2405
+ LogLevel["OFF"] = "OFF";
2406
+ LogLevel["ERROR"] = "ERROR";
2407
+ LogLevel["WARN"] = "WARN";
2408
+ })(LogLevel || (LogLevel = {}));
2409
+ /**
2410
+ * Logs a warning to the console with an Ionic prefix
2411
+ * to indicate the library that is warning the developer.
2412
+ *
2413
+ * @param message - The string message to be logged to the console.
2414
+ */
2415
+ const printIonWarning = (message, ...params) => {
2416
+ const logLevel = config.get('logLevel', LogLevel.WARN);
2417
+ if ([LogLevel.WARN].includes(logLevel)) {
2418
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
2419
+ }
2420
+ };
2421
+ /**
2422
+ * Logs an error to the console with an Ionic prefix
2423
+ * to indicate the library that is warning the developer.
2424
+ *
2425
+ * @param message - The string message to be logged to the console.
2426
+ * @param params - Additional arguments to supply to the console.error.
2427
+ */
2428
+ const printIonError = (message, ...params) => {
2429
+ const logLevel = config.get('logLevel', LogLevel.ERROR);
2430
+ if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
2431
+ return console.error(`[Ionic Error]: ${message}`, ...params);
2432
+ }
2433
+ };
2434
+ /**
2435
+ * Prints an error informing developers that an implementation requires an element to be used
2436
+ * within a specific selector.
2437
+ *
2438
+ * @param el The web component element this is requiring the element.
2439
+ * @param targetSelectors The selector or selectors that were not found.
2440
+ */
2441
+ const printRequiredElementError = (el, ...targetSelectors) => {
2442
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
2443
+ };
2444
+
2371
2445
  const transitionEndAsync = (el, expectedDuration = 0) => {
2372
2446
  return new Promise((resolve) => {
2373
2447
  transitionEnd(el, expectedDuration, resolve);
@@ -2618,7 +2692,7 @@ const clamp = (min, n, max) => {
2618
2692
  const assert = (actual, reason) => {
2619
2693
  if (!actual) {
2620
2694
  const message = 'ASSERT: ' + reason;
2621
- console.error(message);
2695
+ printIonError(message);
2622
2696
  debugger; // eslint-disable-line
2623
2697
  throw new Error(message);
2624
2698
  }
@@ -2716,38 +2790,6 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
2716
2790
  const searchOutline = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M221.09 64a157.09 157.09 0 10157.09 157.09A157.1 157.1 0 00221.09 64z' stroke-miterlimit='10' class='ionicon-fill-none ionicon-stroke-width'/><path stroke-linecap='round' stroke-miterlimit='10' d='M338.29 338.29L448 448' class='ionicon-fill-none ionicon-stroke-width'/></svg>";
2717
2791
  const searchSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' class='ionicon' viewBox='0 0 512 512'><path d='M464 428L339.92 303.9a160.48 160.48 0 0030.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0094.58-30.72L428 464zM209.32 319.69a110.38 110.38 0 11110.37-110.37 110.5 110.5 0 01-110.37 110.37z'/></svg>";
2718
2792
 
2719
- // TODO(FW-2832): types
2720
- class Config {
2721
- constructor() {
2722
- this.m = new Map();
2723
- }
2724
- reset(configObj) {
2725
- this.m = new Map(Object.entries(configObj));
2726
- }
2727
- get(key, fallback) {
2728
- const value = this.m.get(key);
2729
- return value !== undefined ? value : fallback;
2730
- }
2731
- getBoolean(key, fallback = false) {
2732
- const val = this.m.get(key);
2733
- if (val === undefined) {
2734
- return fallback;
2735
- }
2736
- if (typeof val === 'string') {
2737
- return val === 'true';
2738
- }
2739
- return !!val;
2740
- }
2741
- getNumber(key, fallback) {
2742
- const val = parseFloat(this.m.get(key));
2743
- return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
2744
- }
2745
- set(key, value) {
2746
- this.m.set(key, value);
2747
- }
2748
- }
2749
- const config = /*@__PURE__*/ new Config();
2750
-
2751
2793
  const getPlatforms = (win) => setupPlatforms(win);
2752
2794
  const isPlatform = (winOrPlatform, platform) => {
2753
2795
  if (typeof winOrPlatform === 'string') {
@@ -3189,44 +3231,6 @@ class Accordion {
3189
3231
  }
3190
3232
  let accordionIds = 0;
3191
3233
 
3192
- /**
3193
- * Logs a warning to the console with an Ionic prefix
3194
- * to indicate the library that is warning the developer.
3195
- *
3196
- * @param message - The string message to be logged to the console.
3197
- */
3198
- const printIonWarning = (message, ...params) => {
3199
- console.log('printIonWarning', config.get('logLevel'));
3200
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3201
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3202
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3203
- }
3204
- };
3205
- /**
3206
- * Logs an error to the console with an Ionic prefix
3207
- * to indicate the library that is warning the developer.
3208
- *
3209
- * @param message - The string message to be logged to the console.
3210
- * @param params - Additional arguments to supply to the console.error.
3211
- */
3212
- const printIonError = (message, ...params) => {
3213
- console.log('printIonError', config.get('logLevel'));
3214
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3215
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3216
- return console.error(`[Ionic Error]: ${message}`, ...params);
3217
- }
3218
- };
3219
- /**
3220
- * Prints an error informing developers that an implementation requires an element to be used
3221
- * within a specific selector.
3222
- *
3223
- * @param el The web component element this is requiring the element.
3224
- * @param targetSelectors The selector or selectors that were not found.
3225
- */
3226
- const printRequiredElementError = (el, ...targetSelectors) => {
3227
- return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
3228
- };
3229
-
3230
3234
  const accordionGroupIosCss = ":host{display:block}:host(.accordion-group-expand-inset){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:16px;margin-bottom:16px}:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanding),:host(.accordion-group-expand-inset) ::slotted(ion-accordion.accordion-expanded){border-bottom:none}";
3231
3235
  var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
3232
3236
 
@@ -3259,7 +3263,7 @@ class AccordionGroup {
3259
3263
  * Default toString() behavior: a,b
3260
3264
  * Custom behavior: ['a', 'b']
3261
3265
  */
3262
- printIonWarning(`ion-accordion-group was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
3266
+ printIonWarning(`[ion-accordion-group] - An array of values was passed, but multiple is "false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
3263
3267
 
3264
3268
  Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
3265
3269
  `, this.el);
@@ -3429,12 +3433,12 @@ class AccordionGroup {
3429
3433
  render() {
3430
3434
  const { disabled, readonly, expand } = this;
3431
3435
  const mode = getIonMode$1(this);
3432
- return (hAsync(Host, { key: '82f3e77066fabb4736638ee4c487ad56efd39c63', class: {
3436
+ return (hAsync(Host, { key: 'd1a79a93179474fbba66fcf11a92f4871dacc975', class: {
3433
3437
  [mode]: true,
3434
3438
  'accordion-group-disabled': disabled,
3435
3439
  'accordion-group-readonly': readonly,
3436
3440
  [`accordion-group-expand-${expand}`]: true,
3437
- }, role: "presentation" }, hAsync("slot", { key: 'a3c791ea887fc640b512f81d429be465ae902b3d' })));
3441
+ }, role: "presentation" }, hAsync("slot", { key: 'e6b8954b686d1fbb4fc92adb07fddc97a24b0a31' })));
3438
3442
  }
3439
3443
  get el() { return getElement(this); }
3440
3444
  static get watchers() { return {
@@ -5124,7 +5128,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5124
5128
  }
5125
5129
  const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
5126
5130
  /**
5127
- * For accessibility, toasts lack focus traps and don’t receive
5131
+ * For accessibility, toasts lack focus traps and don't receive
5128
5132
  * `aria-hidden` on the root element when presented.
5129
5133
  *
5130
5134
  * All other overlays use focus traps to keep keyboard focus
@@ -5187,7 +5191,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5187
5191
  }
5188
5192
  }
5189
5193
  catch (err) {
5190
- console.error(err);
5194
+ printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
5191
5195
  }
5192
5196
  overlay.el.remove();
5193
5197
  revealOverlaysToScreenReaders();
@@ -5367,7 +5371,7 @@ const createTriggerController = () => {
5367
5371
  removeClickListener();
5368
5372
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
5369
5373
  if (!triggerEl) {
5370
- printIonWarning(`A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
5374
+ printIonWarning(`[${el.tagName.toLowerCase()}] - A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on an overlay component.`, el);
5371
5375
  return;
5372
5376
  }
5373
5377
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -5876,7 +5880,7 @@ const createAnimation = (animationId) => {
5876
5880
  }
5877
5881
  }
5878
5882
  else {
5879
- console.error('Invalid addElement value');
5883
+ printIonError('createAnimation - Invalid addElement value.');
5880
5884
  }
5881
5885
  }
5882
5886
  return ani;
@@ -6734,7 +6738,7 @@ const sanitizeDOMString = (untrustedString) => {
6734
6738
  return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
6735
6739
  }
6736
6740
  catch (err) {
6737
- console.error(err);
6741
+ printIonError('sanitizeDOMString', err);
6738
6742
  return '';
6739
6743
  }
6740
6744
  };
@@ -7054,7 +7058,7 @@ class Alert {
7054
7058
  // checkboxes and inputs are all accepted, but they cannot be mixed.
7055
7059
  const inputTypes = new Set(inputs.map((i) => i.type));
7056
7060
  if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
7057
- console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
7061
+ printIonWarning(`[ion-alert] - Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
7058
7062
  }
7059
7063
  this.inputType = inputTypes.values().next().value;
7060
7064
  this.processedInputs = inputs.map((i, index) => {
@@ -7327,9 +7331,9 @@ class Alert {
7327
7331
  * If neither are defined, do not set aria-labelledby.
7328
7332
  */
7329
7333
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
7330
- return (hAsync(Host, { key: '755f2398806084f16ee24d9fefce9ebc0b8f30f2', tabindex: "-1", style: {
7334
+ return (hAsync(Host, { key: 'f8ee04fe6a97a2585b302c8e1a9eea3b122e3479', tabindex: "-1", style: {
7331
7335
  zIndex: `${20000 + overlayIndex}`,
7332
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: '5965913fb076436e37f4a55cd8778cbc58449bfd', tappable: this.backdropDismiss }), hAsync("div", { key: 'cb17e07896b6ad8c9c607261fe08437b1a3b272f', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: 'e1d43053dceab70b9392802767caa70fa7ed0518', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: 'a82e0bf863971084f3a8a34d25d6cf7aae1690a8', class: "alert-head" }, header && (hAsync("h2", { key: '36a9b4394f4b4cdcd6972ae60265ac889e2157cf', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: '86008c1eb484cc69f66e42c254933ce289180785', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'bfaacd3b119d06273683019cddef2c42245c3101', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: '0e7df4ab31a72953dcf171ebc87074603f848c06', tabindex: "0", "aria-hidden": "true" })));
7336
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, hAsync("ion-backdrop", { key: 'e9592e879f51c27ef20016beec12c986be632cf3', tappable: this.backdropDismiss }), hAsync("div", { key: '5e9425c3c8acdea6f8006389689c73220e2ce423', tabindex: "0", "aria-hidden": "true" }), hAsync("div", Object.assign({ key: '615465703e357619681fc36ed7276591a6fe3787', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), hAsync("div", { key: '934eba3759456cd4660e10f274edc7859f908461', class: "alert-head" }, header && (hAsync("h2", { key: '7d5d98d71f81f59a2cba227121b6fa01e6cc53b6', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (hAsync("h2", { key: 'e5f5d35748c58a98ee933eb15cb1dcaf8113e9a7', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (hAsync("h3", { key: 'a5cb89ca02bfa9c4828e694cb0835493a9088b05', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), hAsync("div", { key: 'cacffc31c911882df73e6845d15c8bb2d4acab56', tabindex: "0", "aria-hidden": "true" })));
7333
7337
  }
7334
7338
  get el() { return getElement(this); }
7335
7339
  static get watchers() { return {
@@ -7407,7 +7411,7 @@ class App {
7407
7411
  }
7408
7412
  render() {
7409
7413
  const mode = getIonMode$1(this);
7410
- return (hAsync(Host, { key: '96715520fd05d6f0e6fa26a8ba78792cfccd4c0a', class: {
7414
+ return (hAsync(Host, { key: '03aa892f986330078d112b1e8b010df98fa7e39e', class: {
7411
7415
  [mode]: true,
7412
7416
  'ion-page': true,
7413
7417
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -8054,7 +8058,7 @@ class Button {
8054
8058
  * The developer specified a string for the form attribute, but the
8055
8059
  * element with that id is not a form element.
8056
8060
  */
8057
- printIonWarning(`Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
8061
+ printIonWarning(`[ion-button] - Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
8058
8062
  return null;
8059
8063
  }
8060
8064
  }
@@ -8063,7 +8067,7 @@ class Button {
8063
8067
  * The developer specified a string for the form attribute, but the
8064
8068
  * element with that id could not be found in the DOM.
8065
8069
  */
8066
- printIonWarning(`Form with selector: "#${form}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`, this.el);
8070
+ printIonWarning(`[ion-button] - Form with selector: "#${form}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`, this.el);
8067
8071
  return null;
8068
8072
  }
8069
8073
  }
@@ -8074,7 +8078,7 @@ class Button {
8074
8078
  * This will also catch if the developer tries to pass in null
8075
8079
  * as the form attribute.
8076
8080
  */
8077
- printIonWarning(`The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
8081
+ printIonWarning(`[ion-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
8078
8082
  return null;
8079
8083
  }
8080
8084
  /**
@@ -8123,7 +8127,7 @@ class Button {
8123
8127
  {
8124
8128
  type !== 'button' && this.renderHiddenButton();
8125
8129
  }
8126
- return (hAsync(Host, { key: '340a809d85698741bb36e796355cae89a970655f', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
8130
+ return (hAsync(Host, { key: 'e213b0bb76b3f90f883b1a0ea463bb86c2df69c3', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
8127
8131
  [mode]: true,
8128
8132
  [buttonType]: true,
8129
8133
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -8138,7 +8142,7 @@ class Button {
8138
8142
  'button-disabled': disabled,
8139
8143
  'ion-activatable': true,
8140
8144
  'ion-focusable': true,
8141
- }) }, hAsync(TagType, Object.assign({ key: '03ae1b94a0d606aa65aa6f82c2fc76abcf3f1300' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("span", { key: '90bf53d4ffcab88ee596ece7113d5b6409e61143', class: "button-inner" }, hAsync("slot", { key: 'a7876695f0d8702e8bcb471ae4c0984f27d77458', name: "icon-only", onSlotchange: this.slotChanged }), hAsync("slot", { key: '2c8551586f8726884d7797a6d3fee2d4b3aab35f', name: "start" }), hAsync("slot", { key: '9ab07accdb22b08d0a463a7c821c9793507d1f7d' }), hAsync("slot", { key: '8984afe177e6ba021435875a3798e2a64f3bdf2c', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '3e9f01e7a1198b6b7109502293a971da7072a4f3', type: this.rippleType }))));
8145
+ }) }, hAsync(TagType, Object.assign({ key: 'b7c2a46fb994024841219316f4089335fa463d84' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), hAsync("span", { key: '3e07a5c9f86836f9fbaefc6c617bdde6eb6f70cd', class: "button-inner" }, hAsync("slot", { key: '41c08ae09aed16faaa57707d229ff75d97f0731c', name: "icon-only", onSlotchange: this.slotChanged }), hAsync("slot", { key: 'ab8b749e4572884cc04970a7594466b4a24c886e', name: "start" }), hAsync("slot", { key: '397f7ff48ea45e82029414be95d29ae86e12c3a9' }), hAsync("slot", { key: '9a5627713002e8be3738d392b616f6e951b70e12', name: "end" })), mode === 'md' && hAsync("ion-ripple-effect", { key: '105566543ceda102474edab7ca8a44c7e71af589', type: this.rippleType }))));
8142
8146
  }
8143
8147
  get el() { return getElement(this); }
8144
8148
  static get watchers() { return {
@@ -9367,7 +9371,7 @@ const warnIfValueOutOfBounds = (value, min, max) => {
9367
9371
  const valueArray = Array.isArray(value) ? value : [value];
9368
9372
  for (const val of valueArray) {
9369
9373
  if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) {
9370
- printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
9374
+ printIonWarning('[ion-datetime] - The value provided to ion-datetime is out of bounds.\n\n' +
9371
9375
  `Min: ${JSON.stringify(min)}\n` +
9372
9376
  `Max: ${JSON.stringify(max)}\n` +
9373
9377
  `Value: ${JSON.stringify(value)}`);
@@ -9584,7 +9588,7 @@ function parseDate(val) {
9584
9588
  }
9585
9589
  if (parse === null) {
9586
9590
  // wasn't able to parse the ISO datetime
9587
- printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
9591
+ printIonWarning(`[ion-datetime] - Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
9588
9592
  return undefined;
9589
9593
  }
9590
9594
  // ensure all the parse values exist with at least 0
@@ -11100,7 +11104,7 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
11100
11104
  return highlightedDates(dateIsoString);
11101
11105
  }
11102
11106
  catch (e) {
11103
- printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
11107
+ printIonError('[ion-datetime] - Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
11104
11108
  }
11105
11109
  }
11106
11110
  return undefined;
@@ -11117,7 +11121,7 @@ const warnIfTimeZoneProvided = (el, formatOptions) => {
11117
11121
  ((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
11118
11122
  ((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
11119
11123
  ((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
11120
- printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
11124
+ printIonWarning('[ion-datetime] - "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
11121
11125
  }
11122
11126
  };
11123
11127
  const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
@@ -11131,18 +11135,18 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
11131
11135
  case 'month':
11132
11136
  case 'year':
11133
11137
  if (formatOptions.date === undefined) {
11134
- printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
11138
+ printIonWarning(`[ion-datetime] - The '${presentation}' presentation requires a date object in formatOptions.`, el);
11135
11139
  }
11136
11140
  break;
11137
11141
  case 'time':
11138
11142
  if (formatOptions.time === undefined) {
11139
- printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
11143
+ printIonWarning(`[ion-datetime] - The 'time' presentation requires a time object in formatOptions.`, el);
11140
11144
  }
11141
11145
  break;
11142
11146
  case 'date-time':
11143
11147
  case 'time-date':
11144
11148
  if (formatOptions.date === undefined && formatOptions.time === undefined) {
11145
- printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
11149
+ printIonWarning(`[ion-datetime] - The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
11146
11150
  }
11147
11151
  break;
11148
11152
  }
@@ -11201,7 +11205,7 @@ class Datetime {
11201
11205
  * Default toString() behavior: a,b
11202
11206
  * Custom behavior: ['a', 'b']
11203
11207
  */
11204
- printIonWarning(`ion-datetime was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
11208
+ printIonWarning(`[ion-datetime] - An array of values was passed, but multiple is "false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
11205
11209
 
11206
11210
  Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
11207
11211
  `, this.el);
@@ -12082,18 +12086,18 @@ class Datetime {
12082
12086
  const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
12083
12087
  if (multiple) {
12084
12088
  if (presentation !== 'date') {
12085
- printIonWarning('Multiple date selection is only supported for presentation="date".', el);
12089
+ printIonWarning('[ion-datetime] - Multiple date selection is only supported for presentation="date".', el);
12086
12090
  }
12087
12091
  if (preferWheel) {
12088
- printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
12092
+ printIonWarning('[ion-datetime] - Multiple date selection is not supported with preferWheel="true".', el);
12089
12093
  }
12090
12094
  }
12091
12095
  if (highlightedDates !== undefined) {
12092
12096
  if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
12093
- printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
12097
+ printIonWarning('[ion-datetime] - The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
12094
12098
  }
12095
12099
  if (preferWheel) {
12096
- printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
12100
+ printIonWarning('[ion-datetime] - The highlightedDates property is not supported with preferWheel="true".', el);
12097
12101
  }
12098
12102
  }
12099
12103
  if (formatOptions) {
@@ -12224,7 +12228,7 @@ class Datetime {
12224
12228
  disabled = !isDateEnabled(convertDataToISO(referenceParts));
12225
12229
  }
12226
12230
  catch (e) {
12227
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12231
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12228
12232
  }
12229
12233
  return Object.assign(Object.assign({}, itemObject), { disabled });
12230
12234
  });
@@ -12273,7 +12277,7 @@ class Datetime {
12273
12277
  disabled = !isDateEnabled(convertDataToISO(referenceParts));
12274
12278
  }
12275
12279
  catch (e) {
12276
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12280
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12277
12281
  }
12278
12282
  return Object.assign(Object.assign({}, dayObject), { disabled });
12279
12283
  });
@@ -12471,7 +12475,7 @@ class Datetime {
12471
12475
  isCalDayDisabled = !isDateEnabled(dateIsoString);
12472
12476
  }
12473
12477
  catch (e) {
12474
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
12478
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
12475
12479
  }
12476
12480
  }
12477
12481
  /**
@@ -12607,7 +12611,7 @@ class Datetime {
12607
12611
  headerText = titleSelectedDatesFormatter(convertDataToISO(activeParts));
12608
12612
  }
12609
12613
  catch (e) {
12610
- printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
12614
+ printIonError('[ion-datetime] - Exception in provided `titleSelectedDatesFormatter`:', e);
12611
12615
  }
12612
12616
  }
12613
12617
  }
@@ -12702,7 +12706,7 @@ class Datetime {
12702
12706
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
12703
12707
  const hasWheelVariant = hasDatePresentation && preferWheel;
12704
12708
  renderHiddenInput(true, el, name, formatValue(value), disabled);
12705
- return (hAsync(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12709
+ return (hAsync(Host, { key: 'c3dfea8f46fcbcef38eb9e8a69b1b46a4e4b82fd', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12706
12710
  [mode]: true,
12707
12711
  ['datetime-readonly']: readonly,
12708
12712
  ['datetime-disabled']: disabled,
@@ -12712,7 +12716,7 @@ class Datetime {
12712
12716
  [`datetime-size-${size}`]: true,
12713
12717
  [`datetime-prefer-wheel`]: hasWheelVariant,
12714
12718
  [`datetime-grid`]: isGridStyle,
12715
- })) }, hAsync("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12719
+ })) }, hAsync("div", { key: '75c91243cf6a51f44b83d7cf7d8c0c96bfd3c83f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12716
12720
  }
12717
12721
  get el() { return getElement(this); }
12718
12722
  static get watchers() { return {
@@ -12872,7 +12876,7 @@ class DatetimeButton {
12872
12876
  headerText = titleSelectedDatesFormatter(parsedValues);
12873
12877
  }
12874
12878
  catch (e) {
12875
- printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
12879
+ printIonError('[ion-datetime-button] - Exception in provided `titleSelectedDatesFormatter`:', e);
12876
12880
  }
12877
12881
  }
12878
12882
  this.dateText = headerText;
@@ -13032,12 +13036,12 @@ class DatetimeButton {
13032
13036
  async componentWillLoad() {
13033
13037
  const { datetime } = this;
13034
13038
  if (!datetime) {
13035
- printIonError('An ID associated with an ion-datetime instance is required for ion-datetime-button to function properly.', this.el);
13039
+ printIonError('[ion-datetime-button] - An ID associated with an ion-datetime instance is required to function properly.', this.el);
13036
13040
  return;
13037
13041
  }
13038
13042
  const datetimeEl = (this.datetimeEl = document.getElementById(datetime));
13039
13043
  if (!datetimeEl) {
13040
- printIonError(`No ion-datetime instance found for ID '${datetime}'.`, this.el);
13044
+ printIonError(`[ion-datetime-button] - No ion-datetime instance found for ID '${datetime}'.`, this.el);
13041
13045
  return;
13042
13046
  }
13043
13047
  /**
@@ -13045,7 +13049,7 @@ class DatetimeButton {
13045
13049
  * if a non-datetime element was provided.
13046
13050
  */
13047
13051
  if (datetimeEl.tagName !== 'ION-DATETIME') {
13048
- printIonError(`Expected an ion-datetime instance for ID '${datetime}' but received '${datetimeEl.tagName.toLowerCase()}' instead.`, datetimeEl);
13052
+ printIonError(`[ion-datetime-button] - Expected an ion-datetime instance for ID '${datetime}' but received '${datetimeEl.tagName.toLowerCase()}' instead.`, datetimeEl);
13049
13053
  return;
13050
13054
  }
13051
13055
  /**
@@ -13120,11 +13124,11 @@ class DatetimeButton {
13120
13124
  render() {
13121
13125
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
13122
13126
  const mode = getIonMode$1(this);
13123
- return (hAsync(Host, { key: '26e606af6f067a5774db37ed41387ffebb941777', class: createColorClasses$1(color, {
13127
+ return (hAsync(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses$1(color, {
13124
13128
  [mode]: true,
13125
13129
  [`${selectedButton}-active`]: datetimeActive,
13126
13130
  ['datetime-button-disabled']: disabled,
13127
- }) }, dateText && (hAsync("button", { key: '6b7aa66a15b4a6d89d411e40586de28a2ac9f343', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: 'd42f34fd167be34386319e7ea788c2ab03c90b87', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '47dd34f3c2799064cac7a5fe25440ecc043950f0' }))), timeText && (hAsync("button", { key: 'd77424a20fae320654774c7bfc8a8e2369d3afe3', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: 'ac088a78141bb53f2efd48dd7745f8954c92378b', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: 'b3a58ddfd28b9396e2518ffd62a045ec13d8b9d0' })))));
13131
+ }) }, dateText && (hAsync("button", { key: '08ecb62da0fcbf7466a1f2403276712a3ff17fbc', class: "ion-activatable", id: "date-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleDateClick, disabled: disabled, part: "native", ref: (el) => (this.dateTargetEl = el) }, hAsync("slot", { key: '1c04853d4d23c0f1a594602bde44511c98355644', name: "date-target" }, dateText), mode === 'md' && hAsync("ion-ripple-effect", { key: '5fc566cd4bc885bcf983ce99e3dc65d7f485bf9b' }))), timeText && (hAsync("button", { key: 'c9c5c34ac338badf8659da22bea5829d62c51169', class: "ion-activatable", id: "time-button", "aria-expanded": datetimeActive ? 'true' : 'false', onClick: this.handleTimeClick, disabled: disabled, part: "native", ref: (el) => (this.timeTargetEl = el) }, hAsync("slot", { key: '147a9d2069dbf737f6fc64787823d6d5af5aa653', name: "time-target" }, timeText), mode === 'md' && hAsync("ion-ripple-effect", { key: '70a5e25b75ed90ac6bba003468435f67aa9d8f0a' })))));
13128
13132
  }
13129
13133
  get el() { return getElement(this); }
13130
13134
  static get style() { return {
@@ -15089,7 +15093,7 @@ const getCounterText = (value, maxLength, counterFormatter) => {
15089
15093
  return counterFormatter(valueLength, maxLength);
15090
15094
  }
15091
15095
  catch (e) {
15092
- printIonError('Exception in provided `counterFormatter`.', e);
15096
+ printIonError('[ion-input] - Exception in provided `counterFormatter`:', e);
15093
15097
  return defaultCounterText;
15094
15098
  }
15095
15099
  };
@@ -15632,7 +15636,7 @@ class InputPasswordToggle {
15632
15636
  */
15633
15637
  onTypeChange(newValue) {
15634
15638
  if (newValue !== 'text' && newValue !== 'password') {
15635
- printIonWarning(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${newValue}" is not compatible.`, this.el);
15639
+ printIonWarning(`[ion-input-password-toggle] - Only inputs of type "text" or "password" are supported. Input of type "${newValue}" is not compatible.`, this.el);
15636
15640
  return;
15637
15641
  }
15638
15642
  }
@@ -15640,7 +15644,7 @@ class InputPasswordToggle {
15640
15644
  const { el } = this;
15641
15645
  const inputElRef = (this.inputElRef = el.closest('ion-input'));
15642
15646
  if (!inputElRef) {
15643
- printIonWarning('No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.', el);
15647
+ printIonWarning('[ion-input-password-toggle] - No ancestor ion-input found. This component must be slotted inside of an ion-input.', el);
15644
15648
  return;
15645
15649
  }
15646
15650
  /**
@@ -15662,16 +15666,16 @@ class InputPasswordToggle {
15662
15666
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
15663
15667
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
15664
15668
  const isPasswordVisible = type === 'text';
15665
- return (hAsync(Host, { key: 'd9811e25bfeb2aa197352bb9be852e9e420739d5', class: createColorClasses$1(color, {
15669
+ return (hAsync(Host, { key: '1a28e078c83e74c72d8bb8189ece93ec2e3fa3d0', class: createColorClasses$1(color, {
15666
15670
  [mode]: true,
15667
- }) }, hAsync("ion-button", { key: '1eaea1442b248fb2b8d61538b27274e647a07804', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
15671
+ }) }, hAsync("ion-button", { key: '039d1bab764093bb6fe4a34299b0872abda087fd', mode: mode, color: color, fill: "clear", shape: "round", "aria-checked": isPasswordVisible ? 'true' : 'false', "aria-label": "show password", role: "switch", type: "button", onPointerDown: (ev) => {
15668
15672
  /**
15669
15673
  * This prevents mobile browsers from
15670
15674
  * blurring the input when the password toggle
15671
15675
  * button is activated.
15672
15676
  */
15673
15677
  ev.preventDefault();
15674
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '9c88de8f4631d9bde222ce2edf6950d639e04773', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
15678
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '26477ee97b808c3d79944bf5e33d4e05f1ae0b3f', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
15675
15679
  }
15676
15680
  get el() { return getElement(this); }
15677
15681
  static get watchers() { return {
@@ -16459,7 +16463,7 @@ class ItemSliding {
16459
16463
  case 0 /* ItemSide.None */:
16460
16464
  return;
16461
16465
  default:
16462
- console.warn('invalid ItemSideFlags value', this.sides);
16466
+ printIonWarning('[ion-item-sliding] - invalid ItemSideFlags value', this.sides);
16463
16467
  break;
16464
16468
  }
16465
16469
  let optsWidth;
@@ -16585,7 +16589,7 @@ class ItemSliding {
16585
16589
  }
16586
16590
  render() {
16587
16591
  const mode = getIonMode$1(this);
16588
- return (hAsync(Host, { key: '22f83febcbc1bc27e4ddbd7fcbe590de60a10e89', class: {
16592
+ return (hAsync(Host, { key: 'f8aea4bb9802b111ef358cc6c172a635637ae1f8', class: {
16589
16593
  [mode]: true,
16590
16594
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
16591
16595
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18084,14 +18088,14 @@ class Menu {
18084
18088
  * the ionBackButton listener in the menu controller
18085
18089
  * will handle closing the menu when Escape is pressed.
18086
18090
  */
18087
- return (hAsync(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18091
+ return (hAsync(Host, { key: '0a2ba4ff5600b80b54d1b5b45124779c6aa0d2f2', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18088
18092
  [mode]: true,
18089
18093
  [`menu-type-${type}`]: true,
18090
18094
  'menu-enabled': !disabled,
18091
18095
  [`menu-side-${side}`]: true,
18092
18096
  'menu-pane-visible': isPaneVisible,
18093
18097
  'split-pane-side': hostContext('ion-split-pane', el),
18094
- } }, hAsync("div", { key: '3c9bec2862b7fb9d88de66b1600be01f6735e3dd', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '76283b4b2a65c78646f92c3b273eea021eda499c' })), hAsync("ion-backdrop", { key: '121c395bc4873542a1b6ae2c9e23f2e881e75d93', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18098
+ } }, hAsync("div", { key: '40a222bcde4b959abc9939c44e89ea0cf8967aba', class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, hAsync("slot", { key: '6a7ec5583294bb314990ff4ce6f25045652c07cb' })), hAsync("ion-backdrop", { key: '95f1e87237f3cc24845d91b744f935bad6bb460d', ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
18095
18099
  }
18096
18100
  get el() { return getElement(this); }
18097
18101
  static get watchers() { return {
@@ -20109,7 +20113,7 @@ class Modal {
20109
20113
  this.currentBreakpoint = this.initialBreakpoint;
20110
20114
  }
20111
20115
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
20112
- printIonWarning('Your breakpoints array must include the initialBreakpoint value.');
20116
+ printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
20113
20117
  }
20114
20118
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
20115
20119
  setOverlayId(this.el);
@@ -20454,11 +20458,11 @@ class Modal {
20454
20458
  */
20455
20459
  async setCurrentBreakpoint(breakpoint) {
20456
20460
  if (!this.isSheetModal) {
20457
- printIonWarning('setCurrentBreakpoint is only supported on sheet modals.');
20461
+ printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
20458
20462
  return;
20459
20463
  }
20460
20464
  if (!this.breakpoints.includes(breakpoint)) {
20461
- printIonWarning(`Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
20465
+ printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
20462
20466
  return;
20463
20467
  }
20464
20468
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -20509,18 +20513,18 @@ class Modal {
20509
20513
  const mode = getIonMode$1(this);
20510
20514
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20511
20515
  const isHandleCycle = handleBehavior === 'cycle';
20512
- return (hAsync(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20516
+ return (hAsync(Host, Object.assign({ key: '0991b2e4e32da511e59fb1463b47e4ac1b86d1ca', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20513
20517
  zIndex: `${20000 + this.overlayIndex}`,
20514
- }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: '9221692e0e111f99e80239ca44faaaed9b288425', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '20def7088d31e5eb13c3f2404c514cd8b74cd966', class: "modal-shadow" }), hAsync("div", Object.assign({ key: 'b11229330571d4ff7b9136dfdddcd7d759ada876',
20518
+ }, class: Object.assign({ [mode]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle }), hAsync("ion-backdrop", { key: 'ca9453ffe1021fb252ad9460676cfabb5633f00f', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), mode === 'ios' && hAsync("div", { key: '9f8da446a7b0f3b26aec856e13f6d6d131a7e37b', class: "modal-shadow" }), hAsync("div", Object.assign({ key: '9d08bf600571849c97b58f66df40b496a358d1e1',
20515
20519
  /*
20516
20520
  role and aria-modal must be used on the
20517
20521
  same element. They must also be set inside the
20518
20522
  shadow DOM otherwise ion-button will not be highlighted
20519
20523
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20520
20524
  */
20521
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: '95b2a62477dfbc063a91910f0d37357388cfd914', class: "modal-handle",
20525
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (hAsync("button", { key: 'f8bf0d1126e5376519101225d9965727121ee042', class: "modal-handle",
20522
20526
  // Prevents the handle from receiving keyboard focus when it does not cycle
20523
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: 'fba17dfdbdffbfd8992f473f633d172c5124dc19' }))));
20527
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle" })), hAsync("slot", { key: '6d52849df98f2c6c8fbc03996a931ea6a39a512b' }))));
20524
20528
  }
20525
20529
  get el() { return getElement(this); }
20526
20530
  static get watchers() { return {
@@ -21248,7 +21252,7 @@ class Nav {
21248
21252
  const finalNumViews = this.views.length + ((_b = insertViews === null || insertViews === void 0 ? void 0 : insertViews.length) !== null && _b !== void 0 ? _b : 0) - (removeCount !== null && removeCount !== void 0 ? removeCount : 0);
21249
21253
  assert(finalNumViews >= 0, 'final balance can not be negative');
21250
21254
  if (finalNumViews === 0) {
21251
- console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
21255
+ printIonWarning(`[ion-nav] - You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
21252
21256
  throw new Error('navigation stack needs at least one root page');
21253
21257
  }
21254
21258
  // At this point the transition can not be rejected, any throw should be an error
@@ -21470,7 +21474,7 @@ class Nav {
21470
21474
  }
21471
21475
  }
21472
21476
  render() {
21473
- return hAsync("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
21477
+ return hAsync("slot", { key: '188d0abd6c047d235380f07aac81223b757010e8' });
21474
21478
  }
21475
21479
  get el() { return getElement(this); }
21476
21480
  static get watchers() { return {
@@ -22211,7 +22215,7 @@ class Picker {
22211
22215
  }
22212
22216
  }
22213
22217
  componentDidLoad() {
22214
- printIonWarning('ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
22218
+ printIonWarning('[ion-picker-legacy] - ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
22215
22219
  /**
22216
22220
  * If picker was rendered with isOpen="true"
22217
22221
  * then we should open picker immediately.
@@ -22321,11 +22325,11 @@ class Picker {
22321
22325
  render() {
22322
22326
  const { htmlAttributes } = this;
22323
22327
  const mode = getIonMode$1(this);
22324
- return (hAsync(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22328
+ return (hAsync(Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22325
22329
  zIndex: `${20000 + this.overlayIndex}`,
22326
22330
  }, class: Object.assign({ [mode]: true,
22327
22331
  // Used internally for styling
22328
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: 'bdabe9c82c41f96da5dafb1a0aa0854fa7e7ec93', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '1380e0c8989153b425674753764f12f253f4a738', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: 'edec769bbc0993d003852d0bf1123e6e2332ebbe', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: 'b82c67ff47aa9412a6ff8f3b2e6230b855e92c51', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '76485b643387f36b6b3d5f85e4d072fa18e68552', class: "picker-columns" }, hAsync("div", { key: '99268217263feb5285db1b1acd48fd0e4d5f0e7b', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: '2dd7e488bc4e9695094f0758567e626e0bb5979d', class: "picker-below-highlight" }))), hAsync("div", { key: '8b2f3ae798a4ddcdd4e2716ebba1de797e446ac4', tabindex: "0", "aria-hidden": "true" })));
22332
+ [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), hAsync("ion-backdrop", { key: '20202ca1d7b6cd5f517a802879b39efb79033cb1', visible: this.showBackdrop, tappable: this.backdropDismiss }), hAsync("div", { key: '72fe76a1e1748593cdf38deab5100087bfa75983', tabindex: "0", "aria-hidden": "true" }), hAsync("div", { key: '921954cfc716f3774aab66677563754ff479a44a', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, hAsync("div", { key: '224413950bfcf2a948e58c2554c2a37a4e6d0319', class: "picker-toolbar" }, this.buttons.map((b) => (hAsync("div", { class: buttonWrapperClass(b) }, hAsync("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass$1(b) }, b.text))))), hAsync("div", { key: '7e688c2d0705940ec8a9ace493b679e6a9b68860', class: "picker-columns" }, hAsync("div", { key: '0ec2db79a9ca9e2a0b324b6c4b90176a0eb33df3', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => hAsync("ion-picker-legacy-column", { col: c })), hAsync("div", { key: 'b8344f4f342fddc3f773435515567ef8f3accbb0', class: "picker-below-highlight" }))), hAsync("div", { key: '374c7a6b31b0a00ab3913faeea0ec3d6c02274b9', tabindex: "0", "aria-hidden": "true" })));
22329
22333
  }
22330
22334
  get el() { return getElement(this); }
22331
22335
  static get watchers() { return {
@@ -24444,7 +24448,7 @@ class Popover {
24444
24448
  }
24445
24449
  const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
24446
24450
  if (!triggerEl) {
24447
- printIonWarning(`A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`, this.el);
24451
+ printIonWarning(`[ion-popover] - A trigger element with the ID "${trigger}" was not found in the DOM. The trigger element must be in the DOM when the "trigger" property is set on ion-popover.`, this.el);
24448
24452
  return;
24449
24453
  }
24450
24454
  this.destroyTriggerInteraction = configureTriggerInteraction(triggerEl, triggerAction, el);
@@ -24723,9 +24727,9 @@ class Popover {
24723
24727
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
24724
24728
  const desktop = isPlatform('desktop');
24725
24729
  const enableArrow = arrow && !parentPopover;
24726
- return (hAsync(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24730
+ return (hAsync(Host, Object.assign({ key: 'ff24e8d9677711248a36994cce568e74ba151499', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24727
24731
  zIndex: `${20000 + this.overlayIndex}`,
24728
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: '580c14ab48472534f59eedc5ba7fa486df25ed4e', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '9bcf47893e8d3053e2baa40511785d84feb4038c', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '4d47f2bdc01a546a88190c07f8f4700f21de6715', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: '70018c088654c1996e305b7b6b114419e97824ef', class: "popover-content", part: "content" }, hAsync("slot", { key: '3de8e1959b8facba2fbe694947704832200d8276' })))));
24732
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && hAsync("ion-backdrop", { key: 'aca68b4002a08b0e563a976a867141162c20f8b4', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), hAsync("div", { key: '62d21d1eab5c6d675d49932559ffb161747e5fec', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && hAsync("div", { key: '1b46cc77d5302637fc979353483bb5fd780fd1d3', class: "popover-arrow", part: "arrow" }), hAsync("div", { key: 'a5657bff26e46d1959b71eb0992e7dc8fcae86f1', class: "popover-content", part: "content" }, hAsync("slot", { key: 'e1a98007226a46b51109e7004c4d338ca1bc0f9e' })))));
24729
24733
  }
24730
24734
  get el() { return getElement(this); }
24731
24735
  static get watchers() { return {
@@ -25469,11 +25473,11 @@ class Range {
25469
25473
  const { activeBarStart } = this;
25470
25474
  if (activeBarStart !== undefined) {
25471
25475
  if (activeBarStart > this.max) {
25472
- printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
25476
+ printIonWarning(`[ion-range] - The value of activeBarStart (${activeBarStart}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
25473
25477
  this.activeBarStart = this.max;
25474
25478
  }
25475
25479
  else if (activeBarStart < this.min) {
25476
- printIonWarning(`Range: The value of activeBarStart (${activeBarStart}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
25480
+ printIonWarning(`[ion-range] - The value of activeBarStart (${activeBarStart}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`, this.el);
25477
25481
  this.activeBarStart = this.min;
25478
25482
  }
25479
25483
  }
@@ -25899,7 +25903,7 @@ class Range {
25899
25903
  const needsEndAdjustment = inItem && !hasEndContent;
25900
25904
  const mode = getIonMode$1(this);
25901
25905
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25902
- return (hAsync(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25906
+ return (hAsync(Host, { key: '3e065039ee048f1f70d97dba5dae98fa1315d867', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25903
25907
  [mode]: true,
25904
25908
  'in-item': inItem,
25905
25909
  'range-disabled': disabled,
@@ -25908,10 +25912,10 @@ class Range {
25908
25912
  [`range-label-placement-${labelPlacement}`]: true,
25909
25913
  'range-item-start-adjustment': needsStartAdjustment,
25910
25914
  'range-item-end-adjustment': needsEndAdjustment,
25911
- }) }, hAsync("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
25915
+ }) }, hAsync("label", { key: '27ff22842c9ea79a1b9495302b926f70c9080a95', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'da1f9784be02dfe87d2fef34931d8b7f2148189e', class: {
25912
25916
  'label-text-wrapper': true,
25913
25917
  'label-text-wrapper-hidden': !hasLabel,
25914
- }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '6a3e147c3e5d938bb2b50522a290f6fdfcf40f05', class: "native-wrapper" }, hAsync("slot", { key: '6627236eac9f711fa9c27879a017dd994e65811e', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: '6af3bbadacd036bc7cd30732227f76d7c64117fb', name: "end" })))));
25918
+ }, part: "label" }, label !== undefined ? hAsync("div", { class: "label-text" }, label) : hAsync("slot", { name: "label" })), hAsync("div", { key: '4389bf30b08214f5b5917fc30976b38f7bcdd29b', class: "native-wrapper" }, hAsync("slot", { key: 'ad1b2745f8b061ee189617bb5c567e4f1d02250c', name: "start" }), this.renderRangeSlider(), hAsync("slot", { key: 'c6dec9e843e232af2a5f16a0f8ee56439c545d7a', name: "end" })))));
25915
25919
  }
25916
25920
  get el() { return getElement(this); }
25917
25921
  static get watchers() { return {
@@ -26481,7 +26485,7 @@ class Refresher {
26481
26485
  }
26482
26486
  async connectedCallback() {
26483
26487
  if (this.el.getAttribute('slot') !== 'fixed') {
26484
- console.error('Make sure you use: <ion-refresher slot="fixed">');
26488
+ printIonError('[ion-refresher] - Make sure you use: <ion-refresher slot="fixed">');
26485
26489
  return;
26486
26490
  }
26487
26491
  const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);
@@ -26813,7 +26817,7 @@ class Refresher {
26813
26817
  }
26814
26818
  render() {
26815
26819
  const mode = getIonMode$1(this);
26816
- return (hAsync(Host, { key: '4c36bffbfa32ef1bd28a60f4455c125842880659', slot: "fixed", class: {
26820
+ return (hAsync(Host, { key: 'c717c16f2ca3e42351848cc8ad37918dec28961d', slot: "fixed", class: {
26817
26821
  [mode]: true,
26818
26822
  // Used internally for styling
26819
26823
  [`refresher-${mode}`]: true,
@@ -27723,7 +27727,7 @@ const writeNavState = async (root, chain, direction, index, changed = false, ani
27723
27727
  return changed;
27724
27728
  }
27725
27729
  catch (e) {
27726
- console.error(e);
27730
+ printIonError('[ion-router] - Exception in writeNavState:', e);
27727
27731
  return false;
27728
27732
  }
27729
27733
  };
@@ -28186,19 +28190,19 @@ class Router {
28186
28190
  /** @internal */
28187
28191
  async navChanged(direction) {
28188
28192
  if (this.busy) {
28189
- console.warn('[ion-router] router is busy, navChanged was cancelled');
28193
+ printIonWarning('[ion-router] - router is busy, navChanged was cancelled');
28190
28194
  return false;
28191
28195
  }
28192
28196
  const { ids, outlet } = await readNavState(window.document.body);
28193
28197
  const routes = readRoutes(this.el);
28194
28198
  const chain = findChainForIDs(ids, routes);
28195
28199
  if (!chain) {
28196
- console.warn('[ion-router] no matching URL for ', ids.map((i) => i.id));
28200
+ printIonWarning('[ion-router] - no matching URL for ', ids.map((i) => i.id));
28197
28201
  return false;
28198
28202
  }
28199
28203
  const segments = chainToSegments(chain);
28200
28204
  if (!segments) {
28201
- console.warn('[ion-router] router could not match path because some required param is missing');
28205
+ printIonWarning('[ion-router] - router could not match path because some required param is missing');
28202
28206
  return false;
28203
28207
  }
28204
28208
  this.setSegments(segments, direction);
@@ -28236,7 +28240,7 @@ class Router {
28236
28240
  }
28237
28241
  async writeNavStateRoot(segments, direction, animation) {
28238
28242
  if (!segments) {
28239
- console.error('[ion-router] URL is not part of the routing set');
28243
+ printIonError('[ion-router] - URL is not part of the routing set');
28240
28244
  return false;
28241
28245
  }
28242
28246
  // lookup redirect rule
@@ -28253,7 +28257,7 @@ class Router {
28253
28257
  const routes = readRoutes(this.el);
28254
28258
  const chain = findChainForSegments(segments, routes);
28255
28259
  if (!chain) {
28256
- console.error('[ion-router] the path does not match any route');
28260
+ printIonError('[ion-router] - The path does not match any route');
28257
28261
  return false;
28258
28262
  }
28259
28263
  // write DOM give
@@ -28266,7 +28270,7 @@ class Router {
28266
28270
  changed = await this.writeNavState(node, chain, direction, segments, redirectFrom, index, animation);
28267
28271
  }
28268
28272
  catch (e) {
28269
- console.error(e);
28273
+ printIonError('[ion-router] - Exception in safeWriteNavState:', e);
28270
28274
  }
28271
28275
  unlock();
28272
28276
  return changed;
@@ -28308,7 +28312,7 @@ class Router {
28308
28312
  }
28309
28313
  async writeNavState(node, chain, direction, segments, redirectFrom, index = 0, animation) {
28310
28314
  if (this.busy) {
28311
- console.warn('[ion-router] router is busy, transition was cancelled');
28315
+ printIonWarning('[ion-router] - router is busy, transition was cancelled');
28312
28316
  return false;
28313
28317
  }
28314
28318
  this.busy = true;
@@ -28490,7 +28494,7 @@ class RouterOutlet {
28490
28494
  changed = await this.transition(enteringEl, leavingEl, opts);
28491
28495
  }
28492
28496
  catch (e) {
28493
- console.error(e);
28497
+ printIonError('[ion-router-outlet] - Exception in commit:', e);
28494
28498
  }
28495
28499
  unlock();
28496
28500
  return changed;
@@ -28586,7 +28590,7 @@ class RouterOutlet {
28586
28590
  return true;
28587
28591
  }
28588
28592
  render() {
28589
- return hAsync("slot", { key: '8d0c163c5f63158e16ef2db7cc3c756cf597461d' });
28593
+ return hAsync("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
28590
28594
  }
28591
28595
  get el() { return getElement(this); }
28592
28596
  static get watchers() { return {
@@ -29703,7 +29707,7 @@ class SegmentButton {
29703
29707
  }
29704
29708
  // Prevent buttons from being disabled when associated with segment content
29705
29709
  if (this.contentId && this.disabled) {
29706
- console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29710
+ printIonWarning(`[ion-segment-button] - Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29707
29711
  this.disabled = false;
29708
29712
  }
29709
29713
  }
@@ -29724,12 +29728,12 @@ class SegmentButton {
29724
29728
  const segmentContent = document.getElementById(this.contentId);
29725
29729
  // If no associated Segment Content exists, log an error and return
29726
29730
  if (!segmentContent) {
29727
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29731
+ printIonError(`[ion-segment-button] - Unable to find Segment Content with id="${this.contentId}".`);
29728
29732
  return;
29729
29733
  }
29730
29734
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
29731
29735
  if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29732
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29736
+ printIonError(`[ion-segment-button] - Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29733
29737
  return;
29734
29738
  }
29735
29739
  }
@@ -29754,7 +29758,7 @@ class SegmentButton {
29754
29758
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29755
29759
  const mode = getIonMode$1(this);
29756
29760
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29757
- return (hAsync(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
29761
+ return (hAsync(Host, { key: '942543aa0831be593fdcb1c9b2a9d6274960e19d', class: {
29758
29762
  [mode]: true,
29759
29763
  'in-toolbar': hostContext('ion-toolbar', this.el),
29760
29764
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29770,7 +29774,7 @@ class SegmentButton {
29770
29774
  'ion-activatable': true,
29771
29775
  'ion-activatable-instant': true,
29772
29776
  'ion-focusable': true,
29773
- } }, hAsync("button", Object.assign({ key: '8e887b5031da705a3695c0870be08696d66188de', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, hAsync("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), hAsync("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
29777
+ } }, hAsync("button", Object.assign({ key: '8626909ed9845a7415431569a2942ae6e6a66436', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), hAsync("span", { key: '67e324cb8e4d6eae267e4d26cf31d1171962c189', class: "button-inner" }, hAsync("slot", { key: 'bf2079234feace62d36e61ad575fe7e123d8d8c5' })), mode === 'md' && hAsync("ion-ripple-effect", { key: '8927b08e885b9e48e62fa2cc7f39a0465ece1525' })), hAsync("div", { key: '212d9868d30e7c2d55e818a0208eff575d6caf79', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, hAsync("div", { key: '6794df030daed42f8da1d66370b1ddbc48d7ae43', part: "indicator-background", class: "segment-button-indicator-background" }))));
29774
29778
  }
29775
29779
  get el() { return getElement(this); }
29776
29780
  static get watchers() { return {
@@ -30182,11 +30186,11 @@ class Select {
30182
30186
  createOverlay(ev) {
30183
30187
  let selectInterface = this.interface;
30184
30188
  if (selectInterface === 'action-sheet' && this.multiple) {
30185
- console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
30189
+ printIonWarning(`[ion-select] - Interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
30186
30190
  selectInterface = 'alert';
30187
30191
  }
30188
30192
  if (selectInterface === 'popover' && !ev) {
30189
- console.warn(`Select interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
30193
+ printIonWarning(`[ion-select] - Interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
30190
30194
  selectInterface = 'alert';
30191
30195
  }
30192
30196
  if (selectInterface === 'action-sheet') {
@@ -30624,7 +30628,7 @@ class Select {
30624
30628
  * TODO(FW-5592): Remove hasStartEndSlots condition
30625
30629
  */
30626
30630
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30627
- return (hAsync(Host, { key: 'aa7bd7fbb6479c7805486990650a406e5470fd13', onClick: this.onClick, class: createColorClasses$1(this.color, {
30631
+ return (hAsync(Host, { key: '2314f2d2d02827e6728892311cd566dd91840956', onClick: this.onClick, class: createColorClasses$1(this.color, {
30628
30632
  [mode]: true,
30629
30633
  'in-item': inItem,
30630
30634
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30640,7 +30644,7 @@ class Select {
30640
30644
  [`select-justify-${justify}`]: justifyEnabled,
30641
30645
  [`select-shape-${shape}`]: shape !== undefined,
30642
30646
  [`select-label-placement-${labelPlacement}`]: true,
30643
- }) }, hAsync("label", { key: 'fde3cdfd0ef7d1a20263e35ff4358ee7f61a789f', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: '6fb8deedc827b6be2f19f9e57a62efefaaba200f', class: "select-wrapper-inner" }, hAsync("slot", { key: 'a57a204ea1cbd9c4bac338f14e196e780dab0a10', name: "start" }), hAsync("div", { key: '78b83e1484a446537e038527d539d997e330cd69', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '9fc660134e5247c4e5243c7d9d71ac6cec08705d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: '7f143285efa7fd7756dfdc5517ca33e84c8a027e', class: "select-highlight" })), this.renderBottomContent()));
30647
+ }) }, hAsync("label", { key: '533d0fa45a3f5a2836ae92f669901d99a54120c0', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), hAsync("div", { key: 'cf6bdd44f012b8ff5cbd04b23c839db708b1ce8c', class: "select-wrapper-inner" }, hAsync("slot", { key: '68a58f8469acbfdd84c326034f9da3e2aba9b178', name: "start" }), hAsync("div", { key: '216f4f68c1a799e61cef7c3291e7307dec005ca9', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), hAsync("slot", { key: '9de291427f968aa6557b926fba3d6cac9915d20c', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && hAsync("div", { key: 'e41efa0a5944a0972f87822cb9005087bedab846', class: "select-highlight" })), this.renderBottomContent()));
30644
30648
  }
30645
30649
  get el() { return getElement(this); }
30646
30650
  static get watchers() { return {
@@ -31161,12 +31165,12 @@ class SplitPane {
31161
31165
  }
31162
31166
  render() {
31163
31167
  const mode = getIonMode$1(this);
31164
- return (hAsync(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
31168
+ return (hAsync(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
31165
31169
  [mode]: true,
31166
31170
  // Used internally for styling
31167
31171
  [`split-pane-${mode}`]: true,
31168
31172
  'split-pane-visible': this.visible,
31169
- } }, hAsync("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
31173
+ } }, hAsync("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
31170
31174
  }
31171
31175
  get el() { return getElement(this); }
31172
31176
  static get watchers() { return {
@@ -31228,17 +31232,17 @@ class Tab {
31228
31232
  return attachComponent(this.delegate, this.el, this.component, ['ion-page']);
31229
31233
  }
31230
31234
  catch (e) {
31231
- console.error(e);
31235
+ printIonError('[ion-tab] - Exception in prepareLazyLoaded:', e);
31232
31236
  }
31233
31237
  }
31234
31238
  return Promise.resolve(undefined);
31235
31239
  }
31236
31240
  render() {
31237
31241
  const { tab, active, component } = this;
31238
- return (hAsync(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31242
+ return (hAsync(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31239
31243
  'ion-page': component === undefined,
31240
31244
  'tab-hidden': !active,
31241
- } }, hAsync("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
31245
+ } }, hAsync("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
31242
31246
  }
31243
31247
  get el() { return getElement(this); }
31244
31248
  static get watchers() { return {
@@ -31606,7 +31610,7 @@ class Tabs {
31606
31610
  return Array.from(this.el.querySelectorAll('ion-tab'));
31607
31611
  }
31608
31612
  render() {
31609
- return (hAsync(Host, { key: 'd357c4607cfc89fb88404fe12ea7ef5b397fe6bf', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: '18661896589a4ab3c74164f448b928abec9b4db0', name: "top" }), hAsync("div", { key: '3bf30ea2540a196e868a78a861824b4b5d933afd', class: "tabs-inner" }, hAsync("slot", { key: '7cfc154d4d6c1642188ab6508a6be72c8234585e' })), hAsync("slot", { key: '8057679c959195cbdfae156b8ae0cbfd978c5037', name: "bottom" })));
31613
+ return (hAsync(Host, { key: '20b97196d78c1b3f3faf31618a8a2347e087f06b', onIonTabButtonClick: this.onTabClicked }, hAsync("slot", { key: 'b0823fbae6e47743cfd12c376b365ad7e32cec7c', name: "top" }), hAsync("div", { key: 'eaffd7e4d69ab9489a387e3bbb36e3bab72203a0', class: "tabs-inner" }, hAsync("slot", { key: '20bb66a2937e3ec473aa59c4075ce581b5411677' })), hAsync("slot", { key: '1529dd361f050f52074f51c73b3982ba827dc3a5', name: "bottom" })));
31610
31614
  }
31611
31615
  get el() { return getElement(this); }
31612
31616
  static get style() { return IonTabsStyle0; }
@@ -31630,7 +31634,7 @@ class Tabs {
31630
31634
  const getTab = (tabs, tab) => {
31631
31635
  const tabEl = typeof tab === 'string' ? tabs.find((t) => t.tab === tab) : tab;
31632
31636
  if (!tabEl) {
31633
- console.error(`tab with id: "${tabEl}" does not exist`);
31637
+ printIonError(`[ion-tabs] - Tab with id: "${tabEl}" does not exist`);
31634
31638
  }
31635
31639
  return tabEl;
31636
31640
  };
@@ -32199,7 +32203,7 @@ function getAnimationPosition(position, positionAnchor, mode, toast) {
32199
32203
  */
32200
32204
  function warnIfAnchorIsHidden(positionAnchor, toast) {
32201
32205
  if (positionAnchor.offsetParent === null) {
32202
- printIonWarning('The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
32206
+ printIonWarning('[ion-toast] - The positionAnchor element for ion-toast was found in the DOM, but appears to be hidden. This may lead to unexpected positioning of the toast.', toast);
32203
32207
  }
32204
32208
  }
32205
32209
  /**
@@ -32850,7 +32854,7 @@ class Toast {
32850
32854
  return;
32851
32855
  }
32852
32856
  if (position === 'middle' && positionAnchor !== undefined) {
32853
- printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
32857
+ printIonWarning('[ion-toast] - The positionAnchor property is ignored when using position="middle".', this.el);
32854
32858
  return undefined;
32855
32859
  }
32856
32860
  if (typeof positionAnchor === 'string') {
@@ -32862,7 +32866,7 @@ class Toast {
32862
32866
  */
32863
32867
  const foundEl = document.getElementById(positionAnchor);
32864
32868
  if (foundEl === null) {
32865
- printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
32869
+ printIonWarning(`[ion-toast] - An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
32866
32870
  return undefined;
32867
32871
  }
32868
32872
  return foundEl;
@@ -32870,7 +32874,7 @@ class Toast {
32870
32874
  if (positionAnchor instanceof HTMLElement) {
32871
32875
  return positionAnchor;
32872
32876
  }
32873
- printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
32877
+ printIonWarning('[ion-toast] - Invalid positionAnchor value:', positionAnchor, el);
32874
32878
  return undefined;
32875
32879
  }
32876
32880
  async buttonClick(button) {
@@ -32896,7 +32900,7 @@ class Toast {
32896
32900
  }
32897
32901
  }
32898
32902
  catch (e) {
32899
- console.error(e);
32903
+ printIonError('[ion-toast] - Exception in callButtonHandler:', e);
32900
32904
  }
32901
32905
  }
32902
32906
  return true;
@@ -32948,11 +32952,11 @@ class Toast {
32948
32952
  * used with one type of button.
32949
32953
  */
32950
32954
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
32951
- printIonWarning('This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
32955
+ printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
32952
32956
  }
32953
- return (hAsync(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
32957
+ return (hAsync(Host, Object.assign({ key: '2eed5d7f9d3b7aa54517cba8252aebd45f1c370e', tabindex: "-1" }, this.htmlAttributes, { style: {
32954
32958
  zIndex: `${60000 + this.overlayIndex}`,
32955
- }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'd927e43957f47888ce4e64f1e99c935d55757af7', class: wrapperClass }, hAsync("div", { key: 'ca43bc42478181acdf8cdea6601a85fa95d12216', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'fdd6fb8f6e947ed002bd2e63fdc8ec7e764f4a7d', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '37c16c81ee3e4304379dfbcabdffe73db73e4653', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
32959
+ }, class: createColorClasses$1(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), hAsync("div", { key: 'b5e862b039db0f09b94b34061521dbd992642d10', class: wrapperClass }, hAsync("div", { key: '719468757a222c08e4ffc12b2ba7019198b167b2', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (hAsync("ion-icon", { key: 'f5f7c75cd65119e4b2e4e2a8bbab4e627b5b0cfd', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), hAsync("div", { key: '44c3880f89cd69fab10396568593162e275feb0f', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
32956
32960
  }
32957
32961
  get el() { return getElement(this); }
32958
32962
  static get watchers() { return {
@@ -33014,10 +33018,10 @@ const buttonPart = (button) => {
33014
33018
  return isCancel(button.role) ? 'button cancel' : 'button';
33015
33019
  };
33016
33020
 
33017
- const toggleIosCss = ":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}input{display:none}.toggle-wrapper{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;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.toggle-label-placement-stacked) .toggle-bottom{font-size:1rem}.toggle-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.toggle-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #0054e9);--border-radius:15.5px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 4px rgba(0, 0, 0, 0.06), 0 3px 8px rgba(0, 0, 0, 0.06);--handle-height:calc(31px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(31px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}.native-wrapper .toggle-icon{width:51px;height:31px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color 300ms;transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity 300ms, color 300ms;transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark, #222428)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px;-webkit-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0);transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0);transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}";
33021
+ const toggleIosCss = ":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}input{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}.toggle-wrapper{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;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.toggle-label-placement-stacked) .toggle-bottom{font-size:1rem}.toggle-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.toggle-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--track-background-checked:var(--ion-color-primary, #0054e9);--border-radius:15.5px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 4px rgba(0, 0, 0, 0.06), 0 3px 8px rgba(0, 0, 0, 0.06);--handle-height:calc(31px - (2px * 2));--handle-max-height:calc(100% - var(--handle-spacing) * 2);--handle-width:calc(31px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms}.native-wrapper .toggle-icon{width:51px;height:31px;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}:host(.toggle-activated) .toggle-switch-icon{opacity:0}.toggle-icon{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:background-color 300ms;transition:background-color 300ms}.toggle-inner{will-change:transform}.toggle-switch-icon{position:absolute;top:50%;width:11px;height:11px;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity 300ms, color 300ms;transition:opacity 300ms, color 300ms}.toggle-switch-icon{position:absolute;color:var(--ion-color-dark, #222428)}:host(.toggle-ltr) .toggle-switch-icon{right:6px}:host(.toggle-rtl) .toggle-switch-icon{right:initial;left:6px;}:host(.toggle-checked) .toggle-switch-icon.toggle-switch-icon-checked{color:var(--ion-color-contrast, #fff)}:host(.toggle-checked) .toggle-switch-icon:not(.toggle-switch-icon-checked){opacity:0}.toggle-switch-icon-checked{position:absolute;width:15px;height:15px;-webkit-transform:translateY(-50%) rotate(90deg);transform:translateY(-50%) rotate(90deg)}:host(.toggle-ltr) .toggle-switch-icon-checked{right:initial;left:4px;}:host(.toggle-rtl) .toggle-switch-icon-checked{right:4px}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{-webkit-transform:scale3d(0, 0, 0);transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-ltr.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0);transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host(.toggle-rtl.toggle-activated.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0);transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}";
33018
33022
  var IonToggleIosStyle0 = toggleIosCss;
33019
33023
 
33020
- const toggleMdCss = ":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}input{display:none}.toggle-wrapper{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;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.toggle-label-placement-stacked) .toggle-bottom{font-size:1rem}.toggle-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.toggle-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--track-background-checked:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #0054e9);--handle-border-radius:50%;--handle-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1)}.native-wrapper .toggle-icon{width:36px;height:14px}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}:host(.toggle-checked) .toggle-inner{color:var(--ion-color-contrast, #fff)}.toggle-icon{-webkit-transition:background-color 160ms;transition:background-color 160ms}.toggle-inner{will-change:background-color, transform;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#000}.toggle-inner .toggle-switch-icon{-webkit-padding-start:1px;padding-inline-start:1px;-webkit-padding-end:1px;padding-inline-end:1px;padding-top:1px;padding-bottom:1px;width:100%;height:100%}:host(.toggle-disabled){opacity:0.38}";
33024
+ const toggleMdCss = ":host{-webkit-box-sizing:content-box !important;box-sizing:content-box !important;display:inline-block;position:relative;max-width:100%;outline:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.in-item){-ms-flex:1 1 0px;flex:1 1 0;width:100%;height:100%}:host([slot=start]),:host([slot=end]){-ms-flex:initial;flex:initial;width:auto}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}input{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}.toggle-wrapper{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;-webkit-transition:background-color 15ms linear;transition:background-color 15ms linear;cursor:inherit}.label-text-wrapper{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host(.in-item) .label-text-wrapper{margin-top:10px;margin-bottom:10px}:host(.in-item.toggle-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.toggle-label-placement-stacked) .native-wrapper{margin-bottom:10px}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.toggle-bottom{padding-top:4px;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;font-size:0.75rem;white-space:normal}:host(.toggle-label-placement-stacked) .toggle-bottom{font-size:1rem}.toggle-bottom .error-text{display:none;color:var(--ion-color-danger, #c5000f)}.toggle-bottom .helper-text{display:block;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d))}:host(.ion-touched.ion-invalid) .toggle-bottom .error-text{display:block}:host(.ion-touched.ion-invalid) .toggle-bottom .helper-text{display:none}:host(.toggle-label-placement-start) .toggle-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.toggle-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-end) .toggle-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-pack:start;justify-content:start}:host(.toggle-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0}:host(.toggle-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px}:host(.toggle-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.toggle-label-placement-stacked) .toggle-wrapper{-ms-flex-direction:column;flex-direction:column;text-align:center}:host(.toggle-label-placement-stacked) .label-text-wrapper{-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-start) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-start .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-start:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper{-webkit-transform-origin:center top;transform-origin:center top}:host-context([dir=rtl]):host(.toggle-label-placement-stacked.toggle-alignment-center) .label-text-wrapper,:host-context([dir=rtl]).toggle-label-placement-stacked.toggle-alignment-center .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}@supports selector(:dir(rtl)){:host(.toggle-label-placement-stacked.toggle-alignment-center:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:calc(100% - center) top;transform-origin:calc(100% - center) top}}:host(.toggle-justify-space-between) .toggle-wrapper{-ms-flex-pack:justify;justify-content:space-between}:host(.toggle-justify-start) .toggle-wrapper{-ms-flex-pack:start;justify-content:start}:host(.toggle-justify-end) .toggle-wrapper{-ms-flex-pack:end;justify-content:end}:host(.toggle-alignment-start) .toggle-wrapper{-ms-flex-align:start;align-items:start}:host(.toggle-alignment-center) .toggle-wrapper{-ms-flex-align:center;align-items:center}:host(.toggle-justify-space-between),:host(.toggle-justify-start),:host(.toggle-justify-end),:host(.toggle-alignment-start),:host(.toggle-alignment-center){display:block}.toggle-icon-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;width:100%;height:100%;-webkit-transition:var(--handle-transition);transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--track-background);overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--track-background-checked)}.toggle-inner{border-radius:var(--handle-border-radius);position:absolute;left:var(--handle-spacing);width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);-webkit-transition:var(--handle-transition);transition:var(--handle-transition);background:var(--handle-background);-webkit-box-shadow:var(--handle-box-shadow);box-shadow:var(--handle-box-shadow);contain:strict}:host(.toggle-ltr) .toggle-inner{left:var(--handle-spacing)}:host(.toggle-rtl) .toggle-inner{right:var(--handle-spacing)}:host(.toggle-ltr.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(100% - var(--handle-width)), 0, 0);transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-icon-wrapper{-webkit-transform:translate3d(calc(-100% + var(--handle-width)), 0, 0);transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{background:var(--handle-background-checked)}:host(.toggle-ltr.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0)}:host(.toggle-rtl.toggle-checked) .toggle-inner{-webkit-transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0);transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--track-background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--track-background-checked:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #0054e9);--handle-border-radius:50%;--handle-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1)}.native-wrapper .toggle-icon{width:36px;height:14px}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}:host(.toggle-checked) .toggle-inner{color:var(--ion-color-contrast, #fff)}.toggle-icon{-webkit-transition:background-color 160ms;transition:background-color 160ms}.toggle-inner{will-change:background-color, transform;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:#000}.toggle-inner .toggle-switch-icon{-webkit-padding-start:1px;padding-inline-start:1px;-webkit-padding-end:1px;padding-inline-end:1px;padding-top:1px;padding-bottom:1px;width:100%;height:100%}:host(.toggle-disabled){opacity:0.38}";
33021
33025
  var IonToggleMdStyle0 = toggleMdCss;
33022
33026
 
33023
33027
  /**
@@ -33039,7 +33043,6 @@ class Toggle {
33039
33043
  this.ionFocus = createEvent(this, "ionFocus", 7);
33040
33044
  this.ionBlur = createEvent(this, "ionBlur", 7);
33041
33045
  this.inputId = `ion-tg-${toggleIds++}`;
33042
- this.inputLabelId = `${this.inputId}-lbl`;
33043
33046
  this.helperTextId = `${this.inputId}-helper-text`;
33044
33047
  this.errorTextId = `${this.inputId}-error-text`;
33045
33048
  this.lastDrag = 0;
@@ -33061,14 +33064,6 @@ class Toggle {
33061
33064
  this.disabledChanged();
33062
33065
  }
33063
33066
  };
33064
- this.onKeyDown = (ev) => {
33065
- if (ev.key === ' ') {
33066
- ev.preventDefault();
33067
- if (!this.disabled) {
33068
- this.toggleChecked();
33069
- }
33070
- }
33071
- };
33072
33067
  this.onClick = (ev) => {
33073
33068
  if (this.disabled) {
33074
33069
  return;
@@ -33211,12 +33206,12 @@ class Toggle {
33211
33206
  return (hAsync("div", { class: "toggle-bottom" }, hAsync("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), hAsync("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
33212
33207
  }
33213
33208
  render() {
33214
- const { activated, alignment, checked, color, disabled, el, errorTextId, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
33209
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
33215
33210
  const mode = getIonMode$1(this);
33216
33211
  const value = this.getValue();
33217
33212
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
33218
33213
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
33219
- return (hAsync(Host, { key: '63c67d52dc47661c5758049f6278e873ab867a22', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === errorTextId, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, class: createColorClasses$1(color, {
33214
+ return (hAsync(Host, { key: 'c6db7f5bc0b358944c0d79e24aeb4d319793422f', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses$1(color, {
33220
33215
  [mode]: true,
33221
33216
  'in-item': hostContext('ion-item', el),
33222
33217
  'toggle-activated': activated,
@@ -33226,10 +33221,10 @@ class Toggle {
33226
33221
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
33227
33222
  [`toggle-label-placement-${labelPlacement}`]: true,
33228
33223
  [`toggle-${rtl}`]: true,
33229
- }) }, hAsync("label", { key: '723cfac071ee5ec5c75984fc64762209452e9eea', class: "toggle-wrapper", htmlFor: inputId }, hAsync("input", Object.assign({ key: '8fa79f49348afbce5e083d454b751f7f9cc04d3f', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), hAsync("div", { key: '00a4415539ef677be9f6981afddcec61f7fe9487', class: {
33224
+ }) }, hAsync("label", { key: 'f49531391f4513d084061c27ebc4c4eb1dcd02ab', class: "toggle-wrapper" }, hAsync("input", Object.assign({ key: 'f4ab2dc29eae053f54613d1304f755e151037f47', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, this.inheritedAttributes)), hAsync("div", { key: '85674bfab5ec1e422c787d025c4f9f5b3aadd4f2', class: {
33230
33225
  'label-text-wrapper': true,
33231
- 'label-text-wrapper-hidden': !hasLabel,
33232
- }, part: "label", id: inputLabelId }, hAsync("slot", { key: '7ce338bd5116337c9ea90805fdee7285ef7c5811' }), this.renderHintText()), hAsync("div", { key: 'ecb5dfd2c7b534e357cba272dd4f189728555b3a', class: "native-wrapper" }, this.renderToggleControl()))));
33226
+ 'label-text-wrapper-hidden': !this.hasLabel,
33227
+ }, part: "label" }, hAsync("slot", { key: '9bdf7e85c95dc7373f18894ebfe6ad022f098107' }), this.renderHintText()), hAsync("div", { key: '33883642b38421a82001e37db3dd5e5c643785b0', class: "native-wrapper" }, this.renderToggleControl()))));
33233
33228
  }
33234
33229
  get el() { return getElement(this); }
33235
33230
  static get watchers() { return {