voyager-ionic-core 8.5.1 → 8.5.5

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 (632) hide show
  1. package/components/alert.js +5 -4
  2. package/components/animation.js +3 -2
  3. package/components/button.js +6 -6
  4. package/components/capacitor.js +1 -1
  5. package/components/checkbox.js +18 -6
  6. package/components/config.js +3 -1
  7. package/components/data.js +3 -3
  8. package/components/hardware-back-button.js +3 -3
  9. package/components/helpers.js +4 -12
  10. package/components/index.js +2 -1
  11. package/components/index2.js +1 -2
  12. package/components/index4.js +104 -289
  13. package/components/index5.js +302 -3
  14. package/components/index6.js +3 -38
  15. package/components/index8.js +1 -1
  16. package/components/index9.js +2 -2
  17. package/components/input-shims.js +1 -1
  18. package/components/input.utils.js +3 -3
  19. package/components/ion-accordion-group.js +4 -4
  20. package/components/ion-accordion.js +2 -1
  21. package/components/ion-app.js +4 -4
  22. package/components/ion-back-button.js +2 -1
  23. package/components/ion-datetime-button.js +7 -7
  24. package/components/ion-datetime.js +20 -20
  25. package/components/ion-infinite-scroll-content.js +2 -1
  26. package/components/ion-input-password-toggle.js +6 -6
  27. package/components/ion-input.js +3 -3
  28. package/components/ion-item-sliding.js +3 -2
  29. package/components/ion-loading.js +2 -1
  30. package/components/ion-menu-button.js +3 -2
  31. package/components/ion-menu-toggle.js +1 -1
  32. package/components/ion-menu.js +7 -6
  33. package/components/ion-nav.js +5 -5
  34. package/components/ion-picker-legacy.js +4 -4
  35. package/components/ion-progress-bar.js +2 -1
  36. package/components/ion-range.js +24 -8
  37. package/components/ion-refresher-content.js +2 -1
  38. package/components/ion-refresher.js +3 -2
  39. package/components/ion-router-outlet.js +4 -3
  40. package/components/ion-router.js +9 -8
  41. package/components/ion-searchbar.js +2 -1
  42. package/components/ion-segment-button.js +22 -52
  43. package/components/ion-segment-content.js +1 -1
  44. package/components/ion-select.js +14 -7
  45. package/components/ion-skeleton-text.js +2 -1
  46. package/components/ion-split-pane.js +5 -4
  47. package/components/ion-tab-button.js +2 -1
  48. package/components/ion-tab.js +5 -4
  49. package/components/ion-tabs.js +3 -2
  50. package/components/ion-textarea.js +2 -2
  51. package/components/ion-toast.js +11 -11
  52. package/components/ion-toggle.js +18 -8
  53. package/components/ionic-global.js +3 -77
  54. package/components/keyboard-controller.js +1 -1
  55. package/components/menu-toggle-util.js +1 -1
  56. package/components/modal.js +10 -10
  57. package/components/notch-controller.js +1 -1
  58. package/components/overlays.js +9 -8
  59. package/components/picker-column.js +1 -1
  60. package/components/picker.js +54 -77
  61. package/components/popover.js +4 -4
  62. package/components/spinner.js +2 -1
  63. package/dist/cjs/{animation-b4fdf128.js → animation-ab2d3449.js} +4 -3
  64. package/dist/cjs/{app-globals-dd592863.js → app-globals-ddceb1f4.js} +1 -1
  65. package/dist/cjs/{config-4f60b98a.js → config-f6225ae7.js} +3 -1
  66. package/dist/cjs/{data-27cc2c9c.js → data-94e8d392.js} +3 -3
  67. package/dist/cjs/{framework-delegate-11b0ba2f.js → framework-delegate-862d9d00.js} +1 -1
  68. package/dist/cjs/{hardware-back-button-5a99001f.js → hardware-back-button-3d2b1004.js} +7 -8
  69. package/dist/cjs/{helpers-d0dfbb50.js → helpers-8a48fdea.js} +3 -12
  70. package/dist/cjs/{index-f68a486a.js → index-1eff7149.js} +7 -8
  71. package/dist/cjs/{index-9b945a2d.js → index-31b07b9c.js} +2 -2
  72. package/dist/cjs/{index-fd6383b6.js → index-a96d31ae.js} +5 -5
  73. package/dist/cjs/index-cc858e97.js +129 -0
  74. package/dist/cjs/{index-363fe6b2.js → index-dbe01e08.js} +2 -1
  75. package/dist/cjs/index.cjs.js +19 -13
  76. package/dist/cjs/{input-shims-2d27a5be.js → input-shims-415be7ee.js} +3 -5
  77. package/dist/cjs/{input.utils-2f642324.js → input.utils-a7957fd6.js} +3 -3
  78. package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -9
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
  80. package/dist/cjs/ion-alert.cjs.entry.js +12 -12
  81. package/dist/cjs/ion-app_8.cjs.entry.js +23 -23
  82. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -1
  83. package/dist/cjs/ion-back-button.cjs.entry.js +8 -7
  84. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -1
  85. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -2
  86. package/dist/cjs/ion-button_2.cjs.entry.js +8 -8
  87. package/dist/cjs/ion-card_5.cjs.entry.js +3 -2
  88. package/dist/cjs/ion-checkbox.cjs.entry.js +21 -8
  89. package/dist/cjs/ion-chip.cjs.entry.js +2 -1
  90. package/dist/cjs/ion-col_3.cjs.entry.js +2 -1
  91. package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -10
  92. package/dist/cjs/ion-datetime_3.cjs.entry.js +30 -30
  93. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -2
  94. package/dist/cjs/ion-img.cjs.entry.js +3 -2
  95. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  96. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -7
  97. package/dist/cjs/ion-input.cjs.entry.js +8 -8
  98. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  99. package/dist/cjs/ion-item_8.cjs.entry.js +4 -3
  100. package/dist/cjs/ion-loading.cjs.entry.js +10 -10
  101. package/dist/cjs/ion-menu_3.cjs.entry.js +24 -24
  102. package/dist/cjs/ion-modal.cjs.entry.js +18 -18
  103. package/dist/cjs/ion-nav_2.cjs.entry.js +18 -18
  104. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -2
  105. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -2
  106. package/dist/cjs/ion-picker.cjs.entry.js +56 -78
  107. package/dist/cjs/ion-popover.cjs.entry.js +11 -11
  108. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -3
  109. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -2
  110. package/dist/cjs/ion-range.cjs.entry.js +27 -11
  111. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -14
  112. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  113. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -1
  114. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  115. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -7
  116. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  117. package/dist/cjs/ion-segment_2.cjs.entry.js +23 -53
  118. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  119. package/dist/cjs/ion-select_3.cjs.entry.js +21 -16
  120. package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
  121. package/dist/cjs/ion-split-pane.cjs.entry.js +6 -5
  122. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -3
  123. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  124. package/dist/cjs/ion-text.cjs.entry.js +2 -1
  125. package/dist/cjs/ion-textarea.cjs.entry.js +7 -7
  126. package/dist/cjs/ion-toast.cjs.entry.js +18 -18
  127. package/dist/cjs/ion-toggle.cjs.entry.js +20 -10
  128. package/dist/cjs/{ionic-global-acb665ad.js → ionic-global-6dea5a96.js} +15 -90
  129. package/dist/cjs/ionic.cjs.js +4 -3
  130. package/dist/cjs/{ios.transition-f970164c.js → ios.transition-a131cd4d.js} +4 -5
  131. package/dist/cjs/loader.cjs.js +4 -3
  132. package/dist/cjs/{md.transition-aa8820dd.js → md.transition-e018ebe5.js} +4 -5
  133. package/dist/cjs/{notch-controller-58d2e557.js → notch-controller-09b7f358.js} +1 -1
  134. package/dist/cjs/{overlays-737576a2.js → overlays-4c291a05.js} +21 -20
  135. package/dist/cjs/{status-tap-08d1ac81.js → status-tap-f1acefac.js} +3 -4
  136. package/dist/cjs/{swipe-back-5c0003bd.js → swipe-back-442ca3d7.js} +2 -1
  137. package/dist/collection/components/accordion-group/accordion-group.js +3 -3
  138. package/dist/collection/components/alert/alert.js +4 -3
  139. package/dist/collection/components/app/app.js +2 -2
  140. package/dist/collection/components/button/button.js +5 -5
  141. package/dist/collection/components/checkbox/checkbox.ios.css +5 -16
  142. package/dist/collection/components/checkbox/checkbox.js +16 -4
  143. package/dist/collection/components/checkbox/checkbox.md.css +5 -16
  144. package/dist/collection/components/datetime/datetime.js +14 -14
  145. package/dist/collection/components/datetime/utils/comparison.js +1 -1
  146. package/dist/collection/components/datetime/utils/parse.js +1 -1
  147. package/dist/collection/components/datetime/utils/state.js +1 -1
  148. package/dist/collection/components/datetime/utils/validate.js +4 -4
  149. package/dist/collection/components/datetime-button/datetime-button.js +6 -6
  150. package/dist/collection/components/input/input.js +3 -3
  151. package/dist/collection/components/input/input.utils.js +1 -1
  152. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -5
  153. package/dist/collection/components/item-sliding/item-sliding.js +3 -2
  154. package/dist/collection/components/menu/menu.js +5 -4
  155. package/dist/collection/components/modal/modal.js +7 -7
  156. package/dist/collection/components/nav/nav.js +3 -3
  157. package/dist/collection/components/picker/picker.js +54 -77
  158. package/dist/collection/components/picker-legacy/picker.js +3 -3
  159. package/dist/collection/components/popover/popover.js +3 -3
  160. package/dist/collection/components/range/range.js +23 -7
  161. package/dist/collection/components/refresher/refresher.js +3 -2
  162. package/dist/collection/components/router/router.js +8 -7
  163. package/dist/collection/components/router/utils/dom.js +2 -1
  164. package/dist/collection/components/router-outlet/router-outlet.js +3 -2
  165. package/dist/collection/components/segment-button/segment-button.js +22 -52
  166. package/dist/collection/components/segment-content/segment-content.css +9 -0
  167. package/dist/collection/components/select/select.ios.css +5 -3
  168. package/dist/collection/components/select/select.js +13 -6
  169. package/dist/collection/components/select/select.md.css +55 -16
  170. package/dist/collection/components/split-pane/split-pane.js +5 -4
  171. package/dist/collection/components/tab/tab.js +5 -4
  172. package/dist/collection/components/tabs/tabs.js +3 -2
  173. package/dist/collection/components/textarea/textarea.js +2 -2
  174. package/dist/collection/components/toast/animations/utils.js +1 -1
  175. package/dist/collection/components/toast/toast.js +8 -8
  176. package/dist/collection/components/toggle/toggle.ios.css +5 -17
  177. package/dist/collection/components/toggle/toggle.js +14 -5
  178. package/dist/collection/components/toggle/toggle.md.css +5 -17
  179. package/dist/collection/global/ionic-global.js +2 -1
  180. package/dist/collection/index.js +1 -0
  181. package/dist/collection/utils/animation/animation.js +2 -1
  182. package/dist/collection/utils/hardware-back-button.js +2 -1
  183. package/dist/collection/utils/helpers.js +2 -11
  184. package/dist/collection/utils/logging/index.js +10 -4
  185. package/dist/collection/utils/overlays.js +7 -6
  186. package/dist/collection/utils/sanitization/index.js +2 -1
  187. package/dist/docs.json +1 -1
  188. package/dist/esm/{animation-eab5a4ca.js → animation-8b25e105.js} +2 -1
  189. package/dist/esm/{app-globals-7b6cbf1a.js → app-globals-dbdbb3df.js} +1 -1
  190. package/dist/esm/{config-49c88215.js → config-9898ed97.js} +3 -1
  191. package/dist/esm/{data-174ad5e0.js → data-0d7ea6eb.js} +3 -3
  192. package/dist/esm/{framework-delegate-c7d92b77.js → framework-delegate-56b467ad.js} +1 -1
  193. package/dist/esm/{hardware-back-button-864101a3.js → hardware-back-button-a7eb8233.js} +2 -3
  194. package/dist/esm/{helpers-e48b0397.js → helpers-d94bc8ad.js} +4 -12
  195. package/dist/esm/{index-c63afbe6.js → index-18f31305.js} +5 -5
  196. package/dist/esm/{index-a313df53.js → index-68c0d151.js} +4 -5
  197. package/dist/esm/{index-933ca126.js → index-9a17db3d.js} +2 -2
  198. package/dist/esm/{index-8222b29f.js → index-be190feb.js} +2 -1
  199. package/dist/esm/index-cfd9c1f2.js +121 -0
  200. package/dist/esm/index.js +12 -12
  201. package/dist/esm/{input-shims-3070628a.js → input-shims-279903e2.js} +3 -5
  202. package/dist/esm/{input.utils-926c04a8.js → input.utils-40504d6d.js} +3 -3
  203. package/dist/esm/ion-accordion_2.entry.js +6 -6
  204. package/dist/esm/ion-action-sheet.entry.js +7 -7
  205. package/dist/esm/ion-alert.entry.js +11 -11
  206. package/dist/esm/ion-app_8.entry.js +16 -16
  207. package/dist/esm/ion-avatar_3.entry.js +2 -1
  208. package/dist/esm/ion-back-button.entry.js +3 -2
  209. package/dist/esm/ion-backdrop.entry.js +2 -1
  210. package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
  211. package/dist/esm/ion-button_2.entry.js +8 -8
  212. package/dist/esm/ion-card_5.entry.js +3 -2
  213. package/dist/esm/ion-checkbox.entry.js +21 -8
  214. package/dist/esm/ion-chip.entry.js +2 -1
  215. package/dist/esm/ion-col_3.entry.js +2 -1
  216. package/dist/esm/ion-datetime-button.entry.js +10 -10
  217. package/dist/esm/ion-datetime_3.entry.js +30 -30
  218. package/dist/esm/ion-fab_3.entry.js +3 -2
  219. package/dist/esm/ion-img.entry.js +3 -2
  220. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  221. package/dist/esm/ion-input-password-toggle.entry.js +7 -7
  222. package/dist/esm/ion-input.entry.js +8 -8
  223. package/dist/esm/ion-item-option_3.entry.js +6 -6
  224. package/dist/esm/ion-item_8.entry.js +3 -2
  225. package/dist/esm/ion-loading.entry.js +8 -8
  226. package/dist/esm/ion-menu_3.entry.js +12 -12
  227. package/dist/esm/ion-modal.entry.js +16 -16
  228. package/dist/esm/ion-nav_2.entry.js +8 -8
  229. package/dist/esm/ion-picker-column-option.entry.js +3 -2
  230. package/dist/esm/ion-picker-column.entry.js +3 -2
  231. package/dist/esm/ion-picker.entry.js +56 -78
  232. package/dist/esm/ion-popover.entry.js +11 -11
  233. package/dist/esm/ion-progress-bar.entry.js +3 -2
  234. package/dist/esm/ion-radio_2.entry.js +3 -2
  235. package/dist/esm/ion-range.entry.js +27 -11
  236. package/dist/esm/ion-refresher_2.entry.js +8 -8
  237. package/dist/esm/ion-reorder_2.entry.js +4 -4
  238. package/dist/esm/ion-ripple-effect.entry.js +2 -1
  239. package/dist/esm/ion-route_4.entry.js +11 -10
  240. package/dist/esm/ion-searchbar.entry.js +3 -2
  241. package/dist/esm/ion-segment-content.entry.js +1 -1
  242. package/dist/esm/ion-segment_2.entry.js +23 -53
  243. package/dist/esm/ion-select-modal.entry.js +6 -6
  244. package/dist/esm/ion-select_3.entry.js +19 -14
  245. package/dist/esm/ion-spinner.entry.js +2 -1
  246. package/dist/esm/ion-split-pane.entry.js +6 -5
  247. package/dist/esm/ion-tab-bar_2.entry.js +3 -2
  248. package/dist/esm/ion-tab_2.entry.js +8 -7
  249. package/dist/esm/ion-text.entry.js +2 -1
  250. package/dist/esm/ion-textarea.entry.js +7 -7
  251. package/dist/esm/ion-toast.entry.js +16 -16
  252. package/dist/esm/ion-toggle.entry.js +19 -9
  253. package/dist/esm/{ionic-global-ca86cf32.js → ionic-global-b26f573e.js} +3 -77
  254. package/dist/esm/ionic.js +4 -3
  255. package/dist/esm/{ios.transition-5fe4d6c8.js → ios.transition-4047cb68.js} +4 -5
  256. package/dist/esm/loader.js +4 -3
  257. package/dist/esm/{md.transition-3d0d3730.js → md.transition-30ce8d1b.js} +4 -5
  258. package/dist/esm/{notch-controller-381a5334.js → notch-controller-1a1f7183.js} +1 -1
  259. package/dist/esm/{overlays-7579a420.js → overlays-d99dcb0a.js} +11 -10
  260. package/dist/esm/{status-tap-6367b913.js → status-tap-42a8af65.js} +3 -4
  261. package/dist/esm/{swipe-back-326faa1c.js → swipe-back-04123e7c.js} +2 -1
  262. package/dist/esm-es5/animation-8b25e105.js +4 -0
  263. package/dist/esm-es5/app-globals-dbdbb3df.js +4 -0
  264. package/dist/esm-es5/config-9898ed97.js +4 -0
  265. package/dist/esm-es5/data-0d7ea6eb.js +4 -0
  266. package/dist/esm-es5/{framework-delegate-c7d92b77.js → framework-delegate-56b467ad.js} +1 -1
  267. package/dist/esm-es5/hardware-back-button-a7eb8233.js +4 -0
  268. package/dist/esm-es5/helpers-d94bc8ad.js +4 -0
  269. package/dist/esm-es5/{index-c63afbe6.js → index-18f31305.js} +1 -1
  270. package/dist/esm-es5/index-68c0d151.js +4 -0
  271. package/dist/esm-es5/{index-933ca126.js → index-9a17db3d.js} +1 -1
  272. package/dist/esm-es5/index-be190feb.js +4 -0
  273. package/dist/esm-es5/index-cfd9c1f2.js +5 -0
  274. package/dist/esm-es5/index.js +1 -1
  275. package/dist/esm-es5/input-shims-279903e2.js +4 -0
  276. package/dist/esm-es5/input.utils-40504d6d.js +4 -0
  277. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  278. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  279. package/dist/esm-es5/ion-alert.entry.js +1 -1
  280. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  281. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  282. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  283. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  284. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  285. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  286. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  287. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  288. package/dist/esm-es5/ion-chip.entry.js +1 -1
  289. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  290. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  291. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  292. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  293. package/dist/esm-es5/ion-img.entry.js +1 -1
  294. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  295. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  296. package/dist/esm-es5/ion-input.entry.js +1 -1
  297. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  298. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  299. package/dist/esm-es5/ion-loading.entry.js +1 -1
  300. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  301. package/dist/esm-es5/ion-modal.entry.js +1 -1
  302. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  303. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  304. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  305. package/dist/esm-es5/ion-picker.entry.js +1 -1
  306. package/dist/esm-es5/ion-popover.entry.js +1 -1
  307. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  308. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  309. package/dist/esm-es5/ion-range.entry.js +1 -1
  310. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  311. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  312. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  313. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  314. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  315. package/dist/esm-es5/ion-segment-content.entry.js +1 -1
  316. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  317. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  318. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  319. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  320. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  321. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  322. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  323. package/dist/esm-es5/ion-text.entry.js +1 -1
  324. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  325. package/dist/esm-es5/ion-toast.entry.js +1 -1
  326. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  327. package/dist/esm-es5/ionic-global-b26f573e.js +4 -0
  328. package/dist/esm-es5/ionic.js +1 -1
  329. package/dist/esm-es5/ios.transition-4047cb68.js +4 -0
  330. package/dist/esm-es5/loader.js +1 -1
  331. package/dist/esm-es5/md.transition-30ce8d1b.js +4 -0
  332. package/dist/esm-es5/{notch-controller-381a5334.js → notch-controller-1a1f7183.js} +1 -1
  333. package/dist/esm-es5/overlays-d99dcb0a.js +4 -0
  334. package/dist/esm-es5/status-tap-42a8af65.js +4 -0
  335. package/dist/esm-es5/swipe-back-04123e7c.js +4 -0
  336. package/dist/ionic/index.esm.js +1 -1
  337. package/dist/ionic/ionic.esm.js +1 -1
  338. package/dist/ionic/ionic.js +1 -1
  339. package/dist/ionic/p-00023f5a.system.js +4 -0
  340. package/dist/ionic/p-03480b95.system.entry.js +4 -0
  341. package/dist/ionic/p-08cef0b1.entry.js +4 -0
  342. package/dist/ionic/p-0af640d6.entry.js +4 -0
  343. package/dist/ionic/{p-e0a05506.js → p-0f5e6225.js} +1 -1
  344. package/dist/ionic/p-105b2e8b.entry.js +4 -0
  345. package/dist/ionic/p-10a1bddc.js +4 -0
  346. package/dist/ionic/p-117d0013.system.entry.js +4 -0
  347. package/dist/ionic/p-12193821.system.js +4 -0
  348. package/dist/ionic/p-12830298.system.entry.js +4 -0
  349. package/dist/ionic/p-14154301.system.entry.js +4 -0
  350. package/dist/ionic/{p-e0c43e11.system.entry.js → p-1706b406.system.entry.js} +1 -1
  351. package/dist/ionic/p-17e21141.js +4 -0
  352. package/dist/ionic/p-19494658.system.entry.js +4 -0
  353. package/dist/ionic/{p-9a2ff5ea.system.js → p-1966a13c.system.js} +1 -1
  354. package/dist/ionic/p-1974d5b2.system.js +4 -0
  355. package/dist/ionic/p-1a7df1c3.system.js +4 -0
  356. package/dist/ionic/p-1a81ac09.system.js +4 -0
  357. package/dist/ionic/p-1b9c59ab.js +4 -0
  358. package/dist/ionic/p-1cb02e44.entry.js +4 -0
  359. package/dist/ionic/{p-77991411.system.js → p-1d307396.system.js} +1 -1
  360. package/dist/ionic/p-1f871cf8.entry.js +4 -0
  361. package/dist/ionic/p-200fc491.js +4 -0
  362. package/dist/ionic/p-2233344a.system.js +4 -0
  363. package/dist/ionic/p-2469240b.entry.js +4 -0
  364. package/dist/ionic/{p-e0c0218f.system.entry.js → p-24a6c8a3.system.entry.js} +1 -1
  365. package/dist/ionic/p-257fb777.entry.js +4 -0
  366. package/dist/ionic/{p-e7309bfa.js → p-25b10f81.js} +1 -1
  367. package/dist/ionic/p-2bb55ebc.js +4 -0
  368. package/dist/ionic/p-2bff0e69.system.entry.js +4 -0
  369. package/dist/ionic/{p-606887b7.system.entry.js → p-2fa37fdc.system.entry.js} +1 -1
  370. package/dist/ionic/p-31dc303d.entry.js +4 -0
  371. package/dist/ionic/p-3535d6b5.entry.js +4 -0
  372. package/dist/ionic/{p-4470f87b.system.entry.js → p-35cdfd77.system.entry.js} +1 -1
  373. package/dist/ionic/p-393ffcc2.entry.js +4 -0
  374. package/dist/ionic/p-39fa7dd1.system.entry.js +4 -0
  375. package/dist/ionic/p-3a30f31b.system.entry.js +4 -0
  376. package/dist/ionic/p-42f08b26.system.entry.js +4 -0
  377. package/dist/ionic/p-481e0885.entry.js +4 -0
  378. package/dist/ionic/p-4a5be299.system.entry.js +4 -0
  379. package/dist/ionic/p-4c667fce.js +4 -0
  380. package/dist/ionic/p-4cf4172e.entry.js +4 -0
  381. package/dist/ionic/p-4da92dac.entry.js +4 -0
  382. package/dist/ionic/p-4ec0e961.system.entry.js +4 -0
  383. package/dist/ionic/{p-3479f51b.system.js → p-4ed5db19.system.js} +1 -1
  384. package/dist/ionic/p-50cb2e8b.system.entry.js +4 -0
  385. package/dist/ionic/p-57957c0f.entry.js +4 -0
  386. package/dist/ionic/p-57e55ecb.system.js +4 -0
  387. package/dist/ionic/p-5b67b447.js +4 -0
  388. package/dist/ionic/p-5c9feddc.system.entry.js +4 -0
  389. package/dist/ionic/p-5edf78c5.system.entry.js +4 -0
  390. package/dist/ionic/p-612096e6.system.entry.js +4 -0
  391. package/dist/ionic/p-6201c4ba.entry.js +4 -0
  392. package/dist/ionic/p-625248d0.system.js +4 -0
  393. package/dist/ionic/p-663413be.system.js +4 -0
  394. package/dist/ionic/p-6636a436.js +4 -0
  395. package/dist/ionic/p-66df5468.system.entry.js +4 -0
  396. package/dist/ionic/p-67077d48.entry.js +4 -0
  397. package/dist/ionic/p-67cacd6d.entry.js +4 -0
  398. package/dist/ionic/p-6835ebdd.system.entry.js +4 -0
  399. package/dist/ionic/p-6b8530f5.system.entry.js +4 -0
  400. package/dist/ionic/{p-ace2d2be.entry.js → p-6c474e87.entry.js} +1 -1
  401. package/dist/ionic/p-6dd86ff5.system.entry.js +4 -0
  402. package/dist/ionic/p-6ec0c94a.entry.js +4 -0
  403. package/dist/ionic/p-6f832afe.system.entry.js +4 -0
  404. package/dist/ionic/p-707408c5.system.entry.js +4 -0
  405. package/dist/ionic/p-712c0131.entry.js +4 -0
  406. package/dist/ionic/{p-c8bf9ba7.entry.js → p-721f43f9.entry.js} +1 -1
  407. package/dist/ionic/p-7445a2e5.system.js +4 -0
  408. package/dist/ionic/p-7611ede3.system.entry.js +4 -0
  409. package/dist/ionic/p-781e2dbb.system.js +4 -0
  410. package/dist/ionic/p-7b8c12c3.entry.js +4 -0
  411. package/dist/ionic/p-7c5c7ae1.system.entry.js +4 -0
  412. package/dist/ionic/p-7e3e6ed2.entry.js +4 -0
  413. package/dist/ionic/{p-1a9613bf.system.entry.js → p-7ffedf77.system.entry.js} +1 -1
  414. package/dist/ionic/p-809483ac.js +4 -0
  415. package/dist/ionic/{p-54893ae3.entry.js → p-81904a80.entry.js} +1 -1
  416. package/dist/ionic/{p-a6625de8.system.js → p-84096b45.system.js} +1 -1
  417. package/dist/ionic/p-8450f761.entry.js +4 -0
  418. package/dist/ionic/p-8460d95a.entry.js +4 -0
  419. package/dist/ionic/p-85b01465.js +4 -0
  420. package/dist/ionic/p-865fe95c.entry.js +4 -0
  421. package/dist/ionic/p-8674af94.entry.js +4 -0
  422. package/dist/ionic/p-890a4ee2.entry.js +4 -0
  423. package/dist/ionic/p-891553d8.entry.js +4 -0
  424. package/dist/ionic/p-8b050e84.system.js +4 -0
  425. package/dist/ionic/{p-22bc235f.js → p-8d2d39d0.js} +1 -1
  426. package/dist/ionic/p-8dacf4e2.entry.js +4 -0
  427. package/dist/ionic/p-94551927.js +4 -0
  428. package/dist/ionic/p-95001a19.js +4 -0
  429. package/dist/ionic/p-98fd942b.system.entry.js +4 -0
  430. package/dist/ionic/p-9e753482.system.entry.js +4 -0
  431. package/dist/ionic/p-a0fd2fe5.system.entry.js +4 -0
  432. package/dist/ionic/p-a2c6a9c8.entry.js +4 -0
  433. package/dist/ionic/p-a2dd5b69.system.entry.js +4 -0
  434. package/dist/ionic/p-a5dbe0ff.system.entry.js +4 -0
  435. package/dist/ionic/p-a78fa846.entry.js +4 -0
  436. package/dist/ionic/p-a835aca8.entry.js +4 -0
  437. package/dist/ionic/p-a83e3290.system.js +4 -0
  438. package/dist/ionic/{p-e00b72ce.js → p-aded71ec.js} +1 -1
  439. package/dist/ionic/p-ae039072.entry.js +4 -0
  440. package/dist/ionic/p-aebfab05.system.entry.js +4 -0
  441. package/dist/ionic/{p-4493c1ac.entry.js → p-b22a021d.entry.js} +1 -1
  442. package/dist/ionic/p-b2e7eda0.system.entry.js +4 -0
  443. package/dist/ionic/p-b445ff65.entry.js +4 -0
  444. package/dist/ionic/{p-4d0190ad.system.entry.js → p-b4d17da0.system.entry.js} +1 -1
  445. package/dist/ionic/p-b5432d15.entry.js +4 -0
  446. package/dist/ionic/{p-c8402249.js → p-b6d324f0.js} +1 -1
  447. package/dist/ionic/p-b7b1d91a.js +4 -0
  448. package/dist/ionic/{p-8deac7df.system.entry.js → p-b8050298.system.entry.js} +1 -1
  449. package/dist/ionic/p-b9c793d4.entry.js +4 -0
  450. package/dist/ionic/p-bf184319.system.entry.js +4 -0
  451. package/dist/ionic/{p-4888cb66.system.entry.js → p-bfb763d0.system.entry.js} +1 -1
  452. package/dist/ionic/p-c16443a8.system.js +4 -0
  453. package/dist/ionic/{p-9df36075.system.entry.js → p-c1b7d311.system.entry.js} +1 -1
  454. package/dist/ionic/p-c2160d8c.entry.js +4 -0
  455. package/dist/ionic/{p-d8c9d5ac.system.entry.js → p-c26c5c20.system.entry.js} +1 -1
  456. package/dist/ionic/p-c5b77054.entry.js +4 -0
  457. package/dist/ionic/p-c5bfa3e9.entry.js +4 -0
  458. package/dist/ionic/p-c6879aa4.system.entry.js +4 -0
  459. package/dist/ionic/p-cad82569.entry.js +4 -0
  460. package/dist/ionic/p-d16fab3f.entry.js +4 -0
  461. package/dist/ionic/p-d2c3524b.system.entry.js +4 -0
  462. package/dist/ionic/p-d382f09c.system.js +4 -0
  463. package/dist/ionic/p-d984c1ab.system.entry.js +4 -0
  464. package/dist/ionic/p-da6247e5.entry.js +4 -0
  465. package/dist/ionic/p-dabe3bd4.js +4 -0
  466. package/dist/ionic/p-df069a0d.entry.js +4 -0
  467. package/dist/ionic/p-e6068998.system.entry.js +4 -0
  468. package/dist/ionic/p-e727e32d.system.entry.js +4 -0
  469. package/dist/ionic/p-e8245753.entry.js +4 -0
  470. package/dist/ionic/p-e887b6a9.system.js +4 -0
  471. package/dist/ionic/p-ed005d9c.js +4 -0
  472. package/dist/ionic/{p-f554845e.js → p-f08a92cc.js} +1 -1
  473. package/dist/ionic/p-f08dfb19.entry.js +4 -0
  474. package/dist/ionic/p-f0c9f8e3.system.entry.js +4 -0
  475. package/dist/ionic/p-f0ef39ab.entry.js +4 -0
  476. package/dist/ionic/{p-c8331397.system.entry.js → p-f22490a7.system.entry.js} +1 -1
  477. package/dist/ionic/{p-5eb6f582.system.js → p-f6e7d104.system.js} +1 -1
  478. package/dist/ionic/p-f725bf9e.system.js +4 -0
  479. package/dist/ionic/{p-2fa5a4b1.entry.js → p-f8c0c707.entry.js} +1 -1
  480. package/dist/ionic/p-f9a87db2.system.entry.js +4 -0
  481. package/dist/ionic/{p-44e168f3.system.js → p-fa3f4b96.system.js} +1 -1
  482. package/dist/ionic/p-fe063952.system.entry.js +4 -0
  483. package/dist/types/components/checkbox/checkbox.d.ts +2 -0
  484. package/dist/types/components/input/input.d.ts +8 -0
  485. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  486. package/dist/types/components/picker/picker.d.ts +8 -0
  487. package/dist/types/components/range/range.d.ts +9 -1
  488. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  489. package/dist/types/components/select/select.d.ts +9 -0
  490. package/dist/types/components/textarea/textarea.d.ts +8 -0
  491. package/dist/types/components/toggle/toggle.d.ts +2 -0
  492. package/dist/types/index.d.ts +1 -0
  493. package/dist/types/utils/helpers.d.ts +0 -1
  494. package/dist/types/utils/logging/index.d.ts +1 -1
  495. package/hydrate/index.js +324 -338
  496. package/hydrate/index.mjs +324 -338
  497. package/package.json +2 -2
  498. package/dist/cjs/index-48b2a28e.js +0 -46
  499. package/dist/esm/index-738d7504.js +0 -42
  500. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  501. package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
  502. package/dist/esm-es5/config-49c88215.js +0 -4
  503. package/dist/esm-es5/data-174ad5e0.js +0 -4
  504. package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
  505. package/dist/esm-es5/helpers-e48b0397.js +0 -4
  506. package/dist/esm-es5/index-738d7504.js +0 -4
  507. package/dist/esm-es5/index-8222b29f.js +0 -4
  508. package/dist/esm-es5/index-a313df53.js +0 -4
  509. package/dist/esm-es5/input-shims-3070628a.js +0 -4
  510. package/dist/esm-es5/input.utils-926c04a8.js +0 -4
  511. package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
  512. package/dist/esm-es5/ios.transition-5fe4d6c8.js +0 -4
  513. package/dist/esm-es5/md.transition-3d0d3730.js +0 -4
  514. package/dist/esm-es5/overlays-7579a420.js +0 -4
  515. package/dist/esm-es5/status-tap-6367b913.js +0 -4
  516. package/dist/esm-es5/swipe-back-326faa1c.js +0 -4
  517. package/dist/ionic/p-023e8017.system.entry.js +0 -4
  518. package/dist/ionic/p-042d5353.system.js +0 -4
  519. package/dist/ionic/p-060e4551.js +0 -4
  520. package/dist/ionic/p-0749768d.entry.js +0 -4
  521. package/dist/ionic/p-094c82d7.entry.js +0 -4
  522. package/dist/ionic/p-0adb6909.system.entry.js +0 -4
  523. package/dist/ionic/p-0be8a0b5.entry.js +0 -4
  524. package/dist/ionic/p-0bedc891.system.entry.js +0 -4
  525. package/dist/ionic/p-0c9b8240.system.entry.js +0 -4
  526. package/dist/ionic/p-0ec5b7cf.system.js +0 -4
  527. package/dist/ionic/p-1164ff6b.system.entry.js +0 -4
  528. package/dist/ionic/p-13886789.entry.js +0 -4
  529. package/dist/ionic/p-143ff664.system.entry.js +0 -4
  530. package/dist/ionic/p-18f9b6d5.entry.js +0 -4
  531. package/dist/ionic/p-19c32a76.entry.js +0 -4
  532. package/dist/ionic/p-1bf5ec17.system.js +0 -4
  533. package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
  534. package/dist/ionic/p-1d2844a5.system.entry.js +0 -4
  535. package/dist/ionic/p-1d98a7f1.entry.js +0 -4
  536. package/dist/ionic/p-1f837356.entry.js +0 -4
  537. package/dist/ionic/p-2027221d.js +0 -4
  538. package/dist/ionic/p-24ae7b33.system.js +0 -4
  539. package/dist/ionic/p-294271c7.system.js +0 -4
  540. package/dist/ionic/p-297d6806.system.js +0 -4
  541. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  542. package/dist/ionic/p-2ab4a324.system.entry.js +0 -4
  543. package/dist/ionic/p-2b59470f.system.entry.js +0 -4
  544. package/dist/ionic/p-2ee9a2c6.entry.js +0 -4
  545. package/dist/ionic/p-35f14792.entry.js +0 -4
  546. package/dist/ionic/p-37a438ad.system.entry.js +0 -4
  547. package/dist/ionic/p-3af7b907.entry.js +0 -4
  548. package/dist/ionic/p-3bd5fedc.system.js +0 -4
  549. package/dist/ionic/p-3be7cdeb.system.entry.js +0 -4
  550. package/dist/ionic/p-3e86b4fa.system.js +0 -4
  551. package/dist/ionic/p-3f4327f7.js +0 -4
  552. package/dist/ionic/p-41d5544e.js +0 -4
  553. package/dist/ionic/p-42f6e75c.entry.js +0 -4
  554. package/dist/ionic/p-4630688e.system.entry.js +0 -4
  555. package/dist/ionic/p-472c7e08.system.entry.js +0 -4
  556. package/dist/ionic/p-491de063.system.entry.js +0 -4
  557. package/dist/ionic/p-49cb79a1.system.entry.js +0 -4
  558. package/dist/ionic/p-4c44d04c.js +0 -4
  559. package/dist/ionic/p-4c94580e.js +0 -4
  560. package/dist/ionic/p-50f38461.entry.js +0 -4
  561. package/dist/ionic/p-51c363e7.system.js +0 -4
  562. package/dist/ionic/p-524ad57e.system.entry.js +0 -4
  563. package/dist/ionic/p-54e9620f.js +0 -4
  564. package/dist/ionic/p-58c482af.entry.js +0 -4
  565. package/dist/ionic/p-597ff9af.js +0 -4
  566. package/dist/ionic/p-5f4ff20a.entry.js +0 -4
  567. package/dist/ionic/p-5f8cd560.entry.js +0 -4
  568. package/dist/ionic/p-61e794fb.entry.js +0 -4
  569. package/dist/ionic/p-67163d4a.entry.js +0 -4
  570. package/dist/ionic/p-6797c66e.system.js +0 -4
  571. package/dist/ionic/p-6bb846d3.entry.js +0 -4
  572. package/dist/ionic/p-6e24cf82.entry.js +0 -4
  573. package/dist/ionic/p-72e6a9c6.entry.js +0 -4
  574. package/dist/ionic/p-747f9517.entry.js +0 -4
  575. package/dist/ionic/p-7cc33a9a.system.js +0 -4
  576. package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
  577. package/dist/ionic/p-7f39653f.entry.js +0 -4
  578. package/dist/ionic/p-7ff4f502.entry.js +0 -4
  579. package/dist/ionic/p-81474833.system.entry.js +0 -4
  580. package/dist/ionic/p-838cc359.entry.js +0 -4
  581. package/dist/ionic/p-85f6070f.entry.js +0 -4
  582. package/dist/ionic/p-888d383b.system.entry.js +0 -4
  583. package/dist/ionic/p-8b1c1fd7.entry.js +0 -4
  584. package/dist/ionic/p-8fc426e2.entry.js +0 -4
  585. package/dist/ionic/p-9146695e.system.js +0 -4
  586. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  587. package/dist/ionic/p-96450929.system.entry.js +0 -4
  588. package/dist/ionic/p-9a5420dd.js +0 -4
  589. package/dist/ionic/p-9af7f110.js +0 -4
  590. package/dist/ionic/p-9b069739.entry.js +0 -4
  591. package/dist/ionic/p-9e51f822.js +0 -4
  592. package/dist/ionic/p-a520973b.entry.js +0 -4
  593. package/dist/ionic/p-a587b2ae.system.js +0 -4
  594. package/dist/ionic/p-a63b345e.system.entry.js +0 -4
  595. package/dist/ionic/p-a6df5168.system.entry.js +0 -4
  596. package/dist/ionic/p-a9f2c0a7.entry.js +0 -4
  597. package/dist/ionic/p-ac58d726.system.entry.js +0 -4
  598. package/dist/ionic/p-ada878ce.entry.js +0 -4
  599. package/dist/ionic/p-b055d618.entry.js +0 -4
  600. package/dist/ionic/p-b0e53bc7.entry.js +0 -4
  601. package/dist/ionic/p-b2296998.system.entry.js +0 -4
  602. package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
  603. package/dist/ionic/p-b6174297.entry.js +0 -4
  604. package/dist/ionic/p-b85d199c.entry.js +0 -4
  605. package/dist/ionic/p-b9ea58ef.js +0 -4
  606. package/dist/ionic/p-b9eb1465.system.entry.js +0 -4
  607. package/dist/ionic/p-b9f2e353.entry.js +0 -4
  608. package/dist/ionic/p-bbc6db8c.entry.js +0 -4
  609. package/dist/ionic/p-bf64af90.system.js +0 -4
  610. package/dist/ionic/p-c005cc37.entry.js +0 -4
  611. package/dist/ionic/p-c25c0ba4.entry.js +0 -4
  612. package/dist/ionic/p-c5b5f44a.entry.js +0 -4
  613. package/dist/ionic/p-c6a20407.system.entry.js +0 -4
  614. package/dist/ionic/p-c7e16491.js +0 -4
  615. package/dist/ionic/p-ceaea4ce.js +0 -4
  616. package/dist/ionic/p-d37fdc68.system.entry.js +0 -4
  617. package/dist/ionic/p-d7032956.system.js +0 -4
  618. package/dist/ionic/p-daf1e8ec.system.entry.js +0 -4
  619. package/dist/ionic/p-def7a8bd.system.entry.js +0 -4
  620. package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
  621. package/dist/ionic/p-e5708e5d.system.entry.js +0 -4
  622. package/dist/ionic/p-e5c27d9f.system.entry.js +0 -4
  623. package/dist/ionic/p-ed768b77.entry.js +0 -4
  624. package/dist/ionic/p-eec4b772.entry.js +0 -4
  625. package/dist/ionic/p-eeee3990.system.entry.js +0 -4
  626. package/dist/ionic/p-efa0f3f5.entry.js +0 -4
  627. package/dist/ionic/p-f02e9382.system.entry.js +0 -4
  628. package/dist/ionic/p-f201b53a.system.js +0 -4
  629. package/dist/ionic/p-f233f1e0.system.js +0 -4
  630. package/dist/ionic/p-f7ce606e.js +0 -4
  631. package/dist/ionic/p-f94b2f2f.system.entry.js +0 -4
  632. package/dist/ionic/p-ff4a1ba0.system.entry.js +0 -4
