voyager-ionic-core 8.5.3 → 8.5.6

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 (622) 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/config.js +3 -1
  6. package/components/data.js +3 -3
  7. package/components/hardware-back-button.js +3 -3
  8. package/components/helpers.js +3 -1
  9. package/components/index.js +2 -1
  10. package/components/index2.js +1 -2
  11. package/components/index4.js +104 -289
  12. package/components/index5.js +302 -3
  13. package/components/index6.js +3 -38
  14. package/components/index8.js +1 -1
  15. package/components/index9.js +1 -1
  16. package/components/input-shims.js +1 -1
  17. package/components/input.utils.js +3 -3
  18. package/components/ion-accordion-group.js +4 -4
  19. package/components/ion-accordion.js +2 -1
  20. package/components/ion-app.js +4 -4
  21. package/components/ion-back-button.js +2 -1
  22. package/components/ion-datetime-button.js +7 -7
  23. package/components/ion-datetime.js +17 -17
  24. package/components/ion-infinite-scroll-content.js +2 -1
  25. package/components/ion-input-password-toggle.js +6 -6
  26. package/components/ion-input.js +17 -6
  27. package/components/ion-item-sliding.js +3 -2
  28. package/components/ion-loading.js +2 -1
  29. package/components/ion-menu-button.js +3 -2
  30. package/components/ion-menu-toggle.js +1 -1
  31. package/components/ion-menu.js +7 -6
  32. package/components/ion-nav.js +5 -5
  33. package/components/ion-picker-legacy.js +4 -4
  34. package/components/ion-progress-bar.js +2 -1
  35. package/components/ion-range.js +6 -6
  36. package/components/ion-refresher-content.js +2 -1
  37. package/components/ion-refresher.js +3 -2
  38. package/components/ion-router-outlet.js +4 -3
  39. package/components/ion-router.js +9 -8
  40. package/components/ion-searchbar.js +2 -1
  41. package/components/ion-segment-button.js +6 -5
  42. package/components/ion-select.js +14 -7
  43. package/components/ion-skeleton-text.js +2 -1
  44. package/components/ion-split-pane.js +5 -4
  45. package/components/ion-tab-button.js +2 -1
  46. package/components/ion-tab.js +5 -4
  47. package/components/ion-tabs.js +3 -2
  48. package/components/ion-textarea.js +14 -3
  49. package/components/ion-toast.js +11 -11
  50. package/components/ion-toggle.js +18 -8
  51. package/components/ionic-global.js +3 -77
  52. package/components/item.js +9 -5
  53. package/components/keyboard-controller.js +1 -1
  54. package/components/menu-toggle-util.js +1 -1
  55. package/components/modal.js +10 -10
  56. package/components/notch-controller.js +1 -1
  57. package/components/overlays.js +6 -6
  58. package/components/picker-column.js +1 -1
  59. package/components/popover.js +4 -4
  60. package/components/spinner.js +2 -1
  61. package/dist/cjs/{animation-b4fdf128.js → animation-ab2d3449.js} +4 -3
  62. package/dist/cjs/{app-globals-dd592863.js → app-globals-ddceb1f4.js} +1 -1
  63. package/dist/cjs/{config-4f60b98a.js → config-f6225ae7.js} +3 -1
  64. package/dist/cjs/{data-27cc2c9c.js → data-94e8d392.js} +3 -3
  65. package/dist/cjs/{framework-delegate-50a86d56.js → framework-delegate-862d9d00.js} +1 -1
  66. package/dist/cjs/{hardware-back-button-5a99001f.js → hardware-back-button-3d2b1004.js} +7 -8
  67. package/dist/cjs/{helpers-3a248559.js → helpers-8a48fdea.js} +3 -1
  68. package/dist/cjs/{index-e630fd95.js → index-1eff7149.js} +7 -8
  69. package/dist/cjs/{index-509ca0d3.js → index-31b07b9c.js} +2 -2
  70. package/dist/cjs/{index-4b70187a.js → index-a96d31ae.js} +5 -5
  71. package/dist/cjs/index-cc858e97.js +129 -0
  72. package/dist/cjs/{index-e36bd277.js → index-dbe01e08.js} +2 -1
  73. package/dist/cjs/index.cjs.js +19 -13
  74. package/dist/cjs/{input-shims-22a9973f.js → input-shims-415be7ee.js} +3 -5
  75. package/dist/cjs/{input.utils-e82b8ed0.js → input.utils-a7957fd6.js} +3 -3
  76. package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -9
  77. package/dist/cjs/ion-action-sheet.cjs.entry.js +7 -7
  78. package/dist/cjs/ion-alert.cjs.entry.js +12 -12
  79. package/dist/cjs/ion-app_8.cjs.entry.js +23 -23
  80. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -1
  81. package/dist/cjs/ion-back-button.cjs.entry.js +8 -7
  82. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -1
  83. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -2
  84. package/dist/cjs/ion-button_2.cjs.entry.js +8 -8
  85. package/dist/cjs/ion-card_5.cjs.entry.js +3 -2
  86. package/dist/cjs/ion-checkbox.cjs.entry.js +3 -2
  87. package/dist/cjs/ion-chip.cjs.entry.js +2 -1
  88. package/dist/cjs/ion-col_3.cjs.entry.js +2 -1
  89. package/dist/cjs/ion-datetime-button.cjs.entry.js +10 -10
  90. package/dist/cjs/ion-datetime_3.cjs.entry.js +27 -27
  91. package/dist/cjs/ion-fab_3.cjs.entry.js +3 -2
  92. package/dist/cjs/ion-img.cjs.entry.js +3 -2
  93. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +7 -7
  94. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -7
  95. package/dist/cjs/ion-input.cjs.entry.js +21 -10
  96. package/dist/cjs/ion-item-option_3.cjs.entry.js +6 -6
  97. package/dist/cjs/ion-item_8.cjs.entry.js +13 -8
  98. package/dist/cjs/ion-loading.cjs.entry.js +10 -10
  99. package/dist/cjs/ion-menu_3.cjs.entry.js +24 -24
  100. package/dist/cjs/ion-modal.cjs.entry.js +18 -18
  101. package/dist/cjs/ion-nav_2.cjs.entry.js +18 -18
  102. package/dist/cjs/ion-picker-column-option.cjs.entry.js +3 -2
  103. package/dist/cjs/ion-picker-column.cjs.entry.js +3 -2
  104. package/dist/cjs/ion-picker.cjs.entry.js +2 -1
  105. package/dist/cjs/ion-popover.cjs.entry.js +11 -11
  106. package/dist/cjs/ion-progress-bar.cjs.entry.js +4 -3
  107. package/dist/cjs/ion-radio_2.cjs.entry.js +3 -2
  108. package/dist/cjs/ion-range.cjs.entry.js +9 -9
  109. package/dist/cjs/ion-refresher_2.cjs.entry.js +14 -14
  110. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-ripple-effect.cjs.entry.js +2 -1
  112. package/dist/cjs/ion-route_4.cjs.entry.js +11 -10
  113. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -7
  114. package/dist/cjs/ion-segment_2.cjs.entry.js +8 -7
  115. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  116. package/dist/cjs/ion-select_3.cjs.entry.js +21 -16
  117. package/dist/cjs/ion-spinner.cjs.entry.js +4 -3
  118. package/dist/cjs/ion-split-pane.cjs.entry.js +6 -5
  119. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -3
  120. package/dist/cjs/ion-tab_2.cjs.entry.js +8 -7
  121. package/dist/cjs/ion-text.cjs.entry.js +2 -1
  122. package/dist/cjs/ion-textarea.cjs.entry.js +18 -7
  123. package/dist/cjs/ion-toast.cjs.entry.js +18 -18
  124. package/dist/cjs/ion-toggle.cjs.entry.js +20 -10
  125. package/dist/cjs/{ionic-global-acb665ad.js → ionic-global-6dea5a96.js} +15 -90
  126. package/dist/cjs/ionic.cjs.js +4 -3
  127. package/dist/cjs/{ios.transition-ae7afca9.js → ios.transition-a131cd4d.js} +4 -5
  128. package/dist/cjs/loader.cjs.js +4 -3
  129. package/dist/cjs/{md.transition-26003e25.js → md.transition-e018ebe5.js} +4 -5
  130. package/dist/cjs/{notch-controller-ae03a497.js → notch-controller-09b7f358.js} +1 -1
  131. package/dist/cjs/{overlays-32e1b66b.js → overlays-4c291a05.js} +19 -19
  132. package/dist/cjs/{status-tap-03023755.js → status-tap-f1acefac.js} +3 -4
  133. package/dist/cjs/{swipe-back-652bdd0b.js → swipe-back-442ca3d7.js} +2 -1
  134. package/dist/collection/components/accordion-group/accordion-group.js +3 -3
  135. package/dist/collection/components/alert/alert.js +4 -3
  136. package/dist/collection/components/app/app.js +2 -2
  137. package/dist/collection/components/button/button.js +5 -5
  138. package/dist/collection/components/datetime/datetime.js +11 -11
  139. package/dist/collection/components/datetime/utils/comparison.js +1 -1
  140. package/dist/collection/components/datetime/utils/parse.js +1 -1
  141. package/dist/collection/components/datetime/utils/state.js +1 -1
  142. package/dist/collection/components/datetime/utils/validate.js +4 -4
  143. package/dist/collection/components/datetime-button/datetime-button.js +6 -6
  144. package/dist/collection/components/input/input.ios.css +1 -0
  145. package/dist/collection/components/input/input.js +24 -4
  146. package/dist/collection/components/input/input.md.css +1 -0
  147. package/dist/collection/components/input/input.utils.js +1 -1
  148. package/dist/collection/components/input-password-toggle/input-password-toggle.js +5 -5
  149. package/dist/collection/components/item/item.js +9 -5
  150. package/dist/collection/components/item-sliding/item-sliding.js +3 -2
  151. package/dist/collection/components/menu/menu.js +5 -4
  152. package/dist/collection/components/modal/modal.js +7 -7
  153. package/dist/collection/components/nav/nav.js +3 -3
  154. package/dist/collection/components/picker-legacy/picker.js +3 -3
  155. package/dist/collection/components/popover/popover.js +3 -3
  156. package/dist/collection/components/range/range.js +5 -5
  157. package/dist/collection/components/refresher/refresher.js +3 -2
  158. package/dist/collection/components/router/router.js +8 -7
  159. package/dist/collection/components/router/utils/dom.js +2 -1
  160. package/dist/collection/components/router-outlet/router-outlet.js +3 -2
  161. package/dist/collection/components/segment-button/segment-button.js +6 -5
  162. package/dist/collection/components/select/select.ios.css +5 -3
  163. package/dist/collection/components/select/select.js +13 -6
  164. package/dist/collection/components/select/select.md.css +55 -16
  165. package/dist/collection/components/split-pane/split-pane.js +5 -4
  166. package/dist/collection/components/tab/tab.js +5 -4
  167. package/dist/collection/components/tabs/tabs.js +3 -2
  168. package/dist/collection/components/textarea/textarea.js +22 -2
  169. package/dist/collection/components/toast/animations/utils.js +1 -1
  170. package/dist/collection/components/toast/toast.js +8 -8
  171. package/dist/collection/components/toggle/toggle.ios.css +5 -17
  172. package/dist/collection/components/toggle/toggle.js +14 -5
  173. package/dist/collection/components/toggle/toggle.md.css +5 -17
  174. package/dist/collection/global/ionic-global.js +2 -1
  175. package/dist/collection/index.js +1 -0
  176. package/dist/collection/utils/animation/animation.js +2 -1
  177. package/dist/collection/utils/hardware-back-button.js +2 -1
  178. package/dist/collection/utils/helpers.js +2 -1
  179. package/dist/collection/utils/logging/index.js +10 -4
  180. package/dist/collection/utils/overlays.js +4 -4
  181. package/dist/collection/utils/sanitization/index.js +2 -1
  182. package/dist/docs.json +15 -3
  183. package/dist/esm/{animation-eab5a4ca.js → animation-8b25e105.js} +2 -1
  184. package/dist/esm/{app-globals-7b6cbf1a.js → app-globals-dbdbb3df.js} +1 -1
  185. package/dist/esm/{config-49c88215.js → config-9898ed97.js} +3 -1
  186. package/dist/esm/{data-174ad5e0.js → data-0d7ea6eb.js} +3 -3
  187. package/dist/esm/{framework-delegate-2eea1763.js → framework-delegate-56b467ad.js} +1 -1
  188. package/dist/esm/{hardware-back-button-864101a3.js → hardware-back-button-a7eb8233.js} +2 -3
  189. package/dist/esm/{helpers-78efeec3.js → helpers-d94bc8ad.js} +3 -1
  190. package/dist/esm/{index-f9f5d018.js → index-18f31305.js} +5 -5
  191. package/dist/esm/{index-ecb55b8d.js → index-68c0d151.js} +4 -5
  192. package/dist/esm/{index-e919e353.js → index-9a17db3d.js} +2 -2
  193. package/dist/esm/{index-40894f4b.js → index-be190feb.js} +2 -1
  194. package/dist/esm/index-cfd9c1f2.js +121 -0
  195. package/dist/esm/index.js +12 -12
  196. package/dist/esm/{input-shims-7dc1f6dc.js → input-shims-279903e2.js} +3 -5
  197. package/dist/esm/{input.utils-28bf4ef0.js → input.utils-40504d6d.js} +3 -3
  198. package/dist/esm/ion-accordion_2.entry.js +6 -6
  199. package/dist/esm/ion-action-sheet.entry.js +7 -7
  200. package/dist/esm/ion-alert.entry.js +11 -11
  201. package/dist/esm/ion-app_8.entry.js +16 -16
  202. package/dist/esm/ion-avatar_3.entry.js +2 -1
  203. package/dist/esm/ion-back-button.entry.js +3 -2
  204. package/dist/esm/ion-backdrop.entry.js +2 -1
  205. package/dist/esm/ion-breadcrumb_2.entry.js +3 -2
  206. package/dist/esm/ion-button_2.entry.js +8 -8
  207. package/dist/esm/ion-card_5.entry.js +3 -2
  208. package/dist/esm/ion-checkbox.entry.js +3 -2
  209. package/dist/esm/ion-chip.entry.js +2 -1
  210. package/dist/esm/ion-col_3.entry.js +2 -1
  211. package/dist/esm/ion-datetime-button.entry.js +10 -10
  212. package/dist/esm/ion-datetime_3.entry.js +27 -27
  213. package/dist/esm/ion-fab_3.entry.js +3 -2
  214. package/dist/esm/ion-img.entry.js +3 -2
  215. package/dist/esm/ion-infinite-scroll_2.entry.js +5 -5
  216. package/dist/esm/ion-input-password-toggle.entry.js +7 -7
  217. package/dist/esm/ion-input.entry.js +21 -10
  218. package/dist/esm/ion-item-option_3.entry.js +6 -6
  219. package/dist/esm/ion-item_8.entry.js +12 -7
  220. package/dist/esm/ion-loading.entry.js +8 -8
  221. package/dist/esm/ion-menu_3.entry.js +12 -12
  222. package/dist/esm/ion-modal.entry.js +16 -16
  223. package/dist/esm/ion-nav_2.entry.js +8 -8
  224. package/dist/esm/ion-picker-column-option.entry.js +3 -2
  225. package/dist/esm/ion-picker-column.entry.js +3 -2
  226. package/dist/esm/ion-picker.entry.js +2 -1
  227. package/dist/esm/ion-popover.entry.js +11 -11
  228. package/dist/esm/ion-progress-bar.entry.js +3 -2
  229. package/dist/esm/ion-radio_2.entry.js +3 -2
  230. package/dist/esm/ion-range.entry.js +9 -9
  231. package/dist/esm/ion-refresher_2.entry.js +8 -8
  232. package/dist/esm/ion-reorder_2.entry.js +4 -4
  233. package/dist/esm/ion-ripple-effect.entry.js +2 -1
  234. package/dist/esm/ion-route_4.entry.js +11 -10
  235. package/dist/esm/ion-searchbar.entry.js +3 -2
  236. package/dist/esm/ion-segment_2.entry.js +8 -7
  237. package/dist/esm/ion-select-modal.entry.js +6 -6
  238. package/dist/esm/ion-select_3.entry.js +19 -14
  239. package/dist/esm/ion-spinner.entry.js +2 -1
  240. package/dist/esm/ion-split-pane.entry.js +6 -5
  241. package/dist/esm/ion-tab-bar_2.entry.js +3 -2
  242. package/dist/esm/ion-tab_2.entry.js +8 -7
  243. package/dist/esm/ion-text.entry.js +2 -1
  244. package/dist/esm/ion-textarea.entry.js +18 -7
  245. package/dist/esm/ion-toast.entry.js +16 -16
  246. package/dist/esm/ion-toggle.entry.js +19 -9
  247. package/dist/esm/{ionic-global-ca86cf32.js → ionic-global-b26f573e.js} +3 -77
  248. package/dist/esm/ionic.js +4 -3
  249. package/dist/esm/{ios.transition-7fe5dbea.js → ios.transition-4047cb68.js} +4 -5
  250. package/dist/esm/loader.js +4 -3
  251. package/dist/esm/{md.transition-8dc58b46.js → md.transition-30ce8d1b.js} +4 -5
  252. package/dist/esm/{notch-controller-00d92e89.js → notch-controller-1a1f7183.js} +1 -1
  253. package/dist/esm/{overlays-41a5d51b.js → overlays-d99dcb0a.js} +8 -8
  254. package/dist/esm/{status-tap-f6d08e9e.js → status-tap-42a8af65.js} +3 -4
  255. package/dist/esm/{swipe-back-5c7708b8.js → swipe-back-04123e7c.js} +2 -1
  256. package/dist/esm-es5/animation-8b25e105.js +4 -0
  257. package/dist/esm-es5/app-globals-dbdbb3df.js +4 -0
  258. package/dist/esm-es5/config-9898ed97.js +4 -0
  259. package/dist/esm-es5/data-0d7ea6eb.js +4 -0
  260. package/dist/esm-es5/{framework-delegate-2eea1763.js → framework-delegate-56b467ad.js} +1 -1
  261. package/dist/esm-es5/hardware-back-button-a7eb8233.js +4 -0
  262. package/dist/esm-es5/helpers-d94bc8ad.js +4 -0
  263. package/dist/esm-es5/{index-f9f5d018.js → index-18f31305.js} +1 -1
  264. package/dist/esm-es5/index-68c0d151.js +4 -0
  265. package/dist/esm-es5/{index-e919e353.js → index-9a17db3d.js} +1 -1
  266. package/dist/esm-es5/index-be190feb.js +4 -0
  267. package/dist/esm-es5/index-cfd9c1f2.js +5 -0
  268. package/dist/esm-es5/index.js +1 -1
  269. package/dist/esm-es5/input-shims-279903e2.js +4 -0
  270. package/dist/esm-es5/input.utils-40504d6d.js +4 -0
  271. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  272. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  273. package/dist/esm-es5/ion-alert.entry.js +1 -1
  274. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  275. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  276. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  277. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  278. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  279. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  280. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  281. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  282. package/dist/esm-es5/ion-chip.entry.js +1 -1
  283. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  284. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  285. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  286. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  287. package/dist/esm-es5/ion-img.entry.js +1 -1
  288. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  289. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  290. package/dist/esm-es5/ion-input.entry.js +1 -1
  291. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  292. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  293. package/dist/esm-es5/ion-loading.entry.js +1 -1
  294. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  295. package/dist/esm-es5/ion-modal.entry.js +1 -1
  296. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  297. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  298. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  299. package/dist/esm-es5/ion-picker.entry.js +1 -1
  300. package/dist/esm-es5/ion-popover.entry.js +1 -1
  301. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  302. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  303. package/dist/esm-es5/ion-range.entry.js +1 -1
  304. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  305. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  306. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  307. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  308. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  309. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  310. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  311. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  312. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  313. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  314. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  315. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  316. package/dist/esm-es5/ion-text.entry.js +1 -1
  317. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  318. package/dist/esm-es5/ion-toast.entry.js +1 -1
  319. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  320. package/dist/esm-es5/ionic-global-b26f573e.js +4 -0
  321. package/dist/esm-es5/ionic.js +1 -1
  322. package/dist/esm-es5/ios.transition-4047cb68.js +4 -0
  323. package/dist/esm-es5/loader.js +1 -1
  324. package/dist/esm-es5/md.transition-30ce8d1b.js +4 -0
  325. package/dist/esm-es5/{notch-controller-00d92e89.js → notch-controller-1a1f7183.js} +1 -1
  326. package/dist/esm-es5/overlays-d99dcb0a.js +4 -0
  327. package/dist/esm-es5/status-tap-42a8af65.js +4 -0
  328. package/dist/esm-es5/swipe-back-04123e7c.js +4 -0
  329. package/dist/ionic/index.esm.js +1 -1
  330. package/dist/ionic/ionic.esm.js +1 -1
  331. package/dist/ionic/ionic.js +1 -1
  332. package/dist/ionic/p-00023f5a.system.js +4 -0
  333. package/dist/ionic/p-03480b95.system.entry.js +4 -0
  334. package/dist/ionic/p-08cef0b1.entry.js +4 -0
  335. package/dist/ionic/p-0af640d6.entry.js +4 -0
  336. package/dist/ionic/{p-756e4559.js → p-0f5e6225.js} +1 -1
  337. package/dist/ionic/p-105b2e8b.entry.js +4 -0
  338. package/dist/ionic/p-10a1bddc.js +4 -0
  339. package/dist/ionic/p-117d0013.system.entry.js +4 -0
  340. package/dist/ionic/p-12193821.system.js +4 -0
  341. package/dist/ionic/p-12830298.system.entry.js +4 -0
  342. package/dist/ionic/p-14154301.system.entry.js +4 -0
  343. package/dist/ionic/{p-14114a59.system.entry.js → p-1706b406.system.entry.js} +1 -1
  344. package/dist/ionic/p-17e21141.js +4 -0
  345. package/dist/ionic/p-19494658.system.entry.js +4 -0
  346. package/dist/ionic/{p-9e45532a.system.js → p-1966a13c.system.js} +1 -1
  347. package/dist/ionic/p-1974d5b2.system.js +4 -0
  348. package/dist/ionic/p-1a7df1c3.system.js +4 -0
  349. package/dist/ionic/p-1a81ac09.system.js +4 -0
  350. package/dist/ionic/p-1b9c59ab.js +4 -0
  351. package/dist/ionic/p-1d307396.system.js +4 -0
  352. package/dist/ionic/p-1f871cf8.entry.js +4 -0
  353. package/dist/ionic/p-200fc491.js +4 -0
  354. package/dist/ionic/p-2233344a.system.js +4 -0
  355. package/dist/ionic/p-2469240b.entry.js +4 -0
  356. package/dist/ionic/{p-7058a5e4.system.entry.js → p-24a6c8a3.system.entry.js} +1 -1
  357. package/dist/ionic/p-257fb777.entry.js +4 -0
  358. package/dist/ionic/{p-c3f9d9fe.js → p-25b10f81.js} +1 -1
  359. package/dist/ionic/p-2bb55ebc.js +4 -0
  360. package/dist/ionic/p-2bff0e69.system.entry.js +4 -0
  361. package/dist/ionic/p-31dc303d.entry.js +4 -0
  362. package/dist/ionic/p-3535d6b5.entry.js +4 -0
  363. package/dist/ionic/{p-5578033e.system.entry.js → p-35cdfd77.system.entry.js} +1 -1
  364. package/dist/ionic/p-393ffcc2.entry.js +4 -0
  365. package/dist/ionic/p-39fa7dd1.system.entry.js +4 -0
  366. package/dist/ionic/p-3a30f31b.system.entry.js +4 -0
  367. package/dist/ionic/p-42f08b26.system.entry.js +4 -0
  368. package/dist/ionic/p-481e0885.entry.js +4 -0
  369. package/dist/ionic/p-4a5be299.system.entry.js +4 -0
  370. package/dist/ionic/p-4c667fce.js +4 -0
  371. package/dist/ionic/p-4cf4172e.entry.js +4 -0
  372. package/dist/ionic/p-4da92dac.entry.js +4 -0
  373. package/dist/ionic/p-4dde69d1.system.entry.js +4 -0
  374. package/dist/ionic/p-4ec0e961.system.entry.js +4 -0
  375. package/dist/ionic/{p-d70a9e6d.system.js → p-4ed5db19.system.js} +1 -1
  376. package/dist/ionic/p-50cb2e8b.system.entry.js +4 -0
  377. package/dist/ionic/p-57957c0f.entry.js +4 -0
  378. package/dist/ionic/p-5798670a.entry.js +4 -0
  379. package/dist/ionic/p-57e55ecb.system.js +4 -0
  380. package/dist/ionic/p-5b67b447.js +4 -0
  381. package/dist/ionic/p-5c9feddc.system.entry.js +4 -0
  382. package/dist/ionic/p-612096e6.system.entry.js +4 -0
  383. package/dist/ionic/p-6201c4ba.entry.js +4 -0
  384. package/dist/ionic/p-625248d0.system.js +4 -0
  385. package/dist/ionic/p-663413be.system.js +4 -0
  386. package/dist/ionic/p-6636a436.js +4 -0
  387. package/dist/ionic/p-66df5468.system.entry.js +4 -0
  388. package/dist/ionic/p-67077d48.entry.js +4 -0
  389. package/dist/ionic/p-67cacd6d.entry.js +4 -0
  390. package/dist/ionic/p-6835ebdd.system.entry.js +4 -0
  391. package/dist/ionic/p-6b8530f5.system.entry.js +4 -0
  392. package/dist/ionic/{p-a7830ff8.entry.js → p-6c474e87.entry.js} +1 -1
  393. package/dist/ionic/p-6dd86ff5.system.entry.js +4 -0
  394. package/dist/ionic/p-6ec0c94a.entry.js +4 -0
  395. package/dist/ionic/p-6f832afe.system.entry.js +4 -0
  396. package/dist/ionic/p-712c0131.entry.js +4 -0
  397. package/dist/ionic/{p-e11ff516.entry.js → p-721f43f9.entry.js} +1 -1
  398. package/dist/ionic/p-7445a2e5.system.js +4 -0
  399. package/dist/ionic/p-7611ede3.system.entry.js +4 -0
  400. package/dist/ionic/p-781e2dbb.system.js +4 -0
  401. package/dist/ionic/p-7b8c12c3.entry.js +4 -0
  402. package/dist/ionic/{p-7b886108.system.entry.js → p-7c12add8.system.entry.js} +1 -1
  403. package/dist/ionic/p-7c5c7ae1.system.entry.js +4 -0
  404. package/dist/ionic/p-7e3e6ed2.entry.js +4 -0
  405. package/dist/ionic/{p-4c7e6fec.system.entry.js → p-7ffedf77.system.entry.js} +1 -1
  406. package/dist/ionic/p-809483ac.js +4 -0
  407. package/dist/ionic/{p-65e732b9.entry.js → p-81904a80.entry.js} +1 -1
  408. package/dist/ionic/{p-a6625de8.system.js → p-84096b45.system.js} +1 -1
  409. package/dist/ionic/p-8450f761.entry.js +4 -0
  410. package/dist/ionic/p-8460d95a.entry.js +4 -0
  411. package/dist/ionic/p-85b01465.js +4 -0
  412. package/dist/ionic/p-865fe95c.entry.js +4 -0
  413. package/dist/ionic/p-8674af94.entry.js +4 -0
  414. package/dist/ionic/p-890a4ee2.entry.js +4 -0
  415. package/dist/ionic/p-891553d8.entry.js +4 -0
  416. package/dist/ionic/p-8b050e84.system.js +4 -0
  417. package/dist/ionic/{p-22bc235f.js → p-8d2d39d0.js} +1 -1
  418. package/dist/ionic/p-8dacf4e2.entry.js +4 -0
  419. package/dist/ionic/p-94551927.js +4 -0
  420. package/dist/ionic/p-95001a19.js +4 -0
  421. package/dist/ionic/p-98fd942b.system.entry.js +4 -0
  422. package/dist/ionic/p-9e753482.system.entry.js +4 -0
  423. package/dist/ionic/p-a0fd2fe5.system.entry.js +4 -0
  424. package/dist/ionic/p-a2c6a9c8.entry.js +4 -0
  425. package/dist/ionic/p-a2dd5b69.system.entry.js +4 -0
  426. package/dist/ionic/p-a5dbe0ff.system.entry.js +4 -0
  427. package/dist/ionic/p-a78fa846.entry.js +4 -0
  428. package/dist/ionic/p-a835aca8.entry.js +4 -0
  429. package/dist/ionic/p-a83e3290.system.js +4 -0
  430. package/dist/ionic/p-ad592db9.entry.js +4 -0
  431. package/dist/ionic/{p-624ecf03.js → p-aded71ec.js} +1 -1
  432. package/dist/ionic/p-ae039072.entry.js +4 -0
  433. package/dist/ionic/p-aebfab05.system.entry.js +4 -0
  434. package/dist/ionic/p-b2e7eda0.system.entry.js +4 -0
  435. package/dist/ionic/p-b383d331.entry.js +4 -0
  436. package/dist/ionic/p-b445ff65.entry.js +4 -0
  437. package/dist/ionic/{p-d882f1e2.system.entry.js → p-b4d17da0.system.entry.js} +2 -2
  438. package/dist/ionic/p-b5432d15.entry.js +4 -0
  439. package/dist/ionic/p-b6d324f0.js +4 -0
  440. package/dist/ionic/p-b7b1d91a.js +4 -0
  441. package/dist/ionic/{p-f387b3c6.system.entry.js → p-b8050298.system.entry.js} +1 -1
  442. package/dist/ionic/p-b9c793d4.entry.js +4 -0
  443. package/dist/ionic/p-bafc3eae.system.entry.js +4 -0
  444. package/dist/ionic/p-bf184319.system.entry.js +4 -0
  445. package/dist/ionic/{p-8048804d.system.entry.js → p-bfb763d0.system.entry.js} +1 -1
  446. package/dist/ionic/p-c16443a8.system.js +4 -0
  447. package/dist/ionic/{p-49d53551.system.entry.js → p-c1b7d311.system.entry.js} +1 -1
  448. package/dist/ionic/p-c2160d8c.entry.js +4 -0
  449. package/dist/ionic/p-c5b77054.entry.js +4 -0
  450. package/dist/ionic/p-c5bfa3e9.entry.js +4 -0
  451. package/dist/ionic/p-c6879aa4.system.entry.js +4 -0
  452. package/dist/ionic/p-cad82569.entry.js +4 -0
  453. package/dist/ionic/p-d16fab3f.entry.js +4 -0
  454. package/dist/ionic/p-d2c3524b.system.entry.js +4 -0
  455. package/dist/ionic/p-d382f09c.system.js +4 -0
  456. package/dist/ionic/p-d984c1ab.system.entry.js +4 -0
  457. package/dist/ionic/p-da6247e5.entry.js +4 -0
  458. package/dist/ionic/p-dabe3bd4.js +4 -0
  459. package/dist/ionic/p-df069a0d.entry.js +4 -0
  460. package/dist/ionic/p-e6068998.system.entry.js +4 -0
  461. package/dist/ionic/p-e727e32d.system.entry.js +4 -0
  462. package/dist/ionic/p-e887b6a9.system.js +4 -0
  463. package/dist/ionic/p-ed005d9c.js +4 -0
  464. package/dist/ionic/{p-b9fa7882.js → p-f08a92cc.js} +1 -1
  465. package/dist/ionic/p-f08dfb19.entry.js +4 -0
  466. package/dist/ionic/p-f0c9f8e3.system.entry.js +4 -0
  467. package/dist/ionic/p-f0ef39ab.entry.js +4 -0
  468. package/dist/ionic/{p-4662a25c.system.entry.js → p-f22490a7.system.entry.js} +1 -1
  469. package/dist/ionic/p-f6e7d104.system.js +4 -0
  470. package/dist/ionic/p-f725bf9e.system.js +4 -0
  471. package/dist/ionic/p-f9a87db2.system.entry.js +4 -0
  472. package/dist/ionic/{p-3855fef7.system.js → p-fa3f4b96.system.js} +2 -2
  473. package/dist/ionic/p-fe063952.system.entry.js +4 -0
  474. package/dist/types/components/input/input.d.ts +13 -0
  475. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  476. package/dist/types/components/select/select.d.ts +9 -0
  477. package/dist/types/components/textarea/textarea.d.ts +13 -0
  478. package/dist/types/components/toggle/toggle.d.ts +2 -0
  479. package/dist/types/index.d.ts +1 -0
  480. package/dist/types/utils/logging/index.d.ts +1 -1
  481. package/hydrate/index.js +247 -200
  482. package/hydrate/index.mjs +247 -200
  483. package/package.json +2 -2
  484. package/dist/cjs/index-48b2a28e.js +0 -46
  485. package/dist/esm/index-738d7504.js +0 -42
  486. package/dist/esm-es5/animation-eab5a4ca.js +0 -4
  487. package/dist/esm-es5/app-globals-7b6cbf1a.js +0 -4
  488. package/dist/esm-es5/config-49c88215.js +0 -4
  489. package/dist/esm-es5/data-174ad5e0.js +0 -4
  490. package/dist/esm-es5/hardware-back-button-864101a3.js +0 -4
  491. package/dist/esm-es5/helpers-78efeec3.js +0 -4
  492. package/dist/esm-es5/index-40894f4b.js +0 -4
  493. package/dist/esm-es5/index-738d7504.js +0 -4
  494. package/dist/esm-es5/index-ecb55b8d.js +0 -4
  495. package/dist/esm-es5/input-shims-7dc1f6dc.js +0 -4
  496. package/dist/esm-es5/input.utils-28bf4ef0.js +0 -4
  497. package/dist/esm-es5/ionic-global-ca86cf32.js +0 -4
  498. package/dist/esm-es5/ios.transition-7fe5dbea.js +0 -4
  499. package/dist/esm-es5/md.transition-8dc58b46.js +0 -4
  500. package/dist/esm-es5/overlays-41a5d51b.js +0 -4
  501. package/dist/esm-es5/status-tap-f6d08e9e.js +0 -4
  502. package/dist/esm-es5/swipe-back-5c7708b8.js +0 -4
  503. package/dist/ionic/p-0186a592.entry.js +0 -4
  504. package/dist/ionic/p-027a48f1.entry.js +0 -4
  505. package/dist/ionic/p-058b7f35.js +0 -4
  506. package/dist/ionic/p-05b65d7a.entry.js +0 -4
  507. package/dist/ionic/p-09d185ff.system.js +0 -4
  508. package/dist/ionic/p-0a456b7f.entry.js +0 -4
  509. package/dist/ionic/p-0adb6909.system.entry.js +0 -4
  510. package/dist/ionic/p-0bedc891.system.entry.js +0 -4
  511. package/dist/ionic/p-0d1be7c9.system.entry.js +0 -4
  512. package/dist/ionic/p-0ec5b7cf.system.js +0 -4
  513. package/dist/ionic/p-15bb1dde.system.js +0 -4
  514. package/dist/ionic/p-180b4f9a.entry.js +0 -4
  515. package/dist/ionic/p-19c32a76.entry.js +0 -4
  516. package/dist/ionic/p-1b0b2210.entry.js +0 -4
  517. package/dist/ionic/p-1bf5ec17.system.js +0 -4
  518. package/dist/ionic/p-1c1d781d.system.entry.js +0 -4
  519. package/dist/ionic/p-1c8b3ac9.entry.js +0 -4
  520. package/dist/ionic/p-1de5dfcd.system.entry.js +0 -4
  521. package/dist/ionic/p-2567237c.entry.js +0 -4
  522. package/dist/ionic/p-29a5b4e4.entry.js +0 -4
  523. package/dist/ionic/p-29da3dcd.entry.js +0 -4
  524. package/dist/ionic/p-2a2c6bf4.system.entry.js +0 -4
  525. package/dist/ionic/p-3281aab3.entry.js +0 -4
  526. package/dist/ionic/p-33518a04.entry.js +0 -4
  527. package/dist/ionic/p-33cf8185.system.js +0 -4
  528. package/dist/ionic/p-35f14792.entry.js +0 -4
  529. package/dist/ionic/p-383a6058.entry.js +0 -4
  530. package/dist/ionic/p-38eaf9cf.system.entry.js +0 -4
  531. package/dist/ionic/p-3ba2a2cd.system.js +0 -4
  532. package/dist/ionic/p-3f4327f7.js +0 -4
  533. package/dist/ionic/p-41d5544e.js +0 -4
  534. package/dist/ionic/p-41e70fa2.entry.js +0 -4
  535. package/dist/ionic/p-44fde7d5.system.entry.js +0 -4
  536. package/dist/ionic/p-44ff75ea.js +0 -4
  537. package/dist/ionic/p-455cd7cc.system.js +0 -4
  538. package/dist/ionic/p-4630688e.system.entry.js +0 -4
  539. package/dist/ionic/p-48ded460.entry.js +0 -4
  540. package/dist/ionic/p-4b07c60a.system.js +0 -4
  541. package/dist/ionic/p-4ea4c73a.system.entry.js +0 -4
  542. package/dist/ionic/p-4eeca839.system.entry.js +0 -4
  543. package/dist/ionic/p-50e0ce13.entry.js +0 -4
  544. package/dist/ionic/p-51479be0.system.entry.js +0 -4
  545. package/dist/ionic/p-552d9d62.entry.js +0 -4
  546. package/dist/ionic/p-597ff9af.js +0 -4
  547. package/dist/ionic/p-5fb1321f.entry.js +0 -4
  548. package/dist/ionic/p-61373098.js +0 -4
  549. package/dist/ionic/p-6155027f.system.entry.js +0 -4
  550. package/dist/ionic/p-61e794fb.entry.js +0 -4
  551. package/dist/ionic/p-64d8ac48.js +0 -4
  552. package/dist/ionic/p-657ada6a.entry.js +0 -4
  553. package/dist/ionic/p-65943bec.system.entry.js +0 -4
  554. package/dist/ionic/p-6c044a1d.system.js +0 -4
  555. package/dist/ionic/p-70abb1f2.system.entry.js +0 -4
  556. package/dist/ionic/p-747f9517.entry.js +0 -4
  557. package/dist/ionic/p-772d1657.system.js +0 -4
  558. package/dist/ionic/p-7c9daa6f.entry.js +0 -4
  559. package/dist/ionic/p-7cc33a9a.system.js +0 -4
  560. package/dist/ionic/p-7e3b5638.system.entry.js +0 -4
  561. package/dist/ionic/p-7f49a9c4.entry.js +0 -4
  562. package/dist/ionic/p-843ac05d.system.entry.js +0 -4
  563. package/dist/ionic/p-87b0d2c9.entry.js +0 -4
  564. package/dist/ionic/p-8b1c1fd7.entry.js +0 -4
  565. package/dist/ionic/p-8b22be32.system.entry.js +0 -4
  566. package/dist/ionic/p-8cf6f383.system.entry.js +0 -4
  567. package/dist/ionic/p-8d98e2bb.entry.js +0 -4
  568. package/dist/ionic/p-9146695e.system.js +0 -4
  569. package/dist/ionic/p-9263275e.system.entry.js +0 -4
  570. package/dist/ionic/p-959cf042.system.entry.js +0 -4
  571. package/dist/ionic/p-96eec056.entry.js +0 -4
  572. package/dist/ionic/p-978bdf4c.system.js +0 -4
  573. package/dist/ionic/p-9870728f.js +0 -4
  574. package/dist/ionic/p-99803283.entry.js +0 -4
  575. package/dist/ionic/p-9af7f110.js +0 -4
  576. package/dist/ionic/p-9b069739.entry.js +0 -4
  577. package/dist/ionic/p-a26d7667.system.entry.js +0 -4
  578. package/dist/ionic/p-a3c931ad.system.js +0 -4
  579. package/dist/ionic/p-a520973b.entry.js +0 -4
  580. package/dist/ionic/p-a75a9e5a.system.entry.js +0 -4
  581. package/dist/ionic/p-a9198501.system.entry.js +0 -4
  582. package/dist/ionic/p-ac09b6e9.system.entry.js +0 -4
  583. package/dist/ionic/p-ac58d726.system.entry.js +0 -4
  584. package/dist/ionic/p-b1673667.entry.js +0 -4
  585. package/dist/ionic/p-b1f9fbe8.system.entry.js +0 -4
  586. package/dist/ionic/p-b2ee0628.system.entry.js +0 -4
  587. package/dist/ionic/p-b87a9f1d.entry.js +0 -4
  588. package/dist/ionic/p-b8a461f5.system.entry.js +0 -4
  589. package/dist/ionic/p-bf64af90.system.js +0 -4
  590. package/dist/ionic/p-c005cc37.entry.js +0 -4
  591. package/dist/ionic/p-c27c57ea.system.entry.js +0 -4
  592. package/dist/ionic/p-c53c414d.system.entry.js +0 -4
  593. package/dist/ionic/p-c7e16491.js +0 -4
  594. package/dist/ionic/p-ccb740ea.entry.js +0 -4
  595. package/dist/ionic/p-cec54707.system.entry.js +0 -4
  596. package/dist/ionic/p-cf14f70d.entry.js +0 -4
  597. package/dist/ionic/p-cfc08422.entry.js +0 -4
  598. package/dist/ionic/p-cff4f96c.entry.js +0 -4
  599. package/dist/ionic/p-d046659b.system.entry.js +0 -4
  600. package/dist/ionic/p-d40f2b7a.js +0 -4
  601. package/dist/ionic/p-d455de62.entry.js +0 -4
  602. package/dist/ionic/p-db3b409e.system.entry.js +0 -4
  603. package/dist/ionic/p-e29c5aab.system.entry.js +0 -4
  604. package/dist/ionic/p-e2ce5f8b.entry.js +0 -4
  605. package/dist/ionic/p-e3012c2d.js +0 -4
  606. package/dist/ionic/p-e3284879.system.entry.js +0 -4
  607. package/dist/ionic/p-e3e4eed7.entry.js +0 -4
  608. package/dist/ionic/p-e4683bfd.system.entry.js +0 -4
  609. package/dist/ionic/p-e4d2c281.entry.js +0 -4
  610. package/dist/ionic/p-ece78e7b.js +0 -4
  611. package/dist/ionic/p-ee86cfff.system.js +0 -4
  612. package/dist/ionic/p-f201b53a.system.js +0 -4
  613. package/dist/ionic/p-f23124c4.system.js +0 -4
  614. package/dist/ionic/p-f233f1e0.system.js +0 -4
  615. package/dist/ionic/p-f53ee2e7.js +0 -4
  616. package/dist/ionic/p-f5a04e5e.system.entry.js +0 -4
  617. package/dist/ionic/p-f70fc14a.entry.js +0 -4
  618. package/dist/ionic/p-f7ce606e.js +0 -4
  619. package/dist/ionic/p-f834322a.entry.js +0 -4
  620. package/dist/ionic/p-f84f4d8e.system.entry.js +0 -4
  621. package/dist/ionic/p-fa70eaab.entry.js +0 -4
  622. package/dist/ionic/p-ffa3ba3c.js +0 -4
