@sparkle-learning/core 0.0.19 → 0.0.20

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 (566) hide show
  1. package/dist/cjs/{PrivateRoute-20e27028.js → PrivateRoute-cee9b061.js} +43 -43
  2. package/dist/cjs/{active-router-dca7573e.js → active-router-3bd7b540.js} +1 -1
  3. package/dist/cjs/{app-globals-bea78913.js → app-globals-98121d6d.js} +1 -1
  4. package/dist/cjs/{assets.service-5098e79c.js → assets.service-0c759d51.js} +2 -27
  5. package/dist/cjs/{httpService-6377985c.js → auth.store-aba3d22f.js} +31 -5
  6. package/dist/cjs/{button-active-1edcd24e.js → button-active-9456fb4d.js} +1 -1
  7. package/dist/cjs/compass-svg.cjs.entry.js +132 -0
  8. package/dist/cjs/context-consumer.cjs.entry.js +1 -1
  9. package/dist/cjs/course-select.cjs.entry.js +1 -1
  10. package/dist/cjs/environment-config.service-0e02b049.js +29 -0
  11. package/dist/cjs/facilitator.service-e1e2f719.js +94 -0
  12. package/dist/cjs/feed.service-518d18fd.js +5802 -0
  13. package/dist/cjs/header-mobile-collapse_60.cjs.entry.js +86 -0
  14. package/dist/cjs/{icons-fda1e4fc.js → icons-a0fef92b.js} +2 -6
  15. package/dist/cjs/{index-123ceda0.js → index-58b3ee93.js} +3 -3
  16. package/dist/cjs/{index-786a6369.js → index-7bcd36a0.js} +1 -1
  17. package/dist/cjs/{index-56cc404a.js → index-fbf4d3bf.js} +2 -0
  18. package/dist/cjs/index.cjs.js +9 -8
  19. package/dist/cjs/index.es-6a9d5ef8.js +13834 -0
  20. package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
  21. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  22. package/dist/cjs/ion-app.cjs.entry.js +3 -3
  23. package/dist/cjs/ion-back-button.cjs.entry.js +89 -0
  24. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
  25. package/dist/cjs/ion-badge.cjs.entry.js +2 -2
  26. package/dist/cjs/{ion-back-button_4.cjs.entry.js → ion-buttons_3.cjs.entry.js} +2 -83
  27. package/dist/cjs/ion-card-header.cjs.entry.js +2 -2
  28. package/dist/cjs/ion-card-subtitle.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-card-title.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-chip.cjs.entry.js +2 -2
  31. package/dist/cjs/{ion-content.cjs.entry.js → ion-content_2.cjs.entry.js} +259 -2
  32. package/dist/cjs/ion-datetime.cjs.entry.js +3 -3
  33. package/dist/cjs/ion-fab-button.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-fab-list.cjs.entry.js +2 -2
  35. package/dist/cjs/ion-fab.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-footer.cjs.entry.js +2 -2
  37. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  38. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +2 -2
  39. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +2 -2
  40. package/dist/cjs/ion-item-divider.cjs.entry.js +2 -2
  41. package/dist/cjs/ion-item-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-item-option.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-item-options.cjs.entry.js +2 -2
  44. package/dist/cjs/ion-item-sliding.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  46. package/dist/cjs/ion-menu-button.cjs.entry.js +4 -4
  47. package/dist/cjs/ion-menu-toggle.cjs.entry.js +4 -4
  48. package/dist/cjs/ion-menu.cjs.entry.js +3 -3
  49. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  50. package/dist/cjs/ion-nav-link.cjs.entry.js +1 -1
  51. package/dist/cjs/ion-nav.cjs.entry.js +3 -3
  52. package/dist/cjs/ion-note.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-picker.cjs.entry.js +3 -3
  55. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  56. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-refresher-content.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-refresher.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-reorder-group.cjs.entry.js +2 -2
  60. package/dist/cjs/ion-reorder.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  62. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  63. package/dist/cjs/ion-router-link.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-router-outlet.cjs.entry.js +3 -3
  65. package/dist/cjs/ion-router.cjs.entry.js +1 -1
  66. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  67. package/dist/cjs/ion-segment-button.cjs.entry.js +2 -2
  68. package/dist/cjs/ion-segment.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-select-popover.cjs.entry.js +3 -3
  70. package/dist/cjs/ion-select_2.cjs.entry.js +3 -3
  71. package/dist/cjs/ion-skeleton-text.cjs.entry.js +2 -2
  72. package/dist/cjs/ion-slide.cjs.entry.js +2 -2
  73. package/dist/cjs/ion-slides.cjs.entry.js +2 -2
  74. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  75. package/dist/cjs/ion-tab-bar.cjs.entry.js +2 -2
  76. package/dist/cjs/ion-tab-button.cjs.entry.js +2 -2
  77. package/dist/cjs/ion-tab.cjs.entry.js +1 -1
  78. package/dist/cjs/ion-tabs.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  80. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +1 -1
  84. package/dist/cjs/{ionic-global-57e21b7b.js → ionic-global-4930d319.js} +1 -1
  85. package/dist/cjs/{ios.transition-b6898b4e.js → ios.transition-6e1fd3d6.js} +2 -2
  86. package/dist/cjs/loader.cjs.js +4 -4
  87. package/dist/cjs/{md.transition-dcccb17e.js → md.transition-3652ad78.js} +2 -2
  88. package/dist/cjs/{menu-toggle-util-36785376.js → menu-toggle-util-a8fb4c56.js} +1 -1
  89. package/dist/cjs/{overlays-09ece60d.js → overlays-08a817ea.js} +1 -1
  90. package/dist/cjs/purify-9804ff8d.js +1355 -0
  91. package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
  92. package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
  93. package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
  94. package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
  95. package/dist/cjs/sparkle-core.cjs.js +4 -4
  96. package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
  97. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +118 -0
  98. package/dist/cjs/sparkle-feed-post.cjs.entry.js +1 -1
  99. package/dist/cjs/sparkle-feedback.cjs.entry.js +19 -6
  100. package/dist/cjs/sparkle-goal-form.cjs.entry.js +75 -34
  101. package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +2 -2
  102. package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
  103. package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
  104. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
  105. package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
  106. package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
  107. package/dist/cjs/sparkle-overlay.cjs.entry.js +92 -0
  108. package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
  109. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
  110. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
  111. package/dist/cjs/sparkle-quiz.cjs.entry.js +4 -3
  112. package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
  113. package/dist/cjs/sparkle-sidebar.cjs.entry.js +43 -0
  114. package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
  115. package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
  116. package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
  117. package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
  118. package/dist/cjs/{status-tap-18630b4c.js → status-tap-466a7c6a.js} +1 -1
  119. package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
  120. package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
  121. package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
  122. package/dist/cjs/{student.service-93a3c3e1.js → student.service-41c7c78d.js} +17 -14
  123. package/dist/collection/assets/svg/profile.svg +2 -0
  124. package/dist/collection/collection-manifest.json +8 -0
  125. package/dist/collection/components/compass-svg/compass-svg.css +15 -0
  126. package/dist/collection/components/compass-svg/compass-svg.js +156 -0
  127. package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.css +7 -0
  128. package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.js +110 -0
  129. package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.css +3 -0
  130. package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.js +214 -0
  131. package/dist/collection/components/layout/facilitator/facilitator-header/facilitator-header.js +2 -8
  132. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.css +3 -0
  133. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.js +144 -0
  134. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.css +14 -0
  135. package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.js +64 -0
  136. package/dist/collection/components/layout/facilitator/facilitator-page.css +13 -3
  137. package/dist/collection/components/layout/facilitator/facilitator-page.js +147 -24
  138. package/dist/collection/components/layout/facilitator/online-students/online-students.js +59 -2
  139. package/dist/collection/components/layout/page/page.js +93 -4
  140. package/dist/collection/components/layout/page/templates/index.js +2 -0
  141. package/dist/collection/components/layout/page/templates/pdf.js +8 -0
  142. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.css +3 -3
  143. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.js +98 -64
  144. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.css +12 -29
  145. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.js +23 -6
  146. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.css +33 -0
  147. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.js +37 -0
  148. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.css +8 -8
  149. package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.js +15 -60
  150. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.css +7 -7
  151. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.js +3 -1
  152. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-graph/sparkle-gww-graph.css +3 -3
  153. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.css +30 -29
  154. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.js +111 -11
  155. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.css +3 -3
  156. package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.js +30 -64
  157. package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.css +10 -3
  158. package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.js +51 -11
  159. package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.css +11 -11
  160. package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.js +38 -8
  161. package/dist/collection/components/sparkle-course-root/sparkle-course-root.css +3 -3
  162. package/dist/collection/components/sparkle-course-root/sparkle-course-root.js +24 -25
  163. package/dist/collection/components/sparkle-emoji/sparkle-emoji.css +16 -16
  164. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +3 -3
  165. package/dist/collection/components/sparkle-feedback/sparkle-feedback.css +3 -3
  166. package/dist/collection/components/sparkle-feedback/sparkle-feedback.js +14 -1
  167. package/dist/collection/components/sparkle-forgot-password/sparkle-forgot-password.js +39 -5
  168. package/dist/collection/components/sparkle-login/sparkle-login.js +3 -1
  169. package/dist/collection/components/sparkle-poll/sparkle-poll.css +3 -3
  170. package/dist/collection/components/sparkle-quiz/sparkle-quiz-feedback/sparkle-quiz-feedback.css +3 -3
  171. package/dist/collection/components/sparkle-quiz/sparkle-quiz-input/sparkle-quiz-input.css +3 -3
  172. package/dist/collection/components/sparkle-quiz/sparkle-quiz-poll/sparkle-quiz-poll.css +3 -3
  173. package/dist/collection/components/sparkle-quiz/sparkle-quiz-select/sparkle-quiz-select.css +3 -3
  174. package/dist/collection/components/sparkle-quiz-container/sparkle-quiz-container.css +3 -3
  175. package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.css +3 -0
  176. package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.js +126 -0
  177. package/dist/collection/components/sparkle-root/sparkle-root.css +16 -0
  178. package/dist/collection/components/sparkle-root/sparkle-root.js +24 -1
  179. package/dist/collection/components/sparkle-signup/sparkle-signup.js +16 -12
  180. package/dist/collection/components/sparkle-unauthorized/sparkle-unauthorized.css +13 -13
  181. package/dist/collection/components/sparkle-user-enrollment/sparkle-user-enrollment.css +3 -3
  182. package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.css +54 -3
  183. package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.js +35 -8
  184. package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.css +11 -0
  185. package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.js +44 -0
  186. package/dist/collection/icons.js +1 -0
  187. package/dist/collection/models/class.model.js +5 -1
  188. package/dist/collection/models/facilitator-dashboard.model.js +5 -0
  189. package/dist/collection/services/account.service.js +42 -4
  190. package/dist/collection/services/appdata.service.js +60 -0
  191. package/dist/collection/services/auth/auth.service.js +34 -25
  192. package/dist/collection/services/environment/environment-config.js +4 -1
  193. package/dist/collection/services/facilitator.service.js +76 -0
  194. package/dist/collection/services/feed.service.js +43 -0
  195. package/dist/collection/services/httpService.js +16 -3
  196. package/dist/collection/services/media.service.js +29 -0
  197. package/dist/collection/services/signalR.service.js +85 -0
  198. package/dist/collection/services/student.service.js +8 -7
  199. package/dist/collection/stores/auth.store.js +2 -1
  200. package/dist/collection/stores/facilitator.store.js +11 -2
  201. package/dist/collection/stores/feed.store.js +3 -1
  202. package/dist/collection/stores/goal.store.js +2 -0
  203. package/dist/collection/stores/media.store.js +5 -0
  204. package/dist/collection/stores/signalR.store.js +6 -0
  205. package/dist/collection/stores/user.store.js +3 -1
  206. package/dist/collection/util.js +23 -1
  207. package/dist/esm/{PrivateRoute-c10669e7.js → PrivateRoute-9f0973bb.js} +41 -40
  208. package/dist/esm/{active-router-044bf79e.js → active-router-b3ae32c7.js} +1 -1
  209. package/dist/esm/{app-globals-d592451f.js → app-globals-6451faf3.js} +1 -1
  210. package/dist/esm/{assets.service-da511a45.js → assets.service-66e848b8.js} +2 -26
  211. package/dist/esm/{httpService-010551aa.js → auth.store-dd944bc2.js} +31 -6
  212. package/dist/esm/{button-active-32a41594.js → button-active-97535443.js} +1 -1
  213. package/dist/esm/compass-svg.entry.js +128 -0
  214. package/dist/esm/context-consumer.entry.js +1 -1
  215. package/dist/esm/course-select.entry.js +1 -1
  216. package/dist/esm/environment-config.service-2b5d692b.js +27 -0
  217. package/dist/esm/facilitator.service-cddb2feb.js +91 -0
  218. package/dist/esm/feed.service-0fda1e36.js +5787 -0
  219. package/dist/esm/header-mobile-collapse_60.entry.js +19 -0
  220. package/dist/esm/{icons-212531e8.js → icons-33e5804c.js} +3 -6
  221. package/dist/esm/{index-24b18689.js → index-55fc9f5e.js} +2 -1
  222. package/dist/esm/{index-243ec2f9.js → index-a94619f9.js} +3 -3
  223. package/dist/esm/{index-c539b2bc.js → index-dc09784f.js} +1 -1
  224. package/dist/esm/index.es-8ad3b6a1.js +13748 -0
  225. package/dist/esm/index.js +7 -6
  226. package/dist/esm/ion-action-sheet.entry.js +4 -4
  227. package/dist/esm/ion-alert.entry.js +4 -4
  228. package/dist/esm/ion-app.entry.js +3 -3
  229. package/dist/esm/ion-back-button.entry.js +85 -0
  230. package/dist/esm/ion-backdrop.entry.js +2 -2
  231. package/dist/esm/ion-badge.entry.js +2 -2
  232. package/dist/esm/{ion-back-button_4.entry.js → ion-buttons_3.entry.js} +4 -84
  233. package/dist/esm/ion-card-header.entry.js +2 -2
  234. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  235. package/dist/esm/ion-card-title.entry.js +2 -2
  236. package/dist/esm/ion-chip.entry.js +2 -2
  237. package/dist/esm/{ion-content.entry.js → ion-content_2.entry.js} +259 -3
  238. package/dist/esm/ion-datetime.entry.js +3 -3
  239. package/dist/esm/ion-fab-button.entry.js +2 -2
  240. package/dist/esm/ion-fab-list.entry.js +2 -2
  241. package/dist/esm/ion-fab.entry.js +2 -2
  242. package/dist/esm/ion-footer.entry.js +2 -2
  243. package/dist/esm/ion-img.entry.js +2 -2
  244. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  245. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  246. package/dist/esm/ion-item-divider.entry.js +2 -2
  247. package/dist/esm/ion-item-group.entry.js +2 -2
  248. package/dist/esm/ion-item-option.entry.js +2 -2
  249. package/dist/esm/ion-item-options.entry.js +2 -2
  250. package/dist/esm/ion-item-sliding.entry.js +2 -2
  251. package/dist/esm/ion-loading.entry.js +3 -3
  252. package/dist/esm/ion-menu-button.entry.js +4 -4
  253. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  254. package/dist/esm/ion-menu.entry.js +3 -3
  255. package/dist/esm/ion-modal.entry.js +4 -4
  256. package/dist/esm/ion-nav-link.entry.js +1 -1
  257. package/dist/esm/ion-nav.entry.js +3 -3
  258. package/dist/esm/ion-note.entry.js +2 -2
  259. package/dist/esm/ion-picker-column.entry.js +2 -2
  260. package/dist/esm/ion-picker.entry.js +3 -3
  261. package/dist/esm/ion-popover.entry.js +4 -4
  262. package/dist/esm/ion-progress-bar.entry.js +2 -2
  263. package/dist/esm/ion-refresher-content.entry.js +2 -2
  264. package/dist/esm/ion-refresher.entry.js +2 -2
  265. package/dist/esm/ion-reorder-group.entry.js +2 -2
  266. package/dist/esm/ion-reorder.entry.js +2 -2
  267. package/dist/esm/ion-route-redirect.entry.js +1 -1
  268. package/dist/esm/ion-route.entry.js +1 -1
  269. package/dist/esm/ion-router-link.entry.js +2 -2
  270. package/dist/esm/ion-router-outlet.entry.js +3 -3
  271. package/dist/esm/ion-router.entry.js +1 -1
  272. package/dist/esm/ion-searchbar.entry.js +2 -2
  273. package/dist/esm/ion-segment-button.entry.js +2 -2
  274. package/dist/esm/ion-segment.entry.js +2 -2
  275. package/dist/esm/ion-select-popover.entry.js +3 -3
  276. package/dist/esm/ion-select_2.entry.js +3 -3
  277. package/dist/esm/ion-skeleton-text.entry.js +2 -2
  278. package/dist/esm/ion-slide.entry.js +2 -2
  279. package/dist/esm/ion-slides.entry.js +2 -2
  280. package/dist/esm/ion-split-pane.entry.js +2 -2
  281. package/dist/esm/ion-tab-bar.entry.js +2 -2
  282. package/dist/esm/ion-tab-button.entry.js +2 -2
  283. package/dist/esm/ion-tab.entry.js +1 -1
  284. package/dist/esm/ion-tabs.entry.js +1 -1
  285. package/dist/esm/ion-textarea.entry.js +2 -2
  286. package/dist/esm/ion-thumbnail.entry.js +2 -2
  287. package/dist/esm/ion-toast.entry.js +3 -3
  288. package/dist/esm/ion-toggle.entry.js +2 -2
  289. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  290. package/dist/esm/{ionic-global-fddd88d0.js → ionic-global-1f9287cc.js} +1 -1
  291. package/dist/esm/{ios.transition-1ffb59e3.js → ios.transition-d01abefd.js} +2 -2
  292. package/dist/esm/loader.js +4 -4
  293. package/dist/esm/{md.transition-18b7b80d.js → md.transition-245ffa55.js} +2 -2
  294. package/dist/esm/{menu-toggle-util-729c91ad.js → menu-toggle-util-fe83fcf5.js} +1 -1
  295. package/dist/esm/{overlays-8606ae17.js → overlays-8363621c.js} +2 -2
  296. package/dist/esm/purify-76634fc8.js +1353 -0
  297. package/dist/esm/sparkle-animation-player.entry.js +1 -1
  298. package/dist/esm/sparkle-code.entry.js +2 -2
  299. package/dist/esm/sparkle-compass-post.entry.js +1 -1
  300. package/dist/esm/sparkle-compass.entry.js +1 -1
  301. package/dist/esm/sparkle-core.js +4 -4
  302. package/dist/esm/sparkle-emoji.entry.js +1 -1
  303. package/dist/esm/sparkle-facilitator-notes-form.entry.js +114 -0
  304. package/dist/esm/sparkle-feed-post.entry.js +1 -1
  305. package/dist/esm/sparkle-feedback.entry.js +19 -6
  306. package/dist/esm/sparkle-goal-form.entry.js +73 -32
  307. package/dist/esm/sparkle-gww-comment-list.entry.js +2 -2
  308. package/dist/esm/sparkle-gww-graph.entry.js +1 -1
  309. package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
  310. package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
  311. package/dist/esm/sparkle-modal-image.entry.js +1 -1
  312. package/dist/esm/sparkle-notfound-page.entry.js +1 -1
  313. package/dist/esm/sparkle-overlay.entry.js +88 -0
  314. package/dist/esm/sparkle-poll.entry.js +1 -1
  315. package/dist/esm/sparkle-quiz-container.entry.js +1 -1
  316. package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
  317. package/dist/esm/sparkle-quiz.entry.js +3 -2
  318. package/dist/esm/sparkle-select.entry.js +1 -1
  319. package/dist/esm/sparkle-sidebar.entry.js +39 -0
  320. package/dist/esm/sparkle-tab.entry.js +1 -1
  321. package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
  322. package/dist/esm/sparkle-tabs.entry.js +1 -1
  323. package/dist/esm/sparkle-youtube.entry.js +1 -1
  324. package/dist/esm/{status-tap-83804717.js → status-tap-9221cd79.js} +1 -1
  325. package/dist/esm/stencil-async-content.entry.js +1 -1
  326. package/dist/esm/stencil-route-title.entry.js +2 -2
  327. package/dist/esm/stencil-router-prompt.entry.js +2 -2
  328. package/dist/esm/{student.service-a99d0248.js → student.service-c36c5a75.js} +12 -9
  329. package/dist/sparkle-core/index.esm.js +1 -1
  330. package/dist/sparkle-core/{p-7dbe06d4.entry.js → p-016bf847.entry.js} +1 -1
  331. package/dist/sparkle-core/{p-5f6e7530.entry.js → p-019d9d02.entry.js} +1 -1
  332. package/dist/sparkle-core/{p-10bcf9e6.js → p-03eb2164.js} +1 -1
  333. package/dist/sparkle-core/{p-c94a7e74.entry.js → p-03fd27d0.entry.js} +1 -1
  334. package/dist/sparkle-core/p-07018d29.js +1 -0
  335. package/dist/sparkle-core/p-083d57a6.entry.js +1 -0
  336. package/dist/sparkle-core/p-090f2624.js +1 -0
  337. package/dist/sparkle-core/{p-db5369a3.entry.js → p-09d43bee.entry.js} +1 -1
  338. package/dist/sparkle-core/{p-010fc9dd.entry.js → p-0bd3e81f.entry.js} +1 -1
  339. package/dist/sparkle-core/{p-9c3e864e.js → p-0e1c7c8c.js} +1 -1
  340. package/dist/sparkle-core/{p-b0f4601a.entry.js → p-0efbc0b3.entry.js} +1 -1
  341. package/dist/sparkle-core/{p-cf4068ca.entry.js → p-13b0cdfc.entry.js} +1 -1
  342. package/dist/sparkle-core/{p-b8da1d60.entry.js → p-13c9bf3a.entry.js} +1 -1
  343. package/dist/sparkle-core/{p-5ef558e2.entry.js → p-151afa9e.entry.js} +1 -1
  344. package/dist/sparkle-core/{p-a3115b74.entry.js → p-15d68269.entry.js} +1 -1
  345. package/dist/sparkle-core/p-17507402.entry.js +1 -0
  346. package/dist/sparkle-core/{p-f7fe74de.entry.js → p-1bf8bed6.entry.js} +1 -1
  347. package/dist/sparkle-core/p-1ca4bf1d.entry.js +1 -0
  348. package/dist/sparkle-core/{p-a0be4cda.entry.js → p-1e866c41.entry.js} +1 -1
  349. package/dist/sparkle-core/p-22926eed.entry.js +1 -0
  350. package/dist/sparkle-core/{p-d9f138ff.entry.js → p-2474bf60.entry.js} +1 -1
  351. package/dist/sparkle-core/{p-c92e20cf.entry.js → p-25bbf9b4.entry.js} +1 -1
  352. package/dist/sparkle-core/p-2a45b732.js +1 -0
  353. package/dist/sparkle-core/{p-ec5f3b00.entry.js → p-2abf4d37.entry.js} +1 -1
  354. package/dist/sparkle-core/{p-380dc0b7.entry.js → p-2c5edb9f.entry.js} +1 -1
  355. package/dist/sparkle-core/p-30b641a4.entry.js +1 -0
  356. package/dist/sparkle-core/{p-e1d9420b.entry.js → p-359422b6.entry.js} +1 -1
  357. package/dist/sparkle-core/{p-dec1556a.entry.js → p-37bfb548.entry.js} +1 -1
  358. package/dist/sparkle-core/{p-c0f92ba3.entry.js → p-3a29a75b.entry.js} +1 -1
  359. package/dist/sparkle-core/{p-0de00e5e.entry.js → p-3bb55510.entry.js} +1 -1
  360. package/dist/sparkle-core/p-3be0a218.js +1 -0
  361. package/dist/sparkle-core/{p-edde077c.entry.js → p-3cd28c60.entry.js} +1 -1
  362. package/dist/sparkle-core/{p-f3b47828.entry.js → p-3f5d7a08.entry.js} +1 -1
  363. package/dist/sparkle-core/p-40db85ac.entry.js +1 -0
  364. package/dist/sparkle-core/{p-4c3378e6.entry.js → p-447163be.entry.js} +1 -1
  365. package/dist/sparkle-core/{p-3fa3bad0.entry.js → p-49265a8e.entry.js} +1 -1
  366. package/dist/sparkle-core/{p-105a015d.entry.js → p-4950f841.entry.js} +1 -1
  367. package/dist/sparkle-core/p-4d8cb365.entry.js +1 -0
  368. package/dist/sparkle-core/{p-6025bf4c.entry.js → p-4e28ca37.entry.js} +1 -1
  369. package/dist/sparkle-core/{p-0f5def84.entry.js → p-5073899e.entry.js} +1 -1
  370. package/dist/sparkle-core/p-52355989.entry.js +1 -0
  371. package/dist/sparkle-core/{p-a2d7538f.entry.js → p-581ca370.entry.js} +1 -1
  372. package/dist/sparkle-core/{p-0b9b51ad.entry.js → p-5b366c20.entry.js} +1 -1
  373. package/dist/sparkle-core/{p-2f7aca1a.entry.js → p-5dce20b9.entry.js} +1 -1
  374. package/dist/sparkle-core/{p-76b1778e.entry.js → p-6006beec.entry.js} +1 -1
  375. package/dist/sparkle-core/{p-4e1f43b3.entry.js → p-600d04fc.entry.js} +1 -1
  376. package/dist/sparkle-core/{p-be4c1900.entry.js → p-60828739.entry.js} +1 -1
  377. package/dist/sparkle-core/{p-dedb1e25.entry.js → p-6112b180.entry.js} +1 -1
  378. package/dist/sparkle-core/p-660fccf6.js +1 -0
  379. package/dist/sparkle-core/{p-1865fef1.entry.js → p-66e3bd1c.entry.js} +1 -1
  380. package/dist/sparkle-core/{p-90e2a1a4.entry.js → p-66eb6b7a.entry.js} +1 -1
  381. package/dist/sparkle-core/p-67ddec3f.entry.js +1 -0
  382. package/dist/sparkle-core/p-68cb7d41.entry.js +1 -0
  383. package/dist/sparkle-core/{p-31bfcaa8.entry.js → p-68f3c93d.entry.js} +1 -1
  384. package/dist/sparkle-core/p-69cd49de.js +1 -0
  385. package/dist/sparkle-core/{p-be2f0921.js → p-6d506f4e.js} +1 -1
  386. package/dist/sparkle-core/{p-a32fd85b.entry.js → p-6edbdde5.entry.js} +1 -1
  387. package/dist/sparkle-core/p-6f0ecbe3.js +1 -0
  388. package/dist/sparkle-core/{p-b3563859.entry.js → p-73a646fb.entry.js} +1 -1
  389. package/dist/sparkle-core/{p-c9ada4d9.js → p-765b8593.js} +1 -1
  390. package/dist/sparkle-core/{p-fa952096.js → p-770128c8.js} +1 -1
  391. package/dist/sparkle-core/{p-355ace68.entry.js → p-7b37d523.entry.js} +1 -1
  392. package/dist/sparkle-core/{p-950a716b.entry.js → p-7d83d006.entry.js} +1 -1
  393. package/dist/sparkle-core/p-7f3d5344.js +1 -0
  394. package/dist/sparkle-core/{p-6ac166bf.entry.js → p-81651f26.entry.js} +1 -1
  395. package/dist/sparkle-core/{p-163a6f39.entry.js → p-85d31769.entry.js} +1 -1
  396. package/dist/sparkle-core/{p-ce4abe36.entry.js → p-86148067.entry.js} +1 -1
  397. package/dist/sparkle-core/{p-c590df76.entry.js → p-8b5bc1d6.entry.js} +1 -1
  398. package/dist/sparkle-core/{p-d80f9e60.entry.js → p-8c3ee44c.entry.js} +1 -1
  399. package/dist/sparkle-core/{p-5479a3af.entry.js → p-9007a06b.entry.js} +1 -1
  400. package/dist/sparkle-core/{p-7776c809.entry.js → p-90482861.entry.js} +1 -1
  401. package/dist/sparkle-core/{p-0962db66.entry.js → p-92d42c10.entry.js} +1 -1
  402. package/dist/sparkle-core/p-9a443f51.js +1 -0
  403. package/dist/sparkle-core/{p-76613f4e.entry.js → p-9ca56f5d.entry.js} +1 -1
  404. package/dist/sparkle-core/{p-5d0fe13c.entry.js → p-a061537e.entry.js} +1 -1
  405. package/dist/sparkle-core/{p-f3d79061.entry.js → p-a250e2ae.entry.js} +1 -1
  406. package/dist/sparkle-core/{p-a78910ca.entry.js → p-abe2676a.entry.js} +1 -1
  407. package/dist/sparkle-core/{p-dac72f8f.entry.js → p-ac5e5308.entry.js} +1 -1
  408. package/dist/sparkle-core/{p-52c98e23.entry.js → p-afbaad64.entry.js} +1 -1
  409. package/dist/sparkle-core/p-b080c1e3.entry.js +1 -0
  410. package/dist/sparkle-core/p-b226f54d.js +1 -0
  411. package/dist/sparkle-core/p-b2d4840f.js +3 -0
  412. package/dist/sparkle-core/{p-7cf984f4.entry.js → p-bac45a26.entry.js} +1 -1
  413. package/dist/sparkle-core/p-bbe5977b.entry.js +1 -0
  414. package/dist/sparkle-core/p-bc568dcb.js +1 -0
  415. package/dist/sparkle-core/p-bccd9036.entry.js +1 -0
  416. package/dist/sparkle-core/{p-47c18479.entry.js → p-c163c16d.entry.js} +1 -1
  417. package/dist/sparkle-core/{p-a1227663.entry.js → p-c3166584.entry.js} +1 -1
  418. package/dist/sparkle-core/{p-1f06b38f.entry.js → p-c34269ae.entry.js} +1 -1
  419. package/dist/sparkle-core/{p-1cbcfe63.js → p-c466ee32.js} +1 -1
  420. package/dist/sparkle-core/{p-13cf6a32.entry.js → p-c6710592.entry.js} +1 -1
  421. package/dist/sparkle-core/{p-1f20b217.entry.js → p-c7022391.entry.js} +1 -1
  422. package/dist/sparkle-core/{p-2734a99d.entry.js → p-c70b9765.entry.js} +1 -1
  423. package/dist/sparkle-core/{p-50e824ef.entry.js → p-c82b05e0.entry.js} +1 -1
  424. package/dist/sparkle-core/{p-3d200504.entry.js → p-cf2332bb.entry.js} +1 -1
  425. package/dist/sparkle-core/{p-268eb6c0.entry.js → p-d069b834.entry.js} +1 -1
  426. package/dist/sparkle-core/{p-fec7a97a.js → p-d4ad796c.js} +1 -1
  427. package/dist/sparkle-core/{p-fa192cf5.entry.js → p-d4d9aa4a.entry.js} +1 -1
  428. package/dist/sparkle-core/p-d5023db0.entry.js +1 -0
  429. package/dist/sparkle-core/p-d6152660.entry.js +1 -0
  430. package/dist/sparkle-core/{p-3d23a42a.js → p-d63406d8.js} +1 -1
  431. package/dist/sparkle-core/{p-63915a84.entry.js → p-dba672d5.entry.js} +1 -1
  432. package/dist/sparkle-core/{p-20be4996.entry.js → p-dd73d01a.entry.js} +1 -1
  433. package/dist/sparkle-core/p-de33872d.entry.js +1 -0
  434. package/dist/sparkle-core/p-dee2128a.entry.js +1 -0
  435. package/dist/sparkle-core/{p-2b5cc8a6.entry.js → p-df07e132.entry.js} +1 -1
  436. package/dist/sparkle-core/p-e5d5aaa5.js +1 -0
  437. package/dist/sparkle-core/{p-511b5347.entry.js → p-e72c6d87.entry.js} +1 -1
  438. package/dist/sparkle-core/{p-bcf3d05a.entry.js → p-e818b11d.entry.js} +1 -1
  439. package/dist/sparkle-core/{p-7dd253f8.entry.js → p-e8df6ea6.entry.js} +1 -1
  440. package/dist/sparkle-core/{p-4c7d0f6b.entry.js → p-e975924a.entry.js} +1 -1
  441. package/dist/sparkle-core/{p-46757cdc.entry.js → p-eb56aa20.entry.js} +1 -1
  442. package/dist/sparkle-core/p-ec2e029e.js +483 -0
  443. package/dist/sparkle-core/{p-97e03cb4.js → p-ef2a2172.js} +1 -1
  444. package/dist/sparkle-core/p-f1a4ab33.entry.js +1 -0
  445. package/dist/sparkle-core/p-f43ac631.entry.js +1 -0
  446. package/dist/sparkle-core/{p-495e321e.entry.js → p-f72a6e6d.entry.js} +1 -1
  447. package/dist/sparkle-core/{p-14a861e1.entry.js → p-f9143c5d.entry.js} +1 -1
  448. package/dist/sparkle-core/{p-8d1ec1bb.entry.js → p-fd62283e.entry.js} +1 -1
  449. package/dist/sparkle-core/{p-396c0198.entry.js → p-fef71e0e.entry.js} +1 -1
  450. package/dist/sparkle-core/sparkle-core.css +1 -1
  451. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  452. package/dist/types/components/compass-svg/compass-svg.d.ts +34 -0
  453. package/dist/types/components/layout/facilitator/export-lessons/export-lessons.d.ts +16 -0
  454. package/dist/types/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.d.ts +22 -0
  455. package/dist/types/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.d.ts +24 -0
  456. package/dist/types/components/layout/facilitator/facilitator-notes/facilitator-notes.d.ts +9 -0
  457. package/dist/types/components/layout/facilitator/facilitator-page.d.ts +19 -2
  458. package/dist/types/components/layout/facilitator/online-students/online-students.d.ts +6 -0
  459. package/dist/types/components/layout/page/page.d.ts +8 -0
  460. package/dist/types/components/layout/page/templates/index.d.ts +1 -0
  461. package/dist/types/components/layout/page/templates/pdf.d.ts +2 -0
  462. package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.d.ts +6 -5
  463. package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.d.ts +1 -0
  464. package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.d.ts +4 -0
  465. package/dist/types/components/mini-apps/sparkle-goals/sparkle-goals.d.ts +3 -3
  466. package/dist/types/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.d.ts +9 -2
  467. package/dist/types/components/mini-apps/sparkle-gww/sparkle-gww.d.ts +4 -2
  468. package/dist/types/components/mini-apps/sparkle-health/sparkle-health.d.ts +4 -1
  469. package/dist/types/components/mini-apps/sparkle-mood/sparkle-mood.d.ts +3 -0
  470. package/dist/types/components/sparkle-course-root/sparkle-course-root.d.ts +3 -3
  471. package/dist/types/components/sparkle-forgot-password/sparkle-forgot-password.d.ts +3 -0
  472. package/dist/types/components/sparkle-reset-password/sparkle-reset-password.d.ts +22 -0
  473. package/dist/types/components/sparkle-root/sparkle-root.d.ts +4 -0
  474. package/dist/types/components/sparkle-signup/sparkle-signup.d.ts +1 -1
  475. package/dist/types/components/sparkle-user-profile/sparkle-user-profile.d.ts +4 -0
  476. package/dist/types/components/sparkle-validation-error/sparkle-validation-error.d.ts +7 -0
  477. package/dist/types/components.d.ts +141 -6
  478. package/dist/types/models/api.model.d.ts +8 -0
  479. package/dist/types/models/class.model.d.ts +59 -6
  480. package/dist/types/models/facilitator-dashboard.model.d.ts +61 -0
  481. package/dist/types/models/goal.model.d.ts +3 -2
  482. package/dist/types/services/account.service.d.ts +11 -2
  483. package/dist/types/services/appdata.service.d.ts +13 -0
  484. package/dist/types/services/facilitator.service.d.ts +22 -0
  485. package/dist/types/services/feed.service.d.ts +10 -0
  486. package/dist/types/services/httpService.d.ts +1 -0
  487. package/dist/types/services/media.service.d.ts +8 -0
  488. package/dist/types/services/signalR.service.d.ts +10 -0
  489. package/dist/types/services/student.service.d.ts +1 -1
  490. package/dist/types/stores/auth.store.d.ts +1 -0
  491. package/dist/types/stores/facilitator.store.d.ts +11 -2
  492. package/dist/types/stores/feed.store.d.ts +3 -1
  493. package/dist/types/stores/goal.store.d.ts +4 -1
  494. package/dist/types/stores/media.store.d.ts +8 -0
  495. package/dist/types/stores/signalR.store.d.ts +10 -0
  496. package/dist/types/stores/user.store.d.ts +3 -1
  497. package/dist/types/util.d.ts +11 -0
  498. package/package.json +6 -2
  499. package/dist/cjs/header-mobile-collapse_51.cjs.entry.js +0 -5245
  500. package/dist/cjs/ion-card-content.cjs.entry.js +0 -30
  501. package/dist/cjs/ion-card.cjs.entry.js +0 -70
  502. package/dist/cjs/ion-header.cjs.entry.js +0 -264
  503. package/dist/cjs/ion-spinner.cjs.entry.js +0 -64
  504. package/dist/cjs/sparkle-page-footer.cjs.entry.js +0 -27
  505. package/dist/cjs/sparkle-pagination.cjs.entry.js +0 -31
  506. package/dist/cjs/util-dd1e6ff1.js +0 -23
  507. package/dist/collection/assets/lib/sparkle.js +0 -524
  508. package/dist/collection/assets/lib/sparkle.signalr-client.js +0 -135
  509. package/dist/collection/pages/course/welcome-to-mind-body/introduction/animation/m4l1p1.js +0 -2884
  510. package/dist/esm/header-mobile-collapse_51.entry.js +0 -5191
  511. package/dist/esm/ion-card-content.entry.js +0 -26
  512. package/dist/esm/ion-card.entry.js +0 -66
  513. package/dist/esm/ion-header.entry.js +0 -260
  514. package/dist/esm/ion-spinner.entry.js +0 -60
  515. package/dist/esm/sparkle-page-footer.entry.js +0 -23
  516. package/dist/esm/sparkle-pagination.entry.js +0 -27
  517. package/dist/esm/util-0e88110d.js +0 -17
  518. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/button/button.css +0 -49
  519. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/card/card.css +0 -208
  520. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/cards.css +0 -31
  521. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/code/code.css +0 -245
  522. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/dropdown/dropdown.css +0 -111
  523. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header-mobile-collapse/header-mobile-collapse.css +0 -255
  524. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header.css +0 -232
  525. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/collapsible/collapsible.css +0 -3
  526. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu-toggle/menu-toggle.css +0 -25
  527. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu.css +0 -71
  528. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/nav/nav.css +0 -194
  529. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/notfound-page/notfound-page.css +0 -4
  530. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/overlay/overlay.css +0 -67
  531. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/page-footer/page-footer.css +0 -18
  532. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/pagination/pagination.css +0 -89
  533. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/select/select.css +0 -52
  534. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sidebar/sidebar.css +0 -98
  535. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sparkle-lower-content-nav/sparkle-lower-content-nav.css +0 -8
  536. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/table-of-contents/table-of-contents.css +0 -37
  537. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/tabs/tabs.css +0 -64
  538. package/dist/sparkle-core/p-05928d94.js +0 -1
  539. package/dist/sparkle-core/p-0986aad3.entry.js +0 -1
  540. package/dist/sparkle-core/p-0df2b695.entry.js +0 -1
  541. package/dist/sparkle-core/p-12e5f5bf.entry.js +0 -1
  542. package/dist/sparkle-core/p-14a9aad3.js +0 -1
  543. package/dist/sparkle-core/p-1b5d4ef9.js +0 -1
  544. package/dist/sparkle-core/p-1bd160a6.entry.js +0 -1
  545. package/dist/sparkle-core/p-1e4381e5.entry.js +0 -1
  546. package/dist/sparkle-core/p-1f0bcf05.entry.js +0 -1
  547. package/dist/sparkle-core/p-22ae16f5.entry.js +0 -1
  548. package/dist/sparkle-core/p-44a2c21c.js +0 -1
  549. package/dist/sparkle-core/p-57076f68.entry.js +0 -1
  550. package/dist/sparkle-core/p-58ede27f.js +0 -1
  551. package/dist/sparkle-core/p-5c36d43b.entry.js +0 -1
  552. package/dist/sparkle-core/p-5c4eb08a.entry.js +0 -1
  553. package/dist/sparkle-core/p-5dd83ae8.entry.js +0 -1
  554. package/dist/sparkle-core/p-68c1261b.js +0 -1
  555. package/dist/sparkle-core/p-70a02fac.entry.js +0 -1
  556. package/dist/sparkle-core/p-8a3f8ce0.entry.js +0 -1
  557. package/dist/sparkle-core/p-9563bf6c.js +0 -1
  558. package/dist/sparkle-core/p-a220da33.entry.js +0 -1
  559. package/dist/sparkle-core/p-ad765e98.entry.js +0 -1
  560. package/dist/sparkle-core/p-b735f189.js +0 -1
  561. package/dist/sparkle-core/p-c4bbaebc.entry.js +0 -1
  562. package/dist/sparkle-core/p-cb119ac9.entry.js +0 -1
  563. package/dist/sparkle-core/p-cee6f4ba.entry.js +0 -1
  564. package/dist/sparkle-core/p-e72084e9.entry.js +0 -1
  565. package/dist/sparkle-core/p-f3a69821.entry.js +0 -1
  566. package/dist/sparkle-core/p-fbbfa021.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import { Component, State, Prop, getAssetPath, h } from '@stencil/core';