@@ -24,6 +24,7 @@ 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`;
27
28
  this.helperTextId = `${this.inputId}-helper-text`;
28
29
  this.errorTextId = `${this.inputId}-error-text`;
29
30
  this.lastDrag = 0;
@@ -45,6 +46,14 @@ export class Toggle {
45
46
  this.disabledChanged();
46
47
  }
47
48
  };
49
+ this.onKeyDown = (ev) => {
50
+ if (ev.key === ' ') {
51
+ ev.preventDefault();
52
+ if (!this.disabled) {
53
+ this.toggleChecked();
54
+ }
55
+ }
56
+ };
48
57
  this.onClick = (ev) => {
49
58
  if (this.disabled) {
50
59
  return;
@@ -187,12 +196,12 @@ export class Toggle {
187
196
  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)));
188
197
  }
189
198
  render() {
190
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
199
+ const { activated, alignment, checked, color, disabled, el, errorTextId, hasLabel, inheritedAttributes, inputId, inputLabelId, justify, labelPlacement, name, required, } = this;
191
200
  const mode = getIonMode(this);
192
201
  const value = this.getValue();
193
202
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
194
203
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
195
- return (h(Host, { key: 'c6db7f5bc0b358944c0d79e24aeb4d319793422f', "aria-describedby": this.getHintTextID(), "aria-invalid": this.getHintTextID() === this.errorTextId, onClick: this.onClick, class: createColorClasses(color, {
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, {
196
205
  [mode]: true,
197
206
  'in-item': hostContext('ion-item', el),
198
207
  'toggle-activated': activated,
@@ -202,10 +211,10 @@ export class Toggle {
202
211
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
203
212
  [`toggle-label-placement-${labelPlacement}`]: true,
204
213
  [`toggle-${rtl}`]: true,
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: {
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: {
206
215
  'label-text-wrapper': true,
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()))));
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()))));
209
218
  }
210
219
  static get is() { return "ion-toggle"; }
211
220
  static get encapsulation() { return "shadow"; }
@@ -75,7 +75,6 @@
75
75
  display: inline-block;
76
76
  position: relative;
77
77
  max-width: 100%;
78
- outline: none;
79
78
  cursor: pointer;
80
79
  user-select: none;
81
80
  z-index: 2;
@@ -107,23 +106,12 @@
107
106
  pointer-events: none;
108
107
  }
109
108
 
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
+ */
110
113
  input {
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;
114
+ display: none;
127
115
  }
128
116
 
129
117
  .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,6 +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 { LogLevel } from './utils/logging';
13
14
  export { isPlatform, getPlatforms } from './utils/platform';
14
15
  export { IonicSafeString } from './utils/sanitization';
15
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
  }
@@ -336,16 +337,6 @@ export const shallowEqualStringMap = (map1, map2) => {
336
337
  }
337
338
  return true;
338
339
  };
339
- export const getNextSiblingOfType = (element) => {
340
- let sibling = element.nextSibling;
341
- while (sibling) {
342
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
343
- return sibling;
344
- }
345
- sibling = sibling.nextSibling;
346
- }
347
- return null;
348
- };
349
340
  /**
350
341
  * Checks input for usable number. Not NaN and not Infinite.
351
342
  */
@@ -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,8 +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
- const logLevel = config.get('logLevel', "WARN" /* LogLevel.WARN */);
13
- if (["WARN" /* LogLevel.WARN */].includes(logLevel)) {
18
+ const logLevel = config.get('logLevel', LogLevel.WARN);
19
+ if ([LogLevel.WARN].includes(logLevel)) {
14
20
  return console.warn(`[Ionic Warning]: ${message}`, ...params);
15
21
  }
16
22
  };
@@ -22,8 +28,8 @@ export const printIonWarning = (message, ...params) => {
22
28
  * @param params - Additional arguments to supply to the console.error.
23
29
  */
24
30
  export const printIonError = (message, ...params) => {
25
- const logLevel = config.get('logLevel', "ERROR" /* LogLevel.ERROR */);
26
- 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)) {
27
33
  return console.error(`[Ionic Error]: ${message}`, ...params);
28
34
  }
29
35
  };
@@ -4,13 +4,13 @@
4
4
  import { doc } from "./browser/index";
5
5
  import { focusFirstDescendant, focusLastDescendant, focusableQueryString } from "./focus-trap";
6
6
  import { shouldUseCloseWatcher } from "./hardware-back-button";
7
+ import { printIonError, printIonWarning } from "./logging/index";
7
8
  import { config } from "../global/config";
8
9
  import { getIonMode } from "../global/ionic-global";
9
10
  import { CoreDelegate } from "./framework-delegate";
10
11
  import { BACKDROP_NO_SCROLL } from "./gesture/gesture-controller";
11
12
  import { OVERLAY_BACK_BUTTON_PRIORITY } from "./hardware-back-button";
12
13
  import { addEventListener, componentOnReady, focusVisibleElement, getElementRoot, removeEventListener, } from "./helpers";
13
- import { printIonWarning } from "./logging";
14
14
  import { isPlatform } from "./platform";
15
15
  let lastOverlayIndex = 0;
16
16
  let lastId = 0;
@@ -437,8 +437,8 @@ export const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation
437
437
  */
438
438
  if (overlay.el.tagName !== 'ION-TOAST') {
439
439
  setRootAriaHidden(true);
440
+ document.body.classList.add(BACKDROP_NO_SCROLL);
440
441
  }
441
- document.body.classList.add(BACKDROP_NO_SCROLL);
442
442
  hideUnderlyingOverlaysFromScreenReaders(overlay.el);
443
443
  hideAnimatingOverlayFromScreenReaders(overlay.el);
444
444
  overlay.presented = true;
@@ -542,8 +542,9 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
542
542
  if (!overlay.presented) {
543
543
  return false;
544
544
  }
545
+ const presentedOverlays = doc !== undefined ? getPresentedOverlays(doc) : [];
545
546
  /**
546
- * For accessibility, toasts lack focus traps and dont receive
547
+ * For accessibility, toasts lack focus traps and don't receive
547
548
  * `aria-hidden` on the root element when presented.
548
549
  *
549
550
  * All other overlays use focus traps to keep keyboard focus
@@ -553,7 +554,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
553
554
  * Therefore, we must remove `aria-hidden` from the root element
554
555
  * when the last non-toast overlay is dismissed.
555
556
  */
556
- const overlaysNotToast = doc !== undefined ? getPresentedOverlays(doc).filter((o) => o.tagName !== 'ION-TOAST') : [];
557
+ const overlaysNotToast = presentedOverlays.filter((o) => o.tagName !== 'ION-TOAST');
557
558
  const lastOverlayNotToast = overlaysNotToast.length === 1 && overlaysNotToast[0].id === overlay.el.id;
558
559
  /**
559
560
  * If this is the last visible overlay that is not a toast
@@ -606,7 +607,7 @@ export const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLe
606
607
  }
607
608
  }
608
609
  catch (err) {
609
- console.error(err);
610
+ printIonError(`[${overlay.el.tagName.toLowerCase()}] - `, err);
610
611
  }
611
612
  overlay.el.remove();
612
613
  revealOverlaysToScreenReaders();
@@ -786,7 +787,7 @@ export const createTriggerController = () => {
786
787
  removeClickListener();
787
788
  const triggerEl = trigger !== undefined ? document.getElementById(trigger) : null;
788
789
  if (!triggerEl) {
789
- 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);
790
+ 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);
790
791
  return;
791
792
  }
792
793
  const configureTriggerInteraction = (targetEl, overlayEl) => {
@@ -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
  /**
5
6
  * Does a simple sanitization of all elements
6
7
  * in an untrusted string
@@ -75,7 +76,7 @@ export const sanitizeDOMString = (untrustedString) => {
75
76
  return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
76
77
  }
77
78
  catch (err) {
78
- console.error(err);
79
+ printIonError('sanitizeDOMString', err);
79
80
  return '';
80
81
  }
81
82
  };
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-03-20T00:27:36",
2
+ "timestamp": "2025-04-20T03:16:41",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
@@ -1,6 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { d as printIonError } from './index-cfd9c1f2.js';
4
5
  import { w as win } from './index-a5d50daf.js';
5
6
 
6
7
  let animationPrefix;
@@ -365,7 +366,7 @@ const createAnimation = (animationId) => {
365
366
  }
366
367
  }
367
368
  else {
368
- console.error('Invalid addElement value');
369
+ printIonError('createAnimation - Invalid addElement value.');
369
370
  }
370
371
  }
371
372
  return ani;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { i as initialize } from './ionic-global-ca86cf32.js';
4
+ import { i as initialize } from './ionic-global-b26f573e.js';
5
5
 
6
6
  const globalScripts = initialize;
7
7
 
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { d as printIonError } from './index-cfd9c1f2.js';
5
+
4
6
  /**
5
7
  * Does a simple sanitization of all elements
6
8
  * in an untrusted string
@@ -75,7 +77,7 @@ const sanitizeDOMString = (untrustedString) => {
75
77
  return getInnerDiv !== null ? getInnerDiv.innerHTML : fragmentDiv.innerHTML;
76
78
  }
77
79
  catch (err) {
78
- console.error(err);
80
+ printIonError('sanitizeDOMString', err);
79
81
  return '';
80
82
  }
81
83
  };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { p as printIonWarning } from './index-738d7504.js';
4
+ import { p as printIonWarning } from './index-cfd9c1f2.js';
5
5
 
6
6
  /**
7
7
  * Returns true if the selected day is equal to the reference day
@@ -35,7 +35,7 @@ const warnIfValueOutOfBounds = (value, min, max) => {
35
35
  const valueArray = Array.isArray(value) ? value : [value];
36
36
  for (const val of valueArray) {
37
37
  if ((min !== undefined && isBefore(val, min)) || (max !== undefined && isAfter(val, max))) {
38
- printIonWarning('The value provided to ion-datetime is out of bounds.\n\n' +
38
+ printIonWarning('[ion-datetime] - The value provided to ion-datetime is out of bounds.\n\n' +
39
39
  `Min: ${JSON.stringify(min)}\n` +
40
40
  `Max: ${JSON.stringify(max)}\n` +
41
41
  `Value: ${JSON.stringify(value)}`);
@@ -252,7 +252,7 @@ function parseDate(val) {
252
252
  }
253
253
  if (parse === null) {
254
254
  // wasn't able to parse the ISO datetime
255
- printIonWarning(`Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
255
+ printIonWarning(`[ion-datetime] - Unable to parse date string: ${val}. Please provide a valid ISO 8601 datetime string.`);
256
256
  return undefined;
