@sparkle-learning/core 0.0.29 → 0.0.32

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 (656) hide show
  1. package/dist/cjs/{PrivateRoute-81e20cbf.js → PrivateRoute-043bb7d3.js} +2 -2
  2. package/dist/cjs/{active-router-3bd7b540.js → active-router-eedb3bfe.js} +1 -1
  3. package/dist/cjs/{animation-05337433.js → animation-6132e37f.js} +28 -4
  4. package/dist/cjs/app-globals-9869bf67.js +9 -0
  5. package/dist/cjs/{auth.store-aba3d22f.js → auth.store-ff3fda09.js} +1869 -357
  6. package/dist/cjs/compass-svg.cjs.entry.js +1 -1
  7. package/dist/cjs/context-consumer.cjs.entry.js +1 -1
  8. package/dist/cjs/course-select.cjs.entry.js +1 -1
  9. package/dist/cjs/{cubic-bezier-24e309bf.js → cubic-bezier-293f4663.js} +3 -0
  10. package/dist/cjs/dir-5af5259a.js +20 -0
  11. package/dist/cjs/{facilitator.service-e1e2f719.js → facilitator.service-faac5c0c.js} +1 -1
  12. package/dist/cjs/{feed.service-032c2ecc.js → feed.service-66405969.js} +6 -6
  13. package/dist/cjs/focus-visible-ad3828a7.js +63 -0
  14. package/dist/cjs/framework-delegate-2470a246.js +113 -0
  15. package/dist/cjs/{gesture-controller-e824cfb3.js → gesture-controller-07c31f70.js} +3 -0
  16. package/dist/cjs/{haptic-415dac5b.js → haptic-91e86eb7.js} +3 -0
  17. package/dist/cjs/{hardware-back-button-ca468aae.js → hardware-back-button-f7b5d99e.js} +3 -0
  18. package/dist/cjs/header-mobile-collapse_61.cjs.entry.js +17999 -0
  19. package/dist/cjs/{helpers-26770c32.js → helpers-7e28976c.js} +122 -3
  20. package/dist/cjs/{icons-a0fef92b.js → icons-80d477f6.js} +1 -1
  21. package/dist/cjs/{index-427d03fb.js → index-185f9c5a.js} +3 -0
  22. package/dist/cjs/{index-6eff209d.js → index-43642662.js} +24 -3
  23. package/dist/cjs/{index-7bcd36a0.js → index-459a5fa9.js} +20 -4
  24. package/dist/cjs/index-8540d72e.js +42 -0
  25. package/dist/cjs/{index-58b3ee93.js → index-b12edb26.js} +34 -5
  26. package/dist/cjs/{index-fbf4d3bf.js → index-bae2a754.js} +303 -207
  27. package/dist/cjs/index.cjs.js +7 -7
  28. package/dist/cjs/index.es-ef3efdfb.js +10671 -0
  29. package/dist/cjs/{input-shims-213e83f8.js → input-shims-6c442c9f.js} +34 -10
  30. package/dist/cjs/ion-accordion-group.cjs.entry.js +197 -0
  31. package/dist/cjs/ion-accordion.cjs.entry.js +340 -0
  32. package/dist/cjs/ion-action-sheet_4.cjs.entry.js +2203 -0
  33. package/dist/cjs/ion-app.cjs.entry.js +23 -8
  34. package/dist/cjs/ion-back-button.cjs.entry.js +14 -9
  35. package/dist/cjs/ion-backdrop.cjs.entry.js +3 -3
  36. package/dist/cjs/ion-badge.cjs.entry.js +3 -3
  37. package/dist/cjs/ion-breadcrumb.cjs.entry.js +103 -0
  38. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +135 -0
  39. package/dist/cjs/ion-buttons_3.cjs.entry.js +7 -6
  40. package/dist/cjs/ion-card-header.cjs.entry.js +3 -3
  41. package/dist/cjs/ion-card-subtitle.cjs.entry.js +3 -3
  42. package/dist/cjs/ion-card-title.cjs.entry.js +3 -3
  43. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  44. package/dist/cjs/ion-content_2.cjs.entry.js +144 -56
  45. package/dist/cjs/ion-datetime.cjs.entry.js +1902 -779
  46. package/dist/cjs/ion-fab-button.cjs.entry.js +5 -4
  47. package/dist/cjs/ion-fab-list.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-fab.cjs.entry.js +2 -2
  49. package/dist/cjs/ion-footer.cjs.entry.js +79 -4
  50. package/dist/cjs/ion-img.cjs.entry.js +33 -7
  51. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +3 -3
  52. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +4 -2
  53. package/dist/cjs/ion-item-divider.cjs.entry.js +3 -3
  54. package/dist/cjs/ion-item-group.cjs.entry.js +2 -2
  55. package/dist/cjs/ion-item-option.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-item-options.cjs.entry.js +3 -3
  57. package/dist/cjs/ion-item-sliding.cjs.entry.js +52 -8
  58. package/dist/cjs/ion-loading.cjs.entry.js +23 -11
  59. package/dist/cjs/ion-menu-button.cjs.entry.js +17 -11
  60. package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
  61. package/dist/cjs/ion-menu.cjs.entry.js +141 -29
  62. package/dist/cjs/ion-modal.cjs.entry.js +649 -75
  63. package/dist/cjs/ion-nav-link.cjs.entry.js +4 -1
  64. package/dist/cjs/ion-nav.cjs.entry.js +140 -137
  65. package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +700 -0
  66. package/dist/cjs/ion-picker-column.cjs.entry.js +5 -5
  67. package/dist/cjs/ion-picker.cjs.entry.js +18 -11
  68. package/dist/cjs/ion-progress-bar.cjs.entry.js +17 -13
  69. package/dist/cjs/ion-refresher-content.cjs.entry.js +7 -6
  70. package/dist/cjs/ion-refresher.cjs.entry.js +83 -84
  71. package/dist/cjs/ion-reorder-group.cjs.entry.js +9 -8
  72. package/dist/cjs/ion-reorder.cjs.entry.js +5 -4
  73. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  74. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  75. package/dist/cjs/ion-router-link.cjs.entry.js +3 -3
  76. package/dist/cjs/ion-router-outlet.cjs.entry.js +50 -12
  77. package/dist/cjs/ion-router.cjs.entry.js +378 -234
  78. package/dist/cjs/ion-searchbar.cjs.entry.js +50 -17
  79. package/dist/cjs/ion-segment-button.cjs.entry.js +12 -9
  80. package/dist/cjs/ion-segment.cjs.entry.js +89 -10
  81. package/dist/cjs/ion-select_2.cjs.entry.js +64 -30
  82. package/dist/cjs/ion-skeleton-text.cjs.entry.js +4 -4
  83. package/dist/cjs/ion-slide.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-slides.cjs.entry.js +19 -32
  85. package/dist/cjs/ion-split-pane.cjs.entry.js +8 -3
  86. package/dist/cjs/ion-tab-bar.cjs.entry.js +25 -12
  87. package/dist/cjs/ion-tab-button.cjs.entry.js +2 -2
  88. package/dist/cjs/ion-tab.cjs.entry.js +3 -2
  89. package/dist/cjs/ion-tabs.cjs.entry.js +1 -1
  90. package/dist/cjs/ion-textarea.cjs.entry.js +9 -8
  91. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  92. package/dist/cjs/ion-toast.cjs.entry.js +37 -27
  93. package/dist/cjs/ion-toggle.cjs.entry.js +15 -15
  94. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +13 -3
  95. package/dist/cjs/{ionic-global-4930d319.js → ionic-global-878073d1.js} +103 -77
  96. package/dist/cjs/{ios.transition-6e1fd3d6.js → ios.transition-c3bfb096.js} +8 -5
  97. package/dist/cjs/{keyboard-1dcbde6c.js → keyboard-dfd76ac3.js} +3 -0
  98. package/dist/cjs/loader.cjs.js +5 -5
  99. package/dist/cjs/{md.transition-3652ad78.js → md.transition-7eb9a1a7.js} +7 -4
  100. package/dist/cjs/{menu-toggle-util-a8fb4c56.js → menu-toggle-util-cb549c2c.js} +4 -1
  101. package/dist/cjs/{overlays-08a817ea.js → overlays-0a748609.js} +188 -47
  102. package/dist/cjs/{purify-a443f0eb.js → purify-d0ad2883.js} +187 -74
  103. package/dist/cjs/sparkle-animation-player.cjs.entry.js +2 -2
  104. package/dist/cjs/sparkle-character-intro.cjs.entry.js +1 -1
  105. package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
  106. package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
  107. package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
  108. package/dist/cjs/sparkle-core.cjs.js +7 -7
  109. package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
  110. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +7 -7
  111. package/dist/cjs/sparkle-feed-post.cjs.entry.js +1 -1
  112. package/dist/cjs/sparkle-feedback.cjs.entry.js +7 -7
  113. package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -8
  114. package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +1 -1
  115. package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
  116. package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
  117. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
  118. package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
  119. package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
  120. package/dist/cjs/sparkle-overlay.cjs.entry.js +1 -1
  121. package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
  122. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
  123. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
  124. package/dist/cjs/sparkle-quiz.cjs.entry.js +2 -2
  125. package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
  126. package/dist/cjs/sparkle-sidebar.cjs.entry.js +1 -1
  127. package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
  128. package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
  129. package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
  130. package/dist/cjs/sparkle-youtube.cjs.entry.js +2 -2
  131. package/dist/cjs/{spinner-configs-559523fd.js → spinner-configs-6f6b7ef0.js} +36 -1
  132. package/dist/cjs/status-tap-8697433c.js +40 -0
  133. package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
  134. package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
  135. package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
  136. package/dist/cjs/{student.service-41c7c78d.js → student.service-744c3155.js} +1 -1
  137. package/dist/cjs/{swipe-back-c1951cbd.js → swipe-back-7e08b5e0.js} +32 -8
  138. package/dist/cjs/{swiper.bundle-cbea42d8.js → swiper.bundle-8c897c07.js} +4 -4
  139. package/dist/cjs/{tap-click-cd858b48.js → tap-click-1caf1780.js} +8 -1
  140. package/dist/cjs/{theme-98ccfc24.js → theme-4252ac15.js} +3 -0
  141. package/dist/cjs/util-d383acb8.js +2462 -0
  142. package/dist/collection/collection-manifest.json +8 -2
  143. package/dist/collection/components/layout/page/page.js +1 -2
  144. package/dist/collection/components/sparkle-youtube/sparkle-youtube.js +6 -2
  145. package/dist/collection/models/course.model.js +6 -0
  146. package/dist/esm/{PrivateRoute-df0d1e6b.js → PrivateRoute-b9937c45.js} +2 -2
  147. package/dist/esm/{active-router-b3ae32c7.js → active-router-909088d6.js} +1 -1
  148. package/dist/esm/{animation-72fdacfb.js → animation-b306f6c2.js} +28 -4
  149. package/dist/esm/app-globals-5c736ae5.js +7 -0
  150. package/dist/esm/auth.store-3ed2389e.js +4061 -0
  151. package/dist/esm/compass-svg.entry.js +1 -1
  152. package/dist/esm/context-consumer.entry.js +1 -1
  153. package/dist/esm/course-select.entry.js +1 -1
  154. package/dist/esm/{cubic-bezier-ed243a9b.js → cubic-bezier-a7ad9c8e.js} +3 -0
  155. package/dist/esm/dir-03012648.js +18 -0
  156. package/dist/esm/{facilitator.service-cddb2feb.js → facilitator.service-ec0a9739.js} +1 -1
  157. package/dist/esm/{feed.service-694d3d54.js → feed.service-33b83cb7.js} +6 -6
  158. package/dist/esm/focus-visible-40cda868.js +61 -0
  159. package/dist/esm/framework-delegate-3bc58c27.js +109 -0
  160. package/dist/esm/{gesture-controller-604336b7.js → gesture-controller-686622ba.js} +3 -0
  161. package/dist/esm/{haptic-67928174.js → haptic-99c9e346.js} +4 -1
  162. package/dist/esm/{hardware-back-button-508e48cf.js → hardware-back-button-b6ccf74a.js} +3 -0
  163. package/dist/esm/header-mobile-collapse_61.entry.js +17935 -0
  164. package/dist/esm/{helpers-e7f66b2b.js → helpers-39367fe1.js} +119 -4
  165. package/dist/esm/{icons-33e5804c.js → icons-61dec176.js} +1 -1
  166. package/dist/esm/{index-cc97b114.js → index-435af8e6.js} +3 -0
  167. package/dist/esm/{index-55fc9f5e.js → index-5568e3fa.js} +303 -208
  168. package/dist/esm/{index-dc09784f.js → index-9594837e.js} +20 -4
  169. package/dist/esm/{index-b2ad0f1a.js → index-a12c14bd.js} +25 -4
  170. package/dist/esm/{index-a94619f9.js → index-c26d8655.js} +34 -5
  171. package/dist/esm/index-dc61f152.js +22 -0
  172. package/dist/esm/index.es-97dd8174.js +10585 -0
  173. package/dist/esm/index.js +7 -7
  174. package/dist/esm/{input-shims-3a97fa86.js → input-shims-cc98ea92.js} +34 -10
  175. package/dist/esm/ion-accordion-group.entry.js +193 -0
  176. package/dist/esm/ion-accordion.entry.js +336 -0
  177. package/dist/esm/ion-action-sheet_4.entry.js +2196 -0
  178. package/dist/esm/ion-app.entry.js +23 -8
  179. package/dist/esm/ion-back-button.entry.js +14 -9
  180. package/dist/esm/ion-backdrop.entry.js +3 -3
  181. package/dist/esm/ion-badge.entry.js +3 -3
  182. package/dist/esm/ion-breadcrumb.entry.js +99 -0
  183. package/dist/esm/ion-breadcrumbs.entry.js +131 -0
  184. package/dist/esm/ion-buttons_3.entry.js +7 -6
  185. package/dist/esm/ion-card-header.entry.js +3 -3
  186. package/dist/esm/ion-card-subtitle.entry.js +3 -3
  187. package/dist/esm/ion-card-title.entry.js +3 -3
  188. package/dist/esm/ion-chip.entry.js +3 -3
  189. package/dist/esm/ion-content_2.entry.js +144 -56
  190. package/dist/esm/ion-datetime.entry.js +1902 -779
  191. package/dist/esm/ion-fab-button.entry.js +5 -4
  192. package/dist/esm/ion-fab-list.entry.js +2 -2
  193. package/dist/esm/ion-fab.entry.js +2 -2
  194. package/dist/esm/ion-footer.entry.js +79 -4
  195. package/dist/esm/ion-img.entry.js +33 -7
  196. package/dist/esm/ion-infinite-scroll-content.entry.js +3 -3
  197. package/dist/esm/ion-infinite-scroll.entry.js +4 -2
  198. package/dist/esm/ion-item-divider.entry.js +3 -3
  199. package/dist/esm/ion-item-group.entry.js +2 -2
  200. package/dist/esm/ion-item-option.entry.js +4 -4
  201. package/dist/esm/ion-item-options.entry.js +3 -3
  202. package/dist/esm/ion-item-sliding.entry.js +52 -8
  203. package/dist/esm/ion-loading.entry.js +23 -11
  204. package/dist/esm/ion-menu-button.entry.js +17 -11
  205. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  206. package/dist/esm/ion-menu.entry.js +141 -29
  207. package/dist/esm/ion-modal.entry.js +649 -75
  208. package/dist/esm/ion-nav-link.entry.js +4 -1
  209. package/dist/esm/ion-nav.entry.js +140 -137
  210. package/dist/esm/ion-picker-column-internal_2.entry.js +695 -0
  211. package/dist/esm/ion-picker-column.entry.js +5 -5
  212. package/dist/esm/ion-picker.entry.js +18 -11
  213. package/dist/esm/ion-progress-bar.entry.js +17 -13
  214. package/dist/esm/ion-refresher-content.entry.js +7 -6
  215. package/dist/esm/ion-refresher.entry.js +82 -83
  216. package/dist/esm/ion-reorder-group.entry.js +9 -8
  217. package/dist/esm/ion-reorder.entry.js +5 -4
  218. package/dist/esm/ion-route-redirect.entry.js +1 -1
  219. package/dist/esm/ion-route.entry.js +1 -1
  220. package/dist/esm/ion-router-link.entry.js +3 -3
  221. package/dist/esm/ion-router-outlet.entry.js +50 -12
  222. package/dist/esm/ion-router.entry.js +378 -234
  223. package/dist/esm/ion-searchbar.entry.js +50 -17
  224. package/dist/esm/ion-segment-button.entry.js +12 -9
  225. package/dist/esm/ion-segment.entry.js +89 -10
  226. package/dist/esm/ion-select_2.entry.js +64 -30
  227. package/dist/esm/ion-skeleton-text.entry.js +4 -4
  228. package/dist/esm/ion-slide.entry.js +2 -2
  229. package/dist/esm/ion-slides.entry.js +19 -32
  230. package/dist/esm/ion-split-pane.entry.js +8 -3
  231. package/dist/esm/ion-tab-bar.entry.js +25 -12
  232. package/dist/esm/ion-tab-button.entry.js +2 -2
  233. package/dist/esm/ion-tab.entry.js +3 -2
  234. package/dist/esm/ion-tabs.entry.js +1 -1
  235. package/dist/esm/ion-textarea.entry.js +9 -8
  236. package/dist/esm/ion-thumbnail.entry.js +2 -2
  237. package/dist/esm/ion-toast.entry.js +37 -27
  238. package/dist/esm/ion-toggle.entry.js +15 -15
  239. package/dist/esm/ion-virtual-scroll.entry.js +13 -3
  240. package/dist/esm/{ionic-global-1f9287cc.js → ionic-global-0939c477.js} +103 -77
  241. package/dist/esm/{ios.transition-d01abefd.js → ios.transition-b4ca8a33.js} +8 -5
  242. package/dist/esm/{keyboard-06906eac.js → keyboard-2503e874.js} +3 -0
  243. package/dist/esm/loader.js +5 -5
  244. package/dist/esm/{md.transition-245ffa55.js → md.transition-ca5e0322.js} +7 -4
  245. package/dist/esm/{menu-toggle-util-fe83fcf5.js → menu-toggle-util-7fa22c2f.js} +4 -1
  246. package/dist/esm/{overlays-8363621c.js → overlays-34cfa9e0.js} +187 -47
  247. package/dist/esm/polyfills/css-shim.js +1 -1
  248. package/dist/esm/polyfills/index.js +2 -2
  249. package/dist/esm/{purify-7e29b899.js → purify-ffce2b4c.js} +185 -72
  250. package/dist/esm/sparkle-animation-player.entry.js +2 -2
  251. package/dist/esm/sparkle-character-intro.entry.js +1 -1
  252. package/dist/esm/sparkle-code.entry.js +2 -2
  253. package/dist/esm/sparkle-compass-post.entry.js +1 -1
  254. package/dist/esm/sparkle-compass.entry.js +1 -1
  255. package/dist/esm/sparkle-core.js +7 -7
  256. package/dist/esm/sparkle-emoji.entry.js +1 -1
  257. package/dist/esm/sparkle-facilitator-notes-form.entry.js +7 -7
  258. package/dist/esm/sparkle-feed-post.entry.js +1 -1
  259. package/dist/esm/sparkle-feedback.entry.js +7 -7
  260. package/dist/esm/sparkle-goal-form.entry.js +8 -8
  261. package/dist/esm/sparkle-gww-comment-list.entry.js +1 -1
  262. package/dist/esm/sparkle-gww-graph.entry.js +1 -1
  263. package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
  264. package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
  265. package/dist/esm/sparkle-modal-image.entry.js +1 -1
  266. package/dist/esm/sparkle-notfound-page.entry.js +1 -1
  267. package/dist/esm/sparkle-overlay.entry.js +1 -1
  268. package/dist/esm/sparkle-poll.entry.js +1 -1
  269. package/dist/esm/sparkle-quiz-container.entry.js +1 -1
  270. package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
  271. package/dist/esm/sparkle-quiz.entry.js +2 -2
  272. package/dist/esm/sparkle-select.entry.js +1 -1
  273. package/dist/esm/sparkle-sidebar.entry.js +1 -1
  274. package/dist/esm/sparkle-tab.entry.js +1 -1
  275. package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
  276. package/dist/esm/sparkle-tabs.entry.js +1 -1
  277. package/dist/esm/sparkle-youtube.entry.js +2 -2
  278. package/dist/esm/{spinner-configs-9536fae2.js → spinner-configs-f609a655.js} +36 -1
  279. package/dist/esm/status-tap-6351a0cb.js +38 -0
  280. package/dist/esm/stencil-async-content.entry.js +1 -1
  281. package/dist/esm/stencil-route-title.entry.js +2 -2
  282. package/dist/esm/stencil-router-prompt.entry.js +2 -2
  283. package/dist/esm/{student.service-c36c5a75.js → student.service-29b688ba.js} +1 -1
  284. package/dist/esm/{swipe-back-21f58ecf.js → swipe-back-34251834.js} +32 -8
  285. package/dist/esm/{swiper.bundle-d4422d52.js → swiper.bundle-b6a959de.js} +4 -4
  286. package/dist/esm/{tap-click-8c728329.js → tap-click-13f1fb0d.js} +8 -1
  287. package/dist/esm/{theme-12606872.js → theme-c336c9d9.js} +3 -0
  288. package/dist/esm/util-6ef753e9.js +2451 -0
  289. package/dist/loader/index.d.ts +0 -1
  290. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +75 -0
  291. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +72 -0
  292. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +25 -0
  293. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +59 -0
  294. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +10 -19
  295. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +19 -16
  296. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +2 -2
  297. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +4 -0
  298. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +4 -0
  299. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +234 -0
  300. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +237 -0
  301. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +38 -0
  302. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +37 -0
  303. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +0 -1
  304. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +5 -5
  305. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +60 -14
  306. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +586 -68
  307. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +575 -68
  308. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +4 -0
  309. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +16 -0
  310. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +9 -0
  311. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +9 -0
  312. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +105 -17
  313. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +295 -22
  314. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +6 -6
  315. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +6 -6
  316. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +2 -2
  317. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +7 -3
  318. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +100 -18
  319. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +1 -1
  320. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +2 -2
  321. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +2 -2
  322. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +74 -11
  323. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +48 -4
  324. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +59 -0
  325. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +62 -0
  326. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +122 -0
  327. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +118 -0
  328. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +83 -0
  329. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +49 -0
  330. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +53 -38
  331. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +53 -38
  332. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +3 -3
  333. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +5 -5
  334. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +12 -0
  335. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +2 -2
  336. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +1 -1
  337. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +1 -1
  338. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +4 -0
  339. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +4 -0
  340. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +1 -1
  341. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +30 -2
  342. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/{select-popover.css → select-popover.ios.css} +4 -4
  343. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +37 -0
  344. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +4 -4
  345. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +15 -2
  346. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +2 -1
  347. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +1 -0
  348. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +9 -0
  349. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +9 -0
  350. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +4 -3
  351. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +14 -2
  352. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +14 -2
  353. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +1 -0
  354. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +1 -0
  355. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +3 -2
  356. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +2 -1
  357. package/dist/node_modules/@ionic/core/dist/collection/components/virtual-scroll/virtual-scroll.css +1 -1
  358. package/dist/sparkle-core/index.esm.js +1 -1
  359. package/dist/sparkle-core/{p-52355989.entry.js → p-016a7aaf.entry.js} +1 -1
  360. package/dist/sparkle-core/p-0187adef.entry.js +1 -0
  361. package/dist/sparkle-core/{p-4328af62.js → p-03189863.js} +1 -1
  362. package/dist/sparkle-core/{p-d4d9aa4a.entry.js → p-03ec54a8.entry.js} +1 -1
  363. package/dist/sparkle-core/p-04583c51.entry.js +1 -0
  364. package/dist/sparkle-core/{p-6d506f4e.js → p-052caa63.js} +1 -1
  365. package/dist/sparkle-core/{p-016bf847.entry.js → p-057f6a23.entry.js} +1 -1
  366. package/dist/sparkle-core/p-0580419b.entry.js +1 -0
  367. package/dist/sparkle-core/{p-c563b4de.js → p-063cd168.js} +4 -1
  368. package/dist/sparkle-core/p-081968cc.entry.js +1 -0
  369. package/dist/sparkle-core/p-0934f5dd.entry.js +1 -0
  370. package/dist/sparkle-core/p-0f899097.entry.js +352 -0
  371. package/dist/sparkle-core/{p-3f5d7a08.entry.js → p-11cf398a.entry.js} +1 -1
  372. package/dist/sparkle-core/p-1339830f.entry.js +1 -0
  373. package/dist/sparkle-core/p-145e40f5.entry.js +1 -0
  374. package/dist/sparkle-core/{p-68f3c93d.entry.js → p-1726da2f.entry.js} +1 -1
  375. package/dist/sparkle-core/p-173d5461.entry.js +7 -0
  376. package/dist/sparkle-core/p-18e62133.entry.js +1 -0
  377. package/dist/sparkle-core/p-1af044f7.js +3 -0
  378. package/dist/sparkle-core/p-1b78dea1.entry.js +1 -0
  379. package/dist/sparkle-core/p-1cef8572.js +4 -0
  380. package/dist/sparkle-core/p-1df05176.js +4 -0
  381. package/dist/sparkle-core/p-21bf4ca0.entry.js +1 -0
  382. package/dist/sparkle-core/p-21db4e8e.entry.js +1 -0
  383. package/dist/sparkle-core/p-23a9f7d1.entry.js +1 -0
  384. package/dist/sparkle-core/p-289a35ed.entry.js +1 -0
  385. package/dist/sparkle-core/p-2ee6a5f9.entry.js +1 -0
  386. package/dist/sparkle-core/p-350adbaa.entry.js +1 -0
  387. package/dist/sparkle-core/{p-bccd9036.entry.js → p-35a7bd6c.entry.js} +1 -1
  388. package/dist/sparkle-core/{p-66e3bd1c.entry.js → p-37c00e39.entry.js} +1 -1
  389. package/dist/sparkle-core/p-389500fd.js +4 -0
  390. package/dist/sparkle-core/p-39e5a90f.entry.js +1 -0
  391. package/dist/sparkle-core/{p-ac5e5308.entry.js → p-3a202a38.entry.js} +1 -1
  392. package/dist/sparkle-core/p-3defe550.entry.js +1 -0
  393. package/dist/sparkle-core/p-45e6db62.entry.js +1 -0
  394. package/dist/sparkle-core/{p-581ca370.entry.js → p-48f9b960.entry.js} +1 -1
  395. package/dist/sparkle-core/{p-0efbc0b3.entry.js → p-4dc3ef96.entry.js} +1 -1
  396. package/dist/sparkle-core/p-506221fe.js +4 -0
  397. package/dist/sparkle-core/p-50aac721.entry.js +7 -0
  398. package/dist/sparkle-core/p-513794b0.js +16 -0
  399. package/dist/sparkle-core/{p-2e4e8117.js → p-5264da79.js} +3 -0
  400. package/dist/sparkle-core/{p-40db85ac.entry.js → p-547b70c6.entry.js} +1 -1
  401. package/dist/sparkle-core/p-5598650a.entry.js +1 -0
  402. package/dist/sparkle-core/p-55ae49e1.js +4 -0
  403. package/dist/sparkle-core/p-58e98f89.entry.js +1 -0
  404. package/dist/sparkle-core/p-59f7bf6e.entry.js +1 -0
  405. package/dist/sparkle-core/p-5a3d0e6b.js +4 -0
  406. package/dist/sparkle-core/{p-85d31769.entry.js → p-5b40aae5.entry.js} +1 -1
  407. package/dist/sparkle-core/p-5c9aa1f9.entry.js +4 -0
  408. package/dist/sparkle-core/p-5d2e54ee.entry.js +1 -0
  409. package/dist/sparkle-core/p-5d409601.js +1 -1
  410. package/dist/sparkle-core/{p-afbaad64.entry.js → p-5f45d206.entry.js} +1 -1
  411. package/dist/sparkle-core/p-5ff6416d.entry.js +7 -0
  412. package/dist/sparkle-core/{p-cf2332bb.entry.js → p-62a6c96f.entry.js} +1 -1
  413. package/dist/sparkle-core/p-64e72f8f.js +4 -0
  414. package/dist/sparkle-core/p-660e0742.js +1 -0
  415. package/dist/sparkle-core/{p-d5023db0.entry.js → p-667accac.entry.js} +1 -1
  416. package/dist/sparkle-core/{p-9ca56f5d.entry.js → p-680663a2.entry.js} +1 -1
  417. package/dist/sparkle-core/{p-e975924a.entry.js → p-6823e6c1.entry.js} +1 -1
  418. package/dist/sparkle-core/p-69e7783d.js +4 -0
  419. package/dist/sparkle-core/p-6bbabb80.entry.js +1 -0
  420. package/dist/sparkle-core/p-6bf07a28.js +1 -0
  421. package/dist/sparkle-core/p-6c6145cd.js +4 -0
  422. package/dist/sparkle-core/p-6c90bde6.entry.js +5 -0
  423. package/dist/sparkle-core/p-6e88764b.entry.js +4 -0
  424. package/dist/sparkle-core/p-6ee40949.js +1 -0
  425. package/dist/sparkle-core/p-6fbe3ca3.entry.js +1 -0
  426. package/dist/sparkle-core/{p-f2660943.js → p-6fd4985d.js} +3 -0
  427. package/dist/sparkle-core/{p-8fc9298a.js → p-703ca87c.js} +3 -0
  428. package/dist/sparkle-core/{p-1bf8bed6.entry.js → p-7052c43a.entry.js} +1 -1
  429. package/dist/sparkle-core/{p-111520a0.js → p-70b2452c.js} +3 -0
  430. package/dist/sparkle-core/p-713590fc.js +5 -0
  431. package/dist/sparkle-core/p-7493ee15.entry.js +1 -0
  432. package/dist/sparkle-core/p-75572037.js +1 -0
  433. package/dist/sparkle-core/{p-eb56aa20.entry.js → p-768bcc9e.entry.js} +1 -1
  434. package/dist/sparkle-core/p-797c23ed.entry.js +1 -0
  435. package/dist/sparkle-core/{p-09d43bee.entry.js → p-7d61177b.entry.js} +1 -1
  436. package/dist/sparkle-core/p-7dbfc316.js +1 -0
  437. package/dist/sparkle-core/p-7e61973d.entry.js +7 -0
  438. package/dist/sparkle-core/p-838fa86d.entry.js +18 -0
  439. package/dist/sparkle-core/p-855ca600.js +1 -0
  440. package/dist/sparkle-core/p-857f3696.entry.js +1 -0
  441. package/dist/sparkle-core/{p-8f72be08.js → p-8c6b6038.js} +3 -0
  442. package/dist/sparkle-core/p-8fe2e51f.entry.js +4 -0
  443. package/dist/sparkle-core/{p-f72a6e6d.entry.js → p-90389886.entry.js} +1 -1
  444. package/dist/sparkle-core/p-932bfb69.entry.js +1 -0
  445. package/dist/sparkle-core/p-935e7cfc.js +1 -0
  446. package/dist/sparkle-core/{p-c70b9765.entry.js → p-941eaa3a.entry.js} +1 -1
  447. package/dist/sparkle-core/p-95004267.entry.js +1 -0
  448. package/dist/sparkle-core/p-950effe7.entry.js +1 -0
  449. package/dist/sparkle-core/{p-1ca4bf1d.entry.js → p-996361f9.entry.js} +1 -1
  450. package/dist/sparkle-core/{p-3cd28c60.entry.js → p-99b43ee1.entry.js} +1 -1
  451. package/dist/sparkle-core/p-9a17f2ad.js +4 -0
  452. package/dist/sparkle-core/p-9a443f51.js +1 -1
  453. package/dist/sparkle-core/p-9babd345.js +1 -0
  454. package/dist/sparkle-core/{p-03eb2164.js → p-9c1772c3.js} +1 -1
  455. package/dist/sparkle-core/p-9cfdeb18.entry.js +1 -0
  456. package/dist/sparkle-core/p-a080e768.entry.js +1 -0
  457. package/dist/sparkle-core/p-a1cab0f3.js +4 -0
  458. package/dist/sparkle-core/p-a7cc0052.entry.js +4 -0
  459. package/dist/sparkle-core/p-a9ccb0df.js +4 -0
  460. package/dist/sparkle-core/p-a9ee3f6d.entry.js +1 -0
  461. package/dist/sparkle-core/{p-abe2676a.entry.js → p-aa87c7f0.entry.js} +1 -1
  462. package/dist/sparkle-core/{p-e818b11d.entry.js → p-aa9ebc39.entry.js} +1 -1
  463. package/dist/sparkle-core/p-ae1f145d.entry.js +1 -0
  464. package/dist/sparkle-core/{p-73a646fb.entry.js → p-b07a2cf2.entry.js} +1 -1
  465. package/dist/sparkle-core/{p-c82b05e0.entry.js → p-b3909012.entry.js} +1 -1
  466. package/dist/sparkle-core/p-b3e6427d.js +7 -0
  467. package/dist/sparkle-core/p-b49ca0ea.entry.js +1 -0
  468. package/dist/sparkle-core/p-b81e20fe.entry.js +4 -0
  469. package/dist/sparkle-core/p-bca0e465.entry.js +1 -0
  470. package/dist/sparkle-core/p-c1279cc9.entry.js +1 -0
  471. package/dist/sparkle-core/p-c1376096.entry.js +1 -0
  472. package/dist/sparkle-core/{p-5b4938ce.entry.js → p-c3986a52.entry.js} +1 -1
  473. package/dist/sparkle-core/p-c3d3d5c4.entry.js +1 -0
  474. package/dist/sparkle-core/p-c48bbc7c.entry.js +4 -0
  475. package/dist/sparkle-core/p-c5b9bdd6.entry.js +1 -0
  476. package/dist/sparkle-core/{p-15d68269.entry.js → p-c69b0a7a.entry.js} +1 -1
  477. package/dist/sparkle-core/p-cbbeed67.entry.js +1 -0
  478. package/dist/sparkle-core/p-d4a435f8.entry.js +1 -0
  479. package/dist/sparkle-core/p-d4c07aca.js +4 -0
  480. package/dist/sparkle-core/p-d5b05ece.entry.js +5 -0
  481. package/dist/sparkle-core/p-d7baf31e.entry.js +1 -0
  482. package/dist/sparkle-core/p-d8d3524a.js +1 -0
  483. package/dist/sparkle-core/{p-22926eed.entry.js → p-e0fced48.entry.js} +1 -1
  484. package/dist/sparkle-core/p-e1cba44b.entry.js +4 -0
  485. package/dist/sparkle-core/p-e225581a.js +7 -0
  486. package/dist/sparkle-core/{p-4e28ca37.entry.js → p-e3fdd0a8.entry.js} +1 -1
  487. package/dist/sparkle-core/p-e6b66cef.entry.js +1 -0
  488. package/dist/sparkle-core/p-e72d4450.js +4 -0
  489. package/dist/sparkle-core/p-eb70a23c.entry.js +1 -0
  490. package/dist/sparkle-core/{p-f9143c5d.entry.js → p-ecd39170.entry.js} +1 -1
  491. package/dist/sparkle-core/{p-151afa9e.entry.js → p-ed0e9d29.entry.js} +1 -1
  492. package/dist/sparkle-core/{p-92d42c10.entry.js → p-ee0d7f19.entry.js} +1 -1
  493. package/dist/sparkle-core/p-f4001fdf.js +4 -0
  494. package/dist/sparkle-core/p-f9b73032.entry.js +1 -0
  495. package/dist/sparkle-core/p-faa912d7.entry.js +1 -0
  496. package/dist/sparkle-core/{p-a250e2ae.entry.js → p-fbd7eeca.entry.js} +1 -1
  497. package/dist/sparkle-core/p-fc933591.entry.js +1 -0
  498. package/dist/sparkle-core/p-fef04ab5.js +4 -0
  499. package/dist/sparkle-core/sparkle-core.css +1 -1
  500. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  501. package/dist/sparkle-core/svg/balloon-outline.svg +1 -0
  502. package/dist/sparkle-core/svg/balloon-sharp.svg +1 -0
  503. package/dist/sparkle-core/svg/balloon.svg +1 -0
  504. package/dist/sparkle-core/svg/bowling-ball-outline.svg +1 -0
  505. package/dist/sparkle-core/svg/bowling-ball-sharp.svg +1 -0
  506. package/dist/sparkle-core/svg/bowling-ball.svg +1 -0
  507. package/dist/sparkle-core/svg/calendar-number-outline.svg +1 -0
  508. package/dist/sparkle-core/svg/calendar-number-sharp.svg +1 -0
  509. package/dist/sparkle-core/svg/calendar-number.svg +1 -0
  510. package/dist/sparkle-core/svg/diamond-outline.svg +1 -0
  511. package/dist/sparkle-core/svg/diamond-sharp.svg +1 -0
  512. package/dist/sparkle-core/svg/diamond.svg +1 -0
  513. package/dist/sparkle-core/svg/footsteps-outline.svg +1 -0
  514. package/dist/sparkle-core/svg/footsteps-sharp.svg +1 -0
  515. package/dist/sparkle-core/svg/footsteps.svg +1 -0
  516. package/dist/sparkle-core/svg/id-card-outline.svg +1 -0
  517. package/dist/sparkle-core/svg/id-card-sharp.svg +1 -0
  518. package/dist/sparkle-core/svg/id-card.svg +1 -0
  519. package/dist/sparkle-core/svg/logo-apple-ar.svg +1 -0
  520. package/dist/sparkle-core/svg/prism-outline.svg +1 -0
  521. package/dist/sparkle-core/svg/prism-sharp.svg +1 -0
  522. package/dist/sparkle-core/svg/prism.svg +1 -0
  523. package/dist/sparkle-core/svg/scale-outline.svg +1 -0
  524. package/dist/sparkle-core/svg/scale-sharp.svg +1 -0
  525. package/dist/sparkle-core/svg/scale.svg +1 -0
  526. package/dist/sparkle-core/svg/shield-half-outline.svg +1 -0
  527. package/dist/sparkle-core/svg/shield-half-sharp.svg +1 -0
  528. package/dist/sparkle-core/svg/shield-half.svg +1 -0
  529. package/dist/sparkle-core/svg/sparkles-outline.svg +1 -0
  530. package/dist/sparkle-core/svg/sparkles-sharp.svg +1 -0
  531. package/dist/sparkle-core/svg/sparkles.svg +1 -0
  532. package/dist/sparkle-core/swiper/swiper.bundle.js +2 -2
  533. package/dist/types/components/sparkle-youtube/sparkle-youtube.d.ts +1 -1
  534. package/dist/types/models/course.model.d.ts +1 -8
  535. package/dist/types/models/definitions.d.ts +8 -0
  536. package/dist/types/stencil-public-runtime.d.ts +200 -190
  537. package/package.json +26 -26
  538. package/dist/cjs/app-globals-98121d6d.js +0 -9
  539. package/dist/cjs/button-active-9456fb4d.js +0 -66
  540. package/dist/cjs/focus-visible-1583bc8e.js +0 -45
  541. package/dist/cjs/framework-delegate-72815681.js +0 -37
  542. package/dist/cjs/header-mobile-collapse_60.cjs.entry.js +0 -88
  543. package/dist/cjs/index.es-11437480.js +0 -13836
  544. package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -261
  545. package/dist/cjs/ion-alert.cjs.entry.js +0 -455
  546. package/dist/cjs/ion-note.cjs.entry.js +0 -29
  547. package/dist/cjs/ion-popover.cjs.entry.js +0 -365
  548. package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
  549. package/dist/cjs/status-tap-466a7c6a.js +0 -25
  550. package/dist/cjs/util-b0e2ec9f.js +0 -5682
  551. package/dist/esm/app-globals-6451faf3.js +0 -7
  552. package/dist/esm/auth.store-dd944bc2.js +0 -2552
  553. package/dist/esm/button-active-97535443.js +0 -64
  554. package/dist/esm/focus-visible-abf04ce3.js +0 -43
  555. package/dist/esm/framework-delegate-2c397da3.js +0 -34
  556. package/dist/esm/header-mobile-collapse_60.entry.js +0 -21
  557. package/dist/esm/index.es-1d452836.js +0 -13750
  558. package/dist/esm/ion-action-sheet.entry.js +0 -257
  559. package/dist/esm/ion-alert.entry.js +0 -451
  560. package/dist/esm/ion-note.entry.js +0 -25
  561. package/dist/esm/ion-popover.entry.js +0 -361
  562. package/dist/esm/ion-select-popover.entry.js +0 -31
  563. package/dist/esm/status-tap-9221cd79.js +0 -23
  564. package/dist/esm/util-042b5fee.js +0 -5671
  565. package/dist/sparkle-core/p-019d9d02.entry.js +0 -1
  566. package/dist/sparkle-core/p-02d6d899.js +0 -1
  567. package/dist/sparkle-core/p-0312758b.js +0 -1
  568. package/dist/sparkle-core/p-03fd27d0.entry.js +0 -1
  569. package/dist/sparkle-core/p-07018d29.js +0 -1
  570. package/dist/sparkle-core/p-083d57a6.entry.js +0 -1
  571. package/dist/sparkle-core/p-0e1c7c8c.js +0 -1
  572. package/dist/sparkle-core/p-101feae9.js +0 -1
  573. package/dist/sparkle-core/p-13b0cdfc.entry.js +0 -1
  574. package/dist/sparkle-core/p-13c9bf3a.entry.js +0 -1
  575. package/dist/sparkle-core/p-169920f1.js +0 -1
  576. package/dist/sparkle-core/p-1e1f5e98.entry.js +0 -1
  577. package/dist/sparkle-core/p-1e866c41.entry.js +0 -1
  578. package/dist/sparkle-core/p-2474bf60.entry.js +0 -1
  579. package/dist/sparkle-core/p-25bbf9b4.entry.js +0 -1
  580. package/dist/sparkle-core/p-2a45b732.js +0 -1
  581. package/dist/sparkle-core/p-2abf4d37.entry.js +0 -1
  582. package/dist/sparkle-core/p-2c5edb9f.entry.js +0 -1
  583. package/dist/sparkle-core/p-2d966d35.js +0 -1
  584. package/dist/sparkle-core/p-30b641a4.entry.js +0 -1
  585. package/dist/sparkle-core/p-359422b6.entry.js +0 -1
  586. package/dist/sparkle-core/p-37bfb548.entry.js +0 -1
  587. package/dist/sparkle-core/p-396a9849.js +0 -1
  588. package/dist/sparkle-core/p-3a29a75b.entry.js +0 -1
  589. package/dist/sparkle-core/p-3bb55510.entry.js +0 -1
  590. package/dist/sparkle-core/p-3be0a218.js +0 -1
  591. package/dist/sparkle-core/p-417a8dd6.js +0 -1
  592. package/dist/sparkle-core/p-447163be.entry.js +0 -1
  593. package/dist/sparkle-core/p-49265a8e.entry.js +0 -1
  594. package/dist/sparkle-core/p-4950f841.entry.js +0 -1
  595. package/dist/sparkle-core/p-4b7db0e6.js +0 -1
  596. package/dist/sparkle-core/p-4d8cb365.entry.js +0 -1
  597. package/dist/sparkle-core/p-5073899e.entry.js +0 -1
  598. package/dist/sparkle-core/p-522733aa.js +0 -483
  599. package/dist/sparkle-core/p-5b366c20.entry.js +0 -1
  600. package/dist/sparkle-core/p-5dce20b9.entry.js +0 -1
  601. package/dist/sparkle-core/p-6006beec.entry.js +0 -1
  602. package/dist/sparkle-core/p-600d04fc.entry.js +0 -1
  603. package/dist/sparkle-core/p-60828739.entry.js +0 -1
  604. package/dist/sparkle-core/p-6112b180.entry.js +0 -1
  605. package/dist/sparkle-core/p-62a62b6e.entry.js +0 -1
  606. package/dist/sparkle-core/p-66eb6b7a.entry.js +0 -1
  607. package/dist/sparkle-core/p-67ddec3f.entry.js +0 -1
  608. package/dist/sparkle-core/p-68cb7d41.entry.js +0 -1
  609. package/dist/sparkle-core/p-69cd49de.js +0 -1
  610. package/dist/sparkle-core/p-6edbdde5.entry.js +0 -1
  611. package/dist/sparkle-core/p-6f0ecbe3.js +0 -1
  612. package/dist/sparkle-core/p-765b8593.js +0 -1
  613. package/dist/sparkle-core/p-770128c8.js +0 -1
  614. package/dist/sparkle-core/p-7840618d.js +0 -1
  615. package/dist/sparkle-core/p-7b37d523.entry.js +0 -1
  616. package/dist/sparkle-core/p-7d83d006.entry.js +0 -1
  617. package/dist/sparkle-core/p-7ecad3fb.entry.js +0 -1
  618. package/dist/sparkle-core/p-7f3d5344.js +0 -1
  619. package/dist/sparkle-core/p-81651f26.entry.js +0 -1
  620. package/dist/sparkle-core/p-8490f1bc.js +0 -1
  621. package/dist/sparkle-core/p-86148067.entry.js +0 -1
  622. package/dist/sparkle-core/p-8b5bc1d6.entry.js +0 -1
  623. package/dist/sparkle-core/p-8c3ee44c.entry.js +0 -1
  624. package/dist/sparkle-core/p-9007a06b.entry.js +0 -1
  625. package/dist/sparkle-core/p-90482861.entry.js +0 -1
  626. package/dist/sparkle-core/p-a061537e.entry.js +0 -1
  627. package/dist/sparkle-core/p-a38ea475.js +0 -1
  628. package/dist/sparkle-core/p-aef0bba0.js +0 -1
  629. package/dist/sparkle-core/p-b11fe0c7.js +0 -1
  630. package/dist/sparkle-core/p-bac45a26.entry.js +0 -1
  631. package/dist/sparkle-core/p-bbe5977b.entry.js +0 -1
  632. package/dist/sparkle-core/p-c163c16d.entry.js +0 -1
  633. package/dist/sparkle-core/p-c3166584.entry.js +0 -1
  634. package/dist/sparkle-core/p-c34269ae.entry.js +0 -1
  635. package/dist/sparkle-core/p-c466ee32.js +0 -1
  636. package/dist/sparkle-core/p-c6710592.entry.js +0 -1
  637. package/dist/sparkle-core/p-c7022391.entry.js +0 -1
  638. package/dist/sparkle-core/p-d4ad796c.js +0 -1
  639. package/dist/sparkle-core/p-d6152660.entry.js +0 -1
  640. package/dist/sparkle-core/p-d63406d8.js +0 -1
  641. package/dist/sparkle-core/p-dba672d5.entry.js +0 -1
  642. package/dist/sparkle-core/p-dd73d01a.entry.js +0 -1
  643. package/dist/sparkle-core/p-de33872d.entry.js +0 -1
  644. package/dist/sparkle-core/p-dee2128a.entry.js +0 -1
  645. package/dist/sparkle-core/p-df07e132.entry.js +0 -1
  646. package/dist/sparkle-core/p-e23bd285.js +0 -3
  647. package/dist/sparkle-core/p-e4f41e16.entry.js +0 -1
  648. package/dist/sparkle-core/p-e5d5aaa5.js +0 -1
  649. package/dist/sparkle-core/p-e72c6d87.entry.js +0 -1
  650. package/dist/sparkle-core/p-e8df6ea6.entry.js +0 -1
  651. package/dist/sparkle-core/p-ef2a2172.js +0 -1
  652. package/dist/sparkle-core/p-f1a4ab33.entry.js +0 -1
  653. package/dist/sparkle-core/p-f43ac631.entry.js +0 -1
  654. package/dist/sparkle-core/p-f8063d7b.js +0 -1
  655. package/dist/sparkle-core/p-fd62283e.entry.js +0 -1
  656. package/dist/sparkle-core/p-fef71e0e.entry.js +0 -1
