@sparkle-learning/core 0.0.57 → 0.0.59

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 (1100) hide show
  1. package/dist/cjs/PrivateRoute-f97245ce.js +217 -0
  2. package/dist/cjs/active-router-f9e18bd8.js +75 -0
  3. package/dist/cjs/animation-ee586546.js +986 -0
  4. package/dist/cjs/app-globals-33c9f31b.js +9 -0
  5. package/dist/cjs/appdata.service-c8d71e05.js +73 -0
  6. package/dist/cjs/assets.service-bfa75092.js +50 -0
  7. package/dist/cjs/assignment.service-690fb59c.js +19 -0
  8. package/dist/cjs/auth.store-1e630a7d.js +3392 -0
  9. package/dist/cjs/compass-svg.cjs.entry.js +132 -0
  10. package/dist/cjs/context-consumer.cjs.entry.js +29 -0
  11. package/dist/cjs/course-select.cjs.entry.js +30 -0
  12. package/dist/cjs/cubic-bezier-53d26d05.js +93 -0
  13. package/dist/cjs/dir-5af5259a.js +20 -0
  14. package/dist/cjs/environment-config.service-c8ff1f3d.js +28 -0
  15. package/dist/cjs/facilitator.service-ff0e1659.js +95 -0
  16. package/dist/cjs/feed.service-8eca4de6.js +57 -0
  17. package/dist/cjs/focus-visible-b0b07ba6.js +76 -0
  18. package/dist/cjs/framework-delegate-59a98abd.js +111 -0
  19. package/dist/cjs/gesture-controller-0eb5579e.js +196 -0
  20. package/dist/cjs/haptic-780f33c4.js +116 -0
  21. package/dist/cjs/hardware-back-button-92d97ff8.js +76 -0
  22. package/dist/cjs/header-mobile-collapse_61.cjs.entry.js +15124 -0
  23. package/dist/cjs/helpers-c2496722.js +425 -0
  24. package/dist/cjs/httpService-d2e7bf8f.js +687 -0
  25. package/dist/cjs/icons-fda820af.js +26 -0
  26. package/dist/cjs/index-12082cba.js +465 -0
  27. package/dist/cjs/index-15ea05f5.js +314 -0
  28. package/dist/cjs/index-51e8292e.js +1928 -0
  29. package/dist/cjs/index-787d4498.js +232 -0
  30. package/dist/cjs/index-8b5629a6.js +186 -0
  31. package/dist/cjs/index-975586fd.js +48 -0
  32. package/dist/cjs/index-9c7b27e4.js +140 -0
  33. package/dist/cjs/index-af080b50.js +139 -0
  34. package/dist/cjs/index-e56e09b8.js +38 -0
  35. package/dist/cjs/index.cjs.js +26 -0
  36. package/dist/cjs/index.es-38cbcdbe.js +10666 -0
  37. package/dist/cjs/input-shims-eff63b88.js +418 -0
  38. package/dist/cjs/ion-accordion-group.cjs.entry.js +205 -0
  39. package/dist/cjs/ion-accordion.cjs.entry.js +336 -0
  40. package/dist/cjs/ion-action-sheet_7.cjs.entry.js +2935 -0
  41. package/dist/cjs/ion-app.cjs.entry.js +79 -0
  42. package/dist/cjs/ion-back-button.cjs.entry.js +94 -0
  43. package/dist/cjs/ion-backdrop.cjs.entry.js +67 -0
  44. package/dist/cjs/ion-badge.cjs.entry.js +29 -0
  45. package/dist/cjs/ion-breadcrumb.cjs.entry.js +95 -0
  46. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +133 -0
  47. package/dist/cjs/ion-buttons_3.cjs.entry.js +153 -0
  48. package/dist/cjs/ion-card-header.cjs.entry.js +37 -0
  49. package/dist/cjs/ion-card-subtitle.cjs.entry.js +30 -0
  50. package/dist/cjs/ion-card-title.cjs.entry.js +30 -0
  51. package/dist/cjs/ion-chip.cjs.entry.js +40 -0
  52. package/dist/cjs/ion-content_2.cjs.entry.js +659 -0
  53. package/dist/cjs/ion-datetime-button.cjs.entry.js +312 -0
  54. package/dist/cjs/ion-datetime.cjs.entry.js +1623 -0
  55. package/dist/cjs/ion-fab-button.cjs.entry.js +108 -0
  56. package/dist/cjs/ion-fab-list.cjs.entry.js +45 -0
  57. package/dist/cjs/ion-fab.cjs.entry.js +76 -0
  58. package/dist/cjs/ion-footer.cjs.entry.js +120 -0
  59. package/dist/cjs/ion-img.cjs.entry.js +101 -0
  60. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +37 -0
  61. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +206 -0
  62. package/dist/cjs/ion-item-divider.cjs.entry.js +40 -0
  63. package/dist/cjs/ion-item-group.cjs.entry.js +31 -0
  64. package/dist/cjs/ion-item-option.cjs.entry.js +60 -0
  65. package/dist/cjs/ion-item-options.cjs.entry.js +47 -0
  66. package/dist/cjs/ion-item-sliding.cjs.entry.js +398 -0
  67. package/dist/cjs/ion-loading.cjs.entry.js +215 -0
  68. package/dist/cjs/ion-menu-button.cjs.entry.js +76 -0
  69. package/dist/cjs/ion-menu-toggle.cjs.entry.js +47 -0
  70. package/dist/cjs/ion-menu.cjs.entry.js +575 -0
  71. package/dist/cjs/ion-modal.cjs.entry.js +1711 -0
  72. package/dist/cjs/ion-nav-link.cjs.entry.js +47 -0
  73. package/dist/cjs/ion-nav.cjs.entry.js +872 -0
  74. package/dist/cjs/ion-picker-column-internal_2.cjs.entry.js +808 -0
  75. package/dist/cjs/ion-picker-column.cjs.entry.js +331 -0
  76. package/dist/cjs/ion-picker.cjs.entry.js +221 -0
  77. package/dist/cjs/ion-progress-bar.cjs.entry.js +74 -0
  78. package/dist/cjs/ion-refresher-content.cjs.entry.js +35 -0
  79. package/dist/cjs/ion-refresher.cjs.entry.js +802 -0
  80. package/dist/cjs/ion-reorder-group.cjs.entry.js +281 -0
  81. package/dist/cjs/ion-reorder.cjs.entry.js +38 -0
  82. package/dist/cjs/ion-route-redirect.cjs.entry.js +24 -0
  83. package/dist/cjs/ion-route.cjs.entry.js +49 -0
  84. package/dist/cjs/ion-router-link.cjs.entry.js +38 -0
  85. package/dist/cjs/ion-router-outlet.cjs.entry.js +200 -0
  86. package/dist/cjs/ion-router.cjs.entry.js +831 -0
  87. package/dist/cjs/ion-searchbar.cjs.entry.js +370 -0
  88. package/dist/cjs/ion-segment-button.cjs.entry.js +102 -0
  89. package/dist/cjs/ion-segment.cjs.entry.js +417 -0
  90. package/dist/cjs/ion-skeleton-text.cjs.entry.js +33 -0
  91. package/dist/cjs/ion-slide.cjs.entry.js +25 -0
  92. package/dist/cjs/ion-slides.cjs.entry.js +391 -0
  93. package/dist/cjs/ion-split-pane.cjs.entry.js +154 -0
  94. package/dist/cjs/ion-tab-bar.cjs.entry.js +75 -0
  95. package/dist/cjs/ion-tab-button.cjs.entry.js +103 -0
  96. package/dist/cjs/ion-tab.cjs.entry.js +59 -0
  97. package/dist/cjs/ion-tabs.cjs.entry.js +154 -0
  98. package/dist/cjs/ion-thumbnail.cjs.entry.js +20 -0
  99. package/dist/cjs/ion-toast.cjs.entry.js +272 -0
  100. package/dist/cjs/ion-toggle.cjs.entry.js +177 -0
  101. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +555 -0
  102. package/dist/cjs/ionic-global-2cde9d3a.js +231 -0
  103. package/dist/cjs/ios.transition-da235483.js +482 -0
  104. package/dist/cjs/keyboard-91096619.js +140 -0
  105. package/dist/cjs/loader.cjs.js +24 -0
  106. package/dist/cjs/localstorage.service-6346a41d.js +40 -0
  107. package/dist/cjs/md.transition-be429e07.js +57 -0
  108. package/dist/cjs/media.service-8a1b9bc5.js +40 -0
  109. package/dist/cjs/menu-toggle-util-7a01448c.js +14 -0
  110. package/dist/cjs/overlays-32df265a.js +507 -0
  111. package/dist/cjs/parse-d0071120.js +1237 -0
  112. package/dist/cjs/purify-fb9c107e.js +1468 -0
  113. package/dist/cjs/signalR.service-bd6b42f9.js +2985 -0
  114. package/dist/cjs/sparkle-animation-player.cjs.entry.js +515 -0
  115. package/dist/cjs/sparkle-assignment.cjs.entry.js +110 -0
  116. package/dist/cjs/sparkle-character-intro.cjs.entry.js +26 -0
  117. package/dist/cjs/sparkle-code.cjs.entry.js +43 -0
  118. package/dist/cjs/sparkle-compass-post.cjs.entry.js +133 -0
  119. package/dist/cjs/sparkle-compass.cjs.entry.js +126 -0
  120. package/dist/cjs/sparkle-core.cjs.js +22 -0
  121. package/dist/cjs/sparkle-discussion-questions_2.cjs.entry.js +281 -0
  122. package/dist/cjs/sparkle-discussion.cjs.entry.js +42 -0
  123. package/dist/cjs/sparkle-emoji.cjs.entry.js +80 -0
  124. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +121 -0
  125. package/dist/cjs/sparkle-feed-post.cjs.entry.js +122 -0
  126. package/dist/cjs/sparkle-feedback.cjs.entry.js +101 -0
  127. package/dist/cjs/sparkle-file-upload.cjs.entry.js +53 -0
  128. package/dist/cjs/sparkle-goal-form.cjs.entry.js +179 -0
  129. package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +26 -0
  130. package/dist/cjs/sparkle-gww-graph.cjs.entry.js +19 -0
  131. package/dist/cjs/sparkle-input.cjs.entry.js +56 -0
  132. package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
  133. package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +22 -0
  134. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +46 -0
  135. package/dist/cjs/sparkle-modal-image.cjs.entry.js +34 -0
  136. package/dist/cjs/sparkle-notfound-page.cjs.entry.js +25 -0
  137. package/dist/cjs/sparkle-overlay.cjs.entry.js +92 -0
  138. package/dist/cjs/sparkle-poll.cjs.entry.js +19 -0
  139. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +47 -0
  140. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +117 -0
  141. package/dist/cjs/sparkle-quiz-old.cjs.entry.js +120 -0
  142. package/dist/cjs/sparkle-quiz.cjs.entry.js +103 -0
  143. package/dist/cjs/sparkle-select.cjs.entry.js +61 -0
  144. package/dist/cjs/sparkle-sidebar.cjs.entry.js +43 -0
  145. package/dist/cjs/sparkle-tab.cjs.entry.js +26 -0
  146. package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +71 -0
  147. package/dist/cjs/sparkle-tabs.cjs.entry.js +66 -0
  148. package/dist/cjs/sparkle-video-player.cjs.entry.js +22 -0
  149. package/dist/cjs/sparkle-youtube.cjs.entry.js +39 -0
  150. package/dist/cjs/spinner-configs-0ac05f2d.js +147 -0
  151. package/dist/cjs/status-tap-033befa2.js +42 -0
  152. package/dist/cjs/stencil-async-content.cjs.entry.js +32 -0
  153. package/dist/cjs/stencil-route-title.cjs.entry.js +32 -0
  154. package/dist/cjs/stencil-router-prompt.cjs.entry.js +59 -0
  155. package/dist/cjs/student.service-7e5385be.js +78 -0
  156. package/dist/cjs/swipe-back-4a826f9b.js +76 -0
  157. package/dist/cjs/swiper.bundle-8c897c07.js +6420 -0
  158. package/dist/cjs/theme-b0b295c1.js +48 -0
  159. package/dist/cjs/token.service-7a41953d.js +97 -0
  160. package/dist/cjs/util-47e320b2.js +2462 -0
  161. package/dist/collection/PrivateRoute.js +27 -0
  162. package/dist/collection/appconst.js +13 -0
  163. package/dist/collection/assets/img/forward.svg +5 -0
  164. package/dist/collection/assets/img/help/fitt-logo.svg +1 -0
  165. package/dist/collection/assets/img/home/big-white-wall.svg +15 -0
  166. package/dist/collection/assets/img/home/find-help.svg +23 -0
  167. package/dist/collection/assets/img/home/lessons.svg +26 -0
  168. package/dist/collection/assets/img/home/my-goals.svg +19 -0
  169. package/dist/collection/assets/img/home/my-health.svg +17 -0
  170. package/dist/collection/assets/img/home/my-mood.svg +26 -0
  171. package/dist/collection/assets/img/pause.svg +5 -0
  172. package/dist/collection/assets/img/play-symbol.svg +8 -0
  173. package/dist/collection/assets/img/play.svg +4 -0
  174. package/dist/collection/assets/img/rewind.svg +5 -0
  175. package/dist/collection/assets/lib/SignalRAspNetCoreHelper.js +17 -0
  176. package/dist/collection/assets/lib/sparkleUtility.js +8 -0
  177. package/dist/collection/assets/svg/profile.svg +2 -0
  178. package/dist/collection/collection-manifest.json +219 -0
  179. package/dist/collection/components/compass-svg/compass-svg.css +15 -0
  180. package/dist/collection/components/compass-svg/compass-svg.js +156 -0
  181. package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.css +7 -0
  182. package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.js +110 -0
  183. package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.css +3 -0
  184. package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.js +214 -0
  185. package/dist/collection/components/layout/facilitator/facilitator-header/facilitator-header-mobile-collapse/facilitator-header-mobile-collapse.js +0 -0
  186. package/dist/collection/components/layout/facilitator/facilitator-header/facilitator-header.css +172 -0
  187. package/dist/collection/components/layout/facilitator/facilitator-header/facilitator-header.js +104 -0
  188. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.css +3 -0
  189. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.js +144 -0
  190. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.css +14 -0
  191. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.js +64 -0
  192. package/dist/collection/components/layout/facilitator/facilitator-page.css +196 -0
  193. package/dist/collection/components/layout/facilitator/facilitator-page.js +281 -0
  194. package/dist/collection/components/layout/facilitator/online-students/online-students.css +0 -0
  195. package/dist/collection/components/layout/facilitator/online-students/online-students.js +70 -0
  196. package/dist/collection/components/layout/page/page.css +183 -0
  197. package/dist/collection/components/layout/page/page.js +321 -0
  198. package/dist/collection/components/layout/page/templates/default.js +9 -0
  199. package/dist/collection/components/layout/page/templates/error.js +33 -0
  200. package/dist/collection/components/layout/page/templates/index.js +8 -0
  201. package/dist/collection/components/layout/page/templates/pdf.js +8 -0
  202. package/dist/collection/components/layout/page/to-hypertext.js +27 -0
  203. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.css +3 -0
  204. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.js +252 -0
  205. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.css +12 -0
  206. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.js +59 -0
  207. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.css +33 -0
  208. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.js +37 -0
  209. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.css +8 -0
  210. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.js +40 -0
  211. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.css +7 -0
  212. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.js +52 -0
  213. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-graph/sparkle-gww-graph.css +3 -0
  214. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-graph/sparkle-gww-graph.js +14 -0
  215. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.css +30 -0
  216. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.js +187 -0
  217. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.css +3 -0
  218. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.js +43 -0
  219. package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.css +10 -0
  220. package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.js +111 -0
  221. package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.css +11 -0
  222. package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.js +127 -0
  223. package/dist/collection/components/modal-image/modal-image.css +61 -0
  224. package/dist/collection/components/modal-image/modal-image.js +159 -0
  225. package/dist/collection/components/sparkle-animation-player/assets/play-button-disabled-overlay.png +0 -0
  226. package/dist/collection/components/sparkle-animation-player/assets/play-button-overlay.png +0 -0
  227. package/dist/collection/components/sparkle-animation-player/caption-parser.js +94 -0
  228. package/dist/collection/components/sparkle-animation-player/sparkle-animation-player.css +157 -0
  229. package/dist/collection/components/sparkle-animation-player/sparkle-animation-player.js +598 -0
  230. package/dist/collection/components/sparkle-assignment/sparkle-assignment.css +30 -0
  231. package/dist/collection/components/sparkle-assignment/sparkle-assignment.js +159 -0
  232. package/dist/collection/components/sparkle-character-intro/assets/characters/character-img.jpg +0 -0
  233. package/dist/collection/components/sparkle-character-intro/assets/characters/jen.png +0 -0
  234. package/dist/collection/components/sparkle-character-intro/assets/characters/kimberly.png +0 -0
  235. package/dist/collection/components/sparkle-character-intro/assets/characters/valeria.png +0 -0
  236. package/dist/collection/components/sparkle-character-intro/assets/characters/yuna.png +0 -0
  237. package/dist/collection/components/sparkle-character-intro/assets/characters/zynab.png +0 -0
  238. package/dist/collection/components/sparkle-character-intro/sparkle-character-intro.css +74 -0
  239. package/dist/collection/components/sparkle-character-intro/sparkle-character-intro.js +68 -0
  240. package/dist/collection/components/sparkle-compass/sparkle-compass-post/sparkle-compass-post.css +35 -0
  241. package/dist/collection/components/sparkle-compass/sparkle-compass-post/sparkle-compass-post.js +171 -0
  242. package/dist/collection/components/sparkle-compass/sparkle-compass.css +25 -0
  243. package/dist/collection/components/sparkle-compass/sparkle-compass.js +283 -0
  244. package/dist/collection/components/sparkle-course-root/sparkle-course-root.css +3 -0
  245. package/dist/collection/components/sparkle-course-root/sparkle-course-root.js +196 -0
  246. package/dist/collection/components/sparkle-discussion/sparkle-discussion-questions/sparkle-discussion-questions.css +157 -0
  247. package/dist/collection/components/sparkle-discussion/sparkle-discussion-questions/sparkle-discussion-questions.js +232 -0
  248. package/dist/collection/components/sparkle-discussion/sparkle-discussion-results/sparkle-discussion-results.css +158 -0
  249. package/dist/collection/components/sparkle-discussion/sparkle-discussion-results/sparkle-discussion-results.js +274 -0
  250. package/dist/collection/components/sparkle-discussion/sparkle-discussion.css +5 -0
  251. package/dist/collection/components/sparkle-discussion/sparkle-discussion.js +112 -0
  252. package/dist/collection/components/sparkle-emoji/sparkle-emoji.css +16 -0
  253. package/dist/collection/components/sparkle-emoji/sparkle-emoji.js +116 -0
  254. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +35 -0
  255. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +199 -0
  256. package/dist/collection/components/sparkle-feedback/sparkle-feedback.css +3 -0
  257. package/dist/collection/components/sparkle-feedback/sparkle-feedback.js +118 -0
  258. package/dist/collection/components/sparkle-file-upload/sparkle-file-upload.css +0 -0
  259. package/dist/collection/components/sparkle-file-upload/sparkle-file-upload.js +105 -0
  260. package/dist/collection/components/sparkle-forgot-password/sparkle-forgot-password.css +4 -0
  261. package/dist/collection/components/sparkle-forgot-password/sparkle-forgot-password.js +107 -0
  262. package/dist/collection/components/sparkle-input/sparkle-input.css +0 -0
  263. package/dist/collection/components/sparkle-input/sparkle-input.js +212 -0
  264. package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
  265. package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
  266. package/dist/collection/components/sparkle-login/sparkle-login.css +4 -0
  267. package/dist/collection/components/sparkle-login/sparkle-login.js +173 -0
  268. package/dist/collection/components/sparkle-poll/sparkle-poll.css +3 -0
  269. package/dist/collection/components/sparkle-poll/sparkle-poll.js +15 -0
  270. package/dist/collection/components/sparkle-quiz/sparkle-quiz-feedback/sparkle-quiz-feedback.css +3 -0
  271. package/dist/collection/components/sparkle-quiz/sparkle-quiz-feedback/sparkle-quiz-feedback.js +69 -0
  272. package/dist/collection/components/sparkle-quiz/sparkle-quiz-input/sparkle-quiz-input.css +3 -0
  273. package/dist/collection/components/sparkle-quiz/sparkle-quiz-input/sparkle-quiz-input.js +59 -0
  274. package/dist/collection/components/sparkle-quiz/sparkle-quiz-old/sparkle-quiz-old.css +48 -0
  275. package/dist/collection/components/sparkle-quiz/sparkle-quiz-old/sparkle-quiz-old.js +327 -0
  276. package/dist/collection/components/sparkle-quiz/sparkle-quiz-opinion/sparkle-quiz-opinion.css +18 -0
  277. package/dist/collection/components/sparkle-quiz/sparkle-quiz-opinion/sparkle-quiz-opinion.js +106 -0
  278. package/dist/collection/components/sparkle-quiz/sparkle-quiz-poll/sparkle-quiz-poll.css +3 -0
  279. package/dist/collection/components/sparkle-quiz/sparkle-quiz-poll/sparkle-quiz-poll.js +59 -0
  280. package/dist/collection/components/sparkle-quiz/sparkle-quiz-select/sparkle-quiz-select.css +3 -0
  281. package/dist/collection/components/sparkle-quiz/sparkle-quiz-select/sparkle-quiz-select.js +100 -0
  282. package/dist/collection/components/sparkle-quiz/sparkle-quiz.css +48 -0
  283. package/dist/collection/components/sparkle-quiz/sparkle-quiz.js +221 -0
  284. package/dist/collection/components/sparkle-quiz-container/sparkle-quiz-container.css +3 -0
  285. package/dist/collection/components/sparkle-quiz-container/sparkle-quiz-container.js +98 -0
  286. package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.css +3 -0
  287. package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.js +126 -0
  288. package/dist/collection/components/sparkle-root/sparkle-root.css +61 -0
  289. package/dist/collection/components/sparkle-root/sparkle-root.js +86 -0
  290. package/dist/collection/components/sparkle-signup/sparkle-signup.css +6 -0
  291. package/dist/collection/components/sparkle-signup/sparkle-signup.js +197 -0
  292. package/dist/collection/components/sparkle-unauthorized/sparkle-unauthorized.css +13 -0
  293. package/dist/collection/components/sparkle-unauthorized/sparkle-unauthorized.js +18 -0
  294. package/dist/collection/components/sparkle-user-enrollment/sparkle-user-enrollment.css +3 -0
  295. package/dist/collection/components/sparkle-user-enrollment/sparkle-user-enrollment.js +93 -0
  296. package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.css +54 -0
  297. package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.js +151 -0
  298. package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.css +11 -0
  299. package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.js +44 -0
  300. package/dist/collection/components/sparkle-video-player/sparkle-video-player.css +0 -0
  301. package/dist/collection/components/sparkle-video-player/sparkle-video-player.js +92 -0
  302. package/dist/collection/components/sparkle-youtube/sparkle-youtube.css +24 -0
  303. package/dist/collection/components/sparkle-youtube/sparkle-youtube.js +99 -0
  304. package/dist/collection/global/app.js +4 -0
  305. package/dist/collection/helpers/utils.js +3 -0
  306. package/dist/collection/icons.js +36 -0
  307. package/dist/collection/index.js +3 -0
  308. package/dist/collection/l10n.js +18 -0
  309. package/dist/collection/models/api.model.js +7 -0
  310. package/dist/collection/models/assets.model.js +1 -0
  311. package/dist/collection/models/auth/auth.user.js +1 -0
  312. package/dist/collection/models/class.model.js +5 -0
  313. package/dist/collection/models/course.model.js +10 -0
  314. package/dist/collection/models/definitions.js +1 -0
  315. package/dist/collection/models/facilitator-dashboard.model.js +5 -0
  316. package/dist/collection/models/goal.model.js +1 -0
  317. package/dist/collection/models/index.js +1 -0
  318. package/dist/collection/models/markdown.model.js +1 -0
  319. package/dist/collection/models/page.model.js +1 -0
  320. package/dist/collection/models/quiz.model.js +3 -0
  321. package/dist/collection/models/user.model.js +1 -0
  322. package/dist/collection/pages/course/welcome-to-mind-body/introduction/animation/m4l1p1_part1.js +2727 -0
  323. package/dist/collection/pages/course/welcome-to-mind-body/introduction/animation/m4l1p1_part2.js +2042 -0
  324. package/dist/collection/services/account.service.js +61 -0
  325. package/dist/collection/services/appdata.service.js +60 -0
  326. package/dist/collection/services/assignment.service.js +14 -0
  327. package/dist/collection/services/auth/auth.service.js +64 -0
  328. package/dist/collection/services/core/assets.service.js +45 -0
  329. package/dist/collection/services/core/localstorage.service.js +34 -0
  330. package/dist/collection/services/environment/environment-config.js +24 -0
  331. package/dist/collection/services/environment/environment-config.service.js +24 -0
  332. package/dist/collection/services/facilitator.service.js +76 -0
  333. package/dist/collection/services/feed.service.js +43 -0
  334. package/dist/collection/services/httpService.js +103 -0
  335. package/dist/collection/services/index.js +4 -0
  336. package/dist/collection/services/media.service.js +29 -0
  337. package/dist/collection/services/signalR.service.js +83 -0
  338. package/dist/collection/services/store.service.js +13 -0
  339. package/dist/collection/services/student.service.js +56 -0
  340. package/dist/collection/services/token.service.js +79 -0
  341. package/dist/collection/stores/auth.store.js +12 -0
  342. package/dist/collection/stores/class.store.js +5 -0
  343. package/dist/collection/stores/error.store.js +5 -0
  344. package/dist/collection/stores/facilitator.store.js +15 -0
  345. package/dist/collection/stores/feed.store.js +8 -0
  346. package/dist/collection/stores/goal.store.js +7 -0
  347. package/dist/collection/stores/index.js +1 -0
  348. package/dist/collection/stores/media.store.js +5 -0
  349. package/dist/collection/stores/mood.store.js +5 -0
  350. package/dist/collection/stores/nav.store.js +11 -0
  351. package/dist/collection/stores/signalR.store.js +6 -0
  352. package/dist/collection/stores/theme.store.js +9 -0
  353. package/dist/collection/stores/toc.store.js +5 -0
  354. package/dist/collection/stores/user.store.js +16 -0
  355. package/dist/collection/util.js +55 -0
  356. package/dist/collection/utils.js +92 -0
  357. package/dist/esm/PrivateRoute-90ac95b8.js +212 -0
  358. package/dist/esm/active-router-fc9e4e06.js +73 -0
  359. package/dist/esm/animation-12377cb3.js +984 -0
  360. package/dist/esm/app-globals-3f0347b0.js +7 -0
  361. package/dist/esm/appdata.service-2e84e167.js +70 -0
  362. package/dist/esm/assets.service-def1d63c.js +48 -0
  363. package/dist/esm/assignment.service-8d31f141.js +17 -0
  364. package/dist/esm/auth.store-dba2c2da.js +3381 -0
  365. package/dist/esm/compass-svg.entry.js +128 -0
  366. package/dist/esm/context-consumer.entry.js +25 -0
  367. package/dist/esm/course-select.entry.js +26 -0
  368. package/dist/esm/dir-03012648.js +18 -0
  369. package/dist/esm/environment-config.service-b191f276.js +26 -0
  370. package/dist/esm/facilitator.service-18c47bdf.js +92 -0
  371. package/dist/esm/feed.service-b4f3cae4.js +54 -0
  372. package/dist/esm/framework-delegate-3e634a5c.js +107 -0
  373. package/dist/esm/gesture-controller-7be18351.js +194 -0
  374. package/dist/esm/haptic-522f76f2.js +110 -0
  375. package/dist/esm/header-mobile-collapse_61.entry.js +15060 -0
  376. package/dist/esm/helpers-bf0e23d6.js +403 -0
  377. package/dist/esm/httpService-7986aeed.js +685 -0
  378. package/dist/esm/icons-1c794c74.js +18 -0
  379. package/dist/esm/index-21661af2.js +463 -0
  380. package/dist/esm/index-2b84cad2.js +223 -0
  381. package/dist/esm/index-4044fde9.js +25 -0
  382. package/dist/esm/index-45fec1e7.js +184 -0
  383. package/dist/esm/index-5e8971ae.js +128 -0
  384. package/dist/esm/index-c04b9ed5.js +1888 -0
  385. package/dist/esm/index-cded2d87.js +312 -0
  386. package/dist/esm/index-dad75b83.js +34 -0
  387. package/dist/esm/index.es-e0c0f891.js +10580 -0
  388. package/dist/esm/index.js +12 -0
  389. package/dist/esm/input-shims-671d8d9f.js +416 -0
  390. package/dist/esm/ion-accordion-group.entry.js +201 -0
  391. package/dist/esm/ion-accordion.entry.js +332 -0
  392. package/dist/esm/ion-action-sheet_7.entry.js +2925 -0
  393. package/dist/esm/ion-app.entry.js +75 -0
  394. package/dist/esm/ion-back-button.entry.js +90 -0
  395. package/dist/esm/ion-backdrop.entry.js +63 -0
  396. package/dist/esm/ion-badge.entry.js +25 -0
  397. package/dist/esm/ion-breadcrumb.entry.js +91 -0
  398. package/dist/esm/ion-breadcrumbs.entry.js +129 -0
  399. package/dist/esm/ion-buttons_3.entry.js +147 -0
  400. package/dist/esm/ion-card-header.entry.js +33 -0
  401. package/dist/esm/ion-card-subtitle.entry.js +26 -0
  402. package/dist/esm/ion-card-title.entry.js +26 -0
  403. package/dist/esm/ion-chip.entry.js +36 -0
  404. package/dist/esm/ion-content_2.entry.js +654 -0
  405. package/dist/esm/ion-datetime-button.entry.js +308 -0
  406. package/dist/esm/ion-datetime.entry.js +1619 -0
  407. package/dist/esm/ion-fab-button.entry.js +104 -0
  408. package/dist/esm/ion-fab-list.entry.js +41 -0
  409. package/dist/esm/ion-fab.entry.js +72 -0
  410. package/dist/esm/ion-footer.entry.js +116 -0
  411. package/dist/esm/ion-img.entry.js +97 -0
  412. package/dist/esm/ion-infinite-scroll-content.entry.js +33 -0
  413. package/dist/esm/ion-infinite-scroll.entry.js +202 -0
  414. package/dist/esm/ion-item-divider.entry.js +36 -0
  415. package/dist/esm/ion-item-group.entry.js +27 -0
  416. package/dist/esm/ion-item-option.entry.js +56 -0
  417. package/dist/esm/ion-item-options.entry.js +43 -0
  418. package/dist/esm/ion-item-sliding.entry.js +394 -0
  419. package/dist/esm/ion-loading.entry.js +211 -0
  420. package/dist/esm/ion-menu-button.entry.js +72 -0
  421. package/dist/esm/ion-menu-toggle.entry.js +43 -0
  422. package/dist/esm/ion-menu.entry.js +571 -0
  423. package/dist/esm/ion-modal.entry.js +1707 -0
  424. package/dist/esm/ion-nav-link.entry.js +43 -0
  425. package/dist/esm/ion-nav.entry.js +868 -0
  426. package/dist/esm/ion-picker-column-internal_2.entry.js +803 -0
  427. package/dist/esm/ion-picker-column.entry.js +327 -0
  428. package/dist/esm/ion-picker.entry.js +217 -0
  429. package/dist/esm/ion-progress-bar.entry.js +70 -0
  430. package/dist/esm/ion-refresher-content.entry.js +31 -0
  431. package/dist/esm/ion-refresher.entry.js +798 -0
  432. package/dist/esm/ion-reorder-group.entry.js +277 -0
  433. package/dist/esm/ion-reorder.entry.js +34 -0
  434. package/dist/esm/ion-route-redirect.entry.js +20 -0
  435. package/dist/esm/ion-route.entry.js +45 -0
  436. package/dist/esm/ion-router-link.entry.js +34 -0
  437. package/dist/esm/ion-router-outlet.entry.js +196 -0
  438. package/dist/esm/ion-router.entry.js +827 -0
  439. package/dist/esm/ion-searchbar.entry.js +366 -0
  440. package/dist/esm/ion-segment-button.entry.js +98 -0
  441. package/dist/esm/ion-segment.entry.js +413 -0
  442. package/dist/esm/ion-skeleton-text.entry.js +29 -0
  443. package/dist/esm/ion-slide.entry.js +21 -0
  444. package/dist/esm/ion-slides.entry.js +387 -0
  445. package/dist/esm/ion-split-pane.entry.js +150 -0
  446. package/dist/esm/ion-tab-bar.entry.js +71 -0
  447. package/dist/esm/ion-tab-button.entry.js +99 -0
  448. package/dist/esm/ion-tab.entry.js +55 -0
  449. package/dist/esm/ion-tabs.entry.js +150 -0
  450. package/dist/esm/ion-thumbnail.entry.js +16 -0
  451. package/dist/esm/ion-toast.entry.js +268 -0
  452. package/dist/esm/ion-toggle.entry.js +173 -0
  453. package/dist/esm/ion-virtual-scroll.entry.js +551 -0
  454. package/dist/esm/ionic-global-4903e23e.js +226 -0
  455. package/dist/esm/ios.transition-131d64fe.js +479 -0
  456. package/dist/esm/loader.js +20 -0
  457. package/dist/esm/md.transition-f6126011.js +55 -0
  458. package/dist/esm/media.service-6e90bc41.js +37 -0
  459. package/dist/esm/menu-toggle-util-bace8ae6.js +12 -0
  460. package/dist/esm/overlays-4233a39d.js +491 -0
  461. package/dist/esm/parse-1ae3a9bb.js +1196 -0
  462. package/dist/esm/polyfills/core-js.js +11 -0
  463. package/dist/esm/polyfills/css-shim.js +1 -0
  464. package/dist/esm/polyfills/dom.js +79 -0
  465. package/dist/esm/polyfills/es5-html-element.js +1 -0
  466. package/dist/esm/polyfills/index.js +34 -0
  467. package/dist/esm/polyfills/system.js +6 -0
  468. package/dist/esm/purify-85bfcc69.js +1466 -0
  469. package/dist/esm/signalR.service-c33fba50.js +2982 -0
  470. package/dist/esm/sparkle-animation-player.entry.js +511 -0
  471. package/dist/esm/sparkle-assignment.entry.js +106 -0
  472. package/dist/esm/sparkle-character-intro.entry.js +22 -0
  473. package/dist/esm/sparkle-code.entry.js +39 -0
  474. package/dist/esm/sparkle-compass-post.entry.js +129 -0
  475. package/dist/esm/sparkle-compass.entry.js +122 -0
  476. package/dist/esm/sparkle-core.js +20 -0
  477. package/dist/esm/sparkle-discussion-questions_2.entry.js +276 -0
  478. package/dist/esm/sparkle-discussion.entry.js +38 -0
  479. package/dist/esm/sparkle-emoji.entry.js +76 -0
  480. package/dist/esm/sparkle-facilitator-notes-form.entry.js +117 -0
  481. package/dist/esm/sparkle-feed-post.entry.js +118 -0
  482. package/dist/esm/sparkle-feedback.entry.js +97 -0
  483. package/dist/esm/sparkle-file-upload.entry.js +49 -0
  484. package/dist/esm/sparkle-goal-form.entry.js +175 -0
  485. package/dist/esm/sparkle-gww-comment-list.entry.js +22 -0
  486. package/dist/esm/sparkle-gww-graph.entry.js +15 -0
  487. package/dist/esm/sparkle-input.entry.js +52 -0
  488. package/dist/esm/sparkle-intro.entry.js +22 -0
  489. package/dist/esm/sparkle-lower-content-nav.entry.js +18 -0
  490. package/dist/esm/sparkle-menu-collapsible.entry.js +42 -0
  491. package/dist/esm/sparkle-modal-image.entry.js +30 -0
  492. package/dist/esm/sparkle-notfound-page.entry.js +21 -0
  493. package/dist/esm/sparkle-overlay.entry.js +88 -0
  494. package/dist/esm/sparkle-poll.entry.js +15 -0
  495. package/dist/esm/sparkle-quiz-container.entry.js +43 -0
  496. package/dist/esm/sparkle-quiz-feedback_5.entry.js +109 -0
  497. package/dist/esm/sparkle-quiz-old.entry.js +116 -0
  498. package/dist/esm/sparkle-quiz.entry.js +99 -0
  499. package/dist/esm/sparkle-select.entry.js +57 -0
  500. package/dist/esm/sparkle-sidebar.entry.js +39 -0
  501. package/dist/esm/sparkle-tab.entry.js +22 -0
  502. package/dist/esm/sparkle-table-of-contents.entry.js +67 -0
  503. package/dist/esm/sparkle-tabs.entry.js +62 -0
  504. package/dist/esm/sparkle-video-player.entry.js +18 -0
  505. package/dist/esm/sparkle-youtube.entry.js +35 -0
  506. package/dist/esm/status-tap-dde52787.js +40 -0
  507. package/dist/esm/stencil-async-content.entry.js +28 -0
  508. package/dist/esm/stencil-route-title.entry.js +28 -0
  509. package/dist/esm/stencil-router-prompt.entry.js +55 -0
  510. package/dist/esm/student.service-08af124f.js +75 -0
  511. package/dist/esm/swipe-back-7847a0c1.js +74 -0
  512. package/dist/esm/swiper.bundle-b6a959de.js +6418 -0
  513. package/dist/esm/token.service-71a5d33f.js +94 -0
  514. package/dist/esm/util-57cc8006.js +2451 -0
  515. package/dist/index.cjs.js +1 -0
  516. package/dist/index.js +1 -0
  517. package/dist/loader/cdn.js +3 -0
  518. package/dist/loader/index.cjs.js +3 -0
  519. package/dist/loader/index.d.ts +12 -0
  520. package/dist/loader/index.es2017.js +3 -0
  521. package/dist/loader/index.js +4 -0
  522. package/dist/loader/package.json +10 -0
  523. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.ios.css +75 -0
  524. package/dist/node_modules/@ionic/core/dist/collection/components/accordion/accordion.md.css +72 -0
  525. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.ios.css +25 -0
  526. package/dist/node_modules/@ionic/core/dist/collection/components/accordion-group/accordion-group.md.css +59 -0
  527. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +357 -0
  528. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +290 -0
  529. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +494 -0
  530. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +502 -0
  531. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +17 -0
  532. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +22 -0
  533. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +22 -0
  534. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +281 -0
  535. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +309 -0
  536. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +26 -0
  537. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +26 -0
  538. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +58 -0
  539. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +62 -0
  540. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.ios.css +234 -0
  541. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumb/breadcrumb.md.css +237 -0
  542. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +38 -0
  543. package/dist/node_modules/@ionic/core/dist/collection/components/breadcrumbs/breadcrumbs.md.css +37 -0
  544. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +439 -0
  545. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +428 -0
  546. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +128 -0
  547. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +151 -0
  548. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +101 -0
  549. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +95 -0
  550. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +61 -0
  551. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +63 -0
  552. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +37 -0
  553. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +35 -0
  554. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +28 -0
  555. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +26 -0
  556. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +27 -0
  557. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +27 -0
  558. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +169 -0
  559. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +172 -0
  560. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +200 -0
  561. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +200 -0
  562. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +108 -0
  563. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +237 -0
  564. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +648 -0
  565. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +637 -0
  566. package/dist/node_modules/@ionic/core/dist/collection/components/datetime-button/datetime-button.css +60 -0
  567. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +61 -0
  568. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +338 -0
  569. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +307 -0
  570. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +116 -0
  571. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +37 -0
  572. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +37 -0
  573. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +151 -0
  574. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +108 -0
  575. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +40 -0
  576. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  577. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  578. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +54 -0
  579. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +54 -0
  580. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +185 -0
  581. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +185 -0
  582. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +669 -0
  583. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +928 -0
  584. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +204 -0
  585. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +297 -0
  586. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +3 -0
  587. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +3 -0
  588. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +186 -0
  589. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +180 -0
  590. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +88 -0
  591. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +85 -0
  592. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +42 -0
  593. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +156 -0
  594. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +250 -0
  595. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +91 -0
  596. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +114 -0
  597. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +118 -0
  598. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +94 -0
  599. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +109 -0
  600. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +100 -0
  601. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +127 -0
  602. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +123 -0
  603. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +175 -0
  604. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +178 -0
  605. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  606. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +250 -0
  607. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +177 -0
  608. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +10 -0
  609. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +16 -0
  610. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +17 -0
  611. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +217 -0
  612. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +204 -0
  613. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +122 -0
  614. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +123 -0
  615. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +82 -0
  616. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column-internal/picker-column-internal.md.css +85 -0
  617. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.ios.css +126 -0
  618. package/dist/node_modules/@ionic/core/dist/collection/components/picker-internal/picker-internal.md.css +122 -0
  619. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +201 -0
  620. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +132 -0
  621. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +206 -0
  622. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +206 -0
  623. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +177 -0
  624. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +178 -0
  625. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +275 -0
  626. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +320 -0
  627. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +189 -0
  628. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +210 -0
  629. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +15 -0
  630. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +15 -0
  631. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +33 -0
  632. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +58 -0
  633. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +29 -0
  634. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/route-outlet.css +10 -0
  635. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +4 -0
  636. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +348 -0
  637. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +279 -0
  638. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +65 -0
  639. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +36 -0
  640. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +446 -0
  641. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +424 -0
  642. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +145 -0
  643. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +177 -0
  644. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  645. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.ios.css +14 -0
  646. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.md.css +37 -0
  647. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +53 -0
  648. package/dist/node_modules/@ionic/core/dist/collection/components/slide/slide.css +31 -0
  649. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.ios.css +764 -0
  650. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.md.css +764 -0
  651. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +167 -0
  652. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +108 -0
  653. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +108 -0
  654. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  655. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +97 -0
  656. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +82 -0
  657. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +308 -0
  658. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +331 -0
  659. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +19 -0
  660. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +3 -0
  661. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +175 -0
  662. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +179 -0
  663. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +21 -0
  664. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +122 -0
  665. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +55 -0
  666. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +262 -0
  667. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +295 -0
  668. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +286 -0
  669. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +261 -0
  670. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +175 -0
  671. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +168 -0
  672. package/dist/node_modules/@ionic/core/dist/collection/components/virtual-scroll/virtual-scroll.css +21 -0
  673. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/button/button.css +49 -0
  674. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/card/card.css +208 -0
  675. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/cards.css +31 -0
  676. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/code/code.css +245 -0
  677. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/dropdown/dropdown.css +115 -0
  678. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header-mobile-collapse/header-mobile-collapse.css +257 -0
  679. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header.css +232 -0
  680. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/collapsible/collapsible.css +3 -0
  681. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu-toggle/menu-toggle.css +25 -0
  682. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu.css +71 -0
  683. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/nav/nav.css +194 -0
  684. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/notfound-page/notfound-page.css +4 -0
  685. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/overlay/overlay.css +67 -0
  686. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/page-footer/page-footer.css +25 -0
  687. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/pagination/pagination.css +93 -0
  688. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/select/select.css +52 -0
  689. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sidebar/sidebar.css +98 -0
  690. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sparkle-lower-content-nav/sparkle-lower-content-nav.css +8 -0
  691. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/table-of-contents/table-of-contents.css +37 -0
  692. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/tabs/tabs.css +64 -0
  693. package/dist/node_modules/@stencil/router/dist/collection/components/route/route.css +3 -0
  694. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +101 -0
  695. package/dist/sparkle-core/index.esm.js +1 -19
  696. package/dist/sparkle-core/p-00d10dc9.js +4 -0
  697. package/dist/sparkle-core/p-0147266a.js +1 -0
  698. package/dist/sparkle-core/p-04c7b276.entry.js +1 -0
  699. package/dist/sparkle-core/p-05c032dd.js +4 -0
  700. package/dist/sparkle-core/p-06642405.entry.js +1 -0
  701. package/dist/sparkle-core/p-0664370b.entry.js +1 -0
  702. package/dist/sparkle-core/p-06c7d0f2.entry.js +1 -0
  703. package/dist/sparkle-core/p-076f0239.js +4 -0
  704. package/dist/sparkle-core/p-077c732b.js +4 -0
  705. package/dist/sparkle-core/p-08420531.entry.js +1 -0
  706. package/dist/sparkle-core/p-0ad5c123.entry.js +1 -0
  707. package/dist/sparkle-core/p-0afa3a4d.entry.js +1 -0
  708. package/dist/sparkle-core/p-0c3f3ea6.entry.js +1 -0
  709. package/dist/sparkle-core/p-0e4de1d0.js +4 -0
  710. package/dist/sparkle-core/p-0e8e539f.entry.js +1 -0
  711. package/dist/sparkle-core/p-11356b03.entry.js +1 -0
  712. package/dist/sparkle-core/p-11a6c175.entry.js +1 -0
  713. package/dist/sparkle-core/p-12dd96d7.js +4 -0
  714. package/dist/sparkle-core/p-13ec39db.entry.js +1 -0
  715. package/dist/sparkle-core/p-1adc98f6.js +1 -0
  716. package/dist/sparkle-core/p-1b1ba156.entry.js +1 -0
  717. package/dist/sparkle-core/p-1e125ca5.entry.js +1 -0
  718. package/dist/sparkle-core/p-1e4782af.entry.js +1 -0
  719. package/dist/sparkle-core/p-2033cd86.js +7 -0
  720. package/dist/sparkle-core/p-214d1229.entry.js +1 -0
  721. package/dist/sparkle-core/p-23aca7ca.js +4 -0
  722. package/dist/sparkle-core/p-24cb9a33.entry.js +1 -0
  723. package/dist/sparkle-core/p-27fbabc3.entry.js +1 -0
  724. package/dist/sparkle-core/p-2ba70507.entry.js +1 -0
  725. package/dist/sparkle-core/p-2c1ca854.entry.js +1 -0
  726. package/dist/sparkle-core/p-2caed39f.entry.js +1 -0
  727. package/dist/sparkle-core/p-2d9659e2.entry.js +1 -0
  728. package/dist/sparkle-core/p-2f569553.js +1 -0
  729. package/dist/sparkle-core/p-30b810d1.entry.js +4 -0
  730. package/dist/sparkle-core/p-32f4e565.entry.js +1 -0
  731. package/dist/sparkle-core/p-352677e6.entry.js +1 -0
  732. package/dist/sparkle-core/p-38b7cf68.entry.js +1 -0
  733. package/dist/sparkle-core/p-38c842d5.entry.js +1 -0
  734. package/dist/sparkle-core/p-3963e02b.entry.js +1 -0
  735. package/dist/sparkle-core/p-39712c56.entry.js +4 -0
  736. package/dist/sparkle-core/p-39a31e43.js +1 -0
  737. package/dist/sparkle-core/p-3de0e00c.js +4 -0
  738. package/dist/sparkle-core/p-4053ecdb.entry.js +1 -0
  739. package/dist/sparkle-core/p-408176ba.js +1 -0
  740. package/dist/sparkle-core/p-42ed7d5f.entry.js +1 -0
  741. package/dist/sparkle-core/p-48f72e63.js +4 -0
  742. package/dist/sparkle-core/p-4b4a8703.js +1 -0
  743. package/dist/sparkle-core/p-4c1980f7.entry.js +352 -0
  744. package/dist/sparkle-core/p-4c6a7e52.js +1 -0
  745. package/dist/sparkle-core/p-4d1cfcbe.entry.js +1 -0
  746. package/dist/sparkle-core/p-4d4077ea.js +4 -0
  747. package/dist/sparkle-core/p-4fba3e4c.js +1 -0
  748. package/dist/sparkle-core/p-506221fe.js +4 -0
  749. package/dist/sparkle-core/p-5096739e.entry.js +1 -0
  750. package/dist/sparkle-core/p-5322c920.entry.js +1 -0
  751. package/dist/sparkle-core/p-5893bbe5.entry.js +1 -0
  752. package/dist/sparkle-core/p-594a6982.entry.js +1 -0
  753. package/dist/sparkle-core/p-5c435d5a.entry.js +1 -0
  754. package/dist/sparkle-core/p-5cad23f1.js +3 -0
  755. package/dist/sparkle-core/p-5d409601.js +1 -0
  756. package/dist/sparkle-core/p-601397df.entry.js +1 -0
  757. package/dist/sparkle-core/p-604a7987.js +4 -0
  758. package/dist/sparkle-core/p-616941c6.entry.js +1 -0
  759. package/dist/sparkle-core/p-6316d124.entry.js +1 -0
  760. package/dist/sparkle-core/p-63f71ada.entry.js +1 -0
  761. package/dist/sparkle-core/p-69487d90.entry.js +1 -0
  762. package/dist/sparkle-core/p-6bde0192.entry.js +7 -0
  763. package/dist/sparkle-core/p-6d2f4093.entry.js +7 -0
  764. package/dist/sparkle-core/p-6ffd2420.entry.js +1 -0
  765. package/dist/sparkle-core/p-72053ae0.entry.js +1 -0
  766. package/dist/sparkle-core/p-73721c84.js +4 -0
  767. package/dist/sparkle-core/p-74864276.entry.js +1 -0
  768. package/dist/sparkle-core/p-7d8427eb.js +4 -0
  769. package/dist/sparkle-core/p-7dae0f0e.js +1 -0
  770. package/dist/sparkle-core/p-7dbfc316.js +1 -0
  771. package/dist/sparkle-core/p-7e7ce516.js +4 -0
  772. package/dist/sparkle-core/p-81714d94.entry.js +1 -0
  773. package/dist/sparkle-core/p-8492a765.entry.js +1 -0
  774. package/dist/sparkle-core/p-859563db.entry.js +1 -0
  775. package/dist/sparkle-core/p-85d4cd5c.entry.js +1 -0
  776. package/dist/sparkle-core/p-865f36a8.entry.js +1 -0
  777. package/dist/sparkle-core/p-86ed13f0.js +5 -0
  778. package/dist/sparkle-core/p-871106e0.js +4 -0
  779. package/dist/sparkle-core/p-894ff7e6.entry.js +1 -0
  780. package/dist/sparkle-core/p-8a41b502.entry.js +1 -0
  781. package/dist/sparkle-core/p-8b56f734.js +1 -0
  782. package/dist/sparkle-core/p-8c74cbb6.entry.js +1 -0
  783. package/dist/sparkle-core/p-924b2917.js +4 -0
  784. package/dist/sparkle-core/p-9289cdbc.entry.js +1 -0
  785. package/dist/sparkle-core/p-957715c5.entry.js +1 -0
  786. package/dist/sparkle-core/p-973fe404.entry.js +22 -0
  787. package/dist/sparkle-core/p-975b99ee.entry.js +1 -0
  788. package/dist/sparkle-core/p-98daeddb.entry.js +1 -0
  789. package/dist/sparkle-core/p-99ee9919.js +1 -0
  790. package/dist/sparkle-core/p-9abbd715.entry.js +1 -0
  791. package/dist/sparkle-core/p-9d894ed4.js +4 -0
  792. package/dist/sparkle-core/p-9e309b3e.entry.js +1 -0
  793. package/dist/sparkle-core/p-9e7fee8f.entry.js +1 -0
  794. package/dist/sparkle-core/p-9ebf0537.entry.js +1 -0
  795. package/dist/sparkle-core/p-a208ab2d.js +4 -0
  796. package/dist/sparkle-core/p-a2638250.entry.js +1 -0
  797. package/dist/sparkle-core/p-a2ebcf0a.entry.js +1 -0
  798. package/dist/sparkle-core/p-a98d7ebe.entry.js +1 -0
  799. package/dist/sparkle-core/p-add30d46.js +4 -0
  800. package/dist/sparkle-core/p-b0603d19.js +16 -0
  801. package/dist/sparkle-core/p-b06e2bef.js +1 -0
  802. package/dist/sparkle-core/p-b3f375fb.entry.js +1 -0
  803. package/dist/sparkle-core/p-b5f3e1bf.entry.js +1 -0
  804. package/dist/sparkle-core/p-b6fec622.entry.js +1 -0
  805. package/dist/sparkle-core/p-b8d71ff4.js +1 -0
  806. package/dist/sparkle-core/p-b96f3c84.entry.js +7 -0
  807. package/dist/sparkle-core/p-bd80ff43.js +4 -0
  808. package/dist/sparkle-core/p-bd90903e.js +1 -0
  809. package/dist/sparkle-core/p-be64105c.entry.js +1 -0
  810. package/dist/sparkle-core/p-c0533c23.entry.js +1 -0
  811. package/dist/sparkle-core/p-c2990b24.entry.js +1 -0
  812. package/dist/sparkle-core/p-c3cadfc6.entry.js +1 -0
  813. package/dist/sparkle-core/p-c60b29bd.entry.js +4 -0
  814. package/dist/sparkle-core/p-c64a34cd.entry.js +1 -0
  815. package/dist/sparkle-core/p-c7e21070.entry.js +1 -0
  816. package/dist/sparkle-core/p-c9f753a4.js +1 -0
  817. package/dist/sparkle-core/p-cabe9139.js +1 -0
  818. package/dist/sparkle-core/p-cabfbf22.entry.js +1 -0
  819. package/dist/sparkle-core/p-cc518c36.entry.js +1 -0
  820. package/dist/sparkle-core/p-cffd4817.entry.js +1 -0
  821. package/dist/sparkle-core/p-d0adf726.entry.js +1 -0
  822. package/dist/sparkle-core/p-d20e4fcf.entry.js +1 -0
  823. package/dist/sparkle-core/p-d24e53ab.entry.js +1 -0
  824. package/dist/sparkle-core/p-d288e6c1.entry.js +1 -0
  825. package/dist/sparkle-core/p-d601810e.entry.js +1 -0
  826. package/dist/sparkle-core/p-d68092b7.js +4 -0
  827. package/dist/sparkle-core/p-da391f3f.js +1 -0
  828. package/dist/sparkle-core/p-de4deb61.entry.js +1 -0
  829. package/dist/sparkle-core/p-e0cad1bb.js +1 -0
  830. package/dist/sparkle-core/p-e249aebf.entry.js +1 -0
  831. package/dist/sparkle-core/p-e3e36ce9.entry.js +1 -0
  832. package/dist/sparkle-core/p-e421d638.entry.js +1 -0
  833. package/dist/sparkle-core/p-e686d8b5.entry.js +4 -0
  834. package/dist/sparkle-core/p-e8988989.entry.js +1 -0
  835. package/dist/sparkle-core/p-e9431eeb.js +7 -0
  836. package/dist/sparkle-core/p-ea962e1b.entry.js +1 -0
  837. package/dist/sparkle-core/p-eaa8bbee.js +4 -0
  838. package/dist/sparkle-core/p-ebd4354b.entry.js +1 -0
  839. package/dist/sparkle-core/p-ee1e0eb4.js +2 -0
  840. package/dist/sparkle-core/p-ef4edc48.entry.js +4 -0
  841. package/dist/sparkle-core/p-f196c124.entry.js +7 -0
  842. package/dist/sparkle-core/p-f3cba72a.js +4 -0
  843. package/dist/sparkle-core/p-f47fe1fe.entry.js +1 -0
  844. package/dist/sparkle-core/p-f714f77a.entry.js +1 -0
  845. package/dist/sparkle-core/p-f891c79a.entry.js +1 -0
  846. package/dist/sparkle-core/p-fb0ca75e.entry.js +5 -0
  847. package/dist/sparkle-core/p-fb757951.entry.js +1 -0
  848. package/dist/sparkle-core/p-fd8d0738.entry.js +4 -0
  849. package/dist/sparkle-core/p-fda95b6e.entry.js +1 -0
  850. package/dist/sparkle-core/p-fe6dc976.entry.js +1 -0
  851. package/dist/sparkle-core/p-ff080f82.entry.js +10 -0
  852. package/dist/sparkle-core/p-ff7a8a71.js +4 -0
  853. package/dist/sparkle-core/sparkle-core.css +1 -2660
  854. package/dist/sparkle-core/sparkle-core.esm.js +1 -130
  855. package/package.json +2 -2
  856. package/dist/sparkle-core/PrivateRoute-a12e7ee5.js +0 -37
  857. package/dist/sparkle-core/account.service-e711795d.js +0 -63
  858. package/dist/sparkle-core/active-router-af86c9b4.js +0 -73
  859. package/dist/sparkle-core/animation-676a644d.js +0 -984
  860. package/dist/sparkle-core/app-globals-9ffa9ec3.js +0 -10
  861. package/dist/sparkle-core/appdata.service-703dff70.js +0 -69
  862. package/dist/sparkle-core/assets/user.png +0 -0
  863. package/dist/sparkle-core/assets.service-6508aae6.js +0 -71
  864. package/dist/sparkle-core/assignment.service-e42e9368.js +0 -17
  865. package/dist/sparkle-core/button-active-d68c5eb7.js +0 -67
  866. package/dist/sparkle-core/compass-svg.entry.js +0 -128
  867. package/dist/sparkle-core/context-consumer.entry.js +0 -25
  868. package/dist/sparkle-core/course-select.entry.js +0 -26
  869. package/dist/sparkle-core/css-shim-04165e59.js +0 -4
  870. package/dist/sparkle-core/dom-26e7cb2c.js +0 -73
  871. package/dist/sparkle-core/dom-utils-8e73e88b.js +0 -55
  872. package/dist/sparkle-core/facilitator.service-00a88935.js +0 -79
  873. package/dist/sparkle-core/facilitator.store-01be0386.js +0 -18
  874. package/dist/sparkle-core/feed.service-d495f3e1.js +0 -53
  875. package/dist/sparkle-core/framework-delegate-d3fa493f.js +0 -107
  876. package/dist/sparkle-core/haptic-a9e94599.js +0 -124
  877. package/dist/sparkle-core/header-mobile-collapse.entry.js +0 -86
  878. package/dist/sparkle-core/helpers-f11f0674.js +0 -406
  879. package/dist/sparkle-core/icons-758d1417.js +0 -41
  880. package/dist/sparkle-core/index-05b398c2.js +0 -34
  881. package/dist/sparkle-core/index-0af0deac.js +0 -312
  882. package/dist/sparkle-core/index-0df264ee.js +0 -4518
  883. package/dist/sparkle-core/index-183cda39.js +0 -223
  884. package/dist/sparkle-core/index-18a69883.js +0 -1336
  885. package/dist/sparkle-core/index-1d7a6fa0.js +0 -269
  886. package/dist/sparkle-core/index-1dec9544.js +0 -3064
  887. package/dist/sparkle-core/index-81dab78f.js +0 -85
  888. package/dist/sparkle-core/index-9b5bcea1.js +0 -22
  889. package/dist/sparkle-core/index-bb469fe3.js +0 -128
  890. package/dist/sparkle-core/index-d2990a48.js +0 -184
  891. package/dist/sparkle-core/index-dd414b33.js +0 -653
  892. package/dist/sparkle-core/index-faeec85a.js +0 -8
  893. package/dist/sparkle-core/index.es-1f6eedc5.js +0 -11066
  894. package/dist/sparkle-core/input-shims-0b2f5522.js +0 -418
  895. package/dist/sparkle-core/ion-accordion-group.entry.js +0 -201
  896. package/dist/sparkle-core/ion-accordion.entry.js +0 -332
  897. package/dist/sparkle-core/ion-action-sheet.entry.js +0 -263
  898. package/dist/sparkle-core/ion-alert.entry.js +0 -448
  899. package/dist/sparkle-core/ion-app.entry.js +0 -75
  900. package/dist/sparkle-core/ion-avatar.entry.js +0 -21
  901. package/dist/sparkle-core/ion-back-button.entry.js +0 -90
  902. package/dist/sparkle-core/ion-backdrop.entry.js +0 -63
  903. package/dist/sparkle-core/ion-badge.entry.js +0 -25
  904. package/dist/sparkle-core/ion-breadcrumb.entry.js +0 -91
  905. package/dist/sparkle-core/ion-breadcrumbs.entry.js +0 -129
  906. package/dist/sparkle-core/ion-button.entry.js +0 -125
  907. package/dist/sparkle-core/ion-buttons.entry.js +0 -38
  908. package/dist/sparkle-core/ion-card-content.entry.js +0 -26
  909. package/dist/sparkle-core/ion-card-header.entry.js +0 -33
  910. package/dist/sparkle-core/ion-card-subtitle.entry.js +0 -26
  911. package/dist/sparkle-core/ion-card-title.entry.js +0 -26
  912. package/dist/sparkle-core/ion-card.entry.js +0 -64
  913. package/dist/sparkle-core/ion-checkbox.entry.js +0 -109
  914. package/dist/sparkle-core/ion-chip.entry.js +0 -36
  915. package/dist/sparkle-core/ion-col.entry.js +0 -121
  916. package/dist/sparkle-core/ion-content.entry.js +0 -319
  917. package/dist/sparkle-core/ion-datetime-button.entry.js +0 -308
  918. package/dist/sparkle-core/ion-datetime.entry.js +0 -1619
  919. package/dist/sparkle-core/ion-fab-button.entry.js +0 -104
  920. package/dist/sparkle-core/ion-fab-list.entry.js +0 -41
  921. package/dist/sparkle-core/ion-fab.entry.js +0 -72
  922. package/dist/sparkle-core/ion-footer.entry.js +0 -116
  923. package/dist/sparkle-core/ion-grid.entry.js +0 -24
  924. package/dist/sparkle-core/ion-header.entry.js +0 -341
  925. package/dist/sparkle-core/ion-icon.entry.js +0 -200
  926. package/dist/sparkle-core/ion-img.entry.js +0 -97
  927. package/dist/sparkle-core/ion-infinite-scroll-content.entry.js +0 -33
  928. package/dist/sparkle-core/ion-infinite-scroll.entry.js +0 -202
  929. package/dist/sparkle-core/ion-input.entry.js +0 -293
  930. package/dist/sparkle-core/ion-item-divider.entry.js +0 -36
  931. package/dist/sparkle-core/ion-item-group.entry.js +0 -27
  932. package/dist/sparkle-core/ion-item-option.entry.js +0 -56
  933. package/dist/sparkle-core/ion-item-options.entry.js +0 -43
  934. package/dist/sparkle-core/ion-item-sliding.entry.js +0 -394
  935. package/dist/sparkle-core/ion-item.entry.js +0 -267
  936. package/dist/sparkle-core/ion-label.entry.js +0 -77
  937. package/dist/sparkle-core/ion-list-header.entry.js +0 -27
  938. package/dist/sparkle-core/ion-list.entry.js +0 -48
  939. package/dist/sparkle-core/ion-loading.entry.js +0 -211
  940. package/dist/sparkle-core/ion-menu-button.entry.js +0 -72
  941. package/dist/sparkle-core/ion-menu-toggle.entry.js +0 -43
  942. package/dist/sparkle-core/ion-menu.entry.js +0 -575
  943. package/dist/sparkle-core/ion-modal.entry.js +0 -1706
  944. package/dist/sparkle-core/ion-nav-link.entry.js +0 -43
  945. package/dist/sparkle-core/ion-nav.entry.js +0 -872
  946. package/dist/sparkle-core/ion-note.entry.js +0 -25
  947. package/dist/sparkle-core/ion-picker-column-internal.entry.js +0 -363
  948. package/dist/sparkle-core/ion-picker-column.entry.js +0 -327
  949. package/dist/sparkle-core/ion-picker-internal.entry.js +0 -454
  950. package/dist/sparkle-core/ion-picker.entry.js +0 -217
  951. package/dist/sparkle-core/ion-popover.entry.js +0 -1362
  952. package/dist/sparkle-core/ion-progress-bar.entry.js +0 -70
  953. package/dist/sparkle-core/ion-radio-group.entry.js +0 -121
  954. package/dist/sparkle-core/ion-radio.entry.js +0 -111
  955. package/dist/sparkle-core/ion-range.entry.js +0 -511
  956. package/dist/sparkle-core/ion-refresher-content.entry.js +0 -31
  957. package/dist/sparkle-core/ion-refresher.entry.js +0 -798
  958. package/dist/sparkle-core/ion-reorder-group.entry.js +0 -277
  959. package/dist/sparkle-core/ion-reorder.entry.js +0 -34
  960. package/dist/sparkle-core/ion-ripple-effect.entry.js +0 -89
  961. package/dist/sparkle-core/ion-route-redirect.entry.js +0 -20
  962. package/dist/sparkle-core/ion-route.entry.js +0 -45
  963. package/dist/sparkle-core/ion-router-link.entry.js +0 -34
  964. package/dist/sparkle-core/ion-router-outlet.entry.js +0 -196
  965. package/dist/sparkle-core/ion-router.entry.js +0 -827
  966. package/dist/sparkle-core/ion-row.entry.js +0 -16
  967. package/dist/sparkle-core/ion-searchbar.entry.js +0 -366
  968. package/dist/sparkle-core/ion-segment-button.entry.js +0 -98
  969. package/dist/sparkle-core/ion-segment.entry.js +0 -415
  970. package/dist/sparkle-core/ion-select-option.entry.js +0 -23
  971. package/dist/sparkle-core/ion-select-popover.entry.js +0 -96
  972. package/dist/sparkle-core/ion-select.entry.js +0 -510
  973. package/dist/sparkle-core/ion-skeleton-text.entry.js +0 -29
  974. package/dist/sparkle-core/ion-slide.entry.js +0 -21
  975. package/dist/sparkle-core/ion-slides.entry.js +0 -387
  976. package/dist/sparkle-core/ion-spinner.entry.js +0 -60
  977. package/dist/sparkle-core/ion-split-pane.entry.js +0 -156
  978. package/dist/sparkle-core/ion-tab-bar.entry.js +0 -71
  979. package/dist/sparkle-core/ion-tab-button.entry.js +0 -99
  980. package/dist/sparkle-core/ion-tab.entry.js +0 -63
  981. package/dist/sparkle-core/ion-tabs.entry.js +0 -150
  982. package/dist/sparkle-core/ion-text.entry.js +0 -20
  983. package/dist/sparkle-core/ion-textarea.entry.js +0 -244
  984. package/dist/sparkle-core/ion-thumbnail.entry.js +0 -16
  985. package/dist/sparkle-core/ion-title.entry.js +0 -48
  986. package/dist/sparkle-core/ion-toast.entry.js +0 -268
  987. package/dist/sparkle-core/ion-toggle.entry.js +0 -173
  988. package/dist/sparkle-core/ion-toolbar.entry.js +0 -70
  989. package/dist/sparkle-core/ion-virtual-scroll.entry.js +0 -551
  990. package/dist/sparkle-core/ionic-global-127576f6.js +0 -226
  991. package/dist/sparkle-core/ios.transition-02531dda.js +0 -479
  992. package/dist/sparkle-core/location-utils-fea12957.js +0 -229
  993. package/dist/sparkle-core/match-path-760e1797.js +0 -343
  994. package/dist/sparkle-core/md.transition-f8765467.js +0 -55
  995. package/dist/sparkle-core/media.service-2609406e.js +0 -36
  996. package/dist/sparkle-core/menu-toggle-util-6cc13cbd.js +0 -12
  997. package/dist/sparkle-core/overlays-fd3cfa13.js +0 -493
  998. package/dist/sparkle-core/parse-60474840.js +0 -1196
  999. package/dist/sparkle-core/purify-d9093094.js +0 -1469
  1000. package/dist/sparkle-core/quiz.model-1cff62e4.js +0 -5
  1001. package/dist/sparkle-core/shadow-css-1257b266.js +0 -387
  1002. package/dist/sparkle-core/signalR.service-2b7645c1.js +0 -2983
  1003. package/dist/sparkle-core/sparkle-animation-player.entry.js +0 -513
  1004. package/dist/sparkle-core/sparkle-assignment.entry.js +0 -114
  1005. package/dist/sparkle-core/sparkle-button.entry.js +0 -24
  1006. package/dist/sparkle-core/sparkle-card.entry.js +0 -61
  1007. package/dist/sparkle-core/sparkle-cards.entry.js +0 -15
  1008. package/dist/sparkle-core/sparkle-character-intro.entry.js +0 -22
  1009. package/dist/sparkle-core/sparkle-code.entry.js +0 -39
  1010. package/dist/sparkle-core/sparkle-compass-post.entry.js +0 -129
  1011. package/dist/sparkle-core/sparkle-compass.entry.js +0 -122
  1012. package/dist/sparkle-core/sparkle-course-root.entry.js +0 -155
  1013. package/dist/sparkle-core/sparkle-discussion-questions.entry.js +0 -122
  1014. package/dist/sparkle-core/sparkle-discussion-results.entry.js +0 -189
  1015. package/dist/sparkle-core/sparkle-discussion.entry.js +0 -52
  1016. package/dist/sparkle-core/sparkle-dropdown.entry.js +0 -57
  1017. package/dist/sparkle-core/sparkle-emoji.entry.js +0 -77
  1018. package/dist/sparkle-core/sparkle-export-lessons.entry.js +0 -10081
  1019. package/dist/sparkle-core/sparkle-facilitator-dashboard.entry.js +0 -93
  1020. package/dist/sparkle-core/sparkle-facilitator-header.entry.js +0 -60
  1021. package/dist/sparkle-core/sparkle-facilitator-notes-form.entry.js +0 -160
  1022. package/dist/sparkle-core/sparkle-facilitator-notes.entry.js +0 -65
  1023. package/dist/sparkle-core/sparkle-facilitator-page.entry.js +0 -198
  1024. package/dist/sparkle-core/sparkle-feed-post.entry.js +0 -131
  1025. package/dist/sparkle-core/sparkle-feedback.entry.js +0 -106
  1026. package/dist/sparkle-core/sparkle-file-upload.entry.js +0 -57
  1027. package/dist/sparkle-core/sparkle-forgot-password.entry.js +0 -80
  1028. package/dist/sparkle-core/sparkle-goal-form.entry.js +0 -182
  1029. package/dist/sparkle-core/sparkle-goal-item.entry.js +0 -15
  1030. package/dist/sparkle-core/sparkle-goal-progress.entry.js +0 -15
  1031. package/dist/sparkle-core/sparkle-goals.entry.js +0 -47
  1032. package/dist/sparkle-core/sparkle-gww-comment-list.entry.js +0 -22
  1033. package/dist/sparkle-core/sparkle-gww-graph.entry.js +0 -15
  1034. package/dist/sparkle-core/sparkle-gww-item.entry.js +0 -80
  1035. package/dist/sparkle-core/sparkle-gww.entry.js +0 -44
  1036. package/dist/sparkle-core/sparkle-header.entry.js +0 -97
  1037. package/dist/sparkle-core/sparkle-health.entry.js +0 -70
  1038. package/dist/sparkle-core/sparkle-input.entry.js +0 -52
  1039. package/dist/sparkle-core/sparkle-intro.entry.js +0 -22
  1040. package/dist/sparkle-core/sparkle-login.entry.js +0 -116
  1041. package/dist/sparkle-core/sparkle-lower-content-nav.entry.js +0 -18
  1042. package/dist/sparkle-core/sparkle-menu-collapsible.entry.js +0 -42
  1043. package/dist/sparkle-core/sparkle-menu-toggle.entry.js +0 -24
  1044. package/dist/sparkle-core/sparkle-menu.entry.js +0 -26
  1045. package/dist/sparkle-core/sparkle-modal-image.entry.js +0 -33
  1046. package/dist/sparkle-core/sparkle-mood.entry.js +0 -76
  1047. package/dist/sparkle-core/sparkle-nav.entry.js +0 -113
  1048. package/dist/sparkle-core/sparkle-notfound-page.entry.js +0 -25
  1049. package/dist/sparkle-core/sparkle-online-students.entry.js +0 -55
  1050. package/dist/sparkle-core/sparkle-overlay.entry.js +0 -90
  1051. package/dist/sparkle-core/sparkle-page-footer.entry.js +0 -24
  1052. package/dist/sparkle-core/sparkle-page.entry.js +0 -245
  1053. package/dist/sparkle-core/sparkle-pagination.entry.js +0 -67
  1054. package/dist/sparkle-core/sparkle-poll.entry.js +0 -15
  1055. package/dist/sparkle-core/sparkle-quiz-container.entry.js +0 -43
  1056. package/dist/sparkle-core/sparkle-quiz-feedback.entry.js +0 -18
  1057. package/dist/sparkle-core/sparkle-quiz-input.entry.js +0 -16
  1058. package/dist/sparkle-core/sparkle-quiz-old.entry.js +0 -116
  1059. package/dist/sparkle-core/sparkle-quiz-opinion.entry.js +0 -41
  1060. package/dist/sparkle-core/sparkle-quiz-poll.entry.js +0 -16
  1061. package/dist/sparkle-core/sparkle-quiz-select.entry.js +0 -29
  1062. package/dist/sparkle-core/sparkle-quiz.entry.js +0 -98
  1063. package/dist/sparkle-core/sparkle-reset-password.entry.js +0 -96
  1064. package/dist/sparkle-core/sparkle-root.entry.js +0 -79
  1065. package/dist/sparkle-core/sparkle-select.entry.js +0 -57
  1066. package/dist/sparkle-core/sparkle-sidebar.entry.js +0 -39
  1067. package/dist/sparkle-core/sparkle-signup.entry.js +0 -144
  1068. package/dist/sparkle-core/sparkle-tab.entry.js +0 -22
  1069. package/dist/sparkle-core/sparkle-table-of-contents.entry.js +0 -67
  1070. package/dist/sparkle-core/sparkle-tabs.entry.js +0 -62
  1071. package/dist/sparkle-core/sparkle-unauthorized.entry.js +0 -17
  1072. package/dist/sparkle-core/sparkle-user-enrollment.entry.js +0 -85
  1073. package/dist/sparkle-core/sparkle-user-profile.entry.js +0 -129
  1074. package/dist/sparkle-core/sparkle-validation-error.entry.js +0 -17
  1075. package/dist/sparkle-core/sparkle-video-player.entry.js +0 -18
  1076. package/dist/sparkle-core/sparkle-youtube.entry.js +0 -35
  1077. package/dist/sparkle-core/status-tap-52feb1b1.js +0 -40
  1078. package/dist/sparkle-core/stencil-async-content.entry.js +0 -28
  1079. package/dist/sparkle-core/stencil-route-link.entry.js +0 -74
  1080. package/dist/sparkle-core/stencil-route-switch.entry.js +0 -100
  1081. package/dist/sparkle-core/stencil-route-title.entry.js +0 -28
  1082. package/dist/sparkle-core/stencil-route.entry.js +0 -93
  1083. package/dist/sparkle-core/stencil-router-prompt.entry.js +0 -55
  1084. package/dist/sparkle-core/stencil-router-redirect.entry.js +0 -28
  1085. package/dist/sparkle-core/stencil-router.entry.js +0 -636
  1086. package/dist/sparkle-core/store.service-0f7d998b.js +0 -16
  1087. package/dist/sparkle-core/student.service-f0375229.js +0 -59
  1088. package/dist/sparkle-core/swipe-back-9a614189.js +0 -73
  1089. package/dist/sparkle-core/swiper.bundle-4274e115.js +0 -6418
  1090. package/dist/sparkle-core/user.store-3d052406.js +0 -19
  1091. package/dist/sparkle-core/util-ba470e54.js +0 -14683
  1092. package/dist/sparkle-core/utils-cae23bce.js +0 -114
  1093. /package/dist/{sparkle-core → esm}/cubic-bezier-4c0db14f.js +0 -0
  1094. /package/dist/{sparkle-core → esm}/focus-visible-4e9a0764.js +0 -0
  1095. /package/dist/{sparkle-core → esm}/hardware-back-button-fa04d6e9.js +0 -0
  1096. /package/dist/{sparkle-core → esm}/index-be6112f8.js +0 -0
  1097. /package/dist/{sparkle-core → esm}/keyboard-7e8329b3.js +0 -0
  1098. /package/dist/{sparkle-core → esm}/localstorage.service-4bf408c8.js +0 -0
  1099. /package/dist/{sparkle-core → esm}/spinner-configs-a37e628a.js +0 -0
  1100. /package/dist/{sparkle-core → esm}/theme-7ef00c83.js +0 -0