@@ -6,9 +6,10 @@ import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './conf
6
6
  import { c as createButtonActiveGesture } from './button-active.js';
7
7
  import { r as raf } from './helpers.js';
8
8
  import { c as createLockController } from './lock-controller.js';
9
+ import { c as config, a as printIonWarning } from './index4.js';
9
10
  import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays.js';
10
11
  import { g as getClassMap } from './theme.js';
11
- import { c as config, b as getIonMode } from './ionic-global.js';
12
+ import { b as getIonMode } from './ionic-global.js';
12
13
  import { c as createAnimation } from './animation.js';
13
14
  import { d as defineCustomElement$2 } from './backdrop.js';
14
15
  import { d as defineCustomElement$1 } from './ripple-effect.js';
@@ -242,7 +243,7 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
242
243
  // checkboxes and inputs are all accepted, but they cannot be mixed.
243
244
  const inputTypes = new Set(inputs.map((i) => i.type));
244
245
  if (inputTypes.has('checkbox') && inputTypes.has('radio')) {
245
- console.warn(`Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
246
+ printIonWarning(`[ion-alert] - Alert cannot mix input types: ${Array.from(inputTypes.values()).join('/')}. Please see alert docs for more info.`);
246
247
  }
247
248
  this.inputType = inputTypes.values().next().value;
248
249
  this.processedInputs = inputs.map((i, index) => {
@@ -517,9 +518,9 @@ const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
517
518
  * If neither are defined, do not set aria-labelledby.
518
519
  */
519
520
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
520
- return (h(Host, { key: '755f2398806084f16ee24d9fefce9ebc0b8f30f2', tabindex: "-1", style: {
521
+ return (h(Host, { key: 'f8ee04fe6a97a2585b302c8e1a9eea3b122e3479', tabindex: "-1", style: {
521
522
  zIndex: `${20000 + overlayIndex}`,
522
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '5965913fb076436e37f4a55cd8778cbc58449bfd', tappable: this.backdropDismiss }), h("div", { key: 'cb17e07896b6ad8c9c607261fe08437b1a3b272f', tabindex: "0", "aria-hidden": "true" }), h("div", Object.assign({ key: 'e1d43053dceab70b9392802767caa70fa7ed0518', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), h("div", { key: 'a82e0bf863971084f3a8a34d25d6cf7aae1690a8', class: "alert-head" }, header && (h("h2", { key: '36a9b4394f4b4cdcd6972ae60265ac889e2157cf', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '86008c1eb484cc69f66e42c254933ce289180785', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: 'bfaacd3b119d06273683019cddef2c42245c3101', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '0e7df4ab31a72953dcf171ebc87074603f848c06', tabindex: "0", "aria-hidden": "true" })));
523
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'e9592e879f51c27ef20016beec12c986be632cf3', tappable: this.backdropDismiss }), h("div", { key: '5e9425c3c8acdea6f8006389689c73220e2ce423', tabindex: "0", "aria-hidden": "true" }), h("div", Object.assign({ key: '615465703e357619681fc36ed7276591a6fe3787', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), h("div", { key: '934eba3759456cd4660e10f274edc7859f908461', class: "alert-head" }, header && (h("h2", { key: '7d5d98d71f81f59a2cba227121b6fa01e6cc53b6', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: 'e5f5d35748c58a98ee933eb15cb1dcaf8113e9a7', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: 'a5cb89ca02bfa9c4828e694cb0835493a9088b05', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: 'cacffc31c911882df73e6845d15c8bb2d4acab56', tabindex: "0", "aria-hidden": "true" })));
523
524
  }
524
525
  get el() { return this; }
525
526
  static get watchers() { return {
@@ -1,7 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index5.js';
4
+ import { p as printIonError } from './index4.js';
5
+ import { w as win } from './index6.js';
5
6
 
6
7
  let animationPrefix;
7
8
  const getAnimationPrefix = (el) => {
@@ -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;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
5
5
  import { h as hasShadowDom, i as inheritAriaAttributes } from './helpers.js';
6
- import { p as printIonWarning } from './index6.js';
6
+ import { a as printIonWarning } from './index4.js';
7
7
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme.js';
8
8
  import { b as getIonMode } from './ionic-global.js';
9
9
  import { d as defineCustomElement$1 } from './ripple-effect.js';
@@ -145,7 +145,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
145
145
  * The developer specified a string for the form attribute, but the
146
146
  * element with that id is not a form element.
147
147
  */
148
- printIonWarning(`Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
148
+ printIonWarning(`[ion-button] - Form with selector: "#${form}" could not be found. Verify that the id is attached to a <form> element.`, this.el);
149
149
  return null;
150
150
  }
151
151
  }
