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
@@ -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 };