@ionic/core 8.5.5-dev.11744665899.13f57768 → 8.5.5-dev.11744727983.1f86a6e6

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 (593) 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 -14
  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-4da92dac.entry.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-57e55ecb.system.js +4 -0
  363. package/dist/ionic/p-5b67b447.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-66df5468.system.entry.js +4 -0
  372. package/dist/ionic/p-67077d48.entry.js +4 -0
  373. package/dist/ionic/p-6835ebdd.system.entry.js +4 -0
  374. package/dist/ionic/p-6a03fc0f.entry.js +4 -0
  375. package/dist/ionic/p-6b8530f5.system.entry.js +4 -0
  376. package/dist/ionic/{p-5c906a14.entry.js → p-6c474e87.entry.js} +1 -1
  377. package/dist/ionic/p-6dd86ff5.system.entry.js +4 -0
  378. package/dist/ionic/p-6ec0c94a.entry.js +4 -0
  379. package/dist/ionic/p-6f832afe.system.entry.js +4 -0
  380. package/dist/ionic/{p-3ee33601.entry.js → p-70044cb8.entry.js} +1 -1
  381. package/dist/ionic/p-712c0131.entry.js +4 -0
  382. package/dist/ionic/{p-1848b7c3.entry.js → p-721f43f9.entry.js} +1 -1
  383. package/dist/ionic/p-72b3050b.system.entry.js +4 -0
  384. package/dist/ionic/p-7445a2e5.system.js +4 -0
  385. package/dist/ionic/p-7611ede3.system.entry.js +4 -0
  386. package/dist/ionic/p-781e2dbb.system.js +4 -0
  387. package/dist/ionic/p-7b8c12c3.entry.js +4 -0
  388. package/dist/ionic/p-7c5c7ae1.system.entry.js +4 -0
  389. package/dist/ionic/p-7e3e6ed2.entry.js +4 -0
  390. package/dist/ionic/{p-8bdb12a6.system.entry.js → p-7ffedf77.system.entry.js} +1 -1
  391. package/dist/ionic/p-809483ac.js +4 -0
  392. package/dist/ionic/{p-4a019528.entry.js → p-81904a80.entry.js} +1 -1
  393. package/dist/ionic/{p-a6625de8.system.js → p-84096b45.system.js} +1 -1
  394. package/dist/ionic/p-8450f761.entry.js +4 -0
  395. package/dist/ionic/p-8460d95a.entry.js +4 -0
  396. package/dist/ionic/p-85b01465.js +4 -0
  397. package/dist/ionic/p-865fe95c.entry.js +4 -0
  398. package/dist/ionic/p-8674af94.entry.js +4 -0
  399. package/dist/ionic/p-890a4ee2.entry.js +4 -0
  400. package/dist/ionic/p-891553d8.entry.js +4 -0
  401. package/dist/ionic/p-8ab2f7a4.system.entry.js +4 -0
  402. package/dist/ionic/p-8b050e84.system.js +4 -0
  403. package/dist/ionic/{p-22bc235f.js → p-8d2d39d0.js} +1 -1
  404. package/dist/ionic/p-8dacf4e2.entry.js +4 -0
  405. package/dist/ionic/p-94551927.js +4 -0
  406. package/dist/ionic/p-95001a19.js +4 -0
  407. package/dist/ionic/{p-a856757d.system.entry.js → p-958fd7e9.system.entry.js} +1 -1
  408. package/dist/ionic/p-98fd942b.system.entry.js +4 -0
  409. package/dist/ionic/p-a0fd2fe5.system.entry.js +4 -0
  410. package/dist/ionic/p-a78d1c24.entry.js +4 -0
  411. package/dist/ionic/p-a835aca8.entry.js +4 -0
  412. package/dist/ionic/p-a83e3290.system.js +4 -0
  413. package/dist/ionic/{p-a243b90c.js → p-aded71ec.js} +1 -1
  414. package/dist/ionic/p-ae039072.entry.js +4 -0
  415. package/dist/ionic/p-aebfab05.system.entry.js +4 -0
  416. package/dist/ionic/p-b22ab9f4.js +4 -0
  417. package/dist/ionic/p-b2e7eda0.system.entry.js +4 -0
  418. package/dist/ionic/p-b445ff65.entry.js +4 -0
  419. package/dist/ionic/{p-b677558c.system.entry.js → p-b4d17da0.system.entry.js} +1 -1
  420. package/dist/ionic/p-b5432d15.entry.js +4 -0
  421. package/dist/ionic/p-b6d324f0.js +4 -0
  422. package/dist/ionic/p-b7b1d91a.js +4 -0
  423. package/dist/ionic/{p-14100bae.system.entry.js → p-b8050298.system.entry.js} +1 -1
  424. package/dist/ionic/p-b9c793d4.entry.js +4 -0
  425. package/dist/ionic/{p-68dcebd9.system.entry.js → p-bce753bd.system.entry.js} +1 -1
  426. package/dist/ionic/p-bf184319.system.entry.js +4 -0
  427. package/dist/ionic/p-c16443a8.system.js +4 -0
  428. package/dist/ionic/{p-a37fd0d0.system.entry.js → p-c1b7d311.system.entry.js} +1 -1
  429. package/dist/ionic/p-c5b77054.entry.js +4 -0
  430. package/dist/ionic/p-c5bfa3e9.entry.js +4 -0
  431. package/dist/ionic/p-cad82569.entry.js +4 -0
  432. package/dist/ionic/{p-3723b544.system.entry.js → p-cec902a0.system.entry.js} +1 -1
  433. package/dist/ionic/p-cf356ebb.system.entry.js +4 -0
  434. package/dist/ionic/p-d16fab3f.entry.js +4 -0
  435. package/dist/ionic/p-d382f09c.system.js +4 -0
  436. package/dist/ionic/p-d91f942c.system.entry.js +4 -0
  437. package/dist/ionic/p-d984c1ab.system.entry.js +4 -0
  438. package/dist/ionic/p-da6247e5.entry.js +4 -0
  439. package/dist/ionic/p-dabe3bd4.js +4 -0
  440. package/dist/ionic/p-df069a0d.entry.js +4 -0
  441. package/dist/ionic/p-e727e32d.system.entry.js +4 -0
  442. package/dist/ionic/p-e887b6a9.system.js +4 -0
  443. package/dist/ionic/p-ed005d9c.js +4 -0
  444. package/dist/ionic/p-edd2e3c7.entry.js +4 -0
  445. package/dist/ionic/{p-b9fa7882.js → p-f08a92cc.js} +1 -1
  446. package/dist/ionic/p-f0c9f8e3.system.entry.js +4 -0
  447. package/dist/ionic/p-f0ef39ab.entry.js +4 -0
  448. package/dist/ionic/{p-e1765627.system.entry.js → p-f22490a7.system.entry.js} +1 -1
  449. package/dist/ionic/{p-8dfe9d69.system.js → p-f6e7d104.system.js} +1 -1
  450. package/dist/ionic/p-f725bf9e.system.js +4 -0
  451. package/dist/ionic/p-f9a87db2.system.entry.js +4 -0
  452. package/dist/ionic/{p-3855fef7.system.js → p-fa3f4b96.system.js} +2 -2
  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/index.d.ts +1 -1
  457. package/dist/types/utils/logging/index.d.ts +1 -1
  458. package/hydrate/index.js +189 -194
  459. package/hydrate/index.mjs +189 -194
  460. package/package.json +1 -1
  461. package/dist/cjs/index-59aca5d9.js +0 -48
  462. package/dist/esm/index-7981a992.js +0 -44
  463. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  464. package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
  465. package/dist/esm-es5/config-49c88215.js +0 -4
  466. package/dist/esm-es5/data-e24ae812.js +0 -4
  467. package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
  468. package/dist/esm-es5/helpers-78efeec3.js +0 -4
  469. package/dist/esm-es5/index-40894f4b.js +0 -4
  470. package/dist/esm-es5/index-7981a992.js +0 -4
  471. package/dist/esm-es5/index-f438077f.js +0 -4
  472. package/dist/esm-es5/input-shims-4ceed1d8.js +0 -4
  473. package/dist/esm-es5/input.utils-8b9046b7.js +0 -4
  474. package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
  475. package/dist/esm-es5/ios.transition-b8b60b46.js +0 -4
  476. package/dist/esm-es5/md.transition-75b978a8.js +0 -4
  477. package/dist/esm-es5/overlays-fb9f8b68.js +0 -4
  478. package/dist/esm-es5/status-tap-d7b90d63.js +0 -4
  479. package/dist/esm-es5/swipe-back-07df2095.js +0 -4
  480. package/dist/ionic/p-0176e46f.entry.js +0 -4
  481. package/dist/ionic/p-027a48f1.entry.js +0 -4
  482. package/dist/ionic/p-053e4c10.js +0 -4
  483. package/dist/ionic/p-058b7f35.js +0 -4
  484. package/dist/ionic/p-05e6ae38.system.entry.js +0 -4
  485. package/dist/ionic/p-061a7fc7.js +0 -4
  486. package/dist/ionic/p-0a456b7f.entry.js +0 -4
  487. package/dist/ionic/p-0adb6909.system.entry.js +0 -4
  488. package/dist/ionic/p-0bedc891.system.entry.js +0 -4
  489. package/dist/ionic/p-0d1be7c9.system.entry.js +0 -4
  490. package/dist/ionic/p-11dab837.system.entry.js +0 -4
  491. package/dist/ionic/p-12614d54.entry.js +0 -4
  492. package/dist/ionic/p-15bb1dde.system.js +0 -4
  493. package/dist/ionic/p-16844125.system.entry.js +0 -4
  494. package/dist/ionic/p-19c32a76.entry.js +0 -4
  495. package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
  496. package/dist/ionic/p-1c8b3ac9.entry.js +0 -4
  497. package/dist/ionic/p-1de5dfcd.system.entry.js +0 -4
  498. package/dist/ionic/p-22656e0c.entry.js +0 -4
  499. package/dist/ionic/p-235d368d.entry.js +0 -4
  500. package/dist/ionic/p-2567237c.entry.js +0 -4
  501. package/dist/ionic/p-281c32d3.entry.js +0 -4
  502. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  503. package/dist/ionic/p-2a2c6bf4.system.entry.js +0 -4
  504. package/dist/ionic/p-2dfd125c.entry.js +0 -4
  505. package/dist/ionic/p-33058ec5.entry.js +0 -4
  506. package/dist/ionic/p-33518a04.entry.js +0 -4
  507. package/dist/ionic/p-344837bc.system.entry.js +0 -4
  508. package/dist/ionic/p-35f14792.entry.js +0 -4
  509. package/dist/ionic/p-36cfa9e8.system.js +0 -4
  510. package/dist/ionic/p-383a6058.entry.js +0 -4
  511. package/dist/ionic/p-3d98fc29.system.entry.js +0 -4
  512. package/dist/ionic/p-41d5544e.js +0 -4
  513. package/dist/ionic/p-41e70fa2.entry.js +0 -4
  514. package/dist/ionic/p-44fde7d5.system.entry.js +0 -4
  515. package/dist/ionic/p-455cd7cc.system.js +0 -4
  516. package/dist/ionic/p-457509cd.entry.js +0 -4
  517. package/dist/ionic/p-4748aa16.system.js +0 -4
  518. package/dist/ionic/p-4bf48f96.entry.js +0 -4
  519. package/dist/ionic/p-4ea4c73a.system.entry.js +0 -4
  520. package/dist/ionic/p-4eeca839.system.entry.js +0 -4
  521. package/dist/ionic/p-50e0ce13.entry.js +0 -4
  522. package/dist/ionic/p-597ff9af.js +0 -4
  523. package/dist/ionic/p-5fb1321f.entry.js +0 -4
  524. package/dist/ionic/p-6155027f.system.entry.js +0 -4
  525. package/dist/ionic/p-616f888a.entry.js +0 -4
  526. package/dist/ionic/p-6181e1c3.js +0 -4
  527. package/dist/ionic/p-61e794fb.entry.js +0 -4
  528. package/dist/ionic/p-61f2de6f.entry.js +0 -4
  529. package/dist/ionic/p-624b0ee3.system.entry.js +0 -4
  530. package/dist/ionic/p-657ada6a.entry.js +0 -4
  531. package/dist/ionic/p-65943bec.system.entry.js +0 -4
  532. package/dist/ionic/p-68609395.system.js +0 -4
  533. package/dist/ionic/p-705fda69.system.js +0 -4
  534. package/dist/ionic/p-70abb1f2.system.entry.js +0 -4
  535. package/dist/ionic/p-747f9517.entry.js +0 -4
  536. package/dist/ionic/p-783865ab.entry.js +0 -4
  537. package/dist/ionic/p-78574140.js +0 -4
  538. package/dist/ionic/p-7cc33a9a.system.js +0 -4
  539. package/dist/ionic/p-7e0ed182.entry.js +0 -4
  540. package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
  541. package/dist/ionic/p-8a2080c8.system.entry.js +0 -4
  542. package/dist/ionic/p-8b22be32.system.entry.js +0 -4
  543. package/dist/ionic/p-8d98e2bb.entry.js +0 -4
  544. package/dist/ionic/p-8e86ffce.entry.js +0 -4
  545. package/dist/ionic/p-9146695e.system.js +0 -4
  546. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  547. package/dist/ionic/p-96eec056.entry.js +0 -4
  548. package/dist/ionic/p-96ff4d01.system.entry.js +0 -4
  549. package/dist/ionic/p-9af7f110.js +0 -4
  550. package/dist/ionic/p-9b069739.entry.js +0 -4
  551. package/dist/ionic/p-a520973b.entry.js +0 -4
  552. package/dist/ionic/p-a59e8fd6.system.js +0 -4
  553. package/dist/ionic/p-a9198501.system.entry.js +0 -4
  554. package/dist/ionic/p-aa81c2ba.system.entry.js +0 -4
  555. package/dist/ionic/p-aa8c1b2f.system.js +0 -4
  556. package/dist/ionic/p-ac58d726.system.entry.js +0 -4
  557. package/dist/ionic/p-b1f9fbe8.system.entry.js +0 -4
  558. package/dist/ionic/p-b2a242bd.system.js +0 -4
  559. package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
  560. package/dist/ionic/p-b8a461f5.system.entry.js +0 -4
  561. package/dist/ionic/p-bf64af90.system.js +0 -4
  562. package/dist/ionic/p-c005cc37.entry.js +0 -4
  563. package/dist/ionic/p-c1dd88dd.entry.js +0 -4
  564. package/dist/ionic/p-c27c57ea.system.entry.js +0 -4
  565. package/dist/ionic/p-c53c414d.system.entry.js +0 -4
  566. package/dist/ionic/p-c63d8dc1.js +0 -4
  567. package/dist/ionic/p-c7e16491.js +0 -4
  568. package/dist/ionic/p-c88783e6.js +0 -4
  569. package/dist/ionic/p-ccb740ea.entry.js +0 -4
  570. package/dist/ionic/p-ce371c44.entry.js +0 -4
  571. package/dist/ionic/p-cec54707.system.entry.js +0 -4
  572. package/dist/ionic/p-d2168294.entry.js +0 -4
  573. package/dist/ionic/p-d3a54968.system.js +0 -4
  574. package/dist/ionic/p-d40f2b7a.js +0 -4
  575. package/dist/ionic/p-d83a61be.entry.js +0 -4
  576. package/dist/ionic/p-d8de0a14.system.js +0 -4
  577. package/dist/ionic/p-d9bf6f6f.system.entry.js +0 -4
  578. package/dist/ionic/p-d9f64fb5.js +0 -4
  579. package/dist/ionic/p-de46ce9a.system.entry.js +0 -4
  580. package/dist/ionic/p-df9d4b4a.entry.js +0 -4
  581. package/dist/ionic/p-e2ce5f8b.entry.js +0 -4
  582. package/dist/ionic/p-e3284879.system.entry.js +0 -4
  583. package/dist/ionic/p-e3e4eed7.entry.js +0 -4
  584. package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
  585. package/dist/ionic/p-e4d2c281.entry.js +0 -4
  586. package/dist/ionic/p-eb9c5d61.js +0 -4
  587. package/dist/ionic/p-ec70313c.system.entry.js +0 -4
  588. package/dist/ionic/p-ec9d3e18.js +0 -4
  589. package/dist/ionic/p-ece78e7b.js +0 -4
  590. package/dist/ionic/p-f13019e9.system.entry.js +0 -4
  591. package/dist/ionic/p-f201b53a.system.js +0 -4
  592. package/dist/ionic/p-f233f1e0.system.js +0 -4
  593. package/dist/ionic/p-fa70eaab.entry.js +0 -4