2
2
  import { AccountService } from "../../services/account.service";
3
+ import { AuthStore } from '../../stores';
3
4
  export class SparkleSignup {
4
5
  constructor() {
5
6
  this.formControls = {
@@ -93,30 +94,31 @@ export class SparkleSignup {
93
94
  isFormValid = false;
94
95
  }
95
96
  }
96
- console.log(this.formControls);
97
- console.log("Form valid: ", isFormValid);
98
97
  if (isFormValid) {
99
- console.log('submit');
100
98
  let result = await AccountService.getInstance().register({
101
99
  Email: this.formControls.email.value,
102
- UserName: this.formControls.confirmPassword.value,
103
- Password: this.formControls.password.value,
100
+ UserName: this.formControls.userName.value,
104
101
  FirstName: this.formControls.firstName.value,
105
102
  LastName: this.formControls.lastName.value,
103
+ Password: this.formControls.password.value,
106
104
  ConfirmPassword: this.formControls.confirmPassword.value,
107
105
  });
108
- console.log(result);
106
+ if (result.Succeeded) {
107
+ this.history.replace('/login', {});
108
+ }
109
+ else if (result.Failed) {
110
+ if (result.Errors.length > 0) {
111
+ this.validationErrors = result.Errors;
112
+ }
113
+ }
109
114
  }
110
115
  }
111
- changePath() {
112
- console.log(this.history);
113
- this.history.push(`/login`, {});
114
- }
115
116
  render() {
116
117
  return [
117
118
  h("div", null,
118
119
  h("div", { class: "signup-logo" },
119
120
  h("img", { src: getAssetPath("/assets/img/G3-Girls.jpg"), alt: "Girls Inc" })),
121
+ h("sparkle-validation-error", { errors: this.validationErrors }),
120
122
  h("form", { onSubmit: e => this.handleSubmit(e), novalidate: true },
121
123
  h("ion-list", { "no-lines": true },
122
124
  h("ion-item", null,
@@ -150,8 +152,9 @@ export class SparkleSignup {
150
152
  h("ion-text", { color: "danger" },
151
153
  h("p", { hidden: this.formControls.confirmPassword.isValid || this.submitted === false, class: "ion-padding-start" }, "Confirm Password is required"))),
152
154
  h("div", { class: "ion-padding" },
153
- h("ion-button", { type: "submit", expand: "block" }, "Register")),
154
- h("ion-button", { type: "button", expand: "block", onClick: () => this.changePath() }, "Login"),
155
+ h("ion-button", { type: "submit", expand: "block", disabled: AuthStore.state.loading },
156
+ AuthStore.state.loading && h("ion-spinner", { name: "dots" }),
157
+ "Register")),
155
158
  h("ion-item", { lines: "none" },
156
159
  "Already have an account? \u00A0",
157
160
  h("stencil-route-link", { url: "/login", exact: true }, "Log In"))))
@@ -187,6 +190,7 @@ export class SparkleSignup {
187
190
  }
188
191
  }; }
189
192
  static get states() { return {
193
+ "validationErrors": {},
190
194
  "formControls": {},
191
195
  "submitted": {}
192
196
  }; }
@@ -1,13 +1,13 @@
1
- :host {
2
- display: block;
3
- }
4
- .unauthorized {
5
- display: block;
6
- padding-left: var(--page-margin-left);
7
- padding-top: var(--header-height);
8
- }
9
- .content{
10
- text-align: center;
11
- padding-top: 40px;
12
-
13
- }
1
+ :host {
2
+ display: block;
3
+ }
4
+ .unauthorized {
5
+ display: block;
6
+ padding-left: var(--page-margin-left);
7
+ padding-top: var(--header-height);
8
+ }
9
+ .content{
10
+ text-align: center;
11
+ padding-top: 40px;
12
+
13
+ }
@@ -1,3 +1,3 @@
1
- :host {
2
- display: block;
3
- }
1
+ :host {
2
+ display: block;
3
+ }
@@ -1,3 +1,54 @@
1
- :host {
2
- display: block;
3
- }
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ ion-card {
6
+ box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
7
+ overflow: visible;
8
+ margin: 16px 0 24px;
9
+ position: relative;
10
+ padding-top: 60px;
11
+ }
12
+ ion-card .img-wrapper {
13
+ background-color: #f5f5f5;
14
+ border-radius: 10px;
15
+ position: absolute;
16
+ left: 50%;
17
+ top: -30px;
18
+ transform: translateX(-50%);
19
+ }
20
+ ion-card .img-wrapper img {
21
+ border-radius: 10px;
22
+ width: 80px;
23
+ height: 80px;
24
+ }
25
+
26
+ ion-card .img-wrapper ion-button {
27
+ --border-width: 1px;
28
+ --border-color: var(--ion-color-sparkle);
29
+ --border-style: solid;
30
+ --padding-start: 0;
31
+ --padding-end: 0;
32
+ --padding-bottom: 0;
33
+ --padding-top: 0;
34
+
35
+ --border-radius: 50%;
36
+ height: 26px;
37
+ width: 26px;
38
+
39
+ position: absolute;
40
+ right: -10px;
41
+ bottom: -10px;
42
+ }
43
+ ion-card .img-wrapper ion-button ion-icon {
44
+ width: 14px;
45
+ height: 14px;
46
+ }
47
+ ion-card .img-wrapper img.loading {
48
+ opacity: 0.1;
49
+ }
50
+ .image-upload-loading {
51
+ position: absolute;
52
+ top: 40%;
53
+ left: 35%;
54
+ }
@@ -1,6 +1,8 @@
1
- import { Component, Host, h, State } from '@stencil/core';
1
+ import { Component, Host, h, Element, State, getAssetPath } from '@stencil/core';
2
2
  import { StudentService } from "../../services/student.service";
3
3
  import userStore from "../../stores/user.store";
4
+ import { MediaService } from '../../services/media.service';
5
+ import mediaStore from '../../stores/media.store';
4
6
  export class SparkleUserProfile {
5
7
  constructor() {
6
8
  this.profileFormControls = {
@@ -64,9 +66,11 @@ export class SparkleUserProfile {
64
66
  }
65
67
  async handleProfileFormSubmit(e) {
66
68
  e.preventDefault();
69
+ await this.updateUser();
70
+ }
71
+ async updateUser() {
67
72
  this.profileFormSubmitted = true;
68
73
  let isFormValid = true;
69
- //Run all validation functions
70
74
  for (let controlName in this.profileFormControls) {
71
75
  let control = this.profileFormControls[controlName];
72
76
  control.validate(control.value);
@@ -74,24 +78,44 @@ export class SparkleUserProfile {
74
78
  isFormValid = false;
75
79
  }
76
80
  }
77
- console.log(this.profileFormControls);
78
- console.log("Form valid: ", isFormValid);
79
81
  if (isFormValid) {
80
- console.log('submit');
81
82
  let result = await StudentService.getInstance().updateProfile({
82
83
  FirstName: this.profileFormControls.FirstName.value,
83
84
  LastName: this.profileFormControls.LastName.value,
84
85
  ProfileImage: this.profileFormControls.ProfileImage.value,
85
86
  ProfileText: this.profileFormControls.ProfileText.value
86
87
  });
87
- console.log(result);
88
88
  }
89
89
  }
90
+ async uploadProfileImage(event) {
91
+ if (event.target.files && event.target.files[0]) {
92
+ const result = await MediaService.getInstance().uploadImage(event.target.files);
93
+ if (result.Succeeded && result.Data && result.Data.length > 0) {
94
+ this.changeFormValue("ProfileImage", result.Data[0].FullImageUrl);
95
+ await this.updateUser();
96
+ }
97
+ }
98
+ }
99
+ selectFile() {
100
+ this.el.querySelector("#fileInput").click();
101
+ }
90
102
  render() {
91
103
  return (h(Host, null,
104
+ h("ion-card", { color: "sparkle" },
105
+ h("div", { class: "img-wrapper" },
106
+ h("img", { class: mediaStore.state.mediaUploading ? "loading" : '', src: this.profileFormControls.ProfileImage.value || getAssetPath(`../assets/svg/profile.svg`) }),
107
+ h("input", { type: "file", id: "fileInput", onChange: (ev) => this.uploadProfileImage(ev), style: { display: "none" }, accept: "image/*" }),
108
+ h("ion-button", { color: "sparkle", onClick: () => this.selectFile(), disabled: mediaStore.state.mediaUploading },
109
+ h("ion-icon", { slot: "icon-only", name: "camera-outline" })),
110
+ mediaStore.state.mediaUploading && h("ion-spinner", { class: "image-upload-loading", name: "dots" })),
111
+ h("ion-card-content", { class: "ion-text-center" },
112
+ h("h2", null,
113
+ this.profileFormControls.FirstName.value,
114
+ " ",
115
+ this.profileFormControls.LastName.value),
116
+ h("h3", null, this.profileFormControls.ProfileText.value))),
92
117
  h("form", { onSubmit: e => this.handleProfileFormSubmit(e), novalidate: true },
93
118
  h("ion-list", { "no-lines": true },
94
- h("ion-list-header", null, "Profile"),
95
119
  h("ion-item", null,
96
120
  h("ion-label", { position: "stacked", color: "primary" }, "First Name"),
97
121
  h("ion-input", { name: "firstName", type: "text", value: this.profileFormControls.FirstName.value, onInput: (ev) => this.changeFormValue("FirstName", ev.target.value) })),
@@ -108,7 +132,9 @@ export class SparkleUserProfile {
108
132
  h("ion-text", { color: "danger" },
109
133
  h("p", { hidden: this.profileFormControls.ProfileText.isValid || this.profileFormSubmitted === false, class: "ion-padding-start" }, "Profile Bio is required"))),
110
134
  h("div", { class: "ion-padding" },
111
- h("ion-button", { type: "submit", expand: "block" }, "Update")))));
135
+ h("ion-button", { type: "submit", expand: "block", disabled: userStore.state.updateLoading },
136
+ userStore.state.updateLoading && h("ion-spinner", { name: "dots" }),
137
+ " Update")))));
112
138
  }
113
139
  static get is() { return "sparkle-user-profile"; }
114
140
  static get originalStyleUrls() { return {
@@ -121,4 +147,5 @@ export class SparkleUserProfile {
121
147
  "profileFormControls": {},
122
148
  "profileFormSubmitted": {}
123
149
  }; }
150
+ static get elementRef() { return "el"; }
124
151
  }
@@ -0,0 +1,11 @@
1
+ :host {
2
+ display: block;
3
+ }
4
+
5
+ sparkle-validation-error ul {
6
+ padding: 10px 0px;
7
+ }
8
+ sparkle-validation-error .alert-danger {
9
+ margin-top: 10px;
10
+ font-size: 12px;
11
+ }
@@ -0,0 +1,44 @@
1
+ import { Component, Host, Prop, h } from '@stencil/core';
2
+ export class SparkleValidationError {
3
+ constructor() {
4
+ this.errors = [];
5
+ }
6
+ render() {
7
+ return (h(Host, null, this.errors.length > 0 &&
8
+ h("div", { class: "alert alert-danger", role: "alert" },
9
+ h("ul", null, this.errors.map(error => h("li", null,
10
+ h("b", null,
11
+ error.Field,
12
+ ": "),
13
+ error.Message))))));
14
+ }
15
+ static get is() { return "sparkle-validation-error"; }
16
+ static get originalStyleUrls() { return {
17
+ "$": ["sparkle-validation-error.css"]
18
+ }; }
19
+ static get styleUrls() { return {
20
+ "$": ["sparkle-validation-error.css"]
21
+ }; }
22
+ static get properties() { return {
23
+ "errors": {
24
+ "type": "unknown",
25
+ "mutable": false,
26
+ "complexType": {
27
+ "original": "Array<{ Field: string, Message: string }>",
28
+ "resolved": "{ Field: string; Message: string; }[]",
29
+ "references": {
30
+ "Array": {
31
+ "location": "global"
32
+ }
33
+ }
34
+ },
35
+ "required": false,
36
+ "optional": false,
37
+ "docs": {
38
+ "tags": [],
39
+ "text": ""
40
+ },
41
+ "defaultValue": "[]"
42
+ }
43
+ }; }
44
+ }
@@ -33,3 +33,4 @@ export const Translation = (props) => (h("svg", Object.assign({ viewBox: "0 0 22
33
33
  h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M8.75268 1.11609C8.75268 1.11609 8.75268 1.11712 9.89332 1.11712C11.034 1.11712 11.034 1.11822 11.034 1.11822L11.034 1.11939L11.034 1.12198L11.0339 1.12805L11.0337 1.14382C11.0335 1.15593 11.0332 1.17122 11.0325 1.1896C11.0313 1.22637 11.029 1.27554 11.0248 1.33642C11.0164 1.45817 11.0003 1.62689 10.9695 1.83709C10.9081 2.25748 10.7879 2.84428 10.5533 3.55314C10.083 4.97375 9.15623 6.87412 7.33744 8.89844L7.30893 8.93017L2.7154 13.3124L1.24023 11.7004L5.63338 7.45082C7.21765 5.67868 7.9949 4.05478 8.37789 2.89777C8.57098 2.31443 8.66471 1.84706 8.71016 1.53633C8.73288 1.38097 8.74352 1.2649 8.74847 1.19324C8.75095 1.15741 8.752 1.13272 8.75243 1.11981L8.75272 1.10938L8.7527 1.11094L8.75269 1.11345L8.75268 1.11609Z", fill: "#B2BECD" }),
34
34
  h("rect", { x: "5.5166", width: "2.20704", height: "1.10937", fill: "#B2BECD" }),
35
35
  h("path", { d: "M4.17075 7.9686C3.09555 6.69872 2.39593 5.48407 1.94141 4.4375H4.40026C4.76103 5.09472 5.24197 5.81584 5.88345 6.5682L5.93101 6.62398L5.96524 6.67692C5.96787 6.68067 5.97319 6.68816 5.98137 6.69921C6.0017 6.72667 6.03969 6.77615 6.09781 6.8448C6.21395 6.98199 6.41098 7.19635 6.70864 7.46479C7.19301 7.9016 8.18265 8.61127 9.29424 9.23901L8.50109 11.2671C6.94927 10.5044 5.9002 9.71638 5.23489 9.11639C4.86256 8.78062 4.5965 8.49477 4.41706 8.28281C4.32738 8.17688 4.25946 8.08955 4.21081 8.02383C4.19559 8.00327 4.18226 7.98483 4.17075 7.9686Z", fill: "#B2BECD" })));
36
+ export const LoadingSpinner = () => (h("div", { class: "spinner-border", role: "status" }));
@@ -1 +1,5 @@
1
- export {};
1
+ export var PostVisibility;
2
+ (function (PostVisibility) {
3
+ PostVisibility[PostVisibility["Private"] = 0] = "Private";
4
+ PostVisibility[PostVisibility["Public"] = 1] = "Public";
5
+ })(PostVisibility || (PostVisibility = {}));
@@ -0,0 +1,5 @@
1
+ export var PostVisibility;
2
+ (function (PostVisibility) {
3
+ PostVisibility[PostVisibility["Private"] = 0] = "Private";
4
+ PostVisibility[PostVisibility["Public"] = 1] = "Public";
5
+ })(PostVisibility || (PostVisibility = {}));
@@ -1,3 +1,4 @@
1
+ import { AuthStore } from '../stores';
1
2
  import { HttpService } from './httpService';
2
3
  export class AccountService {
3
4
  constructor() { }
@@ -11,13 +12,50 @@ export class AccountService {
11
12
  const headers = {
12
13
  'Content-Type': 'application/json',
13
14
  };
14
- let result = await HttpService.http.post('api/Account/Register', registerInput, {
15
- headers: headers
16
- });
15
+ AuthStore.state.loading = true;
16
+ let result;
17
+ try {
18
+ result = await HttpService.http.post('api/Account/Register', registerInput, {
19
+ headers: headers
20
+ });
21
+ if (result.Succeeded) {
22
+ AuthStore.state.loading = false;
23
+ }
24
+ }
25
+ catch (e) {
26
+ AuthStore.state.loading = false;
27
+ return e;
28
+ }
17
29
  return result;
18
30
  }
19
31
  async forgotPassword(forgotPasswordInput) {
20
- let result = await HttpService.http.post('api/Account/Forgot-Password', forgotPasswordInput);
32
+ AuthStore.state.loading = true;
33
+ let result;
34
+ try {
35
+ result = await HttpService.http.post('api/Account/Forgot-Password', forgotPasswordInput);
36
+ if (result.Succeeded) {
37
+ AuthStore.state.loading = false;
38
+ }
39
+ }
40
+ catch (e) {
41
+ AuthStore.state.loading = false;
42
+ return e;
43
+ }
44
+ return result;
45
+ }
46
+ async resetPassword(resetPasswordInput) {
47
+ AuthStore.state.loading = true;
48
+ let result;
49
+ try {
50
+ result = await HttpService.http.post('api/Account/reset-password', resetPasswordInput);
51
+ if (result.Succeeded) {
52
+ AuthStore.state.loading = false;
53
+ }
54
+ }
55
+ catch (e) {
56
+ AuthStore.state.loading = false;
57
+ return e;
58
+ }
21
59
  return result;
22
60
  }
23
61
  }
@@ -0,0 +1,60 @@
1
+ import { HttpService } from './httpService';
2
+ import goalStore from '../stores/goal.store';
3
+ import { SparkleGlobal } from '../util';
4
+ export class AppDataService {
5
+ constructor() { }
6
+ static getInstance() {
7
+ if (!AppDataService.instance) {
8
+ AppDataService.instance = new AppDataService();
9
+ }
10
+ return AppDataService.instance;
11
+ }
12
+ async getAllAppData(appId) {
13
+ let result = await HttpService.http.get(`api/v1/AppData/${appId}`);
14
+ return result;
15
+ }
16
+ async createAppData(payload) {
17
+ let result = await HttpService.http.post(`api/v1/AppData/`, payload);
18
+ return result;
19
+ }
20
+ async updateAppData(payload) {
21
+ let result = await HttpService.http.put(`api/v1/AppData/${payload.Id}`, payload);
22
+ return result;
23
+ }
24
+ async getAllGoals() {
25
+ goalStore.state.goalsLoading = true;
26
+ let result = await this.getAllAppData(SparkleGlobal.MY_GOALS_APP_ID);
27
+ if (result) {
28
+ goalStore.state.goals = result.Data.map(item => {
29
+ return Object.assign(Object.assign({}, item), { AppData: JSON.parse(item.AppJsonData) });
30
+ });
31
+ goalStore.state.goalsLoading = false;
32
+ }
33
+ return result;
34
+ }
35
+ async createGoal(payload) {
36
+ goalStore.state.goalLoading = true;
37
+ let result = await this.createAppData(payload);
38
+ if (result) {
39
+ result.Data.AppData = JSON.parse(result.Data.AppJsonData);
40
+ goalStore.state.goals = [...goalStore.state.goals, result.Data];
41
+ goalStore.state.goalLoading = false;
42
+ }
43
+ return result;
44
+ }
45
+ async updateGoal(payload) {
46
+ goalStore.state.goalLoading = true;
47
+ let result = await this.updateAppData(payload);
48
+ if (result) {
49
+ result.Data.AppData = JSON.parse(result.Data.AppJsonData);
50
+ goalStore.state.goals = goalStore.state.goals.map(item => {
51
+ if (item.Id == result.Data.Id) {
52
+ return Object.assign(Object.assign({}, result.Data), { AppData: JSON.parse(result.Data.AppJsonData) });
53
+ }
54
+ return item;
55
+ });
56
+ goalStore.state.goalLoading = false;
57
+ }
58
+ return result;
59
+ }
60
+ }
@@ -14,31 +14,40 @@ export class AuthService {
14
14
  const headers = {
15
15
  'Content-Type': 'application/json',
16
16
  };
17
- let result = await HttpService.http.post('api/Account/Authenticate', authenticationInput, {
18
- headers: headers
19
- });
20
- if (result) {
21
- const authData = result.Data;
22
- const authUser = {
23
- Id: authData.Id,
24
- UserName: authData.UserName,
25
- Email: authData.Email,
26
- Roles: authData.Roles,
27
- IsVerified: authData.IsVerified,
28
- JWToken: authData.JWToken,
29
- IssuedOn: authData.IssuedOn,
30
- ExpiresOn: authData.ExpiresOn,
31
- RefreshToken: authData.RefreshToken,
32
- PhotoUrl: "",
33
- IsFacilitator: authData.Roles.indexOf("Facilitator") > 0
34
- };
35
- const expireDate = authenticationInput.RememberClient ? new Date(authUser.ExpiresOn) : undefined;
36
- sparkle.auth.setToken(authUser.JWToken, expireDate);
37
- //TODO: change authUser.JWToken to encrypted
38
- sparkle.utils.setCookieValue(AppConsts.authorization.encrptedAuthTokenName, authUser.JWToken, expireDate, sparkle.appPath);
39
- await set(AppConsts.AUTH_USER_LOCALSTORAGE, authUser);
40
- AuthStore.state.authUser = Object.assign({}, authUser);
41
- return authUser;
17
+ AuthStore.state.loading = true;
18
+ let result;
19
+ try {
20
+ result = await HttpService.http.post('api/Account/Authenticate', authenticationInput, {
21
+ headers: headers
22
+ });
23
+ if (result) {
24
+ const authData = result.Data;
25
+ const authUser = {
26
+ Id: authData.Id,
27
+ UserName: authData.UserName,
28
+ Email: authData.Email,
29
+ Roles: authData.Roles,
30
+ IsVerified: authData.IsVerified,
31
+ JWToken: authData.JWToken,
32
+ IssuedOn: authData.IssuedOn,
33
+ ExpiresOn: authData.ExpiresOn,
34
+ RefreshToken: authData.RefreshToken,
35
+ PhotoUrl: "",
36
+ IsFacilitator: authData.Roles.indexOf("Facilitator") > 0
37
+ };
38
+ const expireDate = authenticationInput.RememberClient ? new Date(authUser.ExpiresOn) : undefined;
39
+ sparkle.auth.setToken(authUser.JWToken, expireDate);
40
+ //TODO: change authUser.JWToken to encrypted
41
+ sparkle.utils.setCookieValue(AppConsts.authorization.encrptedAuthTokenName, authUser.JWToken, expireDate, sparkle.appPath);
42
+ await set(AppConsts.AUTH_USER_LOCALSTORAGE, authUser);
43
+ AuthStore.state.authUser = Object.assign({}, authUser);
44
+ AuthStore.state.loading = false;
45
+ return authUser;
46
+ }
47
+ }
48
+ catch (e) {
49
+ AuthStore.state.loading = false;
50
+ return e;
42
51
  }
43
52
  }
44
53
  async signOut() {
@@ -1,5 +1,6 @@
1
1
  import Util from '../../utils';
2
2
  import { getAssetPath } from "@stencil/core";
3
+ //declare var sparkle: any;
3
4
  export async function setupConfig(config) {
4
5
  if (!window) {
5
6
  return;
@@ -12,7 +13,9 @@ export async function setupConfig(config) {
12
13
  }
13
14
  win.Sparkle = win.Sparkle || {};
14
15
  win.Sparkle.config = Object.assign(Object.assign({}, win.Sparkle.config), config);
15
- sparkle.config = Object.assign({}, config.sparkle);
16
+ // sparkle.config = {
17
+ // ...config.sparkle
18
+ // };
16
19
  return win.Sparkle.config;
17
20
  }
18
21
  export async function initSetupConfig(config) {
@@ -0,0 +1,76 @@
1
+ import { HttpService } from './httpService';
2
+ import facilitatorStore from '../stores/facilitator.store';
3
+ export class FacilitatorService {
4
+ constructor() { }
5
+ static getInstance() {
6
+ if (!FacilitatorService.instance) {
7
+ FacilitatorService.instance = new FacilitatorService();
8
+ }
9
+ return FacilitatorService.instance;
10
+ }
11
+ async fetchClasses() {
12
+ facilitatorStore.state.classesLoading = true;
13
+ let result = await HttpService.http.get(`api/v1/Teacher/Classes`);
14
+ if (result) {
15
+ facilitatorStore.state.classes = result.Data;
16
+ facilitatorStore.state.classesLoading = false;
17
+ }
18
+ return result;
19
+ }
20
+ async fetchDashboardData(payload) {
21
+ facilitatorStore.state.dashboardDataLoading = true;
22
+ let result = await HttpService.http.get(`api/v1/Teacher/Dashboard/${payload.ClassId}`);
23
+ if (result) {
24
+ facilitatorStore.state.dashboardData = result.Data;
25
+ facilitatorStore.state.dashboardDataLoading = false;
26
+ }
27
+ return result;
28
+ }
29
+ async fetchNotes(payload) {
30
+ facilitatorStore.state.notesLoading = true;
31
+ let result = await HttpService.http.get(`api/v1/Teacher/Notes/${payload.showAllNotes}`);
32
+ if (result) {
33
+ if (payload.showAllNotes) {
34
+ facilitatorStore.state.allPageNotes = result.Data;
35
+ }
36
+ else {
37
+ facilitatorStore.state.pageNotes = result.Data;
38
+ }
39
+ facilitatorStore.state.notesLoading = false;
40
+ }
41
+ return result;
42
+ }
43
+ async addFacilitatorNote(payload) {
44
+ facilitatorStore.state.notesLoading = true;
45
+ let result = await HttpService.http.post(`api/v1/Teacher/Notes`, payload);
46
+ if (result) {
47
+ facilitatorStore.state.pageNotes = [...facilitatorStore.state.pageNotes, result.Data];
48
+ }
49
+ facilitatorStore.state.notesLoading = false;
50
+ return result;
51
+ }
52
+ async updateFacilitatorNote(payload) {
53
+ facilitatorStore.state.notesLoading = true;
54
+ let result = await HttpService.http.put(`api/v1/Teacher/Notes/${payload.Id}`, payload);
55
+ if (result) {
56
+ facilitatorStore.state.pageNotes = facilitatorStore.state.pageNotes.map((item) => {
57
+ if (item.Id == result.Data.Id) {
58
+ return result.Data;
59
+ }
60
+ return item;
61
+ });
62
+ }
63
+ facilitatorStore.state.notesLoading = false;
64
+ return result;
65
+ }
66
+ async deleteFacilitatorNote(id) {
67
+ facilitatorStore.state.notesLoading = true;
68
+ let result = await HttpService.http.delete(`api/v1/Teacher/Notes/${id}`);
69
+ if (result) {
70
+ facilitatorStore.state.pageNotes = facilitatorStore.state.pageNotes.filter(x => x.Id != id);
71
+ }
72
+ ;
73
+ facilitatorStore.state.notesLoading = false;
74
+ return result;
75
+ }
76
+ }
@@ -0,0 +1,43 @@
1
+ import { HttpService } from './httpService';
2
+ import feedStore from '../stores/feed.store';
3
+ export class FeedService {
4
+ constructor() { }
5
+ static getInstance() {
6
+ if (!FeedService.instance) {
7
+ FeedService.instance = new FeedService();
8
+ }
9
+ return FeedService.instance;
10
+ }
11
+ async getAllPosts() {
12
+ feedStore.state.postsLoading = true;
13
+ let result = await HttpService.http.get(`api/v1/Feed/GetAll`);
14
+ if (result) {
15
+ feedStore.state.posts = result.Data;
16
+ feedStore.state.postsLoading = false;
17
+ }
18
+ return result;
19
+ }
20
+ async createPost(payload) {
21
+ feedStore.state.createPostLoading = true;
22
+ let result = await HttpService.http.post(`api/v1/Feed/PostFeed`, payload);
23
+ if (result) {
24
+ feedStore.state.posts = [result.Data, ...feedStore.state.posts];
25
+ feedStore.state.createPostLoading = false;
26
+ }
27
+ return result;
28
+ }
29
+ async createPostComment(payload) {
30
+ feedStore.state.postIdLoading = payload.PostId;
31
+ let result = await HttpService.http.post(`api/v1/Feed/Comment`, payload);
32
+ if (result) {
33
+ feedStore.state.posts = feedStore.state.posts.map((item) => {
34
+ if (item.Id == result.Data.ClassFeedPostId) {
35
+ return Object.assign(Object.assign({}, item), { Comments: [...item.Comments, result.Data] });
36
+ }
37
+ return item;
38
+ });
39
+ feedStore.state.postIdLoading = null;
40
+ }
41
+ return result;
42
+ }
43
+ }