@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.mjs CHANGED
@@ -2364,6 +2364,80 @@ var Build = {
2364
2364
  var styles = /* @__PURE__ */ new Map();
2365
2365
  var modeResolutionChain = [];
2366
2366
 
2367
+ // TODO(FW-2832): types
2368
+ class Config {
2369
+ constructor() {
2370
+ this.m = new Map();
2371
+ }
2372
+ reset(configObj) {
2373
+ this.m = new Map(Object.entries(configObj));
2374
+ }
2375
+ get(key, fallback) {
2376
+ const value = this.m.get(key);
2377
+ return value !== undefined ? value : fallback;
2378
+ }
2379
+ getBoolean(key, fallback = false) {
2380
+ const val = this.m.get(key);
2381
+ if (val === undefined) {
2382
+ return fallback;
2383
+ }
2384
+ if (typeof val === 'string') {
2385
+ return val === 'true';
2386
+ }
2387
+ return !!val;
2388
+ }
2389
+ getNumber(key, fallback) {
2390
+ const val = parseFloat(this.m.get(key));
2391
+ return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
2392
+ }
2393
+ set(key, value) {
2394
+ this.m.set(key, value);
2395
+ }
2396
+ }
2397
+ const config = /*@__PURE__*/ new Config();
2398
+
2399
+ var LogLevel;
2400
+ (function (LogLevel) {
2401
+ LogLevel["OFF"] = "OFF";
2402
+ LogLevel["ERROR"] = "ERROR";
2403
+ LogLevel["WARN"] = "WARN";
2404
+ })(LogLevel || (LogLevel = {}));
2405
+ /**
2406
+ * Logs a warning to the console with an Ionic prefix
2407
+ * to indicate the library that is warning the developer.
2408
+ *
2409
+ * @param message - The string message to be logged to the console.
2410
+ */
2411
+ const printIonWarning = (message, ...params) => {
2412
+ const logLevel = config.get('logLevel', LogLevel.WARN);
2413
+ if ([LogLevel.WARN].includes(logLevel)) {
2414
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
2415
+ }
2416
+ };
2417
+ /**
2418
+ * Logs an error to the console with an Ionic prefix
2419
+ * to indicate the library that is warning the developer.
2420
+ *
2421
+ * @param message - The string message to be logged to the console.
2422
+ * @param params - Additional arguments to supply to the console.error.
2423
+ */
2424
+ const printIonError = (message, ...params) => {
2425
+ const logLevel = config.get('logLevel', LogLevel.ERROR);
2426
+ if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
2427
+ return console.error(`[Ionic Error]: ${message}`, ...params);
2428
+ }
2429
+ };
2430
+ /**
2431
+ * Prints an error informing developers that an implementation requires an element to be used
2432
+ * within a specific selector.
2433
+ *
2434
+ * @param el The web component element this is requiring the element.
2435
+ * @param targetSelectors The selector or selectors that were not found.
2436
+ */
2437
+ const printRequiredElementError = (el, ...targetSelectors) => {
2438
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
2439
+ };
2440
+
2367
2441
  const transitionEndAsync = (el, expectedDuration = 0) => {
2368
2442
  return new Promise((resolve) => {
2369
2443
  transitionEnd(el, expectedDuration, resolve);
@@ -2614,7 +2688,7 @@ const clamp = (min, n, max) => {
2614
2688
  const assert = (actual, reason) => {
2615
2689
  if (!actual) {
2616
2690
  const message = 'ASSERT: ' + reason;
2617
- console.error(message);
2691
+ printIonError(message);
2618
2692
  debugger; // eslint-disable-line
2619
2693
  throw new Error(message);
2620
2694
  }
@@ -2712,38 +2786,6 @@ const reorderTwoSharp = "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2
2712
2786
  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>";
2713
2787
  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>";
2714
2788
 
2715
- // TODO(FW-2832): types
2716
- class Config {
2717
- constructor() {
2718
- this.m = new Map();
2719
- }
2720
- reset(configObj) {
2721
- this.m = new Map(Object.entries(configObj));
2722
- }
2723
- get(key, fallback) {
2724
- const value = this.m.get(key);
2725
- return value !== undefined ? value : fallback;
2726
- }
2727
- getBoolean(key, fallback = false) {
2728
- const val = this.m.get(key);
2729
- if (val === undefined) {
2730
- return fallback;
2731
- }
2732
- if (typeof val === 'string') {
2733
- return val === 'true';
2734
- }
2735
- return !!val;
2736
- }
2737
- getNumber(key, fallback) {
2738
- const val = parseFloat(this.m.get(key));
2739
- return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
2740
- }
2741
- set(key, value) {
2742
- this.m.set(key, value);
2743
- }
2744
- }
2745
- const config = /*@__PURE__*/ new Config();
2746
-
2747
2789
  const getPlatforms = (win) => setupPlatforms(win);
2748
2790
  const isPlatform = (winOrPlatform, platform) => {
2749
2791
  if (typeof winOrPlatform === 'string') {
@@ -3185,44 +3227,6 @@ class Accordion {
3185
3227
  }
3186
3228
  let accordionIds = 0;
3187
3229
 
3188
- /**
3189
- * Logs a warning to the console with an Ionic prefix
3190
- * to indicate the library that is warning the developer.
3191
- *
3192
- * @param message - The string message to be logged to the console.
3193
- */
3194
- const printIonWarning = (message, ...params) => {
3195
- console.log('printIonWarning', config.get('logLevel'));
3196
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
3197
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
3198
- return console.warn(`[Ionic Warning]: ${message}`, ...params);
3199
- }
3200
- };
3201
- /**
3202
- * Logs an error to the console with an Ionic prefix
3203
- * to indicate the library that is warning the developer.
3204
- *
3205
- * @param message - The string message to be logged to the console.
3206
- * @param params - Additional arguments to supply to the console.error.
3207
- */
3208
- const printIonError = (message, ...params) => {
3209
- console.log('printIonError', config.get('logLevel'));
3210
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
3211
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
3212
- return console.error(`[Ionic Error]: ${message}`, ...params);
3213
- }
3214
- };
3215
- /**
3216
- * Prints an error informing developers that an implementation requires an element to be used
3217
- * within a specific selector.
3218
- *
3219
- * @param el The web component element this is requiring the element.
3220
- * @param targetSelectors The selector or selectors that were not found.
3221
- */
3222
- const printRequiredElementError = (el, ...targetSelectors) => {
3223
- return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
3224
- };
3225
-
3226
3230
  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}";
3227
3231
  var IonAccordionGroupIosStyle0 = accordionGroupIosCss;
3228
3232
 
@@ -3255,7 +3259,7 @@ class AccordionGroup {
3255
3259
  * Default toString() behavior: a,b
3256
3260
  * Custom behavior: ['a', 'b']
3257
3261
  */
3258
- 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".
3262
+ 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".
3259
3263
 
3260
3264
  Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
3261
3265
  `, this.el);
@@ -3425,12 +3429,12 @@ class AccordionGroup {
3425
3429
  render() {
3426
3430
  const { disabled, readonly, expand } = this;
3427
3431
  const mode = getIonMode$1(this);
3428
- return (hAsync(Host, { key: '82f3e77066fabb4736638ee4c487ad56efd39c63', class: {
3432
+ return (hAsync(Host, { key: 'd1a79a93179474fbba66fcf11a92f4871dacc975', class: {
3429
3433
  [mode]: true,
3430
3434
  'accordion-group-disabled': disabled,
3431
3435
  'accordion-group-readonly': readonly,
3432
3436
  [`accordion-group-expand-${expand}`]: true,
3433
- }, role: "presentation" }, hAsync("slot", { key: 'a3c791ea887fc640b512f81d429be465ae902b3d' })));
3437
+ }, role: "presentation" }, hAsync("slot", { key: 'e6b8954b686d1fbb4fc92adb07fddc97a24b0a31' })));
3434
3438
  }
3435
3439
  get el() { return getElement(this); }
3436
3440
  static get watchers() { return {
@@ -5120,7 +5124,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5120
5124
  }
5121
5125
  const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
5122
5126
  /**
5123
- * For accessibility, toasts lack focus traps and don’t receive
5127
+ * For accessibility, toasts lack focus traps and don't receive
5124
5128
  * `aria-hidden` on the root element when presented.
5125
5129
  *
5126
5130
  * All other overlays use focus traps to keep keyboard focus
@@ -5183,7 +5187,7 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
5183
5187
  }
5184
5188
  }
5185
5189
  catch (err) {
5186
- console.error(err);
5190
+ printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
5187
5191
  }
5188
5192
  overlay.el.remove();
5189
5193
  revealOverlaysToScreenReaders();
@@ -5363,7 +5367,7 @@ const createTriggerController = () => {
5363
5367
  removeClickListener();
5364
5368
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
5365
5369
  if (!triggerEl) {
5366
- 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);
5370
+ 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);
5367
5371
  return;
5368
5372
  }
5369
5373
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -5872,7 +5876,7 @@ const createAnimation = (animationId) => {
5872
5876
  }
5873
5877
  }
5874
5878
  else {
5875
- console.error('Invalid addElement value');
5879
+ printIonError('createAnimation - Invalid addElement value.');
5876
5880
  }
5877
5881
  }
5878
5882
  return ani;
@@ -6730,7 +6734,7 @@ const sanitizeDOMString = (untrustedString) => {
6730
6734
  return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
6731
6735
  }
6732
6736
  catch (err) {
6733
- console.error(err);
6737
+ printIonError('sanitizeDOMString', err);
6734
6738
  return '';
6735
6739
  }
6736
6740
  };
@@ -7050,7 +7054,7 @@ class Alert {
7050
7054
  // checkboxes and inputs are all accepted, but they cannot be mixed.
7051
7055
  const inputTypes = new Set(inputs.map((i) => i.type));
7052
7056
  if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
7053
- console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
7057
+ printIonWarning(`[ion-alert] - Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
7054
7058
  }
7055
7059
  this.inputType = inputTypes.values().next().value;
7056
7060
  this.processedInputs = inputs.map((i, index) => {
@@ -7323,9 +7327,9 @@ class Alert {
7323
7327
  * If neither are defined, do not set aria-labelledby.
7324
7328
  */
7325
7329
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
7326
- return (hAsync(Host, { key: '755f2398806084f16ee24d9fefce9ebc0b8f30f2', tabindex: "-1", style: {
7330
+ return (hAsync(Host, { key: 'f8ee04fe6a97a2585b302c8e1a9eea3b122e3479', tabindex: "-1", style: {
7327
7331
  zIndex: `${20000 + overlayIndex}`,
7328
- }, 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" })));
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: '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" })));
7329
7333
  }
7330
7334
  get el() { return getElement(this); }
7331
7335
  static get watchers() { return {
@@ -7403,7 +7407,7 @@ class App {
7403
7407
  }
7404
7408
  render() {
7405
7409
  const mode = getIonMode$1(this);
7406
- return (hAsync(Host, { key: '96715520fd05d6f0e6fa26a8ba78792cfccd4c0a', class: {
7410
+ return (hAsync(Host, { key: '03aa892f986330078d112b1e8b010df98fa7e39e', class: {
7407
7411
  [mode]: true,
7408
7412
  'ion-page': true,
7409
7413
  'force-statusbar-padding': config.getBoolean('_forceStatusbarPadding'),
@@ -8050,7 +8054,7 @@ class Button {
8050
8054
  * The developer specified a string for the form attribute, but the
8051
8055
  * element with that id is not a form element.
8052
8056
  */
8053
- printIonWarning(`Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
8057
+ printIonWarning(`[ion-button] - Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
8054
8058
  return null;
8055
8059
  }
8056
8060
  }
@@ -8059,7 +8063,7 @@ class Button {
8059
8063
  * The developer specified a string for the form attribute, but the
8060
8064
  * element with that id could not be found in the DOM.
8061
8065
  */
8062
- 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);
8066
+ 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);
8063
8067
  return null;
8064
8068
  }
8065
8069
  }
@@ -8070,7 +8074,7 @@ class Button {
8070
8074
  * This will also catch if the developer tries to pass in null
8071
8075
  * as the form attribute.
8072
8076
  */
8073
- printIonWarning(`The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
8077
+ printIonWarning(`[ion-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
8074
8078
  return null;
8075
8079
  }
8076
8080
  /**
@@ -8119,7 +8123,7 @@ class Button {
8119
8123
  {
8120
8124
  type !== 'button' && this.renderHiddenButton();
8121
8125
  }
8122
- return (hAsync(Host, { key: '340a809d85698741bb36e796355cae89a970655f', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
8126
+ return (hAsync(Host, { key: 'e213b0bb76b3f90f883b1a0ea463bb86c2df69c3', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses$1(color, {
8123
8127
  [mode]: true,
8124
8128
  [buttonType]: true,
8125
8129
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -8134,7 +8138,7 @@ class Button {
8134
8138
  'button-disabled': disabled,
8135
8139
  'ion-activatable': true,
8136
8140
  'ion-focusable': true,
8137
- }) }, 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 }))));
8141
+ }) }, 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 }))));
8138
8142
  }
8139
8143
  get el() { return getElement(this); }
8140
8144
  static get watchers() { return {
@@ -9363,7 +9367,7 @@ const warnIfValueOutOfBounds = (value, min, max) => {
9363
9367
  const valueArray = Array.isArray(value) ? value : [value];
9364
9368
  for (const val of valueArray) {
9365
9369
  if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) {
9366
- printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
9370
+ printIonWarning('[ion-datetime] - The value provided to ion-datetime is out of bounds.\n\n' +
9367
9371
  `Min: ${JSON.stringify(min)}\n` +
9368
9372
  `Max: ${JSON.stringify(max)}\n` +
9369
9373
  `Value: ${JSON.stringify(value)}`);
@@ -9580,7 +9584,7 @@ function parseDate(val) {
9580
9584
  }
9581
9585
  if (parse === null) {
9582
9586
  // wasn't able to parse the ISO datetime
9583
- printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
9587
+ printIonWarning(`[ion-datetime] - Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
9584
9588
  return undefined;
9585
9589
  }
9586
9590
  // ensure all the parse values exist with at least 0
@@ -11096,7 +11100,7 @@ const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
11096
11100
  return highlightedDates(dateIsoString);
11097
11101
  }
11098
11102
  catch (e) {
11099
- printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
11103
+ printIonError('[ion-datetime] - Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
11100
11104
  }
11101
11105
  }
11102
11106
  return undefined;
@@ -11113,7 +11117,7 @@ const warnIfTimeZoneProvided = (el, formatOptions) => {
11113
11117
  ((_b = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.date) === null || _b === void 0 ? void 0 : _b.timeZoneName) ||
11114
11118
  ((_c = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _c === void 0 ? void 0 : _c.timeZone) ||
11115
11119
  ((_d = formatOptions === null || formatOptions === void 0 ? void 0 : formatOptions.time) === null || _d === void 0 ? void 0 : _d.timeZoneName)) {
11116
- printIonWarning('Datetime: "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
11120
+ printIonWarning('[ion-datetime] - "timeZone" and "timeZoneName" are not supported in "formatOptions".', el);
11117
11121
  }
11118
11122
  };
11119
11123
  const checkForPresentationFormatMismatch = (el, presentation, formatOptions) => {
@@ -11127,18 +11131,18 @@ const checkForPresentationFormatMismatch = (el, presentation, formatOptions) =>
11127
11131
  case 'month':
11128
11132
  case 'year':
11129
11133
  if (formatOptions.date === undefined) {
11130
- printIonWarning(`Datetime: The '${presentation}' presentation requires a date object in formatOptions.`, el);
11134
+ printIonWarning(`[ion-datetime] - The '${presentation}' presentation requires a date object in formatOptions.`, el);
11131
11135
  }
11132
11136
  break;
11133
11137
  case 'time':
11134
11138
  if (formatOptions.time === undefined) {
11135
- printIonWarning(`Datetime: The 'time' presentation requires a time object in formatOptions.`, el);
11139
+ printIonWarning(`[ion-datetime] - The 'time' presentation requires a time object in formatOptions.`, el);
11136
11140
  }
11137
11141
  break;
11138
11142
  case 'date-time':
11139
11143
  case 'time-date':
11140
11144
  if (formatOptions.date === undefined && formatOptions.time === undefined) {
11141
- printIonWarning(`Datetime: The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
11145
+ printIonWarning(`[ion-datetime] - The '${presentation}' presentation requires either a date or time object (or both) in formatOptions.`, el);
11142
11146
  }
11143
11147
  break;
11144
11148
  }
@@ -11197,7 +11201,7 @@ class Datetime {
11197
11201
  * Default toString() behavior: a,b
11198
11202
  * Custom behavior: ['a', 'b']
11199
11203
  */
11200
- 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".
11204
+ 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".
11201
11205
 
11202
11206
  Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
11203
11207
  `, this.el);
@@ -12078,18 +12082,18 @@ class Datetime {
12078
12082
  const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this;
12079
12083
  if (multiple) {
12080
12084
  if (presentation !== 'date') {
12081
- printIonWarning('Multiple date selection is only supported for presentation="date".', el);
12085
+ printIonWarning('[ion-datetime] - Multiple date selection is only supported for presentation="date".', el);
12082
12086
  }
12083
12087
  if (preferWheel) {
12084
- printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
12088
+ printIonWarning('[ion-datetime] - Multiple date selection is not supported with preferWheel="true".', el);
12085
12089
  }
12086
12090
  }
12087
12091
  if (highlightedDates !== undefined) {
12088
12092
  if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
12089
- printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
12093
+ printIonWarning('[ion-datetime] - The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
12090
12094
  }
12091
12095
  if (preferWheel) {
12092
- printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
12096
+ printIonWarning('[ion-datetime] - The highlightedDates property is not supported with preferWheel="true".', el);
12093
12097
  }
12094
12098
  }
12095
12099
  if (formatOptions) {
@@ -12220,7 +12224,7 @@ class Datetime {
12220
12224
  disabled = !isDateEnabled(convertDataToISO(referenceParts));
12221
12225
  }
12222
12226
  catch (e) {
12223
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12227
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12224
12228
  }
12225
12229
  return Object.assign(Object.assign({}, itemObject), { disabled });
12226
12230
  });
@@ -12269,7 +12273,7 @@ class Datetime {
12269
12273
  disabled = !isDateEnabled(convertDataToISO(referenceParts));
12270
12274
  }
12271
12275
  catch (e) {
12272
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12276
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
12273
12277
  }
12274
12278
  return Object.assign(Object.assign({}, dayObject), { disabled });
12275
12279
  });
@@ -12467,7 +12471,7 @@ class Datetime {
12467
12471
  isCalDayDisabled = !isDateEnabled(dateIsoString);
12468
12472
  }
12469
12473
  catch (e) {
12470
- printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
12474
+ printIonError('[ion-datetime] - Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
12471
12475
  }
12472
12476
  }
12473
12477
  /**
@@ -12603,7 +12607,7 @@ class Datetime {
12603
12607
  headerText = titleSelectedDatesFormatter(convertDataToISO(activeParts));
12604
12608
  }
12605
12609
  catch (e) {
12606
- printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
12610
+ printIonError('[ion-datetime] - Exception in provided `titleSelectedDatesFormatter`:', e);
12607
12611
  }
12608
12612
  }
12609
12613
  }
@@ -12698,7 +12702,7 @@ class Datetime {
12698
12702
  const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
12699
12703
  const hasWheelVariant = hasDatePresentation && preferWheel;
12700
12704
  renderHiddenInput(true, el, name, formatValue(value), disabled);
12701
- return (hAsync(Host, { key: '08d429533a09c600b936ad1e022658051c765595', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12705
+ return (hAsync(Host, { key: 'c3dfea8f46fcbcef38eb9e8a69b1b46a4e4b82fd', "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, createColorClasses$1(color, {
12702
12706
  [mode]: true,
12703
12707
  ['datetime-readonly']: readonly,
12704
12708
  ['datetime-disabled']: disabled,
@@ -12708,7 +12712,7 @@ class Datetime {
12708
12712
  [`datetime-size-${size}`]: true,
12709
12713
  [`datetime-prefer-wheel`]: hasWheelVariant,
12710
12714
  [`datetime-grid`]: isGridStyle,
12711
- })) }, hAsync("div", { key: 'f4ff0fcd1e059767a7ef14fcc76ebfd55d23a97b', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12715
+ })) }, hAsync("div", { key: '75c91243cf6a51f44b83d7cf7d8c0c96bfd3c83f', class: "intersection-tracker", ref: (el) => (this.intersectionTrackerRef = el) }), this.renderDatetime(mode)));
12712
12716
  }
12713
12717
  get el() { return getElement(this); }
12714
12718
  static get watchers() { return {
@@ -12868,7 +12872,7 @@ class DatetimeButton {
12868
12872
  headerText = titleSelectedDatesFormatter(parsedValues);
12869
12873
  }
12870
12874
  catch (e) {
12871
- printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
12875
+ printIonError('[ion-datetime-button] - Exception in provided `titleSelectedDatesFormatter`:', e);
12872
12876
  }
12873
12877
  }
12874
12878
  this.dateText = headerText;
@@ -13028,12 +13032,12 @@ class DatetimeButton {
13028
13032
  async componentWillLoad() {
13029
13033
  const { datetime } = this;
13030
13034
  if (!datetime) {
13031
- printIonError('An ID associated with an ion-datetime instance is required for ion-datetime-button to function properly.', this.el);
13035
+ printIonError('[ion-datetime-button] - An ID associated with an ion-datetime instance is required to function properly.', this.el);
13032
13036
  return;
13033
13037
  }
13034
13038
  const datetimeEl = (this.datetimeEl = document.getElementById(datetime));
13035
13039
  if (!datetimeEl) {
13036
- printIonError(`No ion-datetime instance found for ID '${datetime}'.`, this.el);
13040
+ printIonError(`[ion-datetime-button] - No ion-datetime instance found for ID '${datetime}'.`, this.el);
13037
13041
  return;
13038
13042
  }
13039
13043
  /**
@@ -13041,7 +13045,7 @@ class DatetimeButton {
13041
13045
  * if a non-datetime element was provided.
13042
13046
  */
13043
13047
  if (datetimeEl.tagName !== 'ION-DATETIME') {
13044
- printIonError(`Expected an ion-datetime instance for ID '${datetime}' but received '${datetimeEl.tagName.toLowerCase()}' instead.`, datetimeEl);
13048
+ printIonError(`[ion-datetime-button] - Expected an ion-datetime instance for ID '${datetime}' but received '${datetimeEl.tagName.toLowerCase()}' instead.`, datetimeEl);
13045
13049
  return;
13046
13050
  }
13047
13051
  /**
@@ -13116,11 +13120,11 @@ class DatetimeButton {
13116
13120
  render() {
13117
13121
  const { color, dateText, timeText, selectedButton, datetimeActive, disabled } = this;
13118
13122
  const mode = getIonMode$1(this);
13119
- return (hAsync(Host, { key: '26e606af6f067a5774db37ed41387ffebb941777', class: createColorClasses$1(color, {
13123
+ return (hAsync(Host, { key: '11d037e6ab061e5116842970760b04850b42f2c7', class: createColorClasses$1(color, {
13120
13124
  [mode]: true,
13121
13125
  [`${selectedButton}-active`]: datetimeActive,
13122
13126
  ['datetime-button-disabled']: disabled,
13123
- }) }, 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' })))));
13127
+ }) }, 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' })))));
13124
13128
  }
13125
13129
  get el() { return getElement(this); }
13126
13130
  static get style() { return {
@@ -15085,7 +15089,7 @@ const getCounterText = (value, maxLength, counterFormatter) => {
15085
15089
  return counterFormatter(valueLength, maxLength);
15086
15090
  }
15087
15091
  catch (e) {
15088
- printIonError('Exception in provided `counterFormatter`.', e);
15092
+ printIonError('[ion-input] - Exception in provided `counterFormatter`:', e);
15089
15093
  return defaultCounterText;
15090
15094
  }
15091
15095
  };
@@ -15628,7 +15632,7 @@ class InputPasswordToggle {
15628
15632
  */
15629
15633
  onTypeChange(newValue) {
15630
15634
  if (newValue !== 'text' && newValue !== 'password') {
15631
- printIonWarning(`ion-input-password-toggle only supports inputs of type "text" or "password". Input of type "${newValue}" is not compatible.`, this.el);
15635
+ printIonWarning(`[ion-input-password-toggle] - Only inputs of type "text" or "password" are supported. Input of type "${newValue}" is not compatible.`, this.el);
15632
15636
  return;
15633
15637
  }
15634
15638
  }
@@ -15636,7 +15640,7 @@ class InputPasswordToggle {
15636
15640
  const { el } = this;
15637
15641
  const inputElRef = (this.inputElRef = el.closest('ion-input'));
15638
15642
  if (!inputElRef) {
15639
- printIonWarning('No ancestor ion-input found for ion-input-password-toggle. This component must be slotted inside of an ion-input.', el);
15643
+ printIonWarning('[ion-input-password-toggle] - No ancestor ion-input found. This component must be slotted inside of an ion-input.', el);
15640
15644
  return;
15641
15645
  }
15642
15646
  /**
@@ -15658,16 +15662,16 @@ class InputPasswordToggle {
15658
15662
  const showPasswordIcon = (_a = this.showIcon) !== null && _a !== void 0 ? _a : eye;
15659
15663
  const hidePasswordIcon = (_b = this.hideIcon) !== null && _b !== void 0 ? _b : eyeOff;
15660
15664
  const isPasswordVisible = type === 'text';
15661
- return (hAsync(Host, { key: 'd9811e25bfeb2aa197352bb9be852e9e420739d5', class: createColorClasses$1(color, {
15665
+ return (hAsync(Host, { key: '1a28e078c83e74c72d8bb8189ece93ec2e3fa3d0', class: createColorClasses$1(color, {
15662
15666
  [mode]: true,
15663
- }) }, 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) => {
15667
+ }) }, 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) => {
15664
15668
  /**
15665
15669
  * This prevents mobile browsers from
15666
15670
  * blurring the input when the password toggle
15667
15671
  * button is activated.
15668
15672
  */
15669
15673
  ev.preventDefault();
15670
- }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '9c88de8f4631d9bde222ce2edf6950d639e04773', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
15674
+ }, onClick: this.togglePasswordVisibility }, hAsync("ion-icon", { key: '26477ee97b808c3d79944bf5e33d4e05f1ae0b3f', slot: "icon-only", "aria-hidden": "true", icon: isPasswordVisible ? hidePasswordIcon : showPasswordIcon }))));
15671
15675
  }
15672
15676
  get el() { return getElement(this); }
15673
15677
  static get watchers() { return {
@@ -16455,7 +16459,7 @@ class ItemSliding {
16455
16459
  case 0 /* ItemSide.None */:
16456
16460
  return;
16457
16461
  default:
16458
- console.warn('invalid ItemSideFlags value', this.sides);
16462
+ printIonWarning('[ion-item-sliding] - invalid ItemSideFlags value', this.sides);
16459
16463
  break;
16460
16464
  }
16461
16465
  let optsWidth;
@@ -16581,7 +16585,7 @@ class ItemSliding {
16581
16585
  }
16582
16586
  render() {
16583
16587
  const mode = getIonMode$1(this);
16584
- return (hAsync(Host, { key: '22f83febcbc1bc27e4ddbd7fcbe590de60a10e89', class: {
16588
+ return (hAsync(Host, { key: 'f8aea4bb9802b111ef358cc6c172a635637ae1f8', class: {
16585
16589
  [mode]: true,
16586
16590
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
16587
16591
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -18080,14 +18084,14 @@ class Menu {
18080
18084
  * the ionBackButton listener in the menu controller
18081
18085
  * will handle closing the menu when Escape is pressed.
18082
18086
  */
18083
- return (hAsync(Host, { key: '342db8551d26604128b29b21d2d8c37593972ed9', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18087
+ return (hAsync(Host, { key: '0a2ba4ff5600b80b54d1b5b45124779c6aa0d2f2', onKeyDown: shouldUseCloseWatcher() ? null : this.onKeydown, role: "navigation", "aria-label": inheritedAttributes['aria-label'] || 'menu', class: {
18084
18088
  [mode]: true,
18085
18089
  [`menu-type-${type}`]: true,
18086
18090
  'menu-enabled': !disabled,
18087
18091
  [`menu-side-${side}`]: true,
18088
18092
  'menu-pane-visible': isPaneVisible,
18089
18093
  'split-pane-side': hostContext('ion-split-pane', el),
18090
- } }, 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" })));
18094
+ } }, 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" })));
18091
18095
  }
18092
18096
  get el() { return getElement(this); }
18093
18097
  static get watchers() { return {
@@ -20105,7 +20109,7 @@ class Modal {
20105
20109
  this.currentBreakpoint = this.initialBreakpoint;
20106
20110
  }
20107
20111
  if (breakpoints !== undefined && initialBreakpoint !== undefined && !breakpoints.includes(initialBreakpoint)) {
20108
- printIonWarning('Your breakpoints array must include the initialBreakpoint value.');
20112
+ printIonWarning('[ion-modal] - Your breakpoints array must include the initialBreakpoint value.');
20109
20113
  }
20110
20114
  if (!((_a = this.htmlAttributes) === null || _a === void 0 ? void 0 : _a.id)) {
20111
20115
  setOverlayId(this.el);
@@ -20450,11 +20454,11 @@ class Modal {
20450
20454
  */
20451
20455
  async setCurrentBreakpoint(breakpoint) {
20452
20456
  if (!this.isSheetModal) {
20453
- printIonWarning('setCurrentBreakpoint is only supported on sheet modals.');
20457
+ printIonWarning('[ion-modal] - setCurrentBreakpoint is only supported on sheet modals.');
20454
20458
  return;
20455
20459
  }
20456
20460
  if (!this.breakpoints.includes(breakpoint)) {
20457
- printIonWarning(`Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
20461
+ printIonWarning(`[ion-modal] - Attempted to set invalid breakpoint value ${breakpoint}. Please double check that the breakpoint value is part of your defined breakpoints.`);
20458
20462
  return;
20459
20463
  }
20460
20464
  const { currentBreakpoint, moveSheetToBreakpoint, canDismiss, breakpoints, animated } = this;
@@ -20505,18 +20509,18 @@ class Modal {
20505
20509
  const mode = getIonMode$1(this);
20506
20510
  const isCardModal = presentingElement !== undefined && mode === 'ios';
20507
20511
  const isHandleCycle = handleBehavior === 'cycle';
20508
- return (hAsync(Host, Object.assign({ key: 'e661562f9e4126136cee337e4ab8ca69ac80faae', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20512
+ return (hAsync(Host, Object.assign({ key: '0991b2e4e32da511e59fb1463b47e4ac1b86d1ca', "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
20509
20513
  zIndex: `${20000 + this.overlayIndex}`,
20510
- }, 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',
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: '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',
20511
20515
  /*
20512
20516
  role and aria-modal must be used on the
20513
20517
  same element. They must also be set inside the
20514
20518
  shadow DOM otherwise ion-button will not be highlighted
20515
20519
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
20516
20520
  */
20517
- 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",
20521
+ 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",
20518
20522
  // Prevents the handle from receiving keyboard focus when it does not cycle
20519
- 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' }))));
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: '6d52849df98f2c6c8fbc03996a931ea6a39a512b' }))));
20520
20524
  }
20521
20525
  get el() { return getElement(this); }
20522
20526
  static get watchers() { return {
@@ -21244,7 +21248,7 @@ class Nav {
21244
21248
  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);
21245
21249
  assert(finalNumViews >= 0, 'final balance can not be negative');
21246
21250
  if (finalNumViews === 0) {
21247
- console.warn(`You can't remove all the pages in the navigation stack. nav.pop() is probably called too many times.`, this, this.el);
21251
+ 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);
21248
21252
  throw new Error('navigation stack needs at least one root page');
21249
21253
  }
21250
21254
  // At this point the transition can not be rejected, any throw should be an error
@@ -21466,7 +21470,7 @@ class Nav {
21466
21470
  }
21467
21471
  }
21468
21472
  render() {
21469
- return hAsync("slot", { key: '71e9b5d07fc90ca5534197a63a003a4154aabd59' });
21473
+ return hAsync("slot", { key: '188d0abd6c047d235380f07aac81223b757010e8' });
21470
21474
  }
21471
21475
  get el() { return getElement(this); }
21472
21476
  static get watchers() { return {
@@ -22207,7 +22211,7 @@ class Picker {
22207
22211
  }
22208
22212
  }
22209
22213
  componentDidLoad() {
22210
- 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);
22214
+ 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);
22211
22215
  /**
22212
22216
  * If picker was rendered with isOpen="true"
22213
22217
  * then we should open picker immediately.
@@ -22317,11 +22321,11 @@ class Picker {
22317
22321
  render() {
22318
22322
  const { htmlAttributes } = this;
22319
22323
  const mode = getIonMode$1(this);
22320
- return (hAsync(Host, Object.assign({ key: 'dc03f252e3b59a94bc7132c953d2d3b36b62237e', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22324
+ return (hAsync(Host, Object.assign({ key: 'b6b6ca6f9aa74681e6d67f64b366f5965fec2a6d', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
22321
22325
  zIndex: `${20000 + this.overlayIndex}`,
22322
22326
  }, class: Object.assign({ [mode]: true,
22323
22327
  // Used internally for styling
22324
- [`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" })));
22328
+ [`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" })));
22325
22329
  }
22326
22330
  get el() { return getElement(this); }
22327
22331
  static get watchers() { return {
@@ -24440,7 +24444,7 @@ class Popover {
24440
24444
  }
24441
24445
  const triggerEl = (this.triggerEl = trigger !== undefined ? document.getElementById(trigger) : null);
24442
24446
  if (!triggerEl) {
24443
- 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);
24447
+ 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);
24444
24448
  return;
24445
24449
  }
24446
24450
  this.destroyTriggerInteraction = configureTriggerInteraction(triggerEl, triggerAction, el);
@@ -24719,9 +24723,9 @@ class Popover {
24719
24723
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
24720
24724
  const desktop = isPlatform('desktop');
24721
24725
  const enableArrow = arrow && !parentPopover;
24722
- return (hAsync(Host, Object.assign({ key: '48f108a9b74f121559626889dd5a1fcccf38fc3d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24726
+ return (hAsync(Host, Object.assign({ key: 'ff24e8d9677711248a36994cce568e74ba151499', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
24723
24727
  zIndex: `${20000 + this.overlayIndex}`,
24724
- }, 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' })))));
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: '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' })))));
24725
24729
  }
24726
24730
  get el() { return getElement(this); }
24727
24731
  static get watchers() { return {
@@ -25465,11 +25469,11 @@ class Range {
25465
25469
  const { activeBarStart } = this;
25466
25470
  if (activeBarStart !== undefined) {
25467
25471
  if (activeBarStart > this.max) {
25468
- 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);
25472
+ 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);
25469
25473
  this.activeBarStart = this.max;
25470
25474
  }
25471
25475
  else if (activeBarStart < this.min) {
25472
- 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);
25476
+ 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);
25473
25477
  this.activeBarStart = this.min;
25474
25478
  }
25475
25479
  }
@@ -25895,7 +25899,7 @@ class Range {
25895
25899
  const needsEndAdjustment = inItem && !hasEndContent;
25896
25900
  const mode = getIonMode$1(this);
25897
25901
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
25898
- return (hAsync(Host, { key: 'e97cb7eab877eb1624429b4a79107130c6809cf5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25902
+ return (hAsync(Host, { key: '3e065039ee048f1f70d97dba5dae98fa1315d867', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses$1(this.color, {
25899
25903
  [mode]: true,
25900
25904
  'in-item': inItem,
25901
25905
  'range-disabled': disabled,
@@ -25904,10 +25908,10 @@ class Range {
25904
25908
  [`range-label-placement-${labelPlacement}`]: true,
25905
25909
  'range-item-start-adjustment': needsStartAdjustment,
25906
25910
  'range-item-end-adjustment': needsEndAdjustment,
25907
- }) }, hAsync("label", { key: 'a43e9859f74f83460439efefccb5fbb9f387c9ee', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: '75352a30f30dbd0228c6138eb4324a5c021dbb48', class: {
25911
+ }) }, hAsync("label", { key: '27ff22842c9ea79a1b9495302b926f70c9080a95', class: "range-wrapper", id: "range-label" }, hAsync("div", { key: 'da1f9784be02dfe87d2fef34931d8b7f2148189e', class: {
25908
25912
  'label-text-wrapper': true,
25909
25913
  'label-text-wrapper-hidden': !hasLabel,
25910
- }, 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" })))));
25914
+ }, 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" })))));
25911
25915
  }
25912
25916
  get el() { return getElement(this); }
25913
25917
  static get watchers() { return {
@@ -26477,7 +26481,7 @@ class Refresher {
26477
26481
  }
26478
26482
  async connectedCallback() {
26479
26483
  if (this.el.getAttribute('slot') !== 'fixed') {
26480
- console.error('Make sure you use: <ion-refresher slot="fixed">');
26484
+ printIonError('[ion-refresher] - Make sure you use: <ion-refresher slot="fixed">');
26481
26485
  return;
26482
26486
  }
26483
26487
  const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);
@@ -26809,7 +26813,7 @@ class Refresher {
26809
26813
  }
26810
26814
  render() {
26811
26815
  const mode = getIonMode$1(this);
26812
- return (hAsync(Host, { key: '4c36bffbfa32ef1bd28a60f4455c125842880659', slot: "fixed", class: {
26816
+ return (hAsync(Host, { key: 'c717c16f2ca3e42351848cc8ad37918dec28961d', slot: "fixed", class: {
26813
26817
  [mode]: true,
26814
26818
  // Used internally for styling
26815
26819
  [`refresher-${mode}`]: true,
@@ -27719,7 +27723,7 @@ const writeNavState = async (root, chain, direction, index, changed = false, ani
27719
27723
  return changed;
27720
27724
  }
27721
27725
  catch (e) {
27722
- console.error(e);
27726
+ printIonError('[ion-router] - Exception in writeNavState:', e);
27723
27727
  return false;
27724
27728
  }
27725
27729
  };
@@ -28182,19 +28186,19 @@ class Router {
28182
28186
  /** @internal */
28183
28187
  async navChanged(direction) {
28184
28188
  if (this.busy) {
28185
- console.warn('[ion-router] router is busy, navChanged was cancelled');
28189
+ printIonWarning('[ion-router] - router is busy, navChanged was cancelled');
28186
28190
  return false;
28187
28191
  }
28188
28192
  const { ids, outlet } = await readNavState(window.document.body);
28189
28193
  const routes = readRoutes(this.el);
28190
28194
  const chain = findChainForIDs(ids, routes);
28191
28195
  if (!chain) {
28192
- console.warn('[ion-router] no matching URL for ', ids.map((i) => i.id));
28196
+ printIonWarning('[ion-router] - no matching URL for ', ids.map((i) => i.id));
28193
28197
  return false;
28194
28198
  }
28195
28199
  const segments = chainToSegments(chain);
28196
28200
  if (!segments) {
28197
- console.warn('[ion-router] router could not match path because some required param is missing');
28201
+ printIonWarning('[ion-router] - router could not match path because some required param is missing');
28198
28202
  return false;
28199
28203
  }
28200
28204
  this.setSegments(segments, direction);
@@ -28232,7 +28236,7 @@ class Router {
28232
28236
  }
28233
28237
  async writeNavStateRoot(segments, direction, animation) {
28234
28238
  if (!segments) {
28235
- console.error('[ion-router] URL is not part of the routing set');
28239
+ printIonError('[ion-router] - URL is not part of the routing set');
28236
28240
  return false;
28237
28241
  }
28238
28242
  // lookup redirect rule
@@ -28249,7 +28253,7 @@ class Router {
28249
28253
  const routes = readRoutes(this.el);
28250
28254
  const chain = findChainForSegments(segments, routes);
28251
28255
  if (!chain) {
28252
- console.error('[ion-router] the path does not match any route');
28256
+ printIonError('[ion-router] - The path does not match any route');
28253
28257
  return false;
28254
28258
  }
28255
28259
  // write DOM give
@@ -28262,7 +28266,7 @@ class Router {
28262
28266
  changed = await this.writeNavState(node, chain, direction, segments, redirectFrom, index, animation);
28263
28267
  }
28264
28268
  catch (e) {
28265
- console.error(e);
28269
+ printIonError('[ion-router] - Exception in safeWriteNavState:', e);
28266
28270
  }
28267
28271
  unlock();
28268
28272
  return changed;
@@ -28304,7 +28308,7 @@ class Router {
28304
28308
  }
28305
28309
  async writeNavState(node, chain, direction, segments, redirectFrom, index = 0, animation) {
28306
28310
  if (this.busy) {
28307
- console.warn('[ion-router] router is busy, transition was cancelled');
28311
+ printIonWarning('[ion-router] - router is busy, transition was cancelled');
28308
28312
  return false;
28309
28313
  }
28310
28314
  this.busy = true;
@@ -28486,7 +28490,7 @@ class RouterOutlet {
28486
28490
  changed = await this.transition(enteringEl, leavingEl, opts);
28487
28491
  }
28488
28492
  catch (e) {
28489
- console.error(e);
28493
+ printIonError('[ion-router-outlet] - Exception in commit:', e);
28490
28494
  }
28491
28495
  unlock();
28492
28496
  return changed;
@@ -28582,7 +28586,7 @@ class RouterOutlet {
28582
28586
  return true;
28583
28587
  }
28584
28588
  render() {
28585
- return hAsync("slot", { key: '8d0c163c5f63158e16ef2db7cc3c756cf597461d' });
28589
+ return hAsync("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
28586
28590
  }
28587
28591
  get el() { return getElement(this); }
28588
28592
  static get watchers() { return {
@@ -29699,7 +29703,7 @@ class SegmentButton {
29699
29703
  }
29700
29704
  // Prevent buttons from being disabled when associated with segment content
29701
29705
  if (this.contentId && this.disabled) {
29702
- console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29706
+ printIonWarning(`[ion-segment-button] - Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
29703
29707
  this.disabled = false;
29704
29708
  }
29705
29709
  }
@@ -29720,12 +29724,12 @@ class SegmentButton {
29720
29724
  const segmentContent = document.getElementById(this.contentId);
29721
29725
  // If no associated Segment Content exists, log an error and return
29722
29726
  if (!segmentContent) {
29723
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
29727
+ printIonError(`[ion-segment-button] - Unable to find Segment Content with id="${this.contentId}".`);
29724
29728
  return;
29725
29729
  }
29726
29730
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
29727
29731
  if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
29728
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29732
+ printIonError(`[ion-segment-button] - Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
29729
29733
  return;
29730
29734
  }
29731
29735
  }
@@ -29750,7 +29754,7 @@ class SegmentButton {
29750
29754
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
29751
29755
  const mode = getIonMode$1(this);
29752
29756
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
29753
- return (hAsync(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
29757
+ return (hAsync(Host, { key: '942543aa0831be593fdcb1c9b2a9d6274960e19d', class: {
29754
29758
  [mode]: true,
29755
29759
  'in-toolbar': hostContext('ion-toolbar', this.el),
29756
29760
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -29766,7 +29770,7 @@ class SegmentButton {
29766
29770
  'ion-activatable': true,
29767
29771
  'ion-activatable-instant': true,
29768
29772
  'ion-focusable': true,
29769
- } }, 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" }))));
29773
+ } }, 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" }))));
29770
29774
  }
29771
29775
  get el() { return getElement(this); }
29772
29776
  static get watchers() { return {
@@ -30178,11 +30182,11 @@ class Select {
30178
30182
  createOverlay(ev) {
30179
30183
  let selectInterface = this.interface;
30180
30184
  if (selectInterface === 'action-sheet' && this.multiple) {
30181
- console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
30185
+ printIonWarning(`[ion-select] - Interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
30182
30186
  selectInterface = 'alert';
30183
30187
  }
30184
30188
  if (selectInterface === 'popover' && !ev) {
30185
- console.warn(`Select interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
30189
+ printIonWarning(`[ion-select] - Interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
30186
30190
  selectInterface = 'alert';
30187
30191
  }
30188
30192
  if (selectInterface === 'action-sheet') {
@@ -30620,7 +30624,7 @@ class Select {
30620
30624
  * TODO(FW-5592): Remove hasStartEndSlots condition
30621
30625
  */
30622
30626
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
30623
- return (hAsync(Host, { key: 'aa7bd7fbb6479c7805486990650a406e5470fd13', onClick: this.onClick, class: createColorClasses$1(this.color, {
30627
+ return (hAsync(Host, { key: '2314f2d2d02827e6728892311cd566dd91840956', onClick: this.onClick, class: createColorClasses$1(this.color, {
30624
30628
  [mode]: true,
30625
30629
  'in-item': inItem,
30626
30630
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -30636,7 +30640,7 @@ class Select {
30636
30640
  [`select-justify-${justify}`]: justifyEnabled,
30637
30641
  [`select-shape-${shape}`]: shape !== undefined,
30638
30642
  [`select-label-placement-${labelPlacement}`]: true,
30639
- }) }, 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()));
30643
+ }) }, 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()));
30640
30644
  }
30641
30645
  get el() { return getElement(this); }
30642
30646
  static get watchers() { return {
@@ -31157,12 +31161,12 @@ class SplitPane {
31157
31161
  }
31158
31162
  render() {
31159
31163
  const mode = getIonMode$1(this);
31160
- return (hAsync(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
31164
+ return (hAsync(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
31161
31165
  [mode]: true,
31162
31166
  // Used internally for styling
31163
31167
  [`split-pane-${mode}`]: true,
31164
31168
  'split-pane-visible': this.visible,
31165
- } }, hAsync("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
31169
+ } }, hAsync("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
31166
31170
  }
31167
31171
  get el() { return getElement(this); }
31168
31172
  static get watchers() { return {
@@ -31224,17 +31228,17 @@ class Tab {
31224
31228
  return attachComponent(this.delegate, this.el, this.component, ['ion-page']);
31225
31229
  }
31226
31230
  catch (e) {
31227
- console.error(e);
31231
+ printIonError('[ion-tab] - Exception in prepareLazyLoaded:', e);
31228
31232
  }
31229
31233
  }
31230
31234
  return Promise.resolve(undefined);
31231
31235
  }
31232
31236
  render() {
31233
31237
  const { tab, active, component } = this;
31234
- return (hAsync(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31238
+ return (hAsync(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
31235
31239
  'ion-page': component === undefined,
31236
31240
  'tab-hidden': !active,
31237
- } }, hAsync("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
31241
+ } }, hAsync("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
31238
31242
  }
31239
31243
  get el() { return getElement(this); }
31240
31244
  static get watchers() { return {
@@ -31602,7 +31606,7 @@ class Tabs {
31602
31606
  return Array.from(this.el.querySelectorAll('ion-tab'));
31603
31607
  }
31604
31608
  render() {
31605
- 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" })));
31609
+ 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" })));
31606
31610
  }
31607
31611
  get el() { return getElement(this); }
31608
31612
  static get style() { return IonTabsStyle0; }
@@ -31626,7 +31630,7 @@ class Tabs {
31626
31630
  const getTab = (tabs, tab) => {
31627
31631
  const tabEl = typeof tab === 'string' ? tabs.find((t) => t.tab === tab) : tab;
31628
31632
  if (!tabEl) {
31629
- console.error(`tab with id: "${tabEl}" does not exist`);
31633
+ printIonError(`[ion-tabs] - Tab with id: "${tabEl}" does not exist`);
31630
31634
  }
31631
31635
  return tabEl;
31632
31636
  };
@@ -32195,7 +32199,7 @@ function getAnimationPosition(position, positionAnchor, mode, toast) {
32195
32199
  */
32196
32200
  function warnIfAnchorIsHidden(positionAnchor, toast) {
32197
32201
  if (positionAnchor.offsetParent === null) {
32198
- 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);
32202
+ 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);
32199
32203
  }
32200
32204
  }
32201
32205
  /**
@@ -32846,7 +32850,7 @@ class Toast {
32846
32850
  return;
32847
32851
  }
32848
32852
  if (position === 'middle' && positionAnchor !== undefined) {
32849
- printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
32853
+ printIonWarning('[ion-toast] - The positionAnchor property is ignored when using position="middle".', this.el);
32850
32854
  return undefined;
32851
32855
  }
32852
32856
  if (typeof positionAnchor === 'string') {
@@ -32858,7 +32862,7 @@ class Toast {
32858
32862
  */
32859
32863
  const foundEl = document.getElementById(positionAnchor);
32860
32864
  if (foundEl === null) {
32861
- printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
32865
+ printIonWarning(`[ion-toast] - An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
32862
32866
  return undefined;
32863
32867
  }
32864
32868
  return foundEl;
@@ -32866,7 +32870,7 @@ class Toast {
32866
32870
  if (positionAnchor instanceof HTMLElement) {
32867
32871
  return positionAnchor;
32868
32872
  }
32869
- printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
32873
+ printIonWarning('[ion-toast] - Invalid positionAnchor value:', positionAnchor, el);
32870
32874
  return undefined;
32871
32875
  }
32872
32876
  async buttonClick(button) {
@@ -32892,7 +32896,7 @@ class Toast {
32892
32896
  }
32893
32897
  }
32894
32898
  catch (e) {
32895
- console.error(e);
32899
+ printIonError('[ion-toast] - Exception in callButtonHandler:', e);
32896
32900
  }
32897
32901
  }
32898
32902
  return true;
@@ -32944,11 +32948,11 @@ class Toast {
32944
32948
  * used with one type of button.
32945
32949
  */
32946
32950
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
32947
- 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);
32951
+ 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);
32948
32952
  }
32949
- return (hAsync(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
32953
+ return (hAsync(Host, Object.assign({ key: '2eed5d7f9d3b7aa54517cba8252aebd45f1c370e', tabindex: "-1" }, this.htmlAttributes, { style: {
32950
32954
  zIndex: `${60000 + this.overlayIndex}`,
32951
- }, 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')))));
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: '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')))));
32952
32956
  }
32953
32957
  get el() { return getElement(this); }
32954
32958
  static get watchers() { return {
@@ -33010,10 +33014,10 @@ const buttonPart = (button) => {
33010
33014
  return isCancel(button.role) ? 'button cancel' : 'button';
33011
33015
  };
33012
33016
 
33013
- 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}";
33017
+ 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}";
33014
33018
  var IonToggleIosStyle0 = toggleIosCss;
33015
33019
 
33016
- 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}";
33020
+ 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}";
33017
33021
  var IonToggleMdStyle0 = toggleMdCss;
33018
33022
 
33019
33023
  /**
@@ -33035,7 +33039,6 @@ class Toggle {
33035
33039
  this.ionFocus = createEvent(this, "ionFocus", 7);
33036
33040
  this.ionBlur = createEvent(this, "ionBlur", 7);
33037
33041
  this.inputId = `ion-tg-${toggleIds++}`;
33038
- this.inputLabelId = `${this.inputId}-lbl`;
33039
33042
  this.helperTextId = `${this.inputId}-helper-text`;
33040
33043
  this.errorTextId = `${this.inputId}-error-text`;
33041
33044
  this.lastDrag = 0;
@@ -33057,14 +33060,6 @@ class Toggle {
33057
33060
  this.disabledChanged();
33058
33061
  }
33059
33062
  };
33060
- this.onKeyDown = (ev) => {
33061
- if (ev.key === ' ') {
33062
- ev.preventDefault();
33063
- if (!this.disabled) {
33064
- this.toggleChecked();
33065
- }
33066
- }
33067
- };
33068
33063
  this.onClick = (ev) => {
33069
33064
  if (this.disabled) {
33070
33065
  return;
@@ -33207,12 +33202,12 @@ class Toggle {
33207
33202
  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)));
33208
33203
  }
33209
33204
  render() {
33210
- const { activated, alignment, checked, color, disabled, el, errorTextId, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
33205
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
33211
33206
  const mode = getIonMode$1(this);
33212
33207
  const value = this.getValue();
33213
33208
  const rtl = isRTL$1(el) ? 'rtl' : 'ltr';
33214
33209
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
33215
- 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, {
33210
+ return (hAsync(Host, { key: 'c6db7f5bc0b358944c0d79e24aeb4d319793422f', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses$1(color, {
33216
33211
  [mode]: true,
33217
33212
  'in-item': hostContext('ion-item', el),
33218
33213
  'toggle-activated': activated,
@@ -33222,10 +33217,10 @@ class Toggle {
33222
33217
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
33223
33218
  [`toggle-label-placement-${labelPlacement}`]: true,
33224
33219
  [`toggle-${rtl}`]: true,
33225
- }) }, 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: {
33220
+ }) }, 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: {
33226
33221
  'label-text-wrapper': true,
33227
- 'label-text-wrapper-hidden': !hasLabel,
33228
- }, part: "label", id: inputLabelId }, hAsync("slot", { key: '7ce338bd5116337c9ea90805fdee7285ef7c5811' }), this.renderHintText()), hAsync("div", { key: 'ecb5dfd2c7b534e357cba272dd4f189728555b3a', class: "native-wrapper" }, this.renderToggleControl()))));
33222
+ 'label-text-wrapper-hidden': !this.hasLabel,
33223
+ }, part: "label" }, hAsync("slot", { key: '9bdf7e85c95dc7373f18894ebfe6ad022f098107' }), this.renderHintText()), hAsync("div", { key: '33883642b38421a82001e37db3dd5e5c643785b0', class: "native-wrapper" }, this.renderToggleControl()))));
33229
33224
  }
33230
33225
  get el() { return getElement(this); }
33231
33226
  static get watchers() { return {