@@ -1,4 +1,5 @@
1
1
  import { debounce } from "../../utils/helpers";
2
+ import { printIonError, printIonWarning } from "../../utils/logging/index";
2
3
  import { ROUTER_INTENT_BACK, ROUTER_INTENT_FORWARD, ROUTER_INTENT_NONE } from "./utils/constants";
3
4
  import { printRedirects, printRoutes } from "./utils/debug";
4
5
  import { readNavState, waitUntilNavNode, writeNavState } from "./utils/dom";
@@ -106,19 +107,19 @@ export class Router {
106
107
  /** @internal */
107
108
  async navChanged(direction) {
108
109
  if (this.busy) {
109
- console.warn('[ion-router] router is busy, navChanged was cancelled');
110
+ printIonWarning('[ion-router] - router is busy, navChanged was cancelled');
110
111
  return false;
111
112
  }
112
113
  const { ids, outlet } = await readNavState(window.document.body);
113
114
  const routes = readRoutes(this.el);
114
115
  const chain = findChainForIDs(ids, routes);
115
116
  if (!chain) {
116
- console.warn('[ion-router] no matching URL for ', ids.map((i) => i.id));
117
+ printIonWarning('[ion-router] - no matching URL for ', ids.map((i) => i.id));
117
118
  return false;
118
119
  }
119
120
  const segments = chainToSegments(chain);
120
121
  if (!segments) {
121
- console.warn('[ion-router] router could not match path because some required param is missing');
122
+ printIonWarning('[ion-router] - router could not match path because some required param is missing');
122
123
  return false;
123
124
  }
124
125
  this.setSegments(segments, direction);
@@ -156,7 +157,7 @@ export class Router {
156
157
  }
157
158
  async writeNavStateRoot(segments, direction, animation) {
158
159
  if (!segments) {
159
- console.error('[ion-router] URL is not part of the routing set');
160
+ printIonError('[ion-router] - URL is not part of the routing set');
160
161
  return false;
161
162
  }
162
163
  // lookup redirect rule
@@ -173,7 +174,7 @@ export class Router {
173
174
  const routes = readRoutes(this.el);
174
175
  const chain = findChainForSegments(segments, routes);
175
176
  if (!chain) {
176
- console.error('[ion-router] the path does not match any route');
177
+ printIonError('[ion-router] - The path does not match any route');
177
178
  return false;
178
179
  }
179
180
  // write DOM give
@@ -186,7 +187,7 @@ export class Router {
186
187
  changed = await this.writeNavState(node, chain, direction, segments, redirectFrom, index, animation);
187
188
  }
188
189
  catch (e) {
189
- console.error(e);
190
+ printIonError('[ion-router] - Exception in safeWriteNavState:', e);
190
191
  }
191
192
  unlock();
192
193
  return changed;
@@ -228,7 +229,7 @@ export class Router {
228
229
  }
229
230
  async writeNavState(node, chain, direction, segments, redirectFrom, index = 0, animation) {
230
231
  if (this.busy) {
231
- console.warn('[ion-router] router is busy, transition was cancelled');
232
+ printIonWarning('[ion-router] - router is busy, transition was cancelled');
232
233
  return false;
233
234
  }
234
235
  this.busy = true;
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { componentOnReady } from "../../../utils/helpers";
5
+ import { printIonError } from "../../../utils/logging/index";
5
6
  import { ROUTER_INTENT_NONE } from "./constants";
6
7
  /**
7
8
  * Activates the passed route chain.
@@ -38,7 +39,7 @@ export const writeNavState = async (root, chain, direction, index, changed = fal
38
39
  return changed;
39
40
  }
40
41
  catch (e) {
41
- console.error(e);
42
+ printIonError('[ion-router] - Exception in writeNavState:', e);
42
43
  return false;
43
44
  }
44
45
  };
@@ -6,6 +6,7 @@ import { getTimeGivenProgression } from "../../utils/animation/cubic-bezier";
6
6
  import { attachComponent, detachComponent } from "../../utils/framework-delegate";
7
7
  import { shallowEqualStringMap, hasLazyBuild } from "../../utils/helpers";
8
8
  import { createLockController } from "../../utils/lock-controller";
9
+ import { printIonError } from "../../utils/logging/index";
9
10
  import { transition } from "../../utils/transition/index";
10
11
  import { config } from "../../global/config";
11
12
  import { getIonMode } from "../../global/ionic-global";
@@ -81,7 +82,7 @@ export class RouterOutlet {
81
82
  changed = await this.transition(enteringEl, leavingEl, opts);
82
83
  }
83
84
  catch (e) {
84
- console.error(e);
85
+ printIonError('[ion-router-outlet] - Exception in commit:', e);
85
86
  }
86
87
  unlock();
87
88
  return changed;
@@ -177,7 +178,7 @@ export class RouterOutlet {
177
178
  return true;
178
179
  }
179
180
  render() {
180
- return h("slot", { key: '8d0c163c5f63158e16ef2db7cc3c756cf597461d' });
181
+ return h("slot", { key: 'e34e02b5154172c8d5cdd187b6ea58119b6946eb' });
181
182
  }
182
183
  static get is() { return "ion-router-outlet"; }
183
184
  static get encapsulation() { return "shadow"; }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { Host, forceUpdate, h } from "@stencil/core";
5
5
  import { addEventListener, removeEventListener, inheritAttributes } from "../../utils/helpers";
6
+ import { printIonError, printIonWarning } from "../../utils/logging/index";
6
7
  import { hostContext } from "../../utils/theme";
7
8
  import { getIonMode } from "../../global/ionic-global";
8
9
  let ids = 0;
@@ -48,7 +49,7 @@ export class SegmentButton {
48
49
  }
49
50
  // Prevent buttons from being disabled when associated with segment content
50
51
  if (this.contentId && this.disabled) {
51
- console.warn(`Segment Button: Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
52
+ printIonWarning(`[ion-segment-button] - Segment buttons cannot be disabled when associated with an <ion-segment-content>.`);
52
53
  this.disabled = false;
53
54
  }
54
55
  }
@@ -69,12 +70,12 @@ export class SegmentButton {
69
70
  const segmentContent = document.getElementById(this.contentId);
70
71
  // If no associated Segment Content exists, log an error and return
71
72
  if (!segmentContent) {
72
- console.error(`Segment Button: Unable to find Segment Content with id="${this.contentId}".`);
73
+ printIonError(`[ion-segment-button] - Unable to find Segment Content with id="${this.contentId}".`);
73
74
  return;
74
75
  }
75
76
  // Ensure the found element is a valid ION-SEGMENT-CONTENT
76
77
  if (segmentContent.tagName !== 'ION-SEGMENT-CONTENT') {
77
- console.error(`Segment Button: Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
78
+ printIonError(`[ion-segment-button] - Element with id="${this.contentId}" is not an <ion-segment-content> element.`);
78
79
  return;
79
80
  }
80
81
  }
@@ -99,7 +100,7 @@ export class SegmentButton {
99
100
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
100
101
  const mode = getIonMode(this);
101
102
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
102
- return (h(Host, { key: 'f2f679a08b131cd35d63f649b9d1f1907df30a89', class: {
103
+ return (h(Host, { key: 'd79dad80db69123510c6d52bbf4424558600c14a', class: {
103
104
  [mode]: true,
104
105
  'in-toolbar': hostContext('ion-toolbar', this.el),
105
106
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -115,7 +116,7 @@ export class SegmentButton {
115
116
  'ion-activatable': true,
116
117
  'ion-activatable-instant': true,
117
118
  'ion-focusable': true,
118
- } }, h("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), h("span", { key: '73b795c39cb09438e50922abf6b3a010e31fa2b6', class: "button-inner" }, h("slot", { key: '9769ddc917d7e459bd80dcd81c10c379e73d1b3e' })), mode === 'md' && h("ion-ripple-effect", { key: '8e4c06d6bae1034af8cc5db86fcca0ae72d042b1' })), h("div", { key: 'ae73ee0e429e54a43269f99b6d3d7e1c6e8f60cc', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'd38eabe8161403799cfbad73dd6bf912d965442c', part: "indicator-background", class: "segment-button-indicator-background" }))));
119
+ } }, h("button", Object.assign({ key: '781fd7fef443a2fbd404b8a399d1203794759a69', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '64df08f60ea17481183f8ad284884b9979eaeb24', class: "button-inner" }, h("slot", { key: '2b7ef328023ab5ccc0adc6f865e5e7121467eeb8' })), mode === 'md' && h("ion-ripple-effect", { key: '1fd5e6179227925a03b6c3b5258bbf4ea99bfef1' })), h("div", { key: 'dbcedad6988b0eadeebe02bdafdedb8eb37af19c', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'f4f1789f66bdfa2de5445bc0d292116a93bad7cc', part: "indicator-background", class: "segment-button-indicator-background" }))));
119
120
  }
120
121
  static get is() { return "ion-segment-button"; }
121
122
  static get encapsulation() { return "shadow"; }
@@ -4,6 +4,7 @@
4
4
  import { Host, h, forceUpdate } from "@stencil/core";
5
5
  import { compareOptions, createNotchController, isOptionSelected } from "../../utils/forms/index";
6
6
  import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
7
+ import { printIonWarning } from "../../utils/logging/index";
7
8
  import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
8
9
  import { isRTL } from "../../utils/rtl/index";
9
10
  import { createColorClasses, hostContext } from "../../utils/theme";
@@ -243,11 +244,11 @@ export class Select {
243
244
  createOverlay(ev) {
244
245
  let selectInterface = this.interface;
245
246
  if (selectInterface === 'action-sheet' && this.multiple) {
246
- console.warn(`Select interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
247
+ printIonWarning(`[ion-select] - Interface cannot be "${selectInterface}" with a multi-value select. Using the "alert" interface instead.`);
247
248
  selectInterface = 'alert';
248
249
  }
249
250
  if (selectInterface === 'popover' && !ev) {
250
- console.warn(`Select interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
251
+ printIonWarning(`[ion-select] - Interface cannot be a "${selectInterface}" without passing an event. Using the "alert" interface instead.`);
251
252
  selectInterface = 'alert';
252
253
  }
253
254
  if (selectInterface === 'action-sheet') {
@@ -731,7 +732,7 @@ export class Select {
731
732
  * TODO(FW-5592): Remove hasStartEndSlots condition
732
733
  */
733
734
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
734
- return (h(Host, { key: 'aa7bd7fbb6479c7805486990650a406e5470fd13', onClick: this.onClick, class: createColorClasses(this.color, {
735
+ return (h(Host, { key: '2314f2d2d02827e6728892311cd566dd91840956', onClick: this.onClick, class: createColorClasses(this.color, {
735
736
  [mode]: true,
736
737
  'in-item': inItem,
737
738
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -747,7 +748,7 @@ export class Select {
747
748
  [`select-justify-${justify}`]: justifyEnabled,
748
749
  [`select-shape-${shape}`]: shape !== undefined,
749
750
  [`select-label-placement-${labelPlacement}`]: true,
750
- }) }, h("label", { key: 'fde3cdfd0ef7d1a20263e35ff4358ee7f61a789f', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '6fb8deedc827b6be2f19f9e57a62efefaaba200f', class: "select-wrapper-inner" }, h("slot", { key: 'a57a204ea1cbd9c4bac338f14e196e780dab0a10', name: "start" }), h("div", { key: '78b83e1484a446537e038527d539d997e330cd69', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9fc660134e5247c4e5243c7d9d71ac6cec08705d', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '7f143285efa7fd7756dfdc5517ca33e84c8a027e', class: "select-highlight" })), this.renderBottomContent()));
751
+ }) }, h("label", { key: '533d0fa45a3f5a2836ae92f669901d99a54120c0', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: 'cf6bdd44f012b8ff5cbd04b23c839db708b1ce8c', class: "select-wrapper-inner" }, h("slot", { key: '68a58f8469acbfdd84c326034f9da3e2aba9b178', name: "start" }), h("div", { key: '216f4f68c1a799e61cef7c3291e7307dec005ca9', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '9de291427f968aa6557b926fba3d6cac9915d20c', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e41efa0a5944a0972f87822cb9005087bedab846', class: "select-highlight" })), this.renderBottomContent()));
751
752
  }
752
753
  static get is() { return "ion-select"; }
753
754
  static get encapsulation() { return "shadow"; }
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Build, Host, h } from "@stencil/core";
5
+ import { printIonWarning } from "../../utils/logging/index";
5
6
  import { getIonMode } from "../../global/ionic-global";
6
7
  // TODO(FW-2832): types
7
8
  const SPLIT_PANE_MAIN = 'split-pane-main';
@@ -103,7 +104,7 @@ export class SplitPane {
103
104
  const isMain = contentId !== undefined && child.id === contentId;
104
105
  if (isMain) {
105
106
  if (foundMain) {
106
- console.warn('split pane cannot have more than one main node');
107
+ printIonWarning('[ion-split-pane] - Cannot have more than one main node.');
107
108
  return;
108
109
  }
109
110
  else {
@@ -113,17 +114,17 @@ export class SplitPane {
113
114
  }
114
115
  }
115
116
  if (!foundMain) {
116
- console.warn('split pane does not have a specified main node');
117
+ printIonWarning('[ion-split-pane] - Does not have a specified main node.');
117
118
  }
118
119
  }
119
120
  render() {
120
121
  const mode = getIonMode(this);
121
- return (h(Host, { key: '76be70d7fbebc52646a5851f47accc1006615b85', class: {
122
+ return (h(Host, { key: '098801b5a318e2fc6913fb0d9079b1552927b99b', class: {
122
123
  [mode]: true,
123
124
  // Used internally for styling
124
125
  [`split-pane-${mode}`]: true,
125
126
  'split-pane-visible': this.visible,
126
- } }, h("slot", { key: '9a859530f4fb18aff43255bc3940feb9aca625d7' })));
127
+ } }, h("slot", { key: '8cbc6a942ecba54fc3c62027d46917db067b65c8' })));
127
128
  }
128
129
  static get is() { return "ion-split-pane"; }
129
130
  static get encapsulation() { return "shadow"; }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { Build, Host, h } from "@stencil/core";
5
5
  import { attachComponent } from "../../utils/framework-delegate";
6
+ import { printIonError } from "../../utils/logging/index";
6
7
  export class Tab {
7
8
  constructor() {
8
9
  this.loaded = false;
@@ -14,7 +15,7 @@ export class Tab {
14
15
  async componentWillLoad() {
15
16
  if (Build.isDev) {
16
17
  if (this.component !== undefined && this.el.childElementCount > 0) {
17
- console.error('You can not use a lazy-loaded component in a tab and inlined content at the same time.' +
18
+ printIonError('[ion-tab] - You can not use a lazy-loaded component in a tab and inlined content at the same time.' +
18
19
  `- Remove the component attribute in: <ion-tab component="${this.component}">` +
19
20
  ` or` +
20
21
  `- Remove the embedded content inside the ion-tab: <ion-tab></ion-tab>`);
@@ -41,17 +42,17 @@ export class Tab {
41
42
  return attachComponent(this.delegate, this.el, this.component, ['ion-page']);
42
43
  }
43
44
  catch (e) {
44
- console.error(e);
45
+ printIonError('[ion-tab] - Exception in prepareLazyLoaded:', e);
45
46
  }
46
47
  }
47
48
  return Promise.resolve(undefined);
48
49
  }
49
50
  render() {
50
51
  const { tab, active, component } = this;
51
- return (h(Host, { key: '2107ece2f1ebdf748bac8adb78a9ad67e7fc9057', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
52
+ return (h(Host, { key: 'c36c113e74e12b58459df9e3b546ad4856187e90', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
52
53
  'ion-page': component === undefined,
53
54
  'tab-hidden': !active,
54
- } }, h("slot", { key: 'b4a1bc1aa79f6b82b8f77b544bcb74e65229b541' })));
55
+ } }, h("slot", { key: '0d7821dac70ba7a12edfb3331988f3df1566cc1a' })));
55
56
  }
56
57
  static get is() { return "ion-tab"; }
57
58
  static get encapsulation() { return "shadow"; }
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
+ import { printIonError } from "../../utils/logging/index";
5
6
  /**
6
7
  * @slot - Content is placed between the named slots if provided without a slot.
7
8
  * @slot top - Content is placed at the top of the screen.
@@ -145,7 +146,7 @@ export class Tabs {
145
146
  return Array.from(this.el.querySelectorAll('ion-tab'));
146
147
  }
147
148
  render() {
148
- return (h(Host, { key: 'd357c4607cfc89fb88404fe12ea7ef5b397fe6bf', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '18661896589a4ab3c74164f448b928abec9b4db0', name: "top" }), h("div", { key: '3bf30ea2540a196e868a78a861824b4b5d933afd', class: "tabs-inner" }, h("slot", { key: '7cfc154d4d6c1642188ab6508a6be72c8234585e' })), h("slot", { key: '8057679c959195cbdfae156b8ae0cbfd978c5037', name: "bottom" })));
149
+ return (h(Host, { key: '20b97196d78c1b3f3faf31618a8a2347e087f06b', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: 'b0823fbae6e47743cfd12c376b365ad7e32cec7c', name: "top" }), h("div", { key: 'eaffd7e4d69ab9489a387e3bbb36e3bab72203a0', class: "tabs-inner" }, h("slot", { key: '20bb66a2937e3ec473aa59c4075ce581b5411677' })), h("slot", { key: '1529dd361f050f52074f51c73b3982ba827dc3a5', name: "bottom" })));
149
150
  }
150
151
  static get is() { return "ion-tabs"; }
151
152
  static get encapsulation() { return "shadow"; }
@@ -376,7 +377,7 @@ export class Tabs {
376
377
  const getTab = (tabs, tab) => {
377
378
  const tabEl = typeof tab === 'string' ? tabs.find((t) => t.tab === tab) : tab;
378
379
  if (!tabEl) {
379
- console.error(`tab with id: "${tabEl}" does not exist`);
380
+ printIonError(`[ion-tabs] - Tab with id: "${tabEl}" does not exist`);
380
381
  }
381
382
  return tabEl;
382
383
  };
@@ -75,7 +75,7 @@ export function getAnimationPosition(position, positionAnchor, mode, toast) {
75
75
  */
76
76
  function warnIfAnchorIsHidden(positionAnchor, toast) {
77
77
  if (positionAnchor.offsetParent === null) {
78
- 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);
78
+ 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);
79
79
  }
80
80
  }
81
81
  /**
@@ -5,7 +5,7 @@ import { h, Host } from "@stencil/core";
5
5
  import { ENABLE_HTML_CONTENT_DEFAULT } from "../../utils/config";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { createLockController } from "../../utils/lock-controller";
8
- import { printIonWarning } from "../../utils/logging/index";
8
+ import { printIonError, printIonWarning } from "../../utils/logging/index";
9
9
  import { GESTURE, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
10
10
  import { sanitizeDOMString } from "../../utils/sanitization/index";
11
11
  import { createColorClasses, getClassMap } from "../../utils/theme";
@@ -291,7 +291,7 @@ export class Toast {
291
291
  return;
292
292
  }
293
293
  if (position === 'middle' && positionAnchor !== undefined) {
294
- printIonWarning('The positionAnchor property is ignored when using position="middle".', this.el);
294
+ printIonWarning('[ion-toast] - The positionAnchor property is ignored when using position="middle".', this.el);
295
295
  return undefined;
296
296
  }
297
297
  if (typeof positionAnchor === 'string') {
@@ -303,7 +303,7 @@ export class Toast {
303
303
  */
304
304
  const foundEl = document.getElementById(positionAnchor);
305
305
  if (foundEl === null) {
306
- printIonWarning(`An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
306
+ printIonWarning(`[ion-toast] - An anchor element with an ID of "${positionAnchor}" was not found in the DOM.`, el);
307
307
  return undefined;
308
308
  }
309
309
  return foundEl;
@@ -311,7 +311,7 @@ export class Toast {
311
311
  if (positionAnchor instanceof HTMLElement) {
312
312
  return positionAnchor;
313
313
  }
314
- printIonWarning('Invalid positionAnchor value:', positionAnchor, el);
314
+ printIonWarning('[ion-toast] - Invalid positionAnchor value:', positionAnchor, el);
315
315
  return undefined;
316
316
  }
317
317
  async buttonClick(button) {
@@ -337,7 +337,7 @@ export class Toast {
337
337
  }
338
338
  }
339
339
  catch (e) {
340
- console.error(e);
340
+ printIonError('[ion-toast] - Exception in callButtonHandler:', e);
341
341
  }
342
342
  }
343
343
  return true;
@@ -389,11 +389,11 @@ export class Toast {
389
389
  * used with one type of button.
390
390
  */
391
391
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
392
- 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);
392
+ 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);
393
393
  }
394
- return (h(Host, Object.assign({ key: '34036afc0701173d51c9c11ea4a2e1d65685ba41', tabindex: "-1" }, this.htmlAttributes, { style: {
394
+ return (h(Host, Object.assign({ key: 'a2216d860255c99337464370dcb12f6125871a50', tabindex: "-1" }, this.htmlAttributes, { style: {
395
395
  zIndex: `${60000 + this.overlayIndex}`,
396
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'd927e43957f47888ce4e64f1e99c935d55757af7', class: wrapperClass }, h("div", { key: 'ca43bc42478181acdf8cdea6601a85fa95d12216', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'fdd6fb8f6e947ed002bd2e63fdc8ec7e764f4a7d', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("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')))));
396
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: 'd5adf8bc4c6c52431600033a76c4795689f9b412', class: wrapperClass }, h("div", { key: 'ab694497ae37ceba123217eb48800129b9bebb84', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: '224854fa3989ce0eb69416cb5b0cc55fc9f131ea', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'c8e11fb5bdac202987f5c8613a0ebbd42bda946e', class: "toast-content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
397
397
  }
398
398
  static get is() { return "ion-toast"; }
399
399
  static get encapsulation() { return "shadow"; }
@@ -75,6 +75,7 @@
75
75
  display: inline-block;
76
76
  position: relative;
77
77
  max-width: 100%;
78
+ outline: none;
78
79
  cursor: pointer;
79
80
  user-select: none;
80
81
  z-index: 2;
@@ -106,12 +107,23 @@
106
107
  pointer-events: none;
107
108
  }
108
109
 
109
- /**
110
- * The native input must be hidden with display instead of visibility or
111
- * aria-hidden to avoid accessibility issues with nested interactive elements.
112
- */
113
110
  input {
114
- display: none;
111
+ position: absolute;
112
+ top: 0;
113
+ left: 0;
114
+ right: 0;
115
+ bottom: 0;
116
+ width: 100%;
117
+ height: 100%;
118
+ margin: 0;
119
+ padding: 0;
120
+ border: 0;
121
+ outline: 0;
122
+ clip: rect(0 0 0 0);
123
+ opacity: 0;
124
+ overflow: hidden;
125
+ -webkit-appearance: none;
126
+ -moz-appearance: none;
115
127
  }
116
128
 
117
129
  .toggle-wrapper {
@@ -24,7 +24,6 @@ import { getIonMode } from "../../global/ionic-global";
24
24
  export class Toggle {
25
25
  constructor() {
26
26
  this.inputId = `ion-tg-${toggleIds++}`;
27
- this.inputLabelId = `${this.inputId}-lbl`;
28
27
  this.helperTextId = `${this.inputId}-helper-text`;
29
28
  this.errorTextId = `${this.inputId}-error-text`;
30
29
  this.lastDrag = 0;
@@ -46,14 +45,6 @@ export class Toggle {
46
45
  this.disabledChanged();
47
46
  }
48
47
  };
49
- this.onKeyDown = (ev) => {
50
- if (ev.key === ' ') {
51
- ev.preventDefault();
52
- if (!this.disabled) {
53
- this.toggleChecked();
54
- }
55
- }
56
- };
57
48
  this.onClick = (ev) => {
58
49
  if (this.disabled) {
59
50
  return;
@@ -196,12 +187,12 @@ export class Toggle {
196
187
  return (h("div", { class: "toggle-bottom" }, h("div", { id: helperTextId, class: "helper-text", part: "supporting-text helper-text" }, helperText), h("div", { id: errorTextId, class: "error-text", part: "supporting-text error-text" }, errorText)));
197
188
  }
198
189
  render() {
199
- const { activated, alignment, checked, color, disabled, el, errorTextId, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
190
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
200
191
  const mode = getIonMode(this);
201
192
  const value = this.getValue();
202
193
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
203
194
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
204
- return (h(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(color, {
195
+ return (h(Host, { key: 'c6db7f5bc0b358944c0d79e24aeb4d319793422f', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses(color, {
205
196
  [mode]: true,
206
197
  'in-item': hostContext('ion-item', el),
207
198
  'toggle-activated': activated,
@@ -211,10 +202,10 @@ export class Toggle {
211
202
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
212
203
  [`toggle-label-placement-${labelPlacement}`]: true,
213
204
  [`toggle-${rtl}`]: true,
214
- }) }, h("label", { key: '723cfac071ee5ec5c75984fc64762209452e9eea', class: "toggle-wrapper", htmlFor: inputId }, h("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)), h("div", { key: '00a4415539ef677be9f6981afddcec61f7fe9487', class: {
205
+ }) }, h("label", { key: 'f49531391f4513d084061c27ebc4c4eb1dcd02ab', class: "toggle-wrapper" }, h("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)), h("div", { key: '85674bfab5ec1e422c787d025c4f9f5b3aadd4f2', class: {
215
206
  'label-text-wrapper': true,
216
- 'label-text-wrapper-hidden': !hasLabel,
217
- }, part: "label", id: inputLabelId }, h("slot", { key: '7ce338bd5116337c9ea90805fdee7285ef7c5811' }), this.renderHintText()), h("div", { key: 'ecb5dfd2c7b534e357cba272dd4f189728555b3a', class: "native-wrapper" }, this.renderToggleControl()))));
207
+ 'label-text-wrapper-hidden': !this.hasLabel,
208
+ }, part: "label" }, h("slot", { key: '9bdf7e85c95dc7373f18894ebfe6ad022f098107' }), this.renderHintText()), h("div", { key: '33883642b38421a82001e37db3dd5e5c643785b0', class: "native-wrapper" }, this.renderToggleControl()))));
218
209
  }
219
210
  static get is() { return "ion-toggle"; }
220
211
  static get encapsulation() { return "shadow"; }
@@ -75,6 +75,7 @@
75
75
  display: inline-block;
76
76
  position: relative;
77
77
  max-width: 100%;
78
+ outline: none;
78
79
  cursor: pointer;
79
80
  user-select: none;
80
81
  z-index: 2;
@@ -106,12 +107,23 @@
106
107
  pointer-events: none;
107
108
  }
108
109
 
109
- /**
110
- * The native input must be hidden with display instead of visibility or
111
- * aria-hidden to avoid accessibility issues with nested interactive elements.
112
- */
113
110
  input {
114
- display: none;
111
+ position: absolute;
112
+ top: 0;
113
+ left: 0;
114
+ right: 0;
115
+ bottom: 0;
116
+ width: 100%;
117
+ height: 100%;
118
+ margin: 0;
119
+ padding: 0;
120
+ border: 0;
121
+ outline: 0;
122
+ clip: rect(0 0 0 0);
123
+ opacity: 0;
124
+ overflow: hidden;
125
+ -webkit-appearance: none;
126
+ -moz-appearance: none;
115
127
  }
116
128
 
117
129
  .toggle-wrapper {
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { getMode, setMode } from "@stencil/core";
5
+ import { printIonWarning } from "../utils/logging/index";
5
6
  import { isPlatform, setupPlatforms } from "../utils/platform";
6
7
  import { config, configFromSession, configFromURL, saveConfig } from "./config";
7
8
  // TODO(FW-2832): types
@@ -46,7 +47,7 @@ export const initialize = (userConfig = {}) => {
46
47
  return elmMode;
47
48
  }
48
49
  else if (isIonicElement(elm)) {
49
- console.warn('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
50
+ printIonWarning('Invalid ionic mode: "' + elmMode + '", expected: "ios" or "md"');
50
51
  }
51
52
  }
52
53
  elm = elm.parentElement;
@@ -10,7 +10,7 @@ export { getTimeGivenProgression } from './utils/animation/cubic-bezier';
10
10
  export { createGesture } from './utils/gesture';
11
11
  export { initialize } from './global/ionic-global';
12
12
  export { componentOnReady } from './utils/helpers';
13
- export { printIonError, printIonWarning } from './utils/logging';
13
+ export { LogLevel } from './utils/logging';
14
14
  export { isPlatform, getPlatforms } from './utils/platform';
15
15
  export { IonicSafeString } from './utils/sanitization';
16
16
  export { getMode, setupConfig } from './utils/config';
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { printIonError } from "../logging/index";
4
5
  import { win } from "../browser";
5
6
  import { addClassToArray, setStyleProperty } from "./animation-utils";
6
7
  export const createAnimation = (animationId) => {
@@ -345,7 +346,7 @@ export const createAnimation = (animationId) => {
345
346
  }
346
347
  }
347
348
  else {
348
- console.error('Invalid addElement value');
349
+ printIonError('createAnimation - Invalid addElement value.');
349
350
  }
350
351
  }
351
352
  return ani;
@@ -2,6 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { win } from "./browser/index";
5
+ import { printIonError } from "./logging/index";
5
6
  import { config } from "../global/config";
6
7
  /**
7
8
  * CloseWatcher is a newer API that lets
@@ -57,7 +58,7 @@ export const startHardwareBackButton = () => {
57
58
  }
58
59
  }
59
60
  catch (e) {
60
- console.error(e);
61
+ printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
61
62
  }
62
63
  };
63
64
  const processHandlers = () => {
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { printIonError } from "./logging/index";
4
5
  export const transitionEndAsync = (el, expectedDuration = 0) => {
5
6
  return new Promise((resolve) => {
6
7
  transitionEnd(el, expectedDuration, resolve);
@@ -251,7 +252,7 @@ export const clamp = (min, n, max) => {
251
252
  export const assert = (actual, reason) => {
252
253
  if (!actual) {
253
254
  const message = 'ASSERT: ' + reason;
254
- console.error(message);
255
+ printIonError(message);
255
256
  debugger; // eslint-disable-line
256
257
  throw new Error(message);
257
258
  }
@@ -2,6 +2,12 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { config } from "../../global/config";
5
+ export var LogLevel;
6
+ (function (LogLevel) {
7
+ LogLevel["OFF"] = "OFF";
8
+ LogLevel["ERROR"] = "ERROR";
9
+ LogLevel["WARN"] = "WARN";
10
+ })(LogLevel || (LogLevel = {}));
5
11
  /**
6
12
  * Logs a warning to the console with an Ionic prefix
7
13
  * to indicate the library that is warning the developer.
@@ -9,9 +15,8 @@ import { config } from "../../global/config";
9
15
  * @param message - The string message to be logged to the console.
10
16
  */
11
17
  export const printIonWarning = (message, ...params) => {
12
- console.log('printIonWarning', config.get('logLevel'));
13
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
14
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
18
+ const logLevel = config.get('logLevel', LogLevel.WARN);
19
+ if ([LogLevel.WARN].includes(logLevel)) {
15
20
  return console.warn(`[Ionic Warning]: ${message}`, ...params);
16
21
  }
17
22
  };
@@ -23,9 +28,8 @@ export const printIonWarning = (message, ...params) => {
23
28
  * @param params - Additional arguments to supply to the console.error.
24
29
  */
25
30
  export const printIonError = (message, ...params) => {
26
- console.log('printIonError', config.get('logLevel'));
27
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
28
- if (["ERROR" /* LogLevel.ERROR */, "WARN" /* LogLevel.WARN */].includes(logLevel)) {
31
+ const logLevel = config.get('logLevel', LogLevel.ERROR);
32
+ if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
29
33
  return console.error(`[Ionic Error]: ${message}`, ...params);
30
34
  }
31
35
  };