@@ -0,0 +1,798 @@
1
+ import { w as writeTask, r as registerInstance, i as createEvent, j as readTask, h, e as getElement, H as Host } from './index-c04b9ed5.js';
2
+ import { a as isPlatform, g as getIonMode } from './ionic-global-4903e23e.js';
3
+ import { g as getTimeGivenProgression } from './cubic-bezier-4c0db14f.js';
4
+ import { I as ION_CONTENT_ELEMENT_SELECTOR, p as printIonContentErrorMsg, b as ION_CONTENT_CLASS_SELECTOR, g as getScrollElement } from './index-5e8971ae.js';
5
+ import { t as transitionEndAsync, c as componentOnReady, m as clamp, g as getElementRoot, l as raf } from './helpers-bf0e23d6.js';
6
+ import { h as hapticImpact } from './haptic-522f76f2.js';
7
+ import { c as createAnimation } from './animation-12377cb3.js';
8
+ import './index-dad75b83.js';
9
+
10
+ /*!
11
+ * (C) Ionic http://ionicframework.com - MIT License
12
+ */
13
+ const getRefresherAnimationType = (contentEl) => {
14
+ const previousSibling = contentEl.previousElementSibling;
15
+ const hasHeader = previousSibling !== null && previousSibling.tagName === 'ION-HEADER';
16
+ return hasHeader ? 'translate' : 'scale';
17
+ };
18
+ const createPullingAnimation = (type, pullingSpinner, refresherEl) => {
19
+ return type === 'scale'
20
+ ? createScaleAnimation(pullingSpinner, refresherEl)
21
+ : createTranslateAnimation(pullingSpinner, refresherEl);
22
+ };
23
+ const createBaseAnimation = (pullingRefresherIcon) => {
24
+ const spinner = pullingRefresherIcon.querySelector('ion-spinner');
25
+ const circle = spinner.shadowRoot.querySelector('circle');
26
+ const spinnerArrowContainer = pullingRefresherIcon.querySelector('.spinner-arrow-container');
27
+ const arrowContainer = pullingRefresherIcon.querySelector('.arrow-container');
28
+ const arrow = arrowContainer ? arrowContainer.querySelector('ion-icon') : null;
29
+ const baseAnimation = createAnimation().duration(1000).easing('ease-out');
30
+ const spinnerArrowContainerAnimation = createAnimation()
31
+ .addElement(spinnerArrowContainer)
32
+ .keyframes([
33
+ { offset: 0, opacity: '0.3' },
34
+ { offset: 0.45, opacity: '0.3' },
35
+ { offset: 0.55, opacity: '1' },
36
+ { offset: 1, opacity: '1' },
37
+ ]);
38
+ const circleInnerAnimation = createAnimation()
39
+ .addElement(circle)
40
+ .keyframes([
41
+ { offset: 0, strokeDasharray: '1px, 200px' },
42
+ { offset: 0.2, strokeDasharray: '1px, 200px' },
43
+ { offset: 0.55, strokeDasharray: '100px, 200px' },
44
+ { offset: 1, strokeDasharray: '100px, 200px' },
45
+ ]);
46
+ const circleOuterAnimation = createAnimation()
47
+ .addElement(spinner)
48
+ .keyframes([
49
+ { offset: 0, transform: 'rotate(-90deg)' },
50
+ { offset: 1, transform: 'rotate(210deg)' },
51
+ ]);
52
+ /**
53
+ * Only add arrow animation if present
54
+ * this allows users to customize the spinners
55
+ * without errors being thrown
56
+ */
57
+ if (arrowContainer && arrow) {
58
+ const arrowContainerAnimation = createAnimation()
59
+ .addElement(arrowContainer)
60
+ .keyframes([
61
+ { offset: 0, transform: 'rotate(0deg)' },
62
+ { offset: 0.3, transform: 'rotate(0deg)' },
63
+ { offset: 0.55, transform: 'rotate(280deg)' },
64
+ { offset: 1, transform: 'rotate(400deg)' },
65
+ ]);
66
+ const arrowAnimation = createAnimation()
67
+ .addElement(arrow)
68
+ .keyframes([
69
+ { offset: 0, transform: 'translateX(2px) scale(0)' },
70
+ { offset: 0.3, transform: 'translateX(2px) scale(0)' },
71
+ { offset: 0.55, transform: 'translateX(-1.5px) scale(1)' },
72
+ { offset: 1, transform: 'translateX(-1.5px) scale(1)' },
73
+ ]);
74
+ baseAnimation.addAnimation([arrowContainerAnimation, arrowAnimation]);
75
+ }
76
+ return baseAnimation.addAnimation([spinnerArrowContainerAnimation, circleInnerAnimation, circleOuterAnimation]);
77
+ };
78
+ const createScaleAnimation = (pullingRefresherIcon, refresherEl) => {
79
+ /**
80
+ * Do not take the height of the refresher icon
81
+ * because at this point the DOM has not updated,
82
+ * so the refresher icon is still hidden with
83
+ * display: none.
84
+ * The `ion-refresher` container height
85
+ * is roughly the amount we need to offset
86
+ * the icon by when pulling down.
87
+ */
88
+ const height = refresherEl.clientHeight;
89
+ const spinnerAnimation = createAnimation()
90
+ .addElement(pullingRefresherIcon)
91
+ .keyframes([
92
+ { offset: 0, transform: `scale(0) translateY(-${height}px)` },
93
+ { offset: 1, transform: 'scale(1) translateY(100px)' },
94
+ ]);
95
+ return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
96
+ };
97
+ const createTranslateAnimation = (pullingRefresherIcon, refresherEl) => {
98
+ /**
99
+ * Do not take the height of the refresher icon
100
+ * because at this point the DOM has not updated,
101
+ * so the refresher icon is still hidden with
102
+ * display: none.
103
+ * The `ion-refresher` container height
104
+ * is roughly the amount we need to offset
105
+ * the icon by when pulling down.
106
+ */
107
+ const height = refresherEl.clientHeight;
108
+ const spinnerAnimation = createAnimation()
109
+ .addElement(pullingRefresherIcon)
110
+ .keyframes([
111
+ { offset: 0, transform: `translateY(-${height}px)` },
112
+ { offset: 1, transform: 'translateY(100px)' },
113
+ ]);
114
+ return createBaseAnimation(pullingRefresherIcon).addAnimation([spinnerAnimation]);
115
+ };
116
+ const createSnapBackAnimation = (pullingRefresherIcon) => {
117
+ return createAnimation()
118
+ .duration(125)
119
+ .addElement(pullingRefresherIcon)
120
+ .fromTo('transform', 'translateY(var(--ion-pulling-refresher-translate, 100px))', 'translateY(0px)');
121
+ };
122
+ // iOS Native Refresher
123
+ // -----------------------------
124
+ const setSpinnerOpacity = (spinner, opacity) => {
125
+ spinner.style.setProperty('opacity', opacity.toString());
126
+ };
127
+ const handleScrollWhilePulling = (ticks, numTicks, pullAmount) => {
128
+ const max = 1;
129
+ writeTask(() => {
130
+ ticks.forEach((el, i) => {
131
+ /**
132
+ * Compute the opacity of each tick
133
+ * mark as a percentage of the pullAmount
134
+ * offset by max / numTicks so
135
+ * the tick marks are shown staggered.
136
+ */
137
+ const min = i * (max / numTicks);
138
+ const range = max - min;
139
+ const start = pullAmount - min;
140
+ const progression = clamp(0, start / range, 1);
141
+ el.style.setProperty('opacity', progression.toString());
142
+ });
143
+ });
144
+ };
145
+ const handleScrollWhileRefreshing = (spinner, lastVelocityY) => {
146
+ writeTask(() => {
147
+ // If user pulls down quickly, the spinner should spin faster
148
+ spinner.style.setProperty('--refreshing-rotation-duration', lastVelocityY >= 1.0 ? '0.5s' : '2s');
149
+ spinner.style.setProperty('opacity', '1');
150
+ });
151
+ };
152
+ const translateElement = (el, value, duration = 200) => {
153
+ if (!el) {
154
+ return Promise.resolve();
155
+ }
156
+ const trans = transitionEndAsync(el, duration);
157
+ writeTask(() => {
158
+ el.style.setProperty('transition', `${duration}ms all ease-out`);
159
+ if (value === undefined) {
160
+ el.style.removeProperty('transform');
161
+ }
162
+ else {
163
+ el.style.setProperty('transform', `translate3d(0px, ${value}, 0px)`);
164
+ }
165
+ });
166
+ return trans;
167
+ };
168
+ // Utils
169
+ // -----------------------------
170
+ const shouldUseNativeRefresher = async (referenceEl, mode) => {
171
+ const refresherContent = referenceEl.querySelector('ion-refresher-content');
172
+ if (!refresherContent) {
173
+ return Promise.resolve(false);
174
+ }
175
+ await new Promise((resolve) => componentOnReady(refresherContent, resolve));
176
+ const pullingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-pulling ion-spinner');
177
+ const refreshingSpinner = referenceEl.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
178
+ return (pullingSpinner !== null &&
179
+ refreshingSpinner !== null &&
180
+ ((mode === 'ios' && isPlatform('mobile') && referenceEl.style.webkitOverflowScrolling !== undefined) ||
181
+ mode === 'md'));
182
+ };
183
+
184
+ const refresherIosCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-ios .refresher-pulling-icon,.refresher-ios .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-ios .refresher-pulling-text,.refresher-ios .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-lines-ios line,.refresher-ios .refresher-refreshing .spinner-lines-small-ios line,.refresher-ios .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-ios .refresher-refreshing .spinner-bubbles circle,.refresher-ios .refresher-refreshing .spinner-circles circle,.refresher-ios .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.refresher-native .refresher-refreshing ion-spinner{--refreshing-rotation-duration:2s;display:none;animation:var(--refreshing-rotation-duration) ease-out refresher-rotate forwards}.refresher-native .refresher-refreshing{display:none;animation:250ms linear refresher-pop forwards}.refresher-native ion-spinner{width:32px;height:32px;color:var(--ion-color-step-450, #747577)}.refresher-native.refresher-refreshing .refresher-pulling ion-spinner,.refresher-native.refresher-completing .refresher-pulling ion-spinner{display:none}.refresher-native.refresher-refreshing .refresher-refreshing ion-spinner,.refresher-native.refresher-completing .refresher-refreshing ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-pulling ion-spinner{display:block}.refresher-native.refresher-pulling .refresher-refreshing ion-spinner{display:none}.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0) rotate(180deg);transition:300ms}@keyframes refresher-pop{0%{transform:scale(1);animation-timing-function:ease-in}50%{transform:scale(1.2);animation-timing-function:ease-out}100%{transform:scale(1)}}@keyframes refresher-rotate{from{transform:rotate(0deg)}to{transform:rotate(180deg)}}";
185
+
186
+ const refresherMdCss = "ion-refresher{left:0;top:0;display:none;position:absolute;width:100%;height:60px;pointer-events:none;z-index:-1}[dir=rtl] ion-refresher,:host-context([dir=rtl]) ion-refresher{left:unset;right:unset;right:0}ion-refresher.refresher-active{display:block}ion-refresher-content{display:flex;flex-direction:column;justify-content:center;height:100%}.refresher-pulling,.refresher-refreshing{display:none;width:100%}.refresher-pulling-icon,.refresher-refreshing-icon{transform-origin:center;transition:200ms;font-size:30px;text-align:center}[dir=rtl] .refresher-pulling-icon,:host-context([dir=rtl]) .refresher-pulling-icon,[dir=rtl] .refresher-refreshing-icon,:host-context([dir=rtl]) .refresher-refreshing-icon{transform-origin:calc(100% - center)}.refresher-pulling-text,.refresher-refreshing-text{font-size:16px;text-align:center}ion-refresher-content .arrow-container{display:none}.refresher-pulling ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling{display:block}.refresher-ready ion-refresher-content .refresher-pulling-icon{transform:rotate(180deg)}.refresher-refreshing ion-refresher-content .refresher-refreshing{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling{display:block}.refresher-cancelling ion-refresher-content .refresher-pulling-icon{transform:scale(0)}.refresher-completing ion-refresher-content .refresher-refreshing{display:block}.refresher-completing ion-refresher-content .refresher-refreshing-icon{transform:scale(0)}.refresher-native .refresher-pulling-text,.refresher-native .refresher-refreshing-text{display:none}.refresher-md .refresher-pulling-icon,.refresher-md .refresher-refreshing-icon{color:var(--ion-text-color, #000)}.refresher-md .refresher-pulling-text,.refresher-md .refresher-refreshing-text{color:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-lines-md line,.refresher-md .refresher-refreshing .spinner-lines-small-md line,.refresher-md .refresher-refreshing .spinner-crescent circle{stroke:var(--ion-text-color, #000)}.refresher-md .refresher-refreshing .spinner-bubbles circle,.refresher-md .refresher-refreshing .spinner-circles circle,.refresher-md .refresher-refreshing .spinner-dots circle{fill:var(--ion-text-color, #000)}ion-refresher.refresher-native{display:block;z-index:1}ion-refresher.refresher-native ion-spinner{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:24px;height:24px;color:var(--ion-color-primary, #3880ff)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native ion-spinner{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native .spinner-arrow-container{display:inherit}ion-refresher.refresher-native .arrow-container{display:block;position:absolute;width:24px;height:24px}ion-refresher.refresher-native .arrow-container ion-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;left:0;right:0;bottom:-4px;position:absolute;color:var(--ion-color-primary, #3880ff);font-size:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .arrow-container ion-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}ion-refresher.refresher-native.refresher-pulling ion-refresher-content .refresher-pulling,ion-refresher.refresher-native.refresher-ready ion-refresher-content .refresher-pulling{display:flex}ion-refresher.refresher-native.refresher-refreshing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-completing ion-refresher-content .refresher-refreshing,ion-refresher.refresher-native.refresher-cancelling ion-refresher-content .refresher-refreshing{display:flex}ion-refresher.refresher-native .refresher-pulling-icon{transform:translateY(calc(-100% - 10px))}ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;border-radius:100%;padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;display:flex;border:1px solid var(--ion-color-step-200, #ececec);background:var(--ion-color-step-250, #ffffff);box-shadow:0px 1px 6px rgba(0, 0, 0, 0.1)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-refresher.refresher-native .refresher-pulling-icon,ion-refresher.refresher-native .refresher-refreshing-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}";
187
+
188
+ const Refresher = class {
189
+ constructor(hostRef) {
190
+ registerInstance(this, hostRef);
191
+ this.ionRefresh = createEvent(this, "ionRefresh", 7);
192
+ this.ionPull = createEvent(this, "ionPull", 7);
193
+ this.ionStart = createEvent(this, "ionStart", 7);
194
+ this.appliedStyles = false;
195
+ this.didStart = false;
196
+ this.progress = 0;
197
+ this.pointerDown = false;
198
+ this.needsCompletion = false;
199
+ this.didRefresh = false;
200
+ this.lastVelocityY = 0;
201
+ this.animations = [];
202
+ this.nativeRefresher = false;
203
+ /**
204
+ * The current state which the refresher is in. The refresher's states include:
205
+ *
206
+ * - `inactive` - The refresher is not being pulled down or refreshing and is currently hidden.
207
+ * - `pulling` - The user is actively pulling down the refresher, but has not reached the point yet that if the user lets go, it'll refresh.
208
+ * - `cancelling` - The user pulled down the refresher and let go, but did not pull down far enough to kick off the `refreshing` state. After letting go, the refresher is in the `cancelling` state while it is closing, and will go back to the `inactive` state once closed.
209
+ * - `ready` - The user has pulled down the refresher far enough that if they let go, it'll begin the `refreshing` state.
210
+ * - `refreshing` - The refresher is actively waiting on the async operation to end. Once the refresh handler calls `complete()` it will begin the `completing` state.
211
+ * - `completing` - The `refreshing` state has finished and the refresher is in the way of closing itself. Once closed, the refresher will go back to the `inactive` state.
212
+ */
213
+ this.state = 1 /* Inactive */;
214
+ /**
215
+ * The minimum distance the user must pull down until the
216
+ * refresher will go into the `refreshing` state.
217
+ * Does not apply when the refresher content uses a spinner,
218
+ * enabling the native refresher.
219
+ */
220
+ this.pullMin = 60;
221
+ /**
222
+ * The maximum distance of the pull until the refresher
223
+ * will automatically go into the `refreshing` state.
224
+ * Defaults to the result of `pullMin + 60`.
225
+ * Does not apply when the refresher content uses a spinner,
226
+ * enabling the native refresher.
227
+ */
228
+ this.pullMax = this.pullMin + 60;
229
+ /**
230
+ * Time it takes to close the refresher.
231
+ * Does not apply when the refresher content uses a spinner,
232
+ * enabling the native refresher.
233
+ */
234
+ this.closeDuration = '280ms';
235
+ /**
236
+ * Time it takes the refresher to snap back to the `refreshing` state.
237
+ * Does not apply when the refresher content uses a spinner,
238
+ * enabling the native refresher.
239
+ */
240
+ this.snapbackDuration = '280ms';
241
+ /**
242
+ * How much to multiply the pull speed by. To slow the pull animation down,
243
+ * pass a number less than `1`. To speed up the pull, pass a number greater
244
+ * than `1`. The default value is `1` which is equal to the speed of the cursor.
245
+ * If a negative value is passed in, the factor will be `1` instead.
246
+ *
247
+ * For example: If the value passed is `1.2` and the content is dragged by
248
+ * `10` pixels, instead of `10` pixels the content will be pulled by `12` pixels
249
+ * (an increase of 20 percent). If the value passed is `0.8`, the dragged amount
250
+ * will be `8` pixels, less than the amount the cursor has moved.
251
+ *
252
+ * Does not apply when the refresher content uses a spinner,
253
+ * enabling the native refresher.
254
+ */
255
+ this.pullFactor = 1;
256
+ /**
257
+ * If `true`, the refresher will be hidden.
258
+ */
259
+ this.disabled = false;
260
+ }
261
+ disabledChanged() {
262
+ if (this.gesture) {
263
+ this.gesture.enable(!this.disabled);
264
+ }
265
+ }
266
+ async checkNativeRefresher() {
267
+ const useNativeRefresher = await shouldUseNativeRefresher(this.el, getIonMode(this));
268
+ if (useNativeRefresher && !this.nativeRefresher) {
269
+ const contentEl = this.el.closest('ion-content');
270
+ this.setupNativeRefresher(contentEl);
271
+ }
272
+ else if (!useNativeRefresher) {
273
+ this.destroyNativeRefresher();
274
+ }
275
+ }
276
+ destroyNativeRefresher() {
277
+ if (this.scrollEl && this.scrollListenerCallback) {
278
+ this.scrollEl.removeEventListener('scroll', this.scrollListenerCallback);
279
+ this.scrollListenerCallback = undefined;
280
+ }
281
+ this.nativeRefresher = false;
282
+ }
283
+ async resetNativeRefresher(el, state) {
284
+ this.state = state;
285
+ if (getIonMode(this) === 'ios') {
286
+ await translateElement(el, undefined, 300);
287
+ }
288
+ else {
289
+ await transitionEndAsync(this.el.querySelector('.refresher-refreshing-icon'), 200);
290
+ }
291
+ this.didRefresh = false;
292
+ this.needsCompletion = false;
293
+ this.pointerDown = false;
294
+ this.animations.forEach((ani) => ani.destroy());
295
+ this.animations = [];
296
+ this.progress = 0;
297
+ this.state = 1 /* Inactive */;
298
+ }
299
+ async setupiOSNativeRefresher(pullingSpinner, refreshingSpinner) {
300
+ this.elementToTransform = this.scrollEl;
301
+ const ticks = pullingSpinner.shadowRoot.querySelectorAll('svg');
302
+ let MAX_PULL = this.scrollEl.clientHeight * 0.16;
303
+ const NUM_TICKS = ticks.length;
304
+ writeTask(() => ticks.forEach((el) => el.style.setProperty('animation', 'none')));
305
+ this.scrollListenerCallback = () => {
306
+ // If pointer is not on screen or refresher is not active, ignore scroll
307
+ if (!this.pointerDown && this.state === 1 /* Inactive */) {
308
+ return;
309
+ }
310
+ readTask(() => {
311
+ // PTR should only be active when overflow scrolling at the top
312
+ const scrollTop = this.scrollEl.scrollTop;
313
+ const refresherHeight = this.el.clientHeight;
314
+ if (scrollTop > 0) {
315
+ /**
316
+ * If refresher is refreshing and user tries to scroll
317
+ * progressively fade refresher out/in
318
+ */
319
+ if (this.state === 8 /* Refreshing */) {
320
+ const ratio = clamp(0, scrollTop / (refresherHeight * 0.5), 1);
321
+ writeTask(() => setSpinnerOpacity(refreshingSpinner, 1 - ratio));
322
+ return;
323
+ }
324
+ return;
325
+ }
326
+ if (this.pointerDown) {
327
+ if (!this.didStart) {
328
+ this.didStart = true;
329
+ this.ionStart.emit();
330
+ }
331
+ // emit "pulling" on every move
332
+ if (this.pointerDown) {
333
+ this.ionPull.emit();
334
+ }
335
+ }
336
+ /**
337
+ * We want to delay the start of this gesture by ~30px
338
+ * when initially pulling down so the refresher does not
339
+ * overlap with the content. But when letting go of the
340
+ * gesture before the refresher completes, we want the
341
+ * refresher tick marks to quickly fade out.
342
+ */
343
+ const offset = this.didStart ? 30 : 0;
344
+ const pullAmount = (this.progress = clamp(0, (Math.abs(scrollTop) - offset) / MAX_PULL, 1));
345
+ const shouldShowRefreshingSpinner = this.state === 8 /* Refreshing */ || pullAmount === 1;
346
+ if (shouldShowRefreshingSpinner) {
347
+ if (this.pointerDown) {
348
+ handleScrollWhileRefreshing(refreshingSpinner, this.lastVelocityY);
349
+ }
350
+ if (!this.didRefresh) {
351
+ this.beginRefresh();
352
+ this.didRefresh = true;
353
+ hapticImpact({ style: 'light' });
354
+ /**
355
+ * Translate the content element otherwise when pointer is removed
356
+ * from screen the scroll content will bounce back over the refresher
357
+ */
358
+ if (!this.pointerDown) {
359
+ translateElement(this.elementToTransform, `${refresherHeight}px`);
360
+ }
361
+ }
362
+ }
363
+ else {
364
+ this.state = 2 /* Pulling */;
365
+ handleScrollWhilePulling(ticks, NUM_TICKS, pullAmount);
366
+ }
367
+ });
368
+ };
369
+ this.scrollEl.addEventListener('scroll', this.scrollListenerCallback);
370
+ this.gesture = (await import('./index-21661af2.js')).createGesture({
371
+ el: this.scrollEl,
372
+ gestureName: 'refresher',
373
+ gesturePriority: 31,
374
+ direction: 'y',
375
+ threshold: 5,
376
+ onStart: () => {
377
+ this.pointerDown = true;
378
+ if (!this.didRefresh) {
379
+ translateElement(this.elementToTransform, '0px');
380
+ }
381
+ /**
382
+ * If the content had `display: none` when
383
+ * the refresher was initialized, its clientHeight
384
+ * will be 0. When the gesture starts, the content
385
+ * will be visible, so try to get the correct
386
+ * client height again. This is most common when
387
+ * using the refresher in an ion-menu.
388
+ */
389
+ if (MAX_PULL === 0) {
390
+ MAX_PULL = this.scrollEl.clientHeight * 0.16;
391
+ }
392
+ },
393
+ onMove: (ev) => {
394
+ this.lastVelocityY = ev.velocityY;
395
+ },
396
+ onEnd: () => {
397
+ this.pointerDown = false;
398
+ this.didStart = false;
399
+ if (this.needsCompletion) {
400
+ this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */);
401
+ this.needsCompletion = false;
402
+ }
403
+ else if (this.didRefresh) {
404
+ readTask(() => translateElement(this.elementToTransform, `${this.el.clientHeight}px`));
405
+ }
406
+ },
407
+ });
408
+ this.disabledChanged();
409
+ }
410
+ async setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner) {
411
+ const circle = getElementRoot(pullingSpinner).querySelector('circle');
412
+ const pullingRefresherIcon = this.el.querySelector('ion-refresher-content .refresher-pulling-icon');
413
+ const refreshingCircle = getElementRoot(refreshingSpinner).querySelector('circle');
414
+ if (circle !== null && refreshingCircle !== null) {
415
+ writeTask(() => {
416
+ circle.style.setProperty('animation', 'none');
417
+ // This lines up the animation on the refreshing spinner with the pulling spinner
418
+ refreshingSpinner.style.setProperty('animation-delay', '-655ms');
419
+ refreshingCircle.style.setProperty('animation-delay', '-655ms');
420
+ });
421
+ }
422
+ this.gesture = (await import('./index-21661af2.js')).createGesture({
423
+ el: this.scrollEl,
424
+ gestureName: 'refresher',
425
+ gesturePriority: 31,
426
+ direction: 'y',
427
+ threshold: 5,
428
+ canStart: () => this.state !== 8 /* Refreshing */ &&
429
+ this.state !== 32 /* Completing */ &&
430
+ this.scrollEl.scrollTop === 0,
431
+ onStart: (ev) => {
432
+ this.progress = 0;
433
+ ev.data = { animation: undefined, didStart: false, cancelled: false };
434
+ },
435
+ onMove: (ev) => {
436
+ if ((ev.velocityY < 0 && this.progress === 0 && !ev.data.didStart) || ev.data.cancelled) {
437
+ ev.data.cancelled = true;
438
+ return;
439
+ }
440
+ if (!ev.data.didStart) {
441
+ ev.data.didStart = true;
442
+ this.state = 2 /* Pulling */;
443
+ writeTask(() => this.scrollEl.style.setProperty('--overflow', 'hidden'));
444
+ const animationType = getRefresherAnimationType(contentEl);
445
+ const animation = createPullingAnimation(animationType, pullingRefresherIcon, this.el);
446
+ ev.data.animation = animation;
447
+ animation.progressStart(false, 0);
448
+ this.ionStart.emit();
449
+ this.animations.push(animation);
450
+ return;
451
+ }
452
+ // Since we are using an easing curve, slow the gesture tracking down a bit
453
+ this.progress = clamp(0, (ev.deltaY / 180) * 0.5, 1);
454
+ ev.data.animation.progressStep(this.progress);
455
+ this.ionPull.emit();
456
+ },
457
+ onEnd: (ev) => {
458
+ if (!ev.data.didStart) {
459
+ return;
460
+ }
461
+ this.gesture.enable(false);
462
+ writeTask(() => this.scrollEl.style.removeProperty('--overflow'));
463
+ if (this.progress <= 0.4) {
464
+ ev.data.animation.progressEnd(0, this.progress, 500).onFinish(() => {
465
+ this.animations.forEach((ani) => ani.destroy());
466
+ this.animations = [];
467
+ this.gesture.enable(true);
468
+ this.state = 1 /* Inactive */;
469
+ });
470
+ return;
471
+ }
472
+ const progress = getTimeGivenProgression([0, 0], [0, 0], [1, 1], [1, 1], this.progress)[0];
473
+ const snapBackAnimation = createSnapBackAnimation(pullingRefresherIcon);
474
+ this.animations.push(snapBackAnimation);
475
+ writeTask(async () => {
476
+ pullingRefresherIcon.style.setProperty('--ion-pulling-refresher-translate', `${progress * 100}px`);
477
+ ev.data.animation.progressEnd();
478
+ await snapBackAnimation.play();
479
+ this.beginRefresh();
480
+ ev.data.animation.destroy();
481
+ this.gesture.enable(true);
482
+ });
483
+ },
484
+ });
485
+ this.disabledChanged();
486
+ }
487
+ async setupNativeRefresher(contentEl) {
488
+ if (this.scrollListenerCallback || !contentEl || this.nativeRefresher || !this.scrollEl) {
489
+ return;
490
+ }
491
+ /**
492
+ * If using non-native refresher before make sure
493
+ * we clean up any old CSS. This can happen when
494
+ * a user manually calls the refresh method in a
495
+ * component create callback before the native
496
+ * refresher is setup.
497
+ */
498
+ this.setCss(0, '', false, '');
499
+ this.nativeRefresher = true;
500
+ const pullingSpinner = this.el.querySelector('ion-refresher-content .refresher-pulling ion-spinner');
501
+ const refreshingSpinner = this.el.querySelector('ion-refresher-content .refresher-refreshing ion-spinner');
502
+ if (getIonMode(this) === 'ios') {
503
+ this.setupiOSNativeRefresher(pullingSpinner, refreshingSpinner);
504
+ }
505
+ else {
506
+ this.setupMDNativeRefresher(contentEl, pullingSpinner, refreshingSpinner);
507
+ }
508
+ }
509
+ componentDidUpdate() {
510
+ this.checkNativeRefresher();
511
+ }
512
+ async connectedCallback() {
513
+ if (this.el.getAttribute('slot') !== 'fixed') {
514
+ console.error('Make sure you use: <ion-refresher slot="fixed">');
515
+ return;
516
+ }
517
+ const contentEl = this.el.closest(ION_CONTENT_ELEMENT_SELECTOR);
518
+ if (!contentEl) {
519
+ printIonContentErrorMsg(this.el);
520
+ return;
521
+ }
522
+ const customScrollTarget = contentEl.querySelector(ION_CONTENT_CLASS_SELECTOR);
523
+ /**
524
+ * Query the custom scroll target (if available), first. In refresher implementations,
525
+ * the ion-refresher element will always be a direct child of ion-content (slot="fixed"). By
526
+ * querying the custom scroll target first and falling back to the ion-content element,
527
+ * the correct scroll element will be returned by the implementation.
528
+ */
529
+ this.scrollEl = await getScrollElement(customScrollTarget !== null && customScrollTarget !== void 0 ? customScrollTarget : contentEl);
530
+ /**
531
+ * Query the host `ion-content` directly (if it is available), to use its
532
+ * inner #background-content has the target. Otherwise fallback to the
533
+ * custom scroll target host.
534
+ *
535
+ * This makes it so that implementers do not need to re-create the background content
536
+ * element and styles.
537
+ */
538
+ this.backgroundContentEl = getElementRoot(contentEl !== null && contentEl !== void 0 ? contentEl : customScrollTarget).querySelector('#background-content');
539
+ if (await shouldUseNativeRefresher(this.el, getIonMode(this))) {
540
+ this.setupNativeRefresher(contentEl);
541
+ }
542
+ else {
543
+ this.gesture = (await import('./index-21661af2.js')).createGesture({
544
+ el: contentEl,
545
+ gestureName: 'refresher',
546
+ gesturePriority: 31,
547
+ direction: 'y',
548
+ threshold: 20,
549
+ passive: false,
550
+ canStart: () => this.canStart(),
551
+ onStart: () => this.onStart(),
552
+ onMove: (ev) => this.onMove(ev),
553
+ onEnd: () => this.onEnd(),
554
+ });
555
+ this.disabledChanged();
556
+ }
557
+ }
558
+ disconnectedCallback() {
559
+ this.destroyNativeRefresher();
560
+ this.scrollEl = undefined;
561
+ if (this.gesture) {
562
+ this.gesture.destroy();
563
+ this.gesture = undefined;
564
+ }
565
+ }
566
+ /**
567
+ * Call `complete()` when your async operation has completed.
568
+ * For example, the `refreshing` state is while the app is performing
569
+ * an asynchronous operation, such as receiving more data from an
570
+ * AJAX request. Once the data has been received, you then call this
571
+ * method to signify that the refreshing has completed and to close
572
+ * the refresher. This method also changes the refresher's state from
573
+ * `refreshing` to `completing`.
574
+ */
575
+ async complete() {
576
+ if (this.nativeRefresher) {
577
+ this.needsCompletion = true;
578
+ // Do not reset scroll el until user removes pointer from screen
579
+ if (!this.pointerDown) {
580
+ raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 32 /* Completing */)));
581
+ }
582
+ }
583
+ else {
584
+ this.close(32 /* Completing */, '120ms');
585
+ }
586
+ }
587
+ /**
588
+ * Changes the refresher's state from `refreshing` to `cancelling`.
589
+ */
590
+ async cancel() {
591
+ if (this.nativeRefresher) {
592
+ // Do not reset scroll el until user removes pointer from screen
593
+ if (!this.pointerDown) {
594
+ raf(() => raf(() => this.resetNativeRefresher(this.elementToTransform, 16 /* Cancelling */)));
595
+ }
596
+ }
597
+ else {
598
+ this.close(16 /* Cancelling */, '');
599
+ }
600
+ }
601
+ /**
602
+ * A number representing how far down the user has pulled.
603
+ * The number `0` represents the user hasn't pulled down at all. The
604
+ * number `1`, and anything greater than `1`, represents that the user
605
+ * has pulled far enough down that when they let go then the refresh will
606
+ * happen. If they let go and the number is less than `1`, then the
607
+ * refresh will not happen, and the content will return to it's original
608
+ * position.
609
+ */
610
+ getProgress() {
611
+ return Promise.resolve(this.progress);
612
+ }
613
+ canStart() {
614
+ if (!this.scrollEl) {
615
+ return false;
616
+ }
617
+ if (this.state !== 1 /* Inactive */) {
618
+ return false;
619
+ }
620
+ // if the scrollTop is greater than zero then it's
621
+ // not possible to pull the content down yet
622
+ if (this.scrollEl.scrollTop > 0) {
623
+ return false;
624
+ }
625
+ return true;
626
+ }
627
+ onStart() {
628
+ this.progress = 0;
629
+ this.state = 1 /* Inactive */;
630
+ }
631
+ onMove(detail) {
632
+ if (!this.scrollEl) {
633
+ return;
634
+ }
635
+ // this method can get called like a bazillion times per second,
636
+ // so it's built to be as efficient as possible, and does its
637
+ // best to do any DOM read/writes only when absolutely necessary
638
+ // if multi-touch then get out immediately
639
+ const ev = detail.event;
640
+ if (ev.touches && ev.touches.length > 1) {
641
+ return;
642
+ }
643
+ // do nothing if it's actively refreshing
644
+ // or it's in the way of closing
645
+ // or this was never a startY
646
+ if ((this.state & 56 /* _BUSY_ */) !== 0) {
647
+ return;
648
+ }
649
+ const pullFactor = Number.isNaN(this.pullFactor) || this.pullFactor < 0 ? 1 : this.pullFactor;
650
+ const deltaY = detail.deltaY * pullFactor;
651
+ // don't bother if they're scrolling up
652
+ // and have not already started dragging
653
+ if (deltaY <= 0) {
654
+ // the current Y is higher than the starting Y
655
+ // so they scrolled up enough to be ignored
656
+ this.progress = 0;
657
+ this.state = 1 /* Inactive */;
658
+ if (this.appliedStyles) {
659
+ // reset the styles only if they were applied
660
+ this.setCss(0, '', false, '');
661
+ return;
662
+ }
663
+ return;
664
+ }
665
+ if (this.state === 1 /* Inactive */) {
666
+ // this refresh is not already actively pulling down
667
+ // get the content's scrollTop
668
+ const scrollHostScrollTop = this.scrollEl.scrollTop;
669
+ // if the scrollTop is greater than zero then it's
670
+ // not possible to pull the content down yet
671
+ if (scrollHostScrollTop > 0) {
672
+ this.progress = 0;
673
+ return;
674
+ }
675
+ // content scrolled all the way to the top, and dragging down
676
+ this.state = 2 /* Pulling */;
677
+ }
678
+ // prevent native scroll events
679
+ if (ev.cancelable) {
680
+ ev.preventDefault();
681
+ }
682
+ // the refresher is actively pulling at this point
683
+ // move the scroll element within the content element
684
+ this.setCss(deltaY, '0ms', true, '');
685
+ if (deltaY === 0) {
686
+ // don't continue if there's no delta yet
687
+ this.progress = 0;
688
+ return;
689
+ }
690
+ const pullMin = this.pullMin;
691
+ // set pull progress
692
+ this.progress = deltaY / pullMin;
693
+ // emit "start" if it hasn't started yet
694
+ if (!this.didStart) {
695
+ this.didStart = true;
696
+ this.ionStart.emit();
697
+ }
698
+ // emit "pulling" on every move
699
+ this.ionPull.emit();
700
+ // do nothing if the delta is less than the pull threshold
701
+ if (deltaY < pullMin) {
702
+ // ensure it stays in the pulling state, cuz its not ready yet
703
+ this.state = 2 /* Pulling */;
704
+ return;
705
+ }
706
+ if (deltaY > this.pullMax) {
707
+ // they pulled farther than the max, so kick off the refresh
708
+ this.beginRefresh();
709
+ return;
710
+ }
711
+ // pulled farther than the pull min!!
712
+ // it is now in the `ready` state!!
713
+ // if they let go then it'll refresh, kerpow!!
714
+ this.state = 4 /* Ready */;
715
+ return;
716
+ }
717
+ onEnd() {
718
+ // only run in a zone when absolutely necessary
719
+ if (this.state === 4 /* Ready */) {
720
+ // they pulled down far enough, so it's ready to refresh
721
+ this.beginRefresh();
722
+ }
723
+ else if (this.state === 2 /* Pulling */) {
724
+ // they were pulling down, but didn't pull down far enough
725
+ // set the content back to it's original location
726
+ // and close the refresher
727
+ // set that the refresh is actively cancelling
728
+ this.cancel();
729
+ }
730
+ }
731
+ beginRefresh() {
732
+ // assumes we're already back in a zone
733
+ // they pulled down far enough, so it's ready to refresh
734
+ this.state = 8 /* Refreshing */;
735
+ // place the content in a hangout position while it thinks
736
+ this.setCss(this.pullMin, this.snapbackDuration, true, '');
737
+ // emit "refresh" because it was pulled down far enough
738
+ // and they let go to begin refreshing
739
+ this.ionRefresh.emit({
740
+ complete: this.complete.bind(this),
741
+ });
742
+ }
743
+ close(state, delay) {
744
+ // create fallback timer incase something goes wrong with transitionEnd event
745
+ setTimeout(() => {
746
+ this.state = 1 /* Inactive */;
747
+ this.progress = 0;
748
+ this.didStart = false;
749
+ this.setCss(0, '0ms', false, '');
750
+ }, 600);
751
+ // reset set the styles on the scroll element
752
+ // set that the refresh is actively cancelling/completing
753
+ this.state = state;
754
+ this.setCss(0, this.closeDuration, true, delay);
755
+ // TODO: stop gesture
756
+ }
757
+ setCss(y, duration, overflowVisible, delay) {
758
+ if (this.nativeRefresher) {
759
+ return;
760
+ }
761
+ this.appliedStyles = y > 0;
762
+ writeTask(() => {
763
+ if (this.scrollEl && this.backgroundContentEl) {
764
+ const scrollStyle = this.scrollEl.style;
765
+ const backgroundStyle = this.backgroundContentEl.style;
766
+ scrollStyle.transform = backgroundStyle.transform = y > 0 ? `translateY(${y}px) translateZ(0px)` : '';
767
+ scrollStyle.transitionDuration = backgroundStyle.transitionDuration = duration;
768
+ scrollStyle.transitionDelay = backgroundStyle.transitionDelay = delay;
769
+ scrollStyle.overflow = overflowVisible ? 'hidden' : '';
770
+ }
771
+ });
772
+ }
773
+ render() {
774
+ const mode = getIonMode(this);
775
+ return (h(Host, { slot: "fixed", class: {
776
+ [mode]: true,
777
+ // Used internally for styling
778
+ [`refresher-${mode}`]: true,
779
+ 'refresher-native': this.nativeRefresher,
780
+ 'refresher-active': this.state !== 1 /* Inactive */,
781
+ 'refresher-pulling': this.state === 2 /* Pulling */,
782
+ 'refresher-ready': this.state === 4 /* Ready */,
783
+ 'refresher-refreshing': this.state === 8 /* Refreshing */,
784
+ 'refresher-cancelling': this.state === 16 /* Cancelling */,
785
+ 'refresher-completing': this.state === 32 /* Completing */,
786
+ } }));
787
+ }
788
+ get el() { return getElement(this); }
789
+ static get watchers() { return {
790
+ "disabled": ["disabledChanged"]
791
+ }; }
792
+ };
793
+ Refresher.style = {
794
+ ios: refresherIosCss,
795
+ md: refresherMdCss
796
+ };
797
+
798
+ export { Refresher as ion_refresher };