@sparkle-learning/core 0.0.32 → 0.0.35

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 (611) hide show
  1. package/dist/cjs/PrivateRoute-4abc9d29.js +35 -0
  2. package/dist/cjs/{active-router-eedb3bfe.js → active-router-f9e18bd8.js} +1 -1
  3. package/dist/cjs/{animation-6132e37f.js → animation-ee586546.js} +83 -78
  4. package/dist/cjs/{app-globals-9869bf67.js → app-globals-33c9f31b.js} +1 -1
  5. package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-4b584cd7.js} +4 -33
  6. package/dist/cjs/{auth.store-ff3fda09.js → auth.store-1e630a7d.js} +48 -725
  7. package/dist/cjs/compass-svg.cjs.entry.js +1 -1
  8. package/dist/cjs/context-consumer.cjs.entry.js +1 -1
  9. package/dist/cjs/course-select.cjs.entry.js +1 -1
  10. package/dist/cjs/{cubic-bezier-293f4663.js → cubic-bezier-53d26d05.js} +10 -11
  11. package/dist/cjs/dom-utils-b8befdd5.js +63 -0
  12. package/dist/cjs/{facilitator.service-faac5c0c.js → facilitator.service-9e990274.js} +8 -7
  13. package/dist/cjs/{feed.service-66405969.js → feed.service-b4f09441.js} +8 -7
  14. package/dist/cjs/{focus-visible-ad3828a7.js → focus-visible-b0b07ba6.js} +19 -6
  15. package/dist/cjs/{framework-delegate-2470a246.js → framework-delegate-59a98abd.js} +11 -13
  16. package/dist/cjs/{gesture-controller-07c31f70.js → gesture-controller-0eb5579e.js} +1 -1
  17. package/dist/cjs/{haptic-91e86eb7.js → haptic-780f33c4.js} +3 -2
  18. package/dist/cjs/{hardware-back-button-f7b5d99e.js → hardware-back-button-92d97ff8.js} +8 -8
  19. package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
  20. package/dist/cjs/{helpers-7e28976c.js → helpers-c2496722.js} +81 -14
  21. package/dist/cjs/httpService-7211d93b.js +685 -0
  22. package/dist/cjs/{icons-80d477f6.js → icons-c61db785.js} +1 -1
  23. package/dist/cjs/{index-43642662.js → index-12082cba.js} +21 -18
  24. package/dist/cjs/{index-459a5fa9.js → index-15ea05f5.js} +19 -28
  25. package/dist/cjs/{index-bae2a754.js → index-51e8292e.js} +18 -11
  26. package/dist/cjs/index-70e63f5b.js +3071 -0
  27. package/dist/cjs/{index-b12edb26.js → index-787d4498.js} +17 -25
  28. package/dist/cjs/{tap-click-1caf1780.js → index-8b5629a6.js} +30 -20
  29. package/dist/cjs/{index-8540d72e.js → index-975586fd.js} +7 -1
  30. package/dist/cjs/index-9c7b27e4.js +140 -0
  31. package/dist/cjs/{index-185f9c5a.js → index-af080b50.js} +9 -8
  32. package/dist/cjs/index-e56e09b8.js +38 -0
  33. package/dist/cjs/index.cjs.js +13 -11
  34. package/dist/cjs/{index.es-ef3efdfb.js → index.es-38cbcdbe.js} +2 -7
  35. package/dist/cjs/injectHistory-7206bbb9.js +9 -0
  36. package/dist/cjs/{input-shims-6c442c9f.js → input-shims-eff63b88.js} +21 -24
  37. package/dist/cjs/ion-accordion-group.cjs.entry.js +17 -9
  38. package/dist/cjs/ion-accordion.cjs.entry.js +19 -23
  39. package/dist/cjs/ion-action-sheet_4.cjs.entry.js +216 -212
  40. package/dist/cjs/ion-app.cjs.entry.js +8 -8
  41. package/dist/cjs/ion-avatar_16.cjs.entry.js +1907 -0
  42. package/dist/cjs/ion-back-button.cjs.entry.js +11 -11
  43. package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
  44. package/dist/cjs/ion-badge.cjs.entry.js +3 -3
  45. package/dist/cjs/ion-breadcrumb.cjs.entry.js +13 -21
  46. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +12 -14
  47. package/dist/cjs/ion-buttons_3.cjs.entry.js +13 -13
  48. package/dist/cjs/ion-card-header.cjs.entry.js +4 -4
  49. package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-checkbox_4.cjs.entry.js +360 -0
  51. package/dist/cjs/ion-chip.cjs.entry.js +3 -3
  52. package/dist/cjs/ion-col_3.cjs.entry.js +159 -0
  53. package/dist/cjs/ion-content_2.cjs.entry.js +59 -52
  54. package/dist/cjs/ion-datetime-button.cjs.entry.js +312 -0
  55. package/dist/cjs/ion-datetime.cjs.entry.js +752 -1245
  56. package/dist/cjs/ion-fab-button.cjs.entry.js +25 -9
  57. package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
  58. package/dist/cjs/ion-fab.cjs.entry.js +15 -13
  59. package/dist/cjs/ion-footer.cjs.entry.js +16 -14
  60. package/dist/cjs/ion-img.cjs.entry.js +4 -4
  61. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
  62. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -15
  63. package/dist/cjs/ion-item-divider.cjs.entry.js +4 -4
  64. package/dist/cjs/ion-item-group.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
  66. package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
  67. package/dist/cjs/ion-item-sliding.cjs.entry.js +41 -46
  68. package/dist/cjs/ion-loading.cjs.entry.js +23 -35
  69. package/dist/cjs/ion-menu-button.cjs.entry.js +13 -13
  70. package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -7
  71. package/dist/cjs/ion-menu.cjs.entry.js +47 -40
  72. package/dist/cjs/ion-modal.cjs.entry.js +935 -282
  73. package/dist/cjs/ion-nav-link.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-nav.cjs.entry.js +45 -35
  75. package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +151 -43
  76. package/dist/cjs/ion-picker-column.cjs.entry.js +23 -25
  77. package/dist/cjs/ion-picker.cjs.entry.js +15 -17
  78. package/dist/cjs/ion-progress-bar.cjs.entry.js +6 -8
  79. package/dist/cjs/ion-range.cjs.entry.js +515 -0
  80. package/dist/cjs/ion-refresher-content.cjs.entry.js +6 -12
  81. package/dist/cjs/ion-refresher.cjs.entry.js +68 -50
  82. package/dist/cjs/ion-reorder-group.cjs.entry.js +15 -16
  83. package/dist/cjs/ion-reorder.cjs.entry.js +3 -3
  84. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  86. package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
  87. package/dist/cjs/ion-router-outlet.cjs.entry.js +22 -20
  88. package/dist/cjs/ion-router.cjs.entry.js +32 -31
  89. package/dist/cjs/ion-searchbar.cjs.entry.js +14 -16
  90. package/dist/cjs/ion-segment-button.cjs.entry.js +8 -8
  91. package/dist/cjs/ion-segment.cjs.entry.js +24 -26
  92. package/dist/cjs/ion-select_2.cjs.entry.js +59 -56
  93. package/dist/cjs/ion-skeleton-text.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-slide.cjs.entry.js +3 -3
  95. package/dist/cjs/ion-slides.cjs.entry.js +23 -23
  96. package/dist/cjs/ion-split-pane.cjs.entry.js +10 -11
  97. package/dist/cjs/ion-tab-bar.cjs.entry.js +5 -5
  98. package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
  99. package/dist/cjs/ion-tab.cjs.entry.js +4 -4
  100. package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
  101. package/dist/cjs/ion-text.cjs.entry.js +24 -0
  102. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-toast.cjs.entry.js +23 -43
  104. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +29 -28
  105. package/dist/cjs/{ionic-global-878073d1.js → ionic-global-2cde9d3a.js} +27 -31
  106. package/dist/cjs/{ios.transition-c3bfb096.js → ios.transition-da235483.js} +71 -51
  107. package/dist/cjs/{keyboard-dfd76ac3.js → keyboard-91096619.js} +3 -3
  108. package/dist/cjs/loader.cjs.js +5 -5
  109. package/dist/cjs/match-path-84c9f7ca.js +511 -0
  110. package/dist/cjs/{md.transition-7eb9a1a7.js → md.transition-be429e07.js} +9 -16
  111. package/dist/cjs/{menu-toggle-util-cb549c2c.js → menu-toggle-util-7a01448c.js} +2 -2
  112. package/dist/cjs/{overlays-0a748609.js → overlays-32df265a.js} +29 -29
  113. package/dist/cjs/parse-d0071120.js +1237 -0
  114. package/dist/cjs/{purify-d0ad2883.js → purify-fb9c107e.js} +1 -1
  115. package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
  116. package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
  117. package/dist/cjs/sparkle-character-intro.cjs.entry.js +1 -1
  118. package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
  119. package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
  120. package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
  121. package/dist/cjs/sparkle-core.cjs.js +5 -5
  122. package/dist/cjs/sparkle-course-root.cjs.entry.js +146 -0
  123. package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
  124. package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
  125. package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8865 -17663
  126. package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2130 -0
  127. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +8 -7
  128. package/dist/cjs/sparkle-feedback.cjs.entry.js +9 -7
  129. package/dist/cjs/sparkle-goal-form.cjs.entry.js +8 -7
  130. package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
  131. package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +1 -1
  132. package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
  133. package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
  134. package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
  135. package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
  136. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
  137. package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
  138. package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
  139. package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
  140. package/dist/cjs/sparkle-overlay.cjs.entry.js +1 -1
  141. package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
  142. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
  143. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
  144. package/dist/cjs/sparkle-quiz.cjs.entry.js +1 -1
  145. package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
  146. package/dist/cjs/sparkle-sidebar.cjs.entry.js +1 -1
  147. package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
  148. package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
  149. package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
  150. package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
  151. package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
  152. package/dist/cjs/{spinner-configs-6f6b7ef0.js → spinner-configs-0ac05f2d.js} +43 -43
  153. package/dist/cjs/{status-tap-8697433c.js → status-tap-033befa2.js} +7 -5
  154. package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
  155. package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
  156. package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
  157. package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
  158. package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
  159. package/dist/cjs/student.service-d48f1c99.js +61 -0
  160. package/dist/cjs/{swipe-back-7e08b5e0.js → swipe-back-4a826f9b.js} +5 -5
  161. package/dist/cjs/{theme-4252ac15.js → theme-b0b295c1.js} +6 -5
  162. package/dist/cjs/user.store-8a049c4e.js +21 -0
  163. package/dist/collection/collection-manifest.json +3 -1
  164. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +16 -0
  165. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +197 -3
  166. package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
  167. package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
  168. package/dist/esm/PrivateRoute-530ef873.js +33 -0
  169. package/dist/esm/{active-router-909088d6.js → active-router-9843e205.js} +1 -1
  170. package/dist/esm/{animation-b306f6c2.js → animation-d98d3e81.js} +83 -78
  171. package/dist/esm/{app-globals-5c736ae5.js → app-globals-08edc964.js} +1 -1
  172. package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-79389d86.js} +4 -32
  173. package/dist/esm/{auth.store-3ed2389e.js → auth.store-b812b34b.js} +45 -725
  174. package/dist/esm/compass-svg.entry.js +1 -1
  175. package/dist/esm/context-consumer.entry.js +1 -1
  176. package/dist/esm/course-select.entry.js +1 -1
  177. package/dist/esm/{cubic-bezier-a7ad9c8e.js → cubic-bezier-4c0db14f.js} +10 -11
  178. package/dist/esm/dom-utils-8e73e88b.js +55 -0
  179. package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-7babc526.js} +2 -1
  180. package/dist/esm/{feed.service-33b83cb7.js → feed.service-80fbe79d.js} +3 -2
  181. package/dist/esm/{focus-visible-40cda868.js → focus-visible-4e9a0764.js} +19 -6
  182. package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-9b329182.js} +11 -13
  183. package/dist/esm/{gesture-controller-686622ba.js → gesture-controller-7be18351.js} +1 -1
  184. package/dist/esm/{haptic-99c9e346.js → haptic-3a76a65c.js} +4 -3
  185. package/dist/esm/{hardware-back-button-b6ccf74a.js → hardware-back-button-fa04d6e9.js} +8 -8
  186. package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
  187. package/dist/esm/{helpers-39367fe1.js → helpers-94a5855b.js} +81 -15
  188. package/dist/esm/httpService-b2b7a1ad.js +683 -0
  189. package/dist/esm/{icons-61dec176.js → icons-16f1a80b.js} +2 -2
  190. package/dist/esm/{index-a12c14bd.js → index-21661af2.js} +22 -19
  191. package/dist/esm/{tap-click-13f1fb0d.js → index-230a26c9.js} +30 -20
  192. package/dist/esm/{index-c26d8655.js → index-478745be.js} +17 -25
  193. package/dist/esm/{index-dc61f152.js → index-4ec6b9c2.js} +5 -2
  194. package/dist/esm/{index-9594837e.js → index-95307148.js} +19 -28
  195. package/dist/esm/{index-5568e3fa.js → index-9db08224.js} +19 -12
  196. package/dist/esm/index-ab1c6a9f.js +3067 -0
  197. package/dist/esm/{index-435af8e6.js → index-be6112f8.js} +9 -8
  198. package/dist/esm/index-c23a1826.js +128 -0
  199. package/dist/esm/index-dad75b83.js +34 -0
  200. package/dist/esm/{index.es-97dd8174.js → index.es-1c3b1ef3.js} +2 -7
  201. package/dist/esm/index.js +9 -7
  202. package/dist/esm/injectHistory-4bfff188.js +7 -0
  203. package/dist/esm/{input-shims-cc98ea92.js → input-shims-ce5c01df.js} +21 -24
  204. package/dist/esm/ion-accordion-group.entry.js +17 -9
  205. package/dist/esm/ion-accordion.entry.js +19 -23
  206. package/dist/esm/ion-action-sheet_4.entry.js +216 -212
  207. package/dist/esm/ion-app.entry.js +8 -8
  208. package/dist/esm/ion-avatar_16.entry.js +1888 -0
  209. package/dist/esm/ion-back-button.entry.js +11 -11
  210. package/dist/esm/ion-backdrop.entry.js +4 -4
  211. package/dist/esm/ion-badge.entry.js +3 -3
  212. package/dist/esm/ion-breadcrumb.entry.js +13 -21
  213. package/dist/esm/ion-breadcrumbs.entry.js +12 -14
  214. package/dist/esm/ion-buttons_3.entry.js +13 -13
  215. package/dist/esm/ion-card-header.entry.js +4 -4
  216. package/dist/esm/ion-card-subtitle.entry.js +4 -4
  217. package/dist/esm/ion-checkbox_4.entry.js +353 -0
  218. package/dist/esm/ion-chip.entry.js +3 -3
  219. package/dist/esm/ion-col_3.entry.js +153 -0
  220. package/dist/esm/ion-content_2.entry.js +59 -52
  221. package/dist/esm/ion-datetime-button.entry.js +308 -0
  222. package/dist/esm/ion-datetime.entry.js +723 -1216
  223. package/dist/esm/ion-fab-button.entry.js +25 -9
  224. package/dist/esm/ion-fab-list.entry.js +4 -4
  225. package/dist/esm/ion-fab.entry.js +15 -13
  226. package/dist/esm/ion-footer.entry.js +16 -14
  227. package/dist/esm/ion-img.entry.js +4 -4
  228. package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
  229. package/dist/esm/ion-infinite-scroll.entry.js +13 -15
  230. package/dist/esm/ion-item-divider.entry.js +4 -4
  231. package/dist/esm/ion-item-group.entry.js +3 -3
  232. package/dist/esm/ion-item-option.entry.js +8 -8
  233. package/dist/esm/ion-item-options.entry.js +5 -5
  234. package/dist/esm/ion-item-sliding.entry.js +41 -46
  235. package/dist/esm/ion-loading.entry.js +23 -35
  236. package/dist/esm/ion-menu-button.entry.js +13 -13
  237. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  238. package/dist/esm/ion-menu.entry.js +47 -40
  239. package/dist/esm/ion-modal.entry.js +921 -268
  240. package/dist/esm/ion-nav-link.entry.js +2 -2
  241. package/dist/esm/ion-nav.entry.js +45 -35
  242. package/dist/esm/ion-picker-column-internal_2.entry.js +151 -43
  243. package/dist/esm/ion-picker-column.entry.js +23 -25
  244. package/dist/esm/ion-picker.entry.js +15 -17
  245. package/dist/esm/ion-progress-bar.entry.js +6 -8
  246. package/dist/esm/ion-range.entry.js +511 -0
  247. package/dist/esm/ion-refresher-content.entry.js +6 -12
  248. package/dist/esm/ion-refresher.entry.js +68 -50
  249. package/dist/esm/ion-reorder-group.entry.js +15 -16
  250. package/dist/esm/ion-reorder.entry.js +3 -3
  251. package/dist/esm/ion-route-redirect.entry.js +1 -1
  252. package/dist/esm/ion-route.entry.js +1 -1
  253. package/dist/esm/ion-router-link.entry.js +5 -5
  254. package/dist/esm/ion-router-outlet.entry.js +22 -20
  255. package/dist/esm/ion-router.entry.js +32 -31
  256. package/dist/esm/ion-searchbar.entry.js +14 -16
  257. package/dist/esm/ion-segment-button.entry.js +8 -8
  258. package/dist/esm/ion-segment.entry.js +24 -26
  259. package/dist/esm/ion-select_2.entry.js +59 -56
  260. package/dist/esm/ion-skeleton-text.entry.js +4 -4
  261. package/dist/esm/ion-slide.entry.js +3 -3
  262. package/dist/esm/ion-slides.entry.js +23 -23
  263. package/dist/esm/ion-split-pane.entry.js +10 -11
  264. package/dist/esm/ion-tab-bar.entry.js +5 -5
  265. package/dist/esm/ion-tab-button.entry.js +6 -6
  266. package/dist/esm/ion-tab.entry.js +4 -4
  267. package/dist/esm/ion-tabs.entry.js +4 -5
  268. package/dist/esm/ion-text.entry.js +20 -0
  269. package/dist/esm/ion-thumbnail.entry.js +2 -2
  270. package/dist/esm/ion-toast.entry.js +23 -43
  271. package/dist/esm/ion-virtual-scroll.entry.js +29 -28
  272. package/dist/esm/{ionic-global-0939c477.js → ionic-global-293e882b.js} +27 -31
  273. package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-7cd34deb.js} +71 -51
  274. package/dist/esm/{keyboard-2503e874.js → keyboard-7e8329b3.js} +3 -3
  275. package/dist/esm/loader.js +5 -5
  276. package/dist/esm/match-path-36fdf5c7.js +499 -0
  277. package/dist/esm/{md.transition-ca5e0322.js → md.transition-2589a5b1.js} +9 -16
  278. package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-f92ba2f0.js} +2 -2
  279. package/dist/esm/{overlays-34cfa9e0.js → overlays-dfa730c8.js} +30 -30
  280. package/dist/esm/parse-1ae3a9bb.js +1196 -0
  281. package/dist/esm/polyfills/css-shim.js +1 -1
  282. package/dist/esm/{purify-ffce2b4c.js → purify-79af871f.js} +1 -1
  283. package/dist/esm/sparkle-animation-player.entry.js +2 -2
  284. package/dist/esm/sparkle-card_3.entry.js +85 -0
  285. package/dist/esm/sparkle-character-intro.entry.js +1 -1
  286. package/dist/esm/sparkle-code.entry.js +2 -2
  287. package/dist/esm/sparkle-compass-post.entry.js +1 -1
  288. package/dist/esm/sparkle-compass.entry.js +1 -1
  289. package/dist/esm/sparkle-core.js +5 -5
  290. package/dist/esm/sparkle-course-root.entry.js +142 -0
  291. package/dist/esm/sparkle-dropdown.entry.js +57 -0
  292. package/dist/esm/sparkle-emoji.entry.js +1 -1
  293. package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8860 -17603
  294. package/dist/esm/sparkle-facilitator-header_19.entry.js +2108 -0
  295. package/dist/esm/sparkle-facilitator-notes-form.entry.js +8 -7
  296. package/dist/esm/sparkle-feedback.entry.js +9 -7
  297. package/dist/esm/sparkle-goal-form.entry.js +9 -8
  298. package/dist/esm/sparkle-goal-progress.entry.js +15 -0
  299. package/dist/esm/sparkle-gww-comment-list.entry.js +1 -1
  300. package/dist/esm/sparkle-gww-graph.entry.js +1 -1
  301. package/dist/esm/sparkle-gww-item.entry.js +70 -0
  302. package/dist/esm/sparkle-intro.entry.js +22 -0
  303. package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
  304. package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
  305. package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
  306. package/dist/esm/sparkle-modal-image.entry.js +1 -1
  307. package/dist/esm/sparkle-notfound-page.entry.js +1 -1
  308. package/dist/esm/sparkle-overlay.entry.js +1 -1
  309. package/dist/esm/sparkle-poll.entry.js +1 -1
  310. package/dist/esm/sparkle-quiz-container.entry.js +1 -1
  311. package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
  312. package/dist/esm/sparkle-quiz.entry.js +1 -1
  313. package/dist/esm/sparkle-select.entry.js +1 -1
  314. package/dist/esm/sparkle-sidebar.entry.js +1 -1
  315. package/dist/esm/sparkle-tab.entry.js +1 -1
  316. package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
  317. package/dist/esm/sparkle-tabs.entry.js +1 -1
  318. package/dist/esm/sparkle-validation-error.entry.js +17 -0
  319. package/dist/esm/sparkle-youtube.entry.js +1 -1
  320. package/dist/esm/{spinner-configs-f609a655.js → spinner-configs-a37e628a.js} +43 -43
  321. package/dist/esm/{status-tap-6351a0cb.js → status-tap-79b6199d.js} +7 -5
  322. package/dist/esm/stencil-async-content.entry.js +1 -1
  323. package/dist/esm/stencil-route-link.entry.js +73 -0
  324. package/dist/esm/stencil-route-title.entry.js +2 -2
  325. package/dist/esm/stencil-router-prompt.entry.js +2 -2
  326. package/dist/esm/stencil-router-redirect.entry.js +28 -0
  327. package/dist/esm/{student.service-29b688ba.js → student.service-0caed0f4.js} +3 -18
  328. package/dist/esm/{swipe-back-34251834.js → swipe-back-ad7a0361.js} +5 -5
  329. package/dist/esm/{theme-c336c9d9.js → theme-7ef00c83.js} +6 -5
  330. package/dist/esm/user.store-8477642a.js +19 -0
  331. package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
  332. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +8 -1
  333. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +46 -22
  334. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +43 -19
  335. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +60 -0
  336. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +2 -1
  337. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +2 -2
  338. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +6 -6
  339. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +6 -6
  340. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +3 -3
  341. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +1 -6
  342. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +1 -6
  343. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +1 -5
  344. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +1 -5
  345. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +31 -3
  346. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +29 -1
  347. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +24 -1
  348. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +24 -1
  349. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +4 -0
  350. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +4 -0
  351. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +2 -2
  352. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +2 -2
  353. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +8 -8
  354. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +34 -17
  355. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +34 -17
  356. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +50 -1
  357. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +27 -0
  358. package/dist/sparkle-core/index.esm.js +1 -1
  359. package/dist/sparkle-core/p-0127a61a.entry.js +1 -0
  360. package/dist/sparkle-core/p-01743e3e.js +4 -0
  361. package/dist/sparkle-core/p-06af1bc8.entry.js +1 -0
  362. package/dist/sparkle-core/{p-703ca87c.js → p-076f0239.js} +0 -0
  363. package/dist/sparkle-core/p-0798d46a.entry.js +1 -0
  364. package/dist/sparkle-core/p-085eb951.entry.js +4 -0
  365. package/dist/sparkle-core/{p-39e5a90f.entry.js → p-0b92326d.entry.js} +1 -1
  366. package/dist/sparkle-core/{p-5ff6416d.entry.js → p-0c603495.entry.js} +2 -2
  367. package/dist/sparkle-core/{p-6bbabb80.entry.js → p-0d7cceaa.entry.js} +1 -1
  368. package/dist/sparkle-core/p-0d813026.entry.js +1 -0
  369. package/dist/sparkle-core/{p-69e7783d.js → p-0e4de1d0.js} +0 -0
  370. package/dist/sparkle-core/p-11ed6b7f.entry.js +1 -0
  371. package/dist/sparkle-core/p-122427b7.entry.js +1 -0
  372. package/dist/sparkle-core/p-12c4f45c.entry.js +1 -0
  373. package/dist/sparkle-core/p-136b93d5.entry.js +4 -0
  374. package/dist/sparkle-core/{p-e225581a.js → p-1394cbb8.js} +2 -2
  375. package/dist/sparkle-core/{p-c48bbc7c.entry.js → p-14340143.entry.js} +1 -1
  376. package/dist/sparkle-core/p-14a06a91.entry.js +1 -0
  377. package/dist/sparkle-core/{p-a9ee3f6d.entry.js → p-16b7974e.entry.js} +1 -1
  378. package/dist/sparkle-core/p-16c81890.entry.js +1 -0
  379. package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-1701723e.entry.js} +1 -1
  380. package/dist/sparkle-core/p-1728ead7.js +1 -0
  381. package/dist/sparkle-core/p-17aef6f9.js +1 -0
  382. package/dist/sparkle-core/p-180857a2.entry.js +1 -0
  383. package/dist/sparkle-core/p-1acc7870.entry.js +1 -0
  384. package/dist/sparkle-core/{p-513794b0.js → p-1c2aee9c.js} +1 -1
  385. package/dist/sparkle-core/p-1cd4c3cc.entry.js +1 -0
  386. package/dist/sparkle-core/p-21d9833d.js +1 -0
  387. package/dist/sparkle-core/p-23d713e2.js +1 -0
  388. package/dist/sparkle-core/p-25c13612.entry.js +1 -0
  389. package/dist/sparkle-core/p-2699868a.entry.js +1 -0
  390. package/dist/sparkle-core/p-27075abe.js +4 -0
  391. package/dist/sparkle-core/{p-713590fc.js → p-280e938d.js} +1 -1
  392. package/dist/sparkle-core/p-2bd4c60e.js +1 -0
  393. package/dist/sparkle-core/p-2c89a6c2.entry.js +1 -0
  394. package/dist/sparkle-core/p-308517b3.js +4 -0
  395. package/dist/sparkle-core/p-3227afcb.entry.js +1 -0
  396. package/dist/sparkle-core/{p-173d5461.entry.js → p-34d93a39.entry.js} +1 -1
  397. package/dist/sparkle-core/p-34ebfc8a.entry.js +1 -0
  398. package/dist/sparkle-core/p-351b82a8.entry.js +1 -0
  399. package/dist/sparkle-core/p-363a2d6d.js +4 -0
  400. package/dist/sparkle-core/p-36c48760.entry.js +1 -0
  401. package/dist/sparkle-core/p-3810777d.js +4 -0
  402. package/dist/sparkle-core/p-384911d7.entry.js +1 -0
  403. package/dist/sparkle-core/p-3b618eda.entry.js +1 -0
  404. package/dist/sparkle-core/p-3c752205.entry.js +1 -0
  405. package/dist/sparkle-core/{p-50aac721.entry.js → p-3d2c0e24.entry.js} +2 -2
  406. package/dist/sparkle-core/{p-350adbaa.entry.js → p-3eb56165.entry.js} +1 -1
  407. package/dist/sparkle-core/{p-ed0e9d29.entry.js → p-3ef53ebf.entry.js} +1 -1
  408. package/dist/sparkle-core/{p-fbd7eeca.entry.js → p-3fd92216.entry.js} +1 -1
  409. package/dist/sparkle-core/{p-1df05176.js → p-4338e1e3.js} +2 -2
  410. package/dist/sparkle-core/p-442eadcf.entry.js +1 -0
  411. package/dist/sparkle-core/{p-5f45d206.entry.js → p-4af496a8.entry.js} +1 -1
  412. package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
  413. package/dist/sparkle-core/{p-18e62133.entry.js → p-4c9e010d.entry.js} +1 -1
  414. package/dist/sparkle-core/p-4d0dfbc9.js +1 -0
  415. package/dist/sparkle-core/{p-8c6b6038.js → p-4d4077ea.js} +0 -0
  416. package/dist/sparkle-core/p-4e0502b8.entry.js +4 -0
  417. package/dist/sparkle-core/p-506f3c5f.js +4 -0
  418. package/dist/sparkle-core/p-524a6174.entry.js +1 -0
  419. package/dist/sparkle-core/p-53aac9d7.entry.js +1 -0
  420. package/dist/sparkle-core/{p-0580419b.entry.js → p-56700a40.entry.js} +1 -1
  421. package/dist/sparkle-core/p-5722be24.entry.js +1 -0
  422. package/dist/sparkle-core/p-58389020.entry.js +348 -0
  423. package/dist/sparkle-core/{p-11cf398a.entry.js → p-58f74119.entry.js} +1 -1
  424. package/dist/sparkle-core/p-5979f253.entry.js +1 -0
  425. package/dist/sparkle-core/p-5a3de051.entry.js +4 -0
  426. package/dist/sparkle-core/p-5a850731.entry.js +1 -0
  427. package/dist/sparkle-core/{p-950effe7.entry.js → p-5dcf33fb.entry.js} +1 -1
  428. package/dist/sparkle-core/p-5e8fa1ac.entry.js +1 -0
  429. package/dist/sparkle-core/p-5ef50959.js +1 -0
  430. package/dist/sparkle-core/p-615b8f64.entry.js +1 -0
  431. package/dist/sparkle-core/{p-90389886.entry.js → p-63d8a5b7.entry.js} +1 -1
  432. package/dist/sparkle-core/p-6a337ad1.entry.js +1 -0
  433. package/dist/sparkle-core/p-6a5ace01.js +2 -0
  434. package/dist/sparkle-core/{p-d7baf31e.entry.js → p-6ae9c743.entry.js} +1 -1
  435. package/dist/sparkle-core/p-76206f80.entry.js +1 -0
  436. package/dist/sparkle-core/{p-99b43ee1.entry.js → p-767c9db8.entry.js} +1 -1
  437. package/dist/sparkle-core/p-76a6e202.entry.js +1 -0
  438. package/dist/sparkle-core/{p-ee0d7f19.entry.js → p-785f1879.entry.js} +1 -1
  439. package/dist/sparkle-core/p-788735b9.entry.js +1 -0
  440. package/dist/sparkle-core/{p-057f6a23.entry.js → p-7b21bd70.entry.js} +1 -1
  441. package/dist/sparkle-core/p-7b3d1457.js +1 -0
  442. package/dist/sparkle-core/p-7d8427eb.js +4 -0
  443. package/dist/sparkle-core/{p-5264da79.js → p-7e7ce516.js} +0 -0
  444. package/dist/sparkle-core/{p-838fa86d.entry.js → p-8cbe019a.entry.js} +5 -5
  445. package/dist/sparkle-core/{p-9c1772c3.js → p-8d630960.js} +1 -1
  446. package/dist/sparkle-core/{p-7052c43a.entry.js → p-8e42e634.entry.js} +1 -1
  447. package/dist/sparkle-core/p-8e56f9ee.entry.js +1 -0
  448. package/dist/sparkle-core/p-8ed0cefb.entry.js +1 -0
  449. package/dist/sparkle-core/{p-d4c07aca.js → p-924b2917.js} +0 -0
  450. package/dist/sparkle-core/p-9484e34b.entry.js +1 -0
  451. package/dist/sparkle-core/p-966817ec.js +1 -0
  452. package/dist/sparkle-core/p-969e98e5.entry.js +1 -0
  453. package/dist/sparkle-core/p-98f3925b.js +4 -0
  454. package/dist/sparkle-core/{p-a1cab0f3.js → p-99231c00.js} +2 -2
  455. package/dist/sparkle-core/p-9a383065.entry.js +7 -0
  456. package/dist/sparkle-core/p-9b4979b5.entry.js +4 -0
  457. package/dist/sparkle-core/{p-c69b0a7a.entry.js → p-9cd95e7e.entry.js} +1 -1
  458. package/dist/sparkle-core/p-9dc42d70.entry.js +1 -0
  459. package/dist/sparkle-core/p-9eea81f2.js +1 -0
  460. package/dist/sparkle-core/{p-797c23ed.entry.js → p-9ef14088.entry.js} +1 -1
  461. package/dist/sparkle-core/p-a05871e6.js +1 -0
  462. package/dist/sparkle-core/p-a111c567.entry.js +1 -0
  463. package/dist/sparkle-core/{p-1af044f7.js → p-a19b42f0.js} +1 -1
  464. package/dist/sparkle-core/p-a208ab2d.js +4 -0
  465. package/dist/sparkle-core/p-a2f7c751.entry.js +1 -0
  466. package/dist/sparkle-core/p-a458b415.entry.js +1 -0
  467. package/dist/sparkle-core/p-a6c1a55a.entry.js +5 -0
  468. package/dist/sparkle-core/{p-145e40f5.entry.js → p-ab3a8f5e.entry.js} +1 -1
  469. package/dist/sparkle-core/p-ac0e4d8c.entry.js +1 -0
  470. package/dist/sparkle-core/p-add30d46.js +4 -0
  471. package/dist/sparkle-core/{p-5b40aae5.entry.js → p-b00d0a47.entry.js} +1 -1
  472. package/dist/sparkle-core/p-b2827978.entry.js +1 -0
  473. package/dist/sparkle-core/p-b8ba8164.entry.js +1 -0
  474. package/dist/sparkle-core/{p-6823e6c1.entry.js → p-ba775d8e.entry.js} +1 -1
  475. package/dist/sparkle-core/{p-37c00e39.entry.js → p-bae8cd7d.entry.js} +1 -1
  476. package/dist/sparkle-core/p-bb3e3482.entry.js +1 -0
  477. package/dist/sparkle-core/p-bb575dba.entry.js +1 -0
  478. package/dist/sparkle-core/p-bd2c8e30.entry.js +10 -0
  479. package/dist/sparkle-core/p-c48352cf.js +4 -0
  480. package/dist/sparkle-core/{p-667accac.entry.js → p-c5eb4404.entry.js} +1 -1
  481. package/dist/sparkle-core/p-c8ad5a5b.entry.js +4 -0
  482. package/dist/sparkle-core/p-c9f474d0.js +4 -0
  483. package/dist/sparkle-core/p-ca0edc9b.entry.js +1 -0
  484. package/dist/sparkle-core/{p-680663a2.entry.js → p-cb04b18a.entry.js} +1 -1
  485. package/dist/sparkle-core/{p-b3909012.entry.js → p-d0d0e5e5.entry.js} +1 -1
  486. package/dist/sparkle-core/{p-7d61177b.entry.js → p-d220a642.entry.js} +1 -1
  487. package/dist/sparkle-core/p-d38a2511.entry.js +1 -0
  488. package/dist/sparkle-core/{p-b07a2cf2.entry.js → p-d5b8302f.entry.js} +1 -1
  489. package/dist/sparkle-core/p-d5ba8e80.entry.js +1 -0
  490. package/dist/sparkle-core/{p-3a202a38.entry.js → p-d6637b48.entry.js} +1 -1
  491. package/dist/sparkle-core/p-d6788642.entry.js +1 -0
  492. package/dist/sparkle-core/p-d6a3a639.entry.js +1 -0
  493. package/dist/sparkle-core/p-d86f8633.entry.js +1 -0
  494. package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-defeaa5c.entry.js} +1 -1
  495. package/dist/sparkle-core/p-df5cfa7f.entry.js +1 -0
  496. package/dist/sparkle-core/p-df5efe0d.entry.js +1 -0
  497. package/dist/sparkle-core/p-dff8325e.js +4 -0
  498. package/dist/sparkle-core/p-e09de7ac.js +1 -0
  499. package/dist/sparkle-core/{p-016a7aaf.entry.js → p-e1743d82.entry.js} +1 -1
  500. package/dist/sparkle-core/p-e28a106d.entry.js +1 -0
  501. package/dist/sparkle-core/p-e566c0b3.entry.js +1 -0
  502. package/dist/sparkle-core/{p-bca0e465.entry.js → p-e6d39f6e.entry.js} +1 -1
  503. package/dist/sparkle-core/p-e9431eeb.js +7 -0
  504. package/dist/sparkle-core/p-ea4a9f0d.entry.js +1 -0
  505. package/dist/sparkle-core/p-ea7d7a3b.js +1 -0
  506. package/dist/sparkle-core/p-eaa8bbee.js +4 -0
  507. package/dist/sparkle-core/p-ed3dfd89.js +4 -0
  508. package/dist/sparkle-core/{p-3defe550.entry.js → p-efe37368.entry.js} +1 -1
  509. package/dist/sparkle-core/p-f187d129.entry.js +1 -0
  510. package/dist/sparkle-core/{p-a9ccb0df.js → p-f3cba72a.js} +0 -0
  511. package/dist/sparkle-core/{p-052caa63.js → p-f5e7bfa5.js} +1 -1
  512. package/dist/sparkle-core/{p-ecd39170.entry.js → p-f63a13d8.entry.js} +1 -1
  513. package/dist/sparkle-core/{p-1726da2f.entry.js → p-fdb9a613.entry.js} +1 -1
  514. package/dist/sparkle-core/p-fde96f7c.js +4 -0
  515. package/dist/sparkle-core/{p-aa87c7f0.entry.js → p-fe214d79.entry.js} +1 -1
  516. package/dist/sparkle-core/p-fe3a7bca.js +1 -0
  517. package/dist/sparkle-core/{p-aa9ebc39.entry.js → p-fea20ec2.entry.js} +1 -1
  518. package/dist/sparkle-core/p-ff26d891.entry.js +1 -0
  519. package/dist/sparkle-core/sparkle-core.css +1 -1
  520. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  521. package/dist/types/components/sparkle-feed-post/sparkle-feed-post.d.ts +16 -0
  522. package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
  523. package/dist/types/components.d.ts +73 -11
  524. package/package.json +3 -3
  525. package/dist/cjs/ion-card-title.cjs.entry.js +0 -30
  526. package/dist/cjs/ion-textarea.cjs.entry.js +0 -247
  527. package/dist/cjs/ion-toggle.cjs.entry.js +0 -160
  528. package/dist/cjs/sparkle-feed-post.cjs.entry.js +0 -19
  529. package/dist/cjs/student.service-744c3155.js +0 -77
  530. package/dist/esm/ion-card-title.entry.js +0 -26
  531. package/dist/esm/ion-textarea.entry.js +0 -243
  532. package/dist/esm/ion-toggle.entry.js +0 -156
  533. package/dist/esm/sparkle-feed-post.entry.js +0 -15
  534. package/dist/sparkle-core/p-0187adef.entry.js +0 -1
  535. package/dist/sparkle-core/p-03189863.js +0 -1
  536. package/dist/sparkle-core/p-03ec54a8.entry.js +0 -1
  537. package/dist/sparkle-core/p-04583c51.entry.js +0 -1
  538. package/dist/sparkle-core/p-063cd168.js +0 -4
  539. package/dist/sparkle-core/p-081968cc.entry.js +0 -1
  540. package/dist/sparkle-core/p-0934f5dd.entry.js +0 -1
  541. package/dist/sparkle-core/p-0f899097.entry.js +0 -352
  542. package/dist/sparkle-core/p-1339830f.entry.js +0 -1
  543. package/dist/sparkle-core/p-1b78dea1.entry.js +0 -1
  544. package/dist/sparkle-core/p-1cef8572.js +0 -4
  545. package/dist/sparkle-core/p-21bf4ca0.entry.js +0 -1
  546. package/dist/sparkle-core/p-21db4e8e.entry.js +0 -1
  547. package/dist/sparkle-core/p-23a9f7d1.entry.js +0 -1
  548. package/dist/sparkle-core/p-289a35ed.entry.js +0 -1
  549. package/dist/sparkle-core/p-2ee6a5f9.entry.js +0 -1
  550. package/dist/sparkle-core/p-35a7bd6c.entry.js +0 -1
  551. package/dist/sparkle-core/p-389500fd.js +0 -4
  552. package/dist/sparkle-core/p-45e6db62.entry.js +0 -1
  553. package/dist/sparkle-core/p-48f9b960.entry.js +0 -1
  554. package/dist/sparkle-core/p-4dc3ef96.entry.js +0 -1
  555. package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
  556. package/dist/sparkle-core/p-5598650a.entry.js +0 -1
  557. package/dist/sparkle-core/p-55ae49e1.js +0 -4
  558. package/dist/sparkle-core/p-58e98f89.entry.js +0 -1
  559. package/dist/sparkle-core/p-59f7bf6e.entry.js +0 -1
  560. package/dist/sparkle-core/p-5a3d0e6b.js +0 -4
  561. package/dist/sparkle-core/p-5d2e54ee.entry.js +0 -1
  562. package/dist/sparkle-core/p-62a6c96f.entry.js +0 -1
  563. package/dist/sparkle-core/p-64e72f8f.js +0 -4
  564. package/dist/sparkle-core/p-660e0742.js +0 -1
  565. package/dist/sparkle-core/p-6bf07a28.js +0 -1
  566. package/dist/sparkle-core/p-6c6145cd.js +0 -4
  567. package/dist/sparkle-core/p-6c90bde6.entry.js +0 -5
  568. package/dist/sparkle-core/p-6e88764b.entry.js +0 -4
  569. package/dist/sparkle-core/p-6ee40949.js +0 -1
  570. package/dist/sparkle-core/p-6fbe3ca3.entry.js +0 -1
  571. package/dist/sparkle-core/p-6fd4985d.js +0 -4
  572. package/dist/sparkle-core/p-70b2452c.js +0 -4
  573. package/dist/sparkle-core/p-7493ee15.entry.js +0 -1
  574. package/dist/sparkle-core/p-75572037.js +0 -1
  575. package/dist/sparkle-core/p-768bcc9e.entry.js +0 -1
  576. package/dist/sparkle-core/p-7e61973d.entry.js +0 -7
  577. package/dist/sparkle-core/p-855ca600.js +0 -1
  578. package/dist/sparkle-core/p-857f3696.entry.js +0 -1
  579. package/dist/sparkle-core/p-8fe2e51f.entry.js +0 -4
  580. package/dist/sparkle-core/p-932bfb69.entry.js +0 -1
  581. package/dist/sparkle-core/p-941eaa3a.entry.js +0 -1
  582. package/dist/sparkle-core/p-95004267.entry.js +0 -1
  583. package/dist/sparkle-core/p-996361f9.entry.js +0 -1
  584. package/dist/sparkle-core/p-9a17f2ad.js +0 -4
  585. package/dist/sparkle-core/p-9babd345.js +0 -1
  586. package/dist/sparkle-core/p-a080e768.entry.js +0 -1
  587. package/dist/sparkle-core/p-a7cc0052.entry.js +0 -4
  588. package/dist/sparkle-core/p-ae1f145d.entry.js +0 -1
  589. package/dist/sparkle-core/p-b3e6427d.js +0 -7
  590. package/dist/sparkle-core/p-b49ca0ea.entry.js +0 -1
  591. package/dist/sparkle-core/p-b81e20fe.entry.js +0 -4
  592. package/dist/sparkle-core/p-c1279cc9.entry.js +0 -1
  593. package/dist/sparkle-core/p-c1376096.entry.js +0 -1
  594. package/dist/sparkle-core/p-c3986a52.entry.js +0 -1
  595. package/dist/sparkle-core/p-c3d3d5c4.entry.js +0 -1
  596. package/dist/sparkle-core/p-c5b9bdd6.entry.js +0 -1
  597. package/dist/sparkle-core/p-cbbeed67.entry.js +0 -1
  598. package/dist/sparkle-core/p-d4a435f8.entry.js +0 -1
  599. package/dist/sparkle-core/p-d5b05ece.entry.js +0 -5
  600. package/dist/sparkle-core/p-d8d3524a.js +0 -1
  601. package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
  602. package/dist/sparkle-core/p-e1cba44b.entry.js +0 -4
  603. package/dist/sparkle-core/p-e3fdd0a8.entry.js +0 -1
  604. package/dist/sparkle-core/p-e6b66cef.entry.js +0 -1
  605. package/dist/sparkle-core/p-e72d4450.js +0 -4
  606. package/dist/sparkle-core/p-eb70a23c.entry.js +0 -1
  607. package/dist/sparkle-core/p-f4001fdf.js +0 -4
  608. package/dist/sparkle-core/p-f9b73032.entry.js +0 -1
  609. package/dist/sparkle-core/p-faa912d7.entry.js +0 -1
  610. package/dist/sparkle-core/p-fc933591.entry.js +0 -1
  611. package/dist/sparkle-core/p-fef04ab5.js +0 -4
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, F as Fragment, H as Host } from './index-5568e3fa.js';
1
+ import { r as registerInstance, h, F as Fragment, H as Host } from './index-9db08224.js';
2
2
 