257
257
  }
258
258
  // ensure all the parse values exist with at least 0
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-e48b0397.js';
4
+ import { c as componentOnReady } from './helpers-d94bc8ad.js';
5
5
 
6
6
  // TODO(FW-2832): types
7
7
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -2,8 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { c as config } from './ionic-global-ca86cf32.js';
6
- import './index-527b9e34.js';
5
+ import { c as config, d as printIonError } from './index-cfd9c1f2.js';
7
6
 
8
7
  /**
9
8
  * CloseWatcher is a newer API that lets
@@ -59,7 +58,7 @@ const startHardwareBackButton = () => {
59
58
  }
60
59
  }
61
60
  catch (e) {
62
- console.error(e);
61
+ printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
63
62
  }
64
63
  };
65
64
  const processHandlers = () => {
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { d as printIonError } from './index-cfd9c1f2.js';
5
+
4
6
  const transitionEndAsync = (el, expectedDuration = 0) => {
5
7
  return new Promise((resolve) => {
6
8
  transitionEnd(el, expectedDuration, resolve);
@@ -251,7 +253,7 @@ const clamp = (min, n, max) => {
251
253
  const assert = (actual, reason) => {
252
254
  if (!actual) {
253
255
  const message = 'ASSERT: ' + reason;
254
- console.error(message);
256
+ printIonError(message);
255
257
  debugger; // eslint-disable-line
256
258
  throw new Error(message);
257
259
  }
@@ -330,16 +332,6 @@ const shallowEqualStringMap = (map1, map2) => {
330
332
  }
331
333
  return true;
332
334
  };
333
- const getNextSiblingOfType = (element) => {
334
- let sibling = element.nextSibling;
335
- while (sibling) {
336
- if (sibling.nodeType === Node.ELEMENT_NODE && sibling !== null) {
337
- return sibling;
338
- }
339
- sibling = sibling.nextSibling;
340
- }
341
- return null;
342
- };
343
335
  /**
344
336
  * Checks input for usable number. Not NaN and not Infinite.
345
337
  */