@@ -154,7 +154,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
154
154
  * The developer specified a string for the form attribute, but the
155
155
  * element with that id could not be found in the DOM.
156
156
  */
157
- printIonWarning(`Form with selector: "#${form}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`, this.el);
157
+ printIonWarning(`[ion-button] - Form with selector: "#${form}" could not be found. Verify that the id is correct and the form is rendered in the DOM.`, this.el);
158
158
  return null;
159
159
  }
160
160
  }
@@ -165,7 +165,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
165
165
  * This will also catch if the developer tries to pass in null
166
166
  * as the form attribute.
167
167
  */
168
- printIonWarning(`The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
168
+ printIonWarning(`[ion-button] - The provided "form" element is invalid. Verify that the form is a HTMLFormElement and rendered in the DOM.`, this.el);
169
169
  return null;
170
170
  }
171
171
  /**
@@ -214,7 +214,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
214
214
  {
215
215
  type !== 'button' && this.renderHiddenButton();
216
216
  }
217
- return (h(Host, { key: '340a809d85698741bb36e796355cae89a970655f', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
217
+ return (h(Host, { key: 'e213b0bb76b3f90f883b1a0ea463bb86c2df69c3', onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
218
218
  [mode]: true,
219
219
  [buttonType]: true,
220
220
  [`${buttonType}-${expand}`]: expand !== undefined,
@@ -229,7 +229,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class Button extends HTMLElement
229
229
  'button-disabled': disabled,
230
230
  'ion-activatable': true,
231
231
  'ion-focusable': true,
232
- }) }, h(TagType, Object.assign({ key: '03ae1b94a0d606aa65aa6f82c2fc76abcf3f1300' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: '90bf53d4ffcab88ee596ece7113d5b6409e61143', class: "button-inner" }, h("slot", { key: 'a7876695f0d8702e8bcb471ae4c0984f27d77458', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: '2c8551586f8726884d7797a6d3fee2d4b3aab35f', name: "start" }), h("slot", { key: '9ab07accdb22b08d0a463a7c821c9793507d1f7d' }), h("slot", { key: '8984afe177e6ba021435875a3798e2a64f3bdf2c', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: '3e9f01e7a1198b6b7109502293a971da7072a4f3', type: this.rippleType }))));
232
+ }) }, h(TagType, Object.assign({ key: 'b7c2a46fb994024841219316f4089335fa463d84' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { key: '3e07a5c9f86836f9fbaefc6c617bdde6eb6f70cd', class: "button-inner" }, h("slot", { key: '41c08ae09aed16faaa57707d229ff75d97f0731c', name: "icon-only", onSlotchange: this.slotChanged }), h("slot", { key: 'ab8b749e4572884cc04970a7594466b4a24c886e', name: "start" }), h("slot", { key: '397f7ff48ea45e82029414be95d29ae86e12c3a9' }), h("slot", { key: '9a5627713002e8be3738d392b616f6e951b70e12', name: "end" })), mode === 'md' && h("ion-ripple-effect", { key: '105566543ceda102474edab7ca8a44c7e71af589', type: this.rippleType }))));
233
233
  }
234
234
  get el() { return this; }
235
235
  static get watchers() { return {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index5.js';
4
+ import { w as win } from './index6.js';
5
5
 
6
6
  const getCapacitor = () => {
7
7
  if (win !== undefined) {
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { p as printIonError } from './index4.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 './index6.js';
4
+ import { a as printIonWarning } from './index4.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,8 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { w as win } from './index5.js';
5
- import { c as config } from './ionic-global.js';
4
+ import { w as win } from './index6.js';
5
+ import { c as config, p as printIonError } from './index4.js';
6
6
 
7
7
  /**
8
8
  * CloseWatcher is a newer API that lets
@@ -58,7 +58,7 @@ const startHardwareBackButton = () => {
58
58
  }
59
59
  }
60
60
  catch (e) {
61
- console.error(e);
61
+ printIonError('[ion-app] - Exception in startHardwareBackButton:', e);
62
62
  }
63
63
  };
64
64
  const processHandlers = () => {
@@ -1,6 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { p as printIonError } from './index4.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
  }
@@ -10,9 +10,10 @@ export { g as getTimeGivenProgression } from './cubic-bezier.js';
10
10
  export { createGesture } from './index3.js';
11
11
  export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global.js';
12
12
  export { c as componentOnReady } from './helpers.js';
13
+ export { L as LogLevel } from './index4.js';
13
14
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config.js';
14
15
  export { o as openURL } from './theme.js';
15
- export { m as menuController } from './index4.js';
16
+ export { m as menuController } from './index5.js';
16
17
  export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays.js';
17
18
 
18
19
  const IonicSlides = (opts) => {
@@ -1,9 +1,8 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as config } from './ionic-global.js';
4
+ import { c as config, a as printIonWarning } from './index4.js';
5
5
  import { writeTask, Build } from '@stencil/core/internal/client';
6
- import { p as printIonWarning } from './index6.js';
7
6
  import { r as raf } from './helpers.js';
8
7
 
9
8
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
@@ -1,306 +1,121 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { d as doc } from './index5.js';
5
- import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button.js';
6
- import { p as printIonWarning } from './index6.js';
7
- import { c as componentOnReady } from './helpers.js';
8
- import { b as getIonMode } from './ionic-global.js';
9
- import { c as createAnimation } from './animation.js';
10
-
11
- /**
12
- * baseAnimation
13
- * Base class which is extended by the various types. Each
14
- * type will provide their own animations for open and close
15
- * and registers itself with Menu.
16
- */
17
- const baseAnimation = (isIos) => {
18
- // https://material.io/guidelines/motion/movement.html#movement-movement-in-out-of-screen-bounds
19
- // https://material.io/guidelines/motion/duration-easing.html#duration-easing-natural-easing-curves
20
- /**
21
- * "Apply the sharp curve to items temporarily leaving the screen that may return
22
- * from the same exit point. When they return, use the deceleration curve. On mobile,
23
- * this transition typically occurs over 300ms" -- MD Motion Guide
24
- */
25
- return createAnimation().duration(isIos ? 400 : 300);
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
+ }
26
43
  };
27
-
28
- /**
29
- * Menu Overlay Type
30
- * The menu slides over the content. The content
31
- * itself, which is under the menu, does not move.
32
- */
33
- const menuOverlayAnimation = (menu) => {
34
- let closedX;
35
- let openedX;
36
- const width = menu.width + 8;
37
- const menuAnimation = createAnimation();
38
- const backdropAnimation = createAnimation();
39
- if (menu.isEndSide) {
40
- // right side
41
- closedX = width + 'px';
42
- openedX = '0px';
44
+ const saveConfig = (win, c) => {
45
+ try {
46
+ win.sessionStorage.setItem(IONIC_SESSION_KEY, JSON.stringify(c));
43
47
  }
44
- else {
45
- // left side
46
- closedX = -width + 'px';
47
- openedX = '0px';
48
+ catch (e) {
49
+ return;
48
50
  }
49
- menuAnimation.addElement(menu.menuInnerEl).fromTo('transform', `translateX(${closedX})`, `translateX(${openedX})`);
50
- const mode = getIonMode(menu);
51
- const isIos = mode === 'ios';
52
- const opacity = isIos ? 0.2 : 0.25;
53
- backdropAnimation.addElement(menu.backdropEl).fromTo('opacity', 0.01, opacity);
54
- return baseAnimation(isIos).addAnimation([menuAnimation, backdropAnimation]);
55
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';
56
78
 
79
+ var LogLevel;
80
+ (function (LogLevel) {
81
+ LogLevel["OFF"] = "OFF";
82
+ LogLevel["ERROR"] = "ERROR";
83
+ LogLevel["WARN"] = "WARN";
84
+ })(LogLevel || (LogLevel = {}));
57
85
  /**
58
- * Menu Push Type
59
- * The content slides over to reveal the menu underneath.
60
- * The menu itself also slides over to reveal its bad self.
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.
61
90
  */
62
- const menuPushAnimation = (menu) => {
63
- let contentOpenedX;
64
- let menuClosedX;
65
- const mode = getIonMode(menu);
66
- const width = menu.width;
67
- if (menu.isEndSide) {
68
- contentOpenedX = -width + 'px';
69
- menuClosedX = width + 'px';
70
- }
71
- else {
72
- contentOpenedX = width + 'px';
73
- menuClosedX = -width + 'px';
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);
74
95
  }
75
- const menuAnimation = createAnimation()
76
- .addElement(menu.menuInnerEl)
77
- .fromTo('transform', `translateX(${menuClosedX})`, 'translateX(0px)');
78
- const contentAnimation = createAnimation()
79
- .addElement(menu.contentEl)
80
- .fromTo('transform', 'translateX(0px)', `translateX(${contentOpenedX})`);
81
- const backdropAnimation = createAnimation().addElement(menu.backdropEl).fromTo('opacity', 0.01, 0.32);
82
- return baseAnimation(mode === 'ios').addAnimation([menuAnimation, contentAnimation, backdropAnimation]);
83
96
  };
84
-
85
97
  /**
86
- * Menu Reveal Type
87
- * The content slides over to reveal the menu underneath.
88
- * The menu itself, which is under the content, does not move.
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.
89
103
  */
90
- const menuRevealAnimation = (menu) => {
91
- const mode = getIonMode(menu);
92
- const openedX = menu.width * (menu.isEndSide ? -1 : 1) + 'px';
93
- const contentOpen = createAnimation()
94
- .addElement(menu.contentEl) // REVIEW
95
- .fromTo('transform', 'translateX(0px)', `translateX(${openedX})`);
96
- return baseAnimation(mode === 'ios').addAnimation(contentOpen);
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
+ }
97
109
  };
98
-
99
- const createMenuController = () => {
100
- const menuAnimations = new Map();
101
- const menus = [];
102
- const open = async (menu) => {
103
- const menuEl = await get(menu, true);
104
- if (menuEl) {
105
- return menuEl.open();
106
- }
107
- return false;
108
- };
109
- const close = async (menu) => {
110
- const menuEl = await (menu !== undefined ? get(menu, true) : getOpen());
111
- if (menuEl !== undefined) {
112
- return menuEl.close();
113
- }
114
- return false;
115
- };
116
- const toggle = async (menu) => {
117
- const menuEl = await get(menu, true);
118
- if (menuEl) {
119
- return menuEl.toggle();
120
- }
121
- return false;
122
- };
123
- const enable = async (shouldEnable, menu) => {
124
- const menuEl = await get(menu);
125
- if (menuEl) {
126
- menuEl.disabled = !shouldEnable;
127
- }
128
- return menuEl;
129
- };
130
- const swipeGesture = async (shouldEnable, menu) => {
131
- const menuEl = await get(menu);
132
- if (menuEl) {
133
- menuEl.swipeGesture = shouldEnable;
134
- }
135
- return menuEl;
136
- };
137
- const isOpen = async (menu) => {
138
- if (menu != null) {
139
- const menuEl = await get(menu);
140
- // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
141
- return menuEl !== undefined && menuEl.isOpen();
142
- }
143
- else {
144
- const menuEl = await getOpen();
145
- return menuEl !== undefined;
146
- }
147
- };
148
- const isEnabled = async (menu) => {
149
- const menuEl = await get(menu);
150
- if (menuEl) {
151
- return !menuEl.disabled;
152
- }
153
- return false;
154
- };
155
- /**
156
- * Finds and returns the menu specified by "menu" if registered.
157
- * @param menu - The side or ID of the desired menu
158
- * @param logOnMultipleSideMenus - If true, this function will log a warning
159
- * if "menu" is a side but multiple menus on the same side were found. Since this function
160
- * is used in multiple places, we default this log to false so that the calling
161
- * functions can choose whether or not it is appropriate to log this warning.
162
- */
163
- const get = async (menu, logOnMultipleSideMenus = false) => {
164
- await waitUntilReady();
165
- if (menu === 'start' || menu === 'end') {
166
- // there could be more than one menu on the same side
167
- // so first try to get the enabled one
168
- const menuRefs = menus.filter((m) => m.side === menu && !m.disabled);
169
- if (menuRefs.length >= 1) {
170
- if (menuRefs.length > 1 && logOnMultipleSideMenus) {
171
- printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${menuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, menuRefs.map((m) => m.el));
172
- }
173
- return menuRefs[0].el;
174
- }
175
- // didn't find a menu side that is enabled
176
- // so try to get the first menu side found
177
- const sideMenuRefs = menus.filter((m) => m.side === menu);
178
- if (sideMenuRefs.length >= 1) {
179
- if (sideMenuRefs.length > 1 && logOnMultipleSideMenus) {
180
- printIonWarning(`menuController queried for a menu on the "${menu}" side, but ${sideMenuRefs.length} menus were found. The first menu reference will be used. If this is not the behavior you want then pass the ID of the menu instead of its side.`, sideMenuRefs.map((m) => m.el));
181
- }
182
- return sideMenuRefs[0].el;
183
- }
184
- }
185
- else if (menu != null) {
186
- // the menuId was not left or right
187
- // so try to get the menu by its "id"
188
- return find((m) => m.menuId === menu);
189
- }
190
- // return the first enabled menu
191
- const menuEl = find((m) => !m.disabled);
192
- if (menuEl) {
193
- return menuEl;
194
- }
195
- // get the first menu in the array, if one exists
196
- return menus.length > 0 ? menus[0].el : undefined;
197
- };
198
- /**
199
- * Get the instance of the opened menu. Returns `null` if a menu is not found.
200
- */
201
- const getOpen = async () => {
202
- await waitUntilReady();
203
- return _getOpenSync();
204
- };
205
- /**
206
- * Get all menu instances.
207
- */
208
- const getMenus = async () => {
209
- await waitUntilReady();
210
- return getMenusSync();
211
- };
212
- /**
213
- * Get whether or not a menu is animating. Returns `true` if any
214
- * menu is currently animating.
215
- */
216
- const isAnimating = async () => {
217
- await waitUntilReady();
218
- return isAnimatingSync();
219
- };
220
- const registerAnimation = (name, animation) => {
221
- menuAnimations.set(name, animation);
222
- };
223
- const _register = (menu) => {
224
- if (menus.indexOf(menu) < 0) {
225
- menus.push(menu);
226
- }
227
- };
228
- const _unregister = (menu) => {
229
- const index = menus.indexOf(menu);
230
- if (index > -1) {
231
- menus.splice(index, 1);
232
- }
233
- };
234
- const _setOpen = async (menu, shouldOpen, animated, role) => {
235
- if (isAnimatingSync()) {
236
- return false;
237
- }
238
- if (shouldOpen) {
239
- const openedMenu = await getOpen();
240
- if (openedMenu && menu.el !== openedMenu) {
241
- await openedMenu.setOpen(false, false);
242
- }
243
- }
244
- return menu._setOpen(shouldOpen, animated, role);
245
- };
246
- const _createAnimation = (type, menuCmp) => {
247
- const animationBuilder = menuAnimations.get(type); // TODO(FW-2832): type
248
- if (!animationBuilder) {
249
- throw new Error('animation not registered');
250
- }
251
- const animation = animationBuilder(menuCmp);
252
- return animation;
253
- };
254
- const _getOpenSync = () => {
255
- return find((m) => m._isOpen);
256
- };
257
- const getMenusSync = () => {
258
- return menus.map((menu) => menu.el);
259
- };
260
- const isAnimatingSync = () => {
261
- return menus.some((menu) => menu.isAnimating);
262
- };
263
- const find = (predicate) => {
264
- const instance = menus.find(predicate);
265
- if (instance !== undefined) {
266
- return instance.el;
267
- }
268
- return undefined;
269
- };
270
- const waitUntilReady = () => {
271
- return Promise.all(Array.from(document.querySelectorAll('ion-menu')).map((menu) => new Promise((resolve) => componentOnReady(menu, resolve))));
272
- };
273
- registerAnimation('reveal', menuRevealAnimation);
274
- registerAnimation('push', menuPushAnimation);
275
- registerAnimation('overlay', menuOverlayAnimation);
276
- doc === null || doc === void 0 ? void 0 : doc.addEventListener('ionBackButton', (ev) => {
277
- const openMenu = _getOpenSync();
278
- if (openMenu) {
279
- ev.detail.register(MENU_BACK_BUTTON_PRIORITY, () => {
280
- return openMenu.close();
281
- });
282
- }
283
- });
284
- return {
285
- registerAnimation,
286
- get,
287
- getMenus,
288
- getOpen,
289
- isEnabled,
290
- swipeGesture,
291
- isAnimating,
292
- isOpen,
293
- enable,
294
- toggle,
295
- close,
296
- open,
297
- _getOpenSync,
298
- _createAnimation,
299
- _register,
300
- _unregister,
301
- _setOpen,
302
- };
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 ')}.`);
303
119
  };
304
- const menuController = /*@__PURE__*/ createMenuController();
305
120
 
306
- export { menuController as m };
121
+ export { LogLevel as L, printIonWarning as a, configFromSession as b, config as c, configFromURL as d, printRequiredElementError as e, printIonError as p, saveConfig as s };