@@ -1,9 +1,10 @@
1
- import { r as registerInstance, e as createEvent, i as readTask, f as forceUpdate, h, H as Host, d as getElement, w as writeTask } from './index-55fc9f5e.js';
2
- import { g as getIonMode, a as isPlatform, c as config } from './ionic-global-1f9287cc.js';
3
- import { j as clamp } from './helpers-e7f66b2b.js';
4
- import { c as createColorClasses, h as hostContext } from './theme-12606872.js';
1
+ import { r as registerInstance, i as createEvent, j as readTask, f as forceUpdate, h, H as Host, e as getElement, w as writeTask } from './index-5568e3fa.js';
2
+ import { g as getIonMode, a as isPlatform } from './ionic-global-0939c477.js';
3
+ import { c as componentOnReady, l as clamp, i as inheritAttributes } from './helpers-39367fe1.js';
4
+ import { i as isRTL } from './dir-03012648.js';
5
+ import { c as createColorClasses, h as hostContext } from './theme-c336c9d9.js';
5
6
 
6
- const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100vh;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}";
7
+ const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden;touch-action:manipulation}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;z-index:0;will-change:scroll-position}.scroll-y{overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{overflow-x:var(--overflow);overscroll-behavior-x:contain}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){display:flex;flex-direction:column;min-height:0;contain:none}:host(.content-sizing) .inner-scroll{position:relative;top:0;bottom:0;margin-top:calc(var(--offset-top) * -1);margin-bottom:calc(var(--offset-bottom) * -1)}.transition-effect{display:none;position:absolute;width:100%;height:100vh;opacity:0;pointer-events:none}:host(.content-ltr) .transition-effect{left:-100%;}:host(.content-rtl) .transition-effect{right:-100%;}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}:host(.content-ltr) .transition-shadow{right:0;}:host(.content-rtl) .transition-shadow{left:0;transform:scaleX(-1)}::slotted([slot=fixed]){position:absolute;transform:translateZ(0)}";
7
8
 