@@ -347,4 +339,4 @@ const isSafeNumber = (input) => {
347
339
  return typeof input === 'number' && !isNaN(input) && isFinite(input);
348
340
  };
349
341
 
350
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, isSafeNumber as l, hasShadowDom as m, assert as n, getNextSiblingOfType as o, isEndSide as p, debounce as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, pointerCoord as u };
342
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, isSafeNumber as l, hasShadowDom as m, assert as n, isEndSide as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
@@ -2,11 +2,11 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-864101a3.js';
6
- import { p as printIonWarning } from './index-738d7504.js';
7
- import { c as componentOnReady } from './helpers-e48b0397.js';
8
- import { b as getIonMode } from './ionic-global-ca86cf32.js';
9
- import { c as createAnimation } from './animation-eab5a4ca.js';
5
+ import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-a7eb8233.js';
6
+ import { p as printIonWarning } from './index-cfd9c1f2.js';
7
+ import { c as componentOnReady } from './helpers-d94bc8ad.js';
8
+ import { b as getIonMode } from './ionic-global-b26f573e.js';
9
+ import { c as createAnimation } from './animation-8b25e105.js';
10
10
 
11
11
  /**
12
12
  * baseAnimation
@@ -1,10 +1,9 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as config } from './ionic-global-ca86cf32.js';
4
+ import { c as config, p as printIonWarning } from './index-cfd9c1f2.js';
5
5
  import { w as writeTask, B as Build } from './index-527b9e34.js';
6
- import { p as printIonWarning } from './index-738d7504.js';
7
- import { r as raf } from './helpers-e48b0397.js';
6
+ import { r as raf } from './helpers-d94bc8ad.js';
8
7
 
9
8
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
10
9
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -120,8 +119,8 @@ const createFocusController = () => {
120
119
  };
121
120
  const LAST_FOCUS = 'ion-last-focus';
122
121
 
123
- const iosTransitionAnimation = () => import('./ios.transition-5fe4d6c8.js');
124
- const mdTransitionAnimation = () => import('./md.transition-3d0d3730.js');
122
+ const iosTransitionAnimation = () => import('./ios.transition-4047cb68.js');
123
+ const mdTransitionAnimation = () => import('./md.transition-30ce8d1b.js');
125
124
  const focusController = createFocusController();
126
125
  // TODO(FW-2832): types
127
126
  const transition = (opts) => {
@@ -1,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-e48b0397.js';
5
- import { b as printRequiredElementError } from './index-738d7504.js';
4
+ import { c as componentOnReady } from './helpers-d94bc8ad.js';
5
+ import { e as printRequiredElementError } from './index-cfd9c1f2.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
8
8
  const ION_CONTENT_ELEMENT_SELECTOR = 'ion-content';
@@ -2,7 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { u as pointerCoord } from './helpers-e48b0397.js';
5
+ import { q as pointerCoord } from './helpers-d94bc8ad.js';
6
+ import './index-cfd9c1f2.js';
6
7
 
7
8
  const startTapClick = (config) => {
8
9
  if (doc === undefined) {
@@ -0,0 +1,121 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ // TODO(FW-2832): types
5
+ class Config {
6
+ constructor() {
7
+ this.m = new Map();
8
+ }
9
+ reset(configObj) {
10
+ this.m = new Map(Object.entries(configObj));
11
+ }
12
+ get(key, fallback) {
13
+ const value = this.m.get(key);
14
+ return value !== undefined ? value : fallback;
15
+ }
16
+ getBoolean(key, fallback = false) {
17
+ const val = this.m.get(key);
18
+ if (val === undefined) {
19
+ return fallback;
20
+ }
21
+ if (typeof val === 'string') {
22
+ return val === 'true';
23
+ }
24
+ return !!val;
25
+ }
26
+ getNumber(key, fallback) {
27
+ const val = parseFloat(this.m.get(key));
28
+ return isNaN(val) ? (fallback !== undefined ? fallback : NaN) : val;
29
+ }
30
+ set(key, value) {
31
+ this.m.set(key, value);
32
+ }
33
+ }
34
+ const config = /*@__PURE__*/ new Config();
35
+ const configFromSession = (win) => {
36
+ try {
37
+ const configStr = win.sessionStorage.getItem(IONIC_SESSION_KEY);
38
+ return configStr !== null ? JSON.parse(configStr) : {};
39
+ }
40
+ catch (e) {
41
+ return {};
42
+ }
43
+ };
44
+ const saveConfig = (win, c) => {
45
+ try {
46
+ win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));
47
+ }
48
+ catch (e) {
49
+ return;
50
+ }
51
+ };
52
+ const configFromURL = (win) => {
53
+ const configObj = {};
54
+ win.location.search
55
+ .slice(1)
56
+ .split('&')
57
+ .map((entry) => entry.split('='))
58
+ .map(([key, value]) => {
59
+ try {
60
+ return [decodeURIComponent(key), decodeURIComponent(value)];
61
+ }
62
+ catch (e) {
63
+ return ['', ''];
64
+ }
65
+ })
66
+ .filter(([key]) => startsWith(key, IONIC_PREFIX))
67
+ .map(([key, value]) => [key.slice(IONIC_PREFIX.length), value])
68
+ .forEach(([key, value]) => {
69
+ configObj[key] = value;
70
+ });
71
+ return configObj;
72
+ };
73
+ const startsWith = (input, search) => {
74
+ return input.substr(0, search.length) === search;
75
+ };
76
+ const IONIC_PREFIX = 'ionic:';
77
+ const IONIC_SESSION_KEY = 'ionic-persist-config';
78
+
79
+ var LogLevel;
80
+ (function (LogLevel) {
81
+ LogLevel["OFF"] = "OFF";
82
+ LogLevel["ERROR"] = "ERROR";
83
+ LogLevel["WARN"] = "WARN";
84
+ })(LogLevel || (LogLevel = {}));
85
+ /**
86
+ * Logs a warning to the console with an Ionic prefix
87
+ * to indicate the library that is warning the developer.
88
+ *
89
+ * @param message - The string message to be logged to the console.
90
+ */
91
+ const printIonWarning = (message, ...params) => {
92
+ const logLevel = config.get('logLevel', LogLevel.WARN);
93
+ if ([LogLevel.WARN].includes(logLevel)) {
94
+ return console.warn(`[Ionic Warning]: ${message}`, ...params);
95
+ }
96
+ };
97
+ /**
98
+ * Logs an error to the console with an Ionic prefix
99
+ * to indicate the library that is warning the developer.
100
+ *
101
+ * @param message - The string message to be logged to the console.
102
+ * @param params - Additional arguments to supply to the console.error.
103
+ */
104
+ const printIonError = (message, ...params) => {
105
+ const logLevel = config.get('logLevel', LogLevel.ERROR);
106
+ if ([LogLevel.ERROR, LogLevel.WARN].includes(logLevel)) {
107
+ return console.error(`[Ionic Error]: ${message}`, ...params);
108
+ }
109
+ };
110
+ /**
111
+ * Prints an error informing developers that an implementation requires an element to be used
112
+ * within a specific selector.
113
+ *
114
+ * @param el The web component element this is requiring the element.
115
+ * @param targetSelectors The selector or selectors that were not found.
116
+ */
117
+ const printRequiredElementError = (el, ...targetSelectors) => {
118
+ return console.error(`<${el.tagName.toLowerCase()}> must be used inside ${targetSelectors.join(' or ')}.`);
119
+ };
120
+
121
+ export { LogLevel as L, configFromSession as a, configFromURL as b, config as c, printIonError as d, printRequiredElementError as e, printIonWarning as p, saveConfig as s };