3
3
  const compassSvgCss = ":host{display:block}.donut-ring{stroke:#000;stroke-width:1px}text{font-size:30px;font-weight:800;letter-spacing:2px;text-transform:uppercase;font-family:'Roboto Slab', serif}";
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, e as getElement } from './index-5568e3fa.js';
1
+ import { r as registerInstance, i as getElement } from './index-9db08224.js';
2
2
 
3
3
  const ContextConsumer = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, e as getElement } from './index-5568e3fa.js';
1
+ import { r as registerInstance, h, i as getElement } from './index-9db08224.js';
2
2
 
3
3
  const CourseSelect = class {
4
4
  constructor(hostRef) {
@@ -21,7 +21,7 @@
21
21
  * provided progression, this function will return an empty array.
22
22
  */
23
23
  const getTimeGivenProgression = (p0, p1, p2, p3, progression) => {
24
- return solveCubicBezier(p0[1], p1[1], p2[1], p3[1], progression).map(tValue => {
24
+ return solveCubicBezier(p0[1], p1[1], p2[1], p3[1], progression).map((tValue) => {
25
25
  return solveCubicParametricEquation(p0[0], p1[0], p2[0], p3[0], tValue);
26
26
  });
27
27
  };
@@ -29,10 +29,10 @@ const getTimeGivenProgression = (p0, p1, p2, p3, progression) => {
29
29
  * Solve a cubic equation in one dimension (time)
30
30
  */
31
31
  const solveCubicParametricEquation = (p0, p1, p2, p3, t) => {
32
- const partA = (3 * p1) * Math.pow(t - 1, 2);
33
- const partB = (-3 * p2 * t) + (3 * p2) + (p3 * t);
32
+ const partA = 3 * p1 * Math.pow(t - 1, 2);
33
+ const partB = -3 * p2 * t + 3 * p2 + p3 * t;
34
34
  const partC = p0 * Math.pow(t - 1, 3);
35
- return t * (partA + (t * partB)) - partC;
35
+ return t * (partA + t * partB) - partC;
36
36
  };
37
37
  /**
38
38
  * Find the `t` value for a cubic bezier using Cardano's formula
@@ -43,7 +43,7 @@ const solveCubicBezier = (p0, p1, p2, p3, refPoint) => {
43
43
  p2 -= refPoint;
44
44
  p3 -= refPoint;
45
45
  const roots = solveCubicEquation(p3 - 3 * p2 + 3 * p1 - p0, 3 * p2 - 6 * p1 + 3 * p0, 3 * p1 - 3 * p0, p0);
46
- return roots.filter(root => root >= 0 && root <= 1);
46
+ return roots.filter((root) => root >= 0 && root <= 1);
47
47
  };
48
48
  const solveQuadraticEquation = (a, b, c) => {
49
49
  const discriminant = b * b - 4 * a * c;
@@ -51,10 +51,7 @@ const solveQuadraticEquation = (a, b, c) => {
51
51
  return [];
52
52
  }
53
53
  else {
54
- return [
55
- (-b + Math.sqrt(discriminant)) / (2 * a),
56
- (-b - Math.sqrt(discriminant)) / (2 * a)
57
- ];
54
+ return [(-b + Math.sqrt(discriminant)) / (2 * a), (-b - Math.sqrt(discriminant)) / (2 * a)];
58
55
  }
59
56
  };
60
57
  const solveCubicEquation = (a, b, c, d) => {
@@ -77,7 +74,9 @@ const solveCubicEquation = (a, b, c, d) => {
77
74
  return [Math.pow(q / 2, 1 / 2) - b / 3];
78
75
  }
79
76
  else if (discriminant > 0) {
80
- return [Math.pow(-(q / 2) + Math.sqrt(discriminant), 1 / 3) - Math.pow((q / 2) + Math.sqrt(discriminant), 1 / 3) - b / 3];
77
+ return [
78
+ Math.pow(-(q / 2) + Math.sqrt(discriminant), 1 / 3) - Math.pow(q / 2 + Math.sqrt(discriminant), 1 / 3) - b / 3,
79
+ ];
81
80
  }
82
81
  const r = Math.sqrt(Math.pow(-(p / 3), 3));
83
82
  const phi = Math.acos(-(q / (2 * Math.sqrt(Math.pow(-(p / 3), 3)))));
@@ -85,7 +84,7 @@ const solveCubicEquation = (a, b, c, d) => {
85
84
  return [
86
85
  s * Math.cos(phi / 3) - b / 3,
87
86
  s * Math.cos((phi + 2 * Math.PI) / 3) - b / 3,
88
- s * Math.cos((phi + 4 * Math.PI) / 3) - b / 3
87
+ s * Math.cos((phi + 4 * Math.PI) / 3) - b / 3,
89
88
  ];
90
89
  };
91
90
 
@@ -0,0 +1,55 @@
1
+ const getConfirmation = (win, message, callback) => (callback(win.confirm(message)));
2
+ const isModifiedEvent = (ev) => (ev.metaKey || ev.altKey || ev.ctrlKey || ev.shiftKey);
3
+ /**
4
+ * Returns true if the HTML5 history API is supported. Taken from Modernizr.
5
+ *
6
+ * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
7
+ * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
8
+ * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
9
+ */
10
+ const supportsHistory = (win) => {
11
+ const ua = win.navigator.userAgent;
12
+ if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) &&
13
+ ua.indexOf('Mobile Safari') !== -1 &&
14
+ ua.indexOf('Chrome') === -1 &&
15
+ ua.indexOf('Windows Phone') === -1) {
16
+ return false;
17
+ }
18
+ return win.history && 'pushState' in win.history;
19
+ };
20
+ /**
21
+ * Returns true if browser fires popstate on hash change.
22
+ * IE10 and IE11 do not.
23
+ */
24
+ const supportsPopStateOnHashChange = (nav) => (nav.userAgent.indexOf('Trident') === -1);
25
+ /**
26
+ * Returns false if using go(n) with hash history causes a full page reload.
27
+ */
28
+ const supportsGoWithoutReloadUsingHash = (nav) => (nav.userAgent.indexOf('Firefox') === -1);
29
+ const isExtraneousPopstateEvent = (nav, event) => (event.state === undefined &&
30
+ nav.userAgent.indexOf('CriOS') === -1);
31
+ const storageAvailable = (win, type) => {
32
+ const storage = win[type];
33
+ const x = '__storage_test__';
34
+ try {
35
+ storage.setItem(x, x);
36
+ storage.removeItem(x);
37
+ return true;
38
+ }
39
+ catch (e) {
40
+ return e instanceof DOMException && (
41
+ // everything except Firefox
42
+ e.code === 22 ||
43
+ // Firefox
44
+ e.code === 1014 ||
45
+ // test name field too, because code might not be present
46
+ // everything except Firefox
47
+ e.name === 'QuotaExceededError' ||
48
+ // Firefox
49
+ e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&
50
+ // acknowledge QuotaExceededError only if there's something already stored
51
+ storage.length !== 0;
52
+ }
53
+ };
54
+
55
+ export { supportsHistory as a, supportsPopStateOnHashChange as b, supportsGoWithoutReloadUsingHash as c, isModifiedEvent as d, getConfirmation as g, isExtraneousPopstateEvent as i, storageAvailable as s };
@@ -1,4 +1,5 @@
1
- import { b as createStore, H as HttpService } from './auth.store-3ed2389e.js';
1
+ import { H as HttpService } from './httpService-b2b7a1ad.js';
2
+ import { c as createStore } from './auth.store-b812b34b.js';
2
3
 
3
4
  const { state, onChange } = createStore({
4
5
  pageNotes: [],
@@ -1,5 +1,6 @@
1
- import { b as createStore, H as HttpService } from './auth.store-3ed2389e.js';
2
- import { S as SparkleGlobal } from './util-6ef753e9.js';
1
+ import { H as HttpService } from './httpService-b2b7a1ad.js';
2
+ import { c as createStore } from './auth.store-b812b34b.js';
3
+ import { S as SparkleGlobal } from './util-a831d09d.js';
3
4
 
4
5
  const { state: state$1, onChange } = createStore({
5
6
  goals: [],
@@ -3,15 +3,28 @@
3
3
  */
4
4
  const ION_FOCUSED = 'ion-focused';
5
5
  const ION_FOCUSABLE = 'ion-focusable';
6
- const FOCUS_KEYS = ['Tab', 'ArrowDown', 'Space', 'Escape', ' ', 'Shift', 'Enter', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'Home', 'End'];
6
+ const FOCUS_KEYS = [
7
+ 'Tab',
8
+ 'ArrowDown',
9
+ 'Space',
10
+ 'Escape',
11
+ ' ',
12
+ 'Shift',
13
+ 'Enter',
14
+ 'ArrowLeft',
15
+ 'ArrowRight',
16
+ 'ArrowUp',
17
+ 'Home',
18
+ 'End',
19
+ ];
7
20
  const startFocusVisible = (rootEl) => {
8
21
  let currentFocus = [];
9
22
  let keyboardMode = true;
10
- const ref = (rootEl) ? rootEl.shadowRoot : document;
11
- const root = (rootEl) ? rootEl : document.body;
23
+ const ref = rootEl ? rootEl.shadowRoot : document;
24
+ const root = rootEl ? rootEl : document.body;
12
25
  const setFocus = (elements) => {
13
- currentFocus.forEach(el => el.classList.remove(ION_FOCUSED));
14
- elements.forEach(el => el.classList.add(ION_FOCUSED));
26
+ currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));
27
+ elements.forEach((el) => el.classList.add(ION_FOCUSED));
15
28
  currentFocus = elements;
16
29
  };
17
30
  const pointerDown = () => {
@@ -54,7 +67,7 @@ const startFocusVisible = (rootEl) => {
54
67
  };
55
68
  return {
56
69
  destroy,
57
- setFocus
70
+ setFocus,
58
71
  };
59
72
  };
60
73
 
@@ -1,26 +1,25 @@
1
- import { c as componentOnReady } from './helpers-39367fe1.js';
1
+ import { c as componentOnReady } from './helpers-94a5855b.js';
2
2
 
3
3
  /*!
4
4
  * (C) Ionic http://ionicframework.com - MIT License
5
5
  */
6
6
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
7
+ var _a;
7
8
  if (delegate) {
8
9
  return delegate.attachViewToDom(container, component, componentProps, cssClasses);
9
10
  }
10
11
  if (!inline && typeof component !== 'string' && !(component instanceof HTMLElement)) {
11
12
  throw new Error('framework delegate is missing');
12
13
  }
13
- const el = (typeof component === 'string')
14
- ? container.ownerDocument && container.ownerDocument.createElement(component)
15
- : component;
14
+ const el = typeof component === 'string' ? (_a = container.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(component) : component;
16
15
  if (cssClasses) {
17
- cssClasses.forEach(c => el.classList.add(c));
16
+ cssClasses.forEach((c) => el.classList.add(c));
18
17
  }
19
18
  if (componentProps) {
20
19
  Object.assign(el, componentProps);
21
20
  }
22
21
  container.appendChild(el);
23
- await new Promise(resolve => componentOnReady(el, resolve));
22
+ await new Promise((resolve) => componentOnReady(el, resolve));
24
23
  return el;
25
24
  };
26
25
  const detachComponent = (delegate, element) => {
@@ -37,6 +36,7 @@ const CoreDelegate = () => {
37
36
  let BaseComponent;
38
37
  let Reference;
39
38
  const attachViewToDom = async (parentElement, userComponent, userComponentProps = {}, cssClasses = []) => {
39
+ var _a, _b;
40
40
  BaseComponent = parentElement;
41
41
  /**
42
42
  * If passing in a component via the `component` props
@@ -48,14 +48,12 @@ const CoreDelegate = () => {
48
48
  * the element otherwise just get a reference
49
49
  * to the component.
50
50
  */
51
- const el = (typeof userComponent === 'string')
52
- ? BaseComponent.ownerDocument && BaseComponent.ownerDocument.createElement(userComponent)
53
- : userComponent;
51
+ const el = typeof userComponent === 'string' ? (_a = BaseComponent.ownerDocument) === null || _a === void 0 ? void 0 : _a.createElement(userComponent) : userComponent;
54
52
  /**
55
53
  * Add any css classes passed in
56
54
  * via the cssClasses prop on the overlay.
57
55
  */
58
- cssClasses.forEach(c => el.classList.add(c));
56
+ cssClasses.forEach((c) => el.classList.add(c));
59
57
  /**
60
58
  * Add any props passed in
61
59
  * via the componentProps prop on the overlay.
@@ -66,13 +64,13 @@ const CoreDelegate = () => {
66
64
  * inside of the overlay component.
67
65
  */
68
66
  BaseComponent.appendChild(el);
69
- await new Promise(resolve => componentOnReady(el, resolve));
67
+ await new Promise((resolve) => componentOnReady(el, resolve));
70
68
  }
71
69
  else if (BaseComponent.children.length > 0) {
72
70
  // If there is no component, then we need to create a new parent
73
71
  // element to apply the css classes to.
74
- const el = BaseComponent.ownerDocument && BaseComponent.ownerDocument.createElement('div');
75
- cssClasses.forEach(c => el.classList.add(c));
72
+ const el = (_b = BaseComponent.ownerDocument) === null || _b === void 0 ? void 0 : _b.createElement('div');
73
+ cssClasses.forEach((c) => el.classList.add(c));
76
74
  // Move each child from the original template to the new parent element.
77
75
  el.append(...BaseComponent.children);
78
76
  // Append the new parent element to the original parent element.
@@ -34,7 +34,7 @@ class GestureController {
34
34
  }
35
35
  const requestedStart = this.requestedStart;
36
36
  let maxPriority = -10000;
37
- requestedStart.forEach(value => {
37
+ requestedStart.forEach((value) => {
38
38
  maxPriority = Math.max(maxPriority, value);
39
39
  });
40
40
  if (maxPriority === priority) {
@@ -3,8 +3,9 @@
3
3
  */
4
4
  const HapticEngine = {
5
5
  getEngine() {
6
+ var _a;
6
7
  const win = window;
7
- return (win.TapticEngine) || (win.Capacitor && win.Capacitor.isPluginAvailable('Haptics') && win.Capacitor.Plugins.Haptics);
8
+ return win.TapticEngine || (((_a = win.Capacitor) === null || _a === void 0 ? void 0 : _a.isPluginAvailable('Haptics')) && win.Capacitor.Plugins.Haptics);
8
9
  },
9
10
  available() {
10
11
  return !!this.getEngine();
@@ -70,7 +71,7 @@ const HapticEngine = {
70
71
  else {
71
72
  engine.gestureSelectionEnd();
72
73
  }
73
- }
74
+ },
74
75
  };
75
76
  /**
76
77
  * Trigger a selection changed haptic event. Good for one-time events
@@ -106,4 +107,4 @@ const hapticImpact = (options) => {
106
107
  HapticEngine.impact(options);
107
108
  };
108
109
 
109
- export { hapticSelectionStart as a, hapticSelectionChanged as b, hapticSelectionEnd as c, hapticSelection as d, hapticImpact as h };
110
+ export { hapticImpact as a, hapticSelectionStart as b, hapticSelectionChanged as c, hapticSelectionEnd as d, hapticSelection as h };
@@ -12,7 +12,7 @@
12
12
  * will still happen.
13
13
  */
14
14
  const blockHardwareBackButton = () => {
15
- document.addEventListener('backbutton', () => { }); // tslint:disable-line
15
+ document.addEventListener('backbutton', () => { }); // eslint-disable-line
16
16
  };
17
17
  const startHardwareBackButton = () => {
18
18
  const doc = document;
@@ -28,13 +28,13 @@ const startHardwareBackButton = () => {
28
28
  detail: {
29
29
  register(priority, handler) {
30
30
  handlers.push({ priority, handler, id: index++ });
31
- }
32
- }
31
+ },
32
+ },
33
33
  });
34
34
  doc.dispatchEvent(ev);
35
35
  const executeAction = async (handlerRegister) => {
36
36
  try {
37
- if (handlerRegister && handlerRegister.handler) {
37
+ if (handlerRegister === null || handlerRegister === void 0 ? void 0 : handlerRegister.handler) {
38
38
  const result = handlerRegister.handler(processHandlers);
39
39
  if (result != null) {
40
40
  await result;
@@ -50,16 +50,16 @@ const startHardwareBackButton = () => {
50
50
  let selectedHandler = {
51
51
  priority: Number.MIN_SAFE_INTEGER,
52
52
  handler: () => undefined,
53
- id: -1
53
+ id: -1,
54
54
  };
55
- handlers.forEach(handler => {
55
+ handlers.forEach((handler) => {
56
56
  if (handler.priority >= selectedHandler.priority) {
57
57
  selectedHandler = handler;
58
58
  }
59
59
  });
60
60
  busy = true;
61
- handlers = handlers.filter(handler => handler.id !== selectedHandler.id);
62
- executeAction(selectedHandler).then(() => busy = false);
61
+ handlers = handlers.filter((handler) => handler.id !== selectedHandler.id);
62
+ executeAction(selectedHandler).then(() => (busy = false));
63
63
  }
64
64
  };
65
65
  processHandlers();
@@ -0,0 +1,107 @@
1
+ import { r as registerInstance, h, i as getElement } from './index-9db08224.js';
2
+ import { a as MoreDots } from './icons-16f1a80b.js';
3
+
4
+ const headerMobileCollapseCss = "header-mobile-collapse,header-mobile-collapse .header-mobile-collapse__content{flex:1;display:flex;justify-content:flex-end;align-items:center}header-mobile-collapse .ionic-sub-header__mobile-toggle{display:none;padding-top:14px;pointer-events:none;padding-left:8px}header-mobile-collapse .ionic-sub-header__mobile-toggle svg{height:20px;width:20px}header-mobile-collapse .UtilNav{margin-left:auto}header-mobile-collapse>ionic-search{padding-right:8px;padding-top:4px;display:none}header-mobile-collapse .label-sm-only .Dropdown-button-label,header-mobile-collapse .sm-only{display:none}@media (max-width: 800px){header-mobile-collapse .ionic-sub-header__mobile-toggle{display:block;cursor:pointer;padding-top:14px;pointer-events:all;transition:0.2s transform ease 0.1s;transform-origin:66% 50%}header-mobile-collapse .header-mobile-collapse__backdrop{position:fixed;top:100%;height:100vh;left:0;right:0;background:rgba(0, 0, 0, 0.1);cursor:pointer;opacity:0;pointer-events:none;transition:0.4s opacity}header-mobile-collapse.ionic-sub-header--mobile-active .header-mobile-collapse__backdrop{opacity:1;pointer-events:all}header-mobile-collapse>ionic-search{display:block}header-mobile-collapse .header-mobile-collapse__content{display:flex;flex-direction:column;align-items:stretch;position:fixed;width:100vw;left:0;background:white;box-shadow:0px 1px 3px rgba(2, 8, 20, 0.06), 0px 1px 2px rgba(2, 8, 20, 0.04);top:56px;padding:16px 16px 8px;max-height:calc(100vh - 64px);overflow:auto;pointer-events:none;opacity:0;transform:translateY(-10px);transition:transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1), opacity 0.2s linear}header-mobile-collapse.ionic-sub-header--mobile-active .header-mobile-collapse__content{opacity:1;pointer-events:all;transform:translateY(0);transition:transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1), opacity 0.1s linear}header-mobile-collapse .sparkle-dropdown,header-mobile-collapse .SectionNav .Dropdown{align-self:stretch}header-mobile-collapse .Dropdown .Dropdown-button,header-mobile-collapse .UtilNav .sm-only{width:100%;display:flex;justify-content:space-between;color:#5b708b;font-size:20px;line-height:24px;letter-spacing:-0.03em;padding:13px 0 14px}header-mobile-collapse .Dropdown--left .Dropdown-button{padding-left:16px;padding-right:14px;margin-bottom:10px;padding-top:10px;height:44px;box-shadow:0px 1px 2px rgba(2, 8, 20, 0.04)}header-mobile-collapse .Dropdown .Dropdown-button .Dropdown-arrow{height:26px;width:20px;margin-right:-4px}header-mobile-collapse .SectionNav .Dropdown,header-mobile-collapse .SectionNav-tabs>*{margin-right:0}header-mobile-collapse .Dropdown:focus{outline:none}header-mobile-collapse .SectionNav-tabs stencil-route-link{height:45px}header-mobile-collapse .Dropdown--right .Dropdown-button{text-align:left}header-mobile-collapse .SectionNav stencil-route,header-mobile-collapse .SectionNav-tabs,header-mobile-collapse .UtilNav{display:flex;flex-direction:column;margin-left:0;align-items:stretch}header-mobile-collapse .UtilNav>*{margin-left:0;border-bottom:1px solid #e6e6e8}header-mobile-collapse .UtilNav>:last-child{border-bottom:none}header-mobile-collapse .Dropdown-panel{position:static;border-bottom:1px solid var(--text-color--lighter)}header-mobile-collapse .SectionNav-tabs a{font-size:20px;line-height:24px;letter-spacing:-0.02em;color:#5b708b;padding-left:16px;padding-right:14px;font-weight:400}header-mobile-collapse .UtilNav a{padding:0}header-mobile-collapse .SectionNav-tabs .link-active{background:rgba(var(--ion-color-primary-rgb), 0.12);color:var(--ion-color-primary);display:flex;justify-content:space-between;width:100%;border-radius:8px}header-mobile-collapse .SectionNav-tabs .link-active::after{content:'\\2713';position:static;background:none;width:auto;font-size:16px}header-mobile-collapse .SectionNav-tabs{position:relative;padding-bottom:8px;margin-bottom:18px;margin-top:5px}header-mobile-collapse .SectionNav-tabs::after{position:absolute;bottom:0;left:-16px;width:100vw;border-bottom:1px solid #e6e6e8;content:''}header-mobile-collapse .header-mobile-collapse__content ionic-search{display:none}header-mobile-collapse .UtilNav::before{content:'More';font-size:20px;line-height:24px;letter-spacing:0.01em;color:#000;padding:6px 2px 8px}header-mobile-collapse .label-sm-only .Dropdown-button-label,header-mobile-collapse .sm-only{display:block}header-mobile-collapse .label-sm-only .Dropdown-icon,header-mobile-collapse .lg-only{display:none}header-mobile-collapse .label-sm-only .Dropdown-icon+.Dropdown-arrow{fill:#5b708b}header-mobile-collapse .UtilNav .sm-only .Dropdown-arrow{height:26px;width:20px;margin-right:-4px;fill:#b2becd}header-mobile-collapse .Dropdown-panel a{padding:8px;font-size:16px}header-mobile-collapse .Dropdown.is-open .Dropdown-panel{position:static}}";
5
+
6
+ const HeaderMobileCollapse = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.darkMode = true;
10
+ this.mobileDropdownActive = false;
11
+ this.stuck = false;
12
+ this.queued = false;
13
+ }
14
+ deactivate() {
15
+ setTimeout(() => {
16
+ this.el.classList.remove('ionic-sub-header--mobile-active');
17
+ }, 200); // give the page a chance to load in the background so it's pretty
18
+ }
19
+ getTriggerEl() {
20
+ // return (<div class="ionic-sub-header__trigger"></div>)
21
+ const trigger = document.createElement('div');
22
+ trigger.id = 'ionic-sub-header__trigger';
23
+ return trigger;
24
+ }
25
+ componentDidLoad() {
26
+ // tslint:disable-next-line
27
+ if (!this.el.before) {
28
+ return;
29
+ }
30
+ this.el.before(this.getTriggerEl());
31
+ this.init();
32
+ requestAnimationFrame(() => {
33
+ this.el.classList.add('ionic-sub-header--initialized');
34
+ });
35
+ }
36
+ init() {
37
+ this.observer = new IntersectionObserver(entries => {
38
+ if (this.queued) {
39
+ return;
40
+ }
41
+ // no intersection with screen
42
+ if (!this.stuck && entries[0].intersectionRatio === 0) {
43
+ this.queued = true;
44
+ requestAnimationFrame(() => {
45
+ this.el.classList.add('ionic-sub-header--stuck');
46
+ this.stuck = true;
47
+ this.queued = false;
48
+ });
49
+ // fully intersects with screen
50
+ }
51
+ else if (this.stuck && entries[0].intersectionRatio === 1) {
52
+ this.queued = true;
53
+ requestAnimationFrame(() => {
54
+ this.el.classList.remove('ionic-sub-header--stuck');
55
+ this.stuck = false;
56
+ this.queued = false;
57
+ });
58
+ }
59
+ }, { threshold: [0, 1] });
60
+ const headerEl = document.getElementById('ionic-sub-header__trigger');
61
+ if (this.el && headerEl) {
62
+ this.observer.observe(headerEl);
63
+ setTimeout(() => {
64
+ this.el.classList.add('ionic-sub-header--initialized');
65
+ const navBar = document.querySelector('.navbar-default');
66
+ if (navBar) {
67
+ navBar.classList.add('navbar--not-fixed');
68
+ }
69
+ }, 405);
70
+ }
71
+ }
72
+ handleMobileToggleClick() {
73
+ this.el.classList.toggle('ionic-sub-header--mobile-active');
74
+ }
75
+ render() {
76
+ return ([
77
+ h("div", { class: "header-mobile-collapse__backdrop", onClick: () => this.deactivate() }),
78
+ h("a", { class: "ionic-sub-header__mobile-toggle", onClick: () => this.handleMobileToggleClick() }, h(MoreDots, null)),
79
+ h("div", { class: "header-mobile-collapse__content" }, h("slot", null))
80
+ ]);
81
+ }
82
+ get el() { return getElement(this); }
83
+ };
84
+ HeaderMobileCollapse.style = headerMobileCollapseCss;
85
+
86
+ const buttonCss = "sparkle-button{background-color:rgba(var(--ion-color-sparkle-rgb), var(--bg-alpha, 0.06));border-radius:6px;color:var(--accent-color);display:inline-block;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.1)}sparkle-button a,sparkle-button button{color:inherit;display:inline-block;font-size:inherit;font-weight:inherit;padding:0.75em 1.5em}sparkle-button button{appearance:none;background:none;border:none;line-height:inherit}sparkle-button svg{fill:currentColor;height:1em;margin-bottom:-0.125em;width:1em}sparkle-button[round]{border-radius:2em}sparkle-button[primary]{background-color:rgba(var(--ion-color-sparkle-rgb));color:var(--ion-color-sparkle-contrast)}@media (hover: hover){sparkle-button:hover{--bg-alpha:0.08}sparkle-button:active{--bg-alpha:0.1}}";
87
+
88
+ const SparkleButton = class {
89
+ constructor(hostRef) {
90
+ registerInstance(this, hostRef);
91
+ this.round = false;
92
+ this.primary = false;
93
+ }
94
+ render() {
95
+ if (this.href !== undefined) {
96
+ const isInternal = /^\/course/.test(this.href);
97
+ if (isInternal) {
98
+ return (h("stencil-route-link", { url: this.href }, h("slot", null)));
99
+ }
100
+ return (h("a", { href: this.href }, h("slot", null)));
101
+ }
102
+ return (h("button", null, h("slot", null)));
103
+ }
104
+ };
105
+ SparkleButton.style = buttonCss;
106
+
107
+ export { HeaderMobileCollapse as header_mobile_collapse, SparkleButton as sparkle_button };
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  const transitionEndAsync = (el, expectedDuration = 0) => {
5
- return new Promise(resolve => {
5
+ return new Promise((resolve) => {
6
6
  transitionEnd(el, expectedDuration, resolve);
7
7
  });
8
8
  };
@@ -76,7 +76,7 @@ const componentOnReady = (el, callback) => {
76
76
  */
77
77
  const inheritAttributes = (el, attributes = []) => {
78
78
  const attributeObject = {};
79
- attributes.forEach(attr => {
79
+ attributes.forEach((attr) => {
80
80
  if (el.hasAttribute(attr)) {
81
81
  const value = el.getAttribute(attr);
82
82
  if (value !== null) {
@@ -87,10 +87,77 @@ const inheritAttributes = (el, attributes = []) => {
87
87
  });
88
88
  return attributeObject;
89
89
  };
90
+ /**
91
+ * List of available ARIA attributes + `role`.
92
+ * Removed deprecated attributes.
93
+ * https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes
94
+ */
95
+ const ariaAttributes = [
96
+ 'role',
97
+ 'aria-activedescendant',
98
+ 'aria-atomic',
99
+ 'aria-autocomplete',
100
+ 'aria-braillelabel',
101
+ 'aria-brailleroledescription',
102
+ 'aria-busy',
103
+ 'aria-checked',
104
+ 'aria-colcount',
105
+ 'aria-colindex',
106
+ 'aria-colindextext',
107
+ 'aria-colspan',
108
+ 'aria-controls',
109
+ 'aria-current',
110
+ 'aria-describedby',
111
+ 'aria-description',
112
+ 'aria-details',
113
+ 'aria-disabled',
114
+ 'aria-errormessage',
115
+ 'aria-expanded',
116
+ 'aria-flowto',
117
+ 'aria-haspopup',
118
+ 'aria-hidden',
119
+ 'aria-invalid',
120
+ 'aria-keyshortcuts',
121
+ 'aria-label',
122
+ 'aria-labelledby',
123
+ 'aria-level',
124
+ 'aria-live',
125
+ 'aria-multiline',
126
+ 'aria-multiselectable',
127
+ 'aria-orientation',
128
+ 'aria-owns',
129
+ 'aria-placeholder',
130
+ 'aria-posinset',
131
+ 'aria-pressed',
132
+ 'aria-readonly',
133
+ 'aria-relevant',
134
+ 'aria-required',
135
+ 'aria-roledescription',
136
+ 'aria-rowcount',
137
+ 'aria-rowindex',
138
+ 'aria-rowindextext',
139
+ 'aria-rowspan',
140
+ 'aria-selected',
141
+ 'aria-setsize',
142
+ 'aria-sort',
143
+ 'aria-valuemax',
144
+ 'aria-valuemin',
145
+ 'aria-valuenow',
146
+ 'aria-valuetext',
147
+ ];
148
+ /**
149
+ * Returns an array of aria attributes that should be copied from
150
+ * the shadow host element to a target within the light DOM.
151
+ * @param el The element that the attributes should be copied from.
152
+ */
153
+ const inheritAriaAttributes = (el) => {
154
+ return inheritAttributes(el, ariaAttributes);
155
+ };
90
156
  const addEventListener = (el, eventName, callback, opts) => {
157
+ var _a;
91
158
  if (typeof window !== 'undefined') {
92
159
  const win = window;
93
- const config = win && win.Ionic && win.Ionic.config;
160
+ const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
94
161
  if (config) {
95
162
  const ael = config.get('_ael');
96
163
  if (ael) {
@@ -104,9 +171,10 @@ const addEventListener = (el, eventName, callback, opts) => {
104
171
  return el.addEventListener(eventName, callback, opts);
105
172
  };
106
173
  const removeEventListener = (el, eventName, callback, opts) => {
174
+ var _a;
107
175
  if (typeof window !== 'undefined') {
108
176
  const win = window;
109
- const config = win && win.Ionic && win.Ionic.config;
177
+ const config = (_a = win === null || win === void 0 ? void 0 : win.Ionic) === null || _a === void 0 ? void 0 : _a.config;
110
178
  if (config) {
111
179
  const rel = config.get('_rel');
112
180
  if (rel) {
@@ -192,12 +260,8 @@ const getAriaLabel = (componentEl, inputId) => {
192
260
  // Grab the id off of the component in case they are using
193
261
  // a custom label using the label element
194
262
  const componentId = componentEl.id;
195
- let labelId = labelledBy !== null && labelledBy.trim() !== ''
196
- ? labelledBy
197
- : inputId + '-lbl';
198
- let label = labelledBy !== null && labelledBy.trim() !== ''
199
- ? document.getElementById(labelledBy)
200
- : findItemLabel(componentEl);
263
+ let labelId = labelledBy !== null && labelledBy.trim() !== '' ? labelledBy : inputId + '-lbl';
264
+ let label = labelledBy !== null && labelledBy.trim() !== '' ? document.getElementById(labelledBy) : findItemLabel(componentEl);
201
265
  if (label) {
202
266
  if (labelledBy === null) {
203
267
  label.id = labelId;
@@ -254,7 +318,7 @@ const assert = (actual, reason) => {
254
318
  if (!actual) {
255
319
  const message = 'ASSERT: ' + reason;
256
320
  console.error(message);
257
- debugger; // tslint:disable-line
321
+ debugger; // eslint-disable-line
258
322
  throw new Error(message);
259
323
  }
260
324
  };
@@ -286,8 +350,10 @@ const pointerCoord = (ev) => {
286
350
  const isEndSide = (side) => {
287
351
  const isRTL = document.dir === 'rtl';
288
352
  switch (side) {
289
- case 'start': return isRTL;
290
- case 'end': return !isRTL;
353
+ case 'start':
354
+ return isRTL;
355
+ case 'end':
356
+ return !isRTL;
291
357
  default:
292
358
  throw new Error(`"${side}" is not a valid value for [side]. Use "start" or "end" instead.`);
293
359
  }
@@ -296,7 +362,7 @@ const debounceEvent = (event, wait) => {
296
362
  const original = event._original || event;
297
363
  return {
298
364
  _original: event,
299
- emit: debounce(original.emit.bind(original), wait)
365
+ emit: debounce(original.emit.bind(original), wait),
300
366
  };
301
367
  };
302
368
  const debounce = (func, wait = 0) => {
@@ -334,4 +400,4 @@ const shallowEqualStringMap = (map1, map2) => {
334
400
  return true;
335
401
  };
336
402
 
337
- export { addEventListener as a, getAriaLabel as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusElement as f, getElementRoot as g, hasShadowDom as h, inheritAttributes as i, findItemLabel as j, raf as k, clamp as l, isEndSide as m, assert as n, debounce as o, pointerCoord as p, now as q, removeEventListener as r, shallowEqualStringMap as s, transitionEndAsync as t };
403
+ export { addEventListener as a, inheritAttributes as b, componentOnReady as c, debounceEvent as d, findItemLabel as e, focusElement as f, getElementRoot as g, hasShadowDom as h, inheritAriaAttributes as i, raf as j, getAriaLabel as k, renderHiddenInput as l, clamp as m, isEndSide as n, assert as o, debounce as p, pointerCoord as q, removeEventListener as r, shallowEqualStringMap as s, transitionEndAsync as t, now as u };