8
9
  const Content = class {
9
10
  constructor(hostRef) {
@@ -16,6 +17,7 @@ const Content = class {
16
17
  this.queued = false;
17
18
  this.cTop = -1;
18
19
  this.cBottom = -1;
20
+ this.isMainContent = true;
19
21
  // Detail is used in a hot loop in the scroll event, by allocating it here
20
22
  // V8 will be able to inline any read/write to it since it's a monomorphic class.
21
23
  // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
@@ -57,18 +59,15 @@ const Content = class {
57
59
  */
58
60
  this.scrollEvents = false;
59
61
  }
62
+ connectedCallback() {
63
+ this.isMainContent = this.el.closest('ion-menu, ion-popover, ion-modal') === null;
64
+ }
60
65
  disconnectedCallback() {
61
66
  this.onScrollEnd();
62
67
  }
63
68
  onAppLoad() {
64
69
  this.resize();
65
70
  }
66
- onClick(ev) {
67
- if (this.isScrolling) {
68
- ev.preventDefault();
69
- ev.stopPropagation();
70
- }
71
- }
72
71
  shouldForceOverscroll() {
73
72
  const { forceOverscroll } = this;
74
73
  const mode = getIonMode(this);
@@ -121,7 +120,14 @@ const Content = class {
121
120
  * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events
122
121
  * and `scrollToPoint()` to scroll the content into a certain point.
123
122
  */
124
- getScrollElement() {
123
+ async getScrollElement() {
124
+ /**
125
+ * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),
126
+ * scrollEl won't be defined yet with the custom elements build, so wait for it to load in.
127
+ */
128
+ if (!this.scrollEl) {
129
+ await new Promise(resolve => componentOnReady(this.el, resolve));
130
+ }
125
131
  return Promise.resolve(this.scrollEl);
126
132
  }
127
133
  /**
@@ -137,8 +143,9 @@ const Content = class {
137
143
  *
138
144
  * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
139
145
  */
140
- scrollToBottom(duration = 0) {
141
- const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;
146
+ async scrollToBottom(duration = 0) {
147
+ const scrollEl = await this.getScrollElement();
148
+ const y = scrollEl.scrollHeight - scrollEl.clientHeight;
142
149
  return this.scrollToPoint(undefined, y, duration);
143
150
  }
144
151
  /**
@@ -148,8 +155,9 @@ const Content = class {
148
155
  * @param y The amount to scroll by on the vertical axis.
149
156
  * @param duration The amount of time to take scrolling by that amount.
150
157
  */
151
- scrollByPoint(x, y, duration) {
152
- return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);
158
+ async scrollByPoint(x, y, duration) {
159
+ const scrollEl = await this.getScrollElement();
160
+ return this.scrollToPoint(x + scrollEl.scrollLeft, y + scrollEl.scrollTop, duration);
153
161
  }
154
162
  /**
155
163
  * Scroll to a specified X/Y location in the component.
@@ -159,7 +167,7 @@ const Content = class {
159
167
  * @param duration The amount of time to take scrolling to that point. Defaults to `0`.
160
168
  */
161
169
  async scrollToPoint(x, y, duration = 0) {
162
- const el = this.scrollEl;
170
+ const el = await this.getScrollElement();
163
171
  if (duration < 32) {
164
172
  if (y != null) {
165
173
  el.scrollTop = y;
@@ -229,24 +237,27 @@ const Content = class {
229
237
  }
230
238
  }
231
239
  render() {
232
- const { scrollX, scrollY } = this;
240
+ const { isMainContent, scrollX, scrollY, el } = this;
241
+ const rtl = isRTL(el) ? 'rtl' : 'ltr';
233
242
  const mode = getIonMode(this);
234
243
  const forceOverscroll = this.shouldForceOverscroll();
235
- const transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));
244
+ const transitionShadow = mode === 'ios';
245
+ const TagType = isMainContent ? 'main' : 'div';
236
246
  this.resize();
237
247
  return (h(Host, { class: createColorClasses(this.color, {
238
248
  [mode]: true,
239
249
  'content-sizing': hostContext('ion-popover', this.el),
240
250
  'overscroll': forceOverscroll,
251
+ [`content-${rtl}`]: true
241
252
  }), style: {
242
253
  '--offset-top': `${this.cTop}px`,
243
254
  '--offset-bottom': `${this.cBottom}px`,
244
- } }, h("div", { id: "background-content", part: "background" }), h("main", { class: {
255
+ } }, h("div", { id: "background-content", part: "background" }), h(TagType, { class: {
245
256
  'inner-scroll': true,
246
257
  'scroll-x': scrollX,
247
258
  'scroll-y': scrollY,
248
259
  'overscroll': (scrollX || scrollY) && forceOverscroll
249
- }, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", null)), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { name: "fixed" })));
260
+ }, ref: (scrollEl) => this.scrollEl = scrollEl, onScroll: (this.scrollEvents) ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", null)), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { name: "fixed" })));
250
261
  }
251
262
  get el() { return getElement(this); }
252
263
  };
@@ -266,7 +277,12 @@ const getPageElement = (el) => {
266
277
  if (tabs) {
267
278
  return tabs;
268
279
  }
269
- const page = el.closest('ion-app,ion-page,.ion-page,page-inner');
280
+ /**
281
+ * If we're in a popover, we need to use its wrapper so we can account for space
282
+ * between the popover and the edges of the screen. But if the popover contains
283
+ * its own page element, we should use that instead.
284
+ */
285
+ const page = el.closest('ion-app, ion-page, .ion-page, page-inner, .popover-content');
270
286
  if (page) {
271
287
  return page;
272
288
  }
@@ -301,6 +317,9 @@ const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
301
317
  };
302
318
  Content.style = contentCss;
303
319
 
320
+ /*!
321
+ * (C) Ionic http://ionicframework.com - MIT License
322
+ */
304
323
  const TRANSITION = 'all 0.2s ease-in-out';
305
324
  const cloneElement = (tagName) => {
306
325
  const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);
@@ -345,15 +364,24 @@ const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
345
364
  }
346
365
  });
347
366
  };
348
- const setToolbarBackgroundOpacity = (toolbar, opacity) => {
367
+ const setToolbarBackgroundOpacity = (headerEl, opacity) => {
368
+ /**
369
+ * Fading in the backdrop opacity
370
+ * should happen after the large title
371
+ * has collapsed, so it is handled
372
+ * by handleHeaderFade()
373
+ */
374
+ if (headerEl.collapse === 'fade') {
375
+ return;
376
+ }
349
377
  if (opacity === undefined) {
350
- toolbar.background.style.removeProperty('--opacity');
378
+ headerEl.style.removeProperty('--opacity-scale');
351
379
  }
352
380
  else {
353
- toolbar.background.style.setProperty('--opacity', opacity.toString());
381
+ headerEl.style.setProperty('--opacity-scale', opacity.toString());
354
382
  }
355
383
  };
356
- const handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {
384
+ const handleToolbarBorderIntersection = (ev, mainHeaderIndex, scrollTop) => {
357
385
  if (!ev[0].isIntersecting) {
358
386
  return;
359
387
  }
@@ -362,20 +390,24 @@ const handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {
362
390
  * does not always reset the scrollTop position to 0 when letting go. It will
363
391
  * set to 1 once the rubber band effect has ended. This causes the background to
364
392
  * appear slightly on certain app setups.
393
+ *
394
+ * Additionally, we check if user is rubber banding (scrolling is negative)
395
+ * as this can mean they are using pull to refresh. Once the refresher starts,
396
+ * the content is transformed which can cause the intersection observer to erroneously
397
+ * fire here as well.
365
398
  */
366
- const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
367
- mainHeaderIndex.toolbars.forEach(toolbar => {
368
- setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale);
369
- });
399
+ const scale = (ev[0].intersectionRatio > 0.9 || scrollTop <= 0) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
400
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, (scale === 1) ? undefined : scale);
370
401
  };
371
402
  /**
372
403
  * If toolbars are intersecting, hide the scrollable toolbar content
373
404
  * and show the primary toolbar content. If the toolbars are not intersecting,
374
405
  * hide the primary toolbar content and show the scrollable toolbar content
375
406
  */
376
- const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {
407
+ const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex, scrollEl) => {
377
408
  writeTask(() => {
378
- handleToolbarBorderIntersection(ev, mainHeaderIndex);
409
+ const scrollTop = scrollEl.scrollTop;
410
+ handleToolbarBorderIntersection(ev, mainHeaderIndex, scrollTop);
379
411
  const event = ev[0];
380
412
  const intersection = event.intersectionRect;
381
413
  const intersectionArea = intersection.width * intersection.height;
@@ -401,10 +433,10 @@ const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {
401
433
  * only Safari + CSS Animations.
402
434
  */
403
435
  const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);
404
- if (hasValidIntersection) {
436
+ if (hasValidIntersection && scrollTop > 0) {
405
437
  setHeaderActive(mainHeaderIndex);
406
438
  setHeaderActive(scrollHeaderIndex, false);
407
- setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]);
439
+ setToolbarBackgroundOpacity(mainHeaderIndex.el);
408
440
  }
409
441
  }
410
442
  });
@@ -428,15 +460,46 @@ const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
428
460
  titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
429
461
  });
430
462
  };
463
+ const handleHeaderFade = (scrollEl, baseEl, condenseHeader) => {
464
+ readTask(() => {
465
+ const scrollTop = scrollEl.scrollTop;
466
+ const baseElHeight = baseEl.clientHeight;
467
+ const fadeStart = (condenseHeader) ? condenseHeader.clientHeight : 0;
468
+ /**
469
+ * If we are using fade header with a condense
470
+ * header, then the toolbar backgrounds should
471
+ * not begin to fade in until the condense
472
+ * header has fully collapsed.
473
+ *
474
+ * Additionally, the main content should not
475
+ * overflow out of the container until the
476
+ * condense header has fully collapsed. When
477
+ * using just the condense header the content
478
+ * should overflow out of the container.
479
+ */
480
+ if ((condenseHeader !== null) && (scrollTop < fadeStart)) {
481
+ baseEl.style.setProperty('--opacity-scale', '0');
482
+ scrollEl.style.setProperty('clip-path', `inset(${baseElHeight}px 0px 0px 0px)`);
483
+ return;
484
+ }
485
+ const distanceToStart = scrollTop - fadeStart;
486
+ const fadeDuration = 10;
487
+ const scale = clamp(0, (distanceToStart / fadeDuration), 1);
488
+ writeTask(() => {
489
+ scrollEl.style.removeProperty('clip-path');
490
+ baseEl.style.setProperty('--opacity-scale', scale.toString());
491
+ });
492
+ });
493
+ };
431
494
 
432
- const headerIosCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports (backdrop-filter: blur(0)){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}";
495
+ const headerIosCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports (backdrop-filter: blur(0)){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-fade ion-toolbar{--opacity-scale:inherit}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar:last-of-type{--border-width:0px}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main{--opacity-scale:1}.header-collapse-main ion-toolbar{--opacity-scale:inherit}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}";
433
496
 
434
497
  const headerMdCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}";
435
498
 
436
499
  const Header = class {
437
500
  constructor(hostRef) {
438
501
  registerInstance(this, hostRef);
439
- this.collapsibleHeaderInitialized = false;
502
+ this.inheritedAttributes = {};
440
503
  /**
441
504
  * If `true`, the header will be translucent.
442
505
  * Only applies when the mode is `"ios"` and the device supports
@@ -446,24 +509,43 @@ const Header = class {
446
509
  * attribute needs to be set on the content.
447
510
  */
448
511
  this.translucent = false;
512
+ this.setupFadeHeader = async (contentEl, condenseHeader) => {
513
+ if (!contentEl) {
514
+ console.error('ion-header requires a content to collapse. Make sure there is an ion-content.');
515
+ return;
516
+ }
517
+ await new Promise(resolve => componentOnReady(contentEl, resolve));
518
+ const scrollEl = this.scrollEl = await contentEl.getScrollElement();
519
+ /**
520
+ * Handle fading of toolbars on scroll
521
+ */
522
+ this.contentScrollCallback = () => { handleHeaderFade(this.scrollEl, this.el, condenseHeader); };
523
+ scrollEl.addEventListener('scroll', this.contentScrollCallback);
524
+ handleHeaderFade(this.scrollEl, this.el, condenseHeader);
525
+ };
449
526
  }
450
- async componentDidLoad() {
451
- await this.checkCollapsibleHeader();
527
+ componentWillLoad() {
528
+ this.inheritedAttributes = inheritAttributes(this.el, ['role']);
452
529
  }
453
- async componentDidUpdate() {
454
- await this.checkCollapsibleHeader();
530
+ componentDidLoad() {
531
+ this.checkCollapsibleHeader();
532
+ }
533
+ componentDidUpdate() {
534
+ this.checkCollapsibleHeader();
455
535
  }
456
536
  disconnectedCallback() {
457
537
  this.destroyCollapsibleHeader();
458
538
  }
459
539
  async checkCollapsibleHeader() {
460
- // Determine if the header can collapse
461
- const hasCollapse = this.collapse === 'condense';
462
- const canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;
463
- if (!canCollapse && this.collapsibleHeaderInitialized) {
464
- this.destroyCollapsibleHeader();
540
+ const mode = getIonMode(this);
541
+ if (mode !== 'ios') {
542
+ return;
465
543
  }
466
- else if (canCollapse && !this.collapsibleHeaderInitialized) {
544
+ const { collapse } = this;
545
+ const hasCondense = collapse === 'condense';
546
+ const hasFade = collapse === 'fade';
547
+ this.destroyCollapsibleHeader();
548
+ if (hasCondense) {
467
549
  const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
468
550
  const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;
469
551
  // Cloned elements are always needed in iOS transition
@@ -472,7 +554,13 @@ const Header = class {
472
554
  title.size = 'large';
473
555
  cloneElement('ion-back-button');
474
556
  });
475
- await this.setupCollapsibleHeader(contentEl, pageEl);
557
+ await this.setupCondenseHeader(contentEl, pageEl);
558
+ }
559
+ else if (hasFade) {
560
+ const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
561
+ const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;
562
+ const condenseHeader = (contentEl) ? contentEl.querySelector('ion-header[collapse="condense"]') : null;
563
+ await this.setupFadeHeader(contentEl, condenseHeader);
476
564
  }
477
565
  }
478
566
  destroyCollapsibleHeader() {
@@ -489,7 +577,7 @@ const Header = class {
489
577
  this.collapsibleMainHeader = undefined;
490
578
  }
491
579
  }
492
- async setupCollapsibleHeader(contentEl, pageEl) {
580
+ async setupCondenseHeader(contentEl, pageEl) {
493
581
  if (!contentEl || !pageEl) {
494
582
  console.error('ion-header requires a content to collapse, make sure there is an ion-content.');
495
583
  return;
@@ -497,6 +585,7 @@ const Header = class {
497
585
  if (typeof IntersectionObserver === 'undefined') {
498
586
  return;
499
587
  }
588
+ await new Promise(resolve => componentOnReady(contentEl, resolve));
500
589
  this.scrollEl = await contentEl.getScrollElement();
501
590
  const headers = pageEl.querySelectorAll('ion-header');
502
591
  this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
@@ -509,16 +598,14 @@ const Header = class {
509
598
  return;
510
599
  }
511
600
  setHeaderActive(mainHeaderIndex, false);
512
- mainHeaderIndex.toolbars.forEach(toolbar => {
513
- setToolbarBackgroundOpacity(toolbar, 0);
514
- });
601
+ setToolbarBackgroundOpacity(mainHeaderIndex.el, 0);
515
602
  /**
516
603
  * Handle interaction between toolbar collapse and
517
604
  * showing/hiding content in the primary ion-header
518
605
  * as well as progressively showing/hiding the main header
519
606
  * border as the top-most toolbar collapses or expands.
520
607
  */
521
- const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };
608
+ const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex, this.scrollEl); };
522
609
  this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });
523
610
  this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
524
611
  /**
@@ -533,20 +620,21 @@ const Header = class {
533
620
  this.collapsibleMainHeader.classList.add('header-collapse-main');
534
621
  }
535
622
  });
536
- this.collapsibleHeaderInitialized = true;
537
623
  }
538
624
  render() {
539
- const { translucent } = this;
625
+ const { translucent, inheritedAttributes } = this;
540
626
  const mode = getIonMode(this);
541
627
  const collapse = this.collapse || 'none';
542
- return (h(Host, { role: "banner", class: {
628
+ // banner role must be at top level, so remove role if inside a menu
629
+ const roleType = hostContext('ion-menu', this.el) ? 'none' : 'banner';
630
+ return (h(Host, Object.assign({ role: roleType, class: {
543
631
  [mode]: true,
544
632
  // Used internally for styling
545
633
  [`header-${mode}`]: true,
546
634
  [`header-translucent`]: this.translucent,
547
635
  [`header-collapse-${collapse}`]: true,
548
636
  [`header-translucent-${mode}`]: this.translucent,
549
- } }, mode === 'ios' && translucent &&
637
+ } }, inheritedAttributes), mode === 'ios' && translucent &&
550
638
  h("div", { class: "header-background" }), h("slot", null)));
551
639
  }
552
640
  get el() { return getElement(this); }