@sparkle-learning/core 0.0.32 → 0.0.33

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 (252) hide show
  1. package/dist/cjs/PrivateRoute-482697a6.js +35 -0
  2. package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-f878f6ab.js} +0 -30
  3. package/dist/cjs/dom-utils-b8befdd5.js +63 -0
  4. package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
  5. package/dist/cjs/index-07e8aa51.js +3071 -0
  6. package/dist/cjs/index.cjs.js +6 -5
  7. package/dist/cjs/injectHistory-77d41284.js +9 -0
  8. package/dist/cjs/ion-avatar.cjs.entry.js +25 -0
  9. package/dist/cjs/ion-button_3.cjs.entry.js +383 -0
  10. package/dist/cjs/ion-card_2.cjs.entry.js +93 -0
  11. package/dist/cjs/ion-checkbox_4.cjs.entry.js +370 -0
  12. package/dist/cjs/ion-col_3.cjs.entry.js +155 -0
  13. package/dist/cjs/ion-icon_2.cjs.entry.js +397 -0
  14. package/dist/cjs/ion-input_2.cjs.entry.js +316 -0
  15. package/dist/cjs/ion-label_2.cjs.entry.js +126 -0
  16. package/dist/cjs/ion-range.cjs.entry.js +445 -0
  17. package/dist/cjs/ion-spinner.cjs.entry.js +64 -0
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/match-path-84c9f7ca.js +511 -0
  20. package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
  21. package/dist/cjs/sparkle-core.cjs.js +1 -1
  22. package/dist/cjs/sparkle-course-root.cjs.entry.js +145 -0
  23. package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
  24. package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8863 -17662
  25. package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2129 -0
  26. package/dist/cjs/sparkle-feedback.cjs.entry.js +2 -1
  27. package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
  28. package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
  29. package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
  30. package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
  31. package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
  32. package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
  33. package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
  34. package/dist/cjs/student.service-7af424fe.js +61 -0
  35. package/dist/cjs/user.store-3d29139d.js +21 -0
  36. package/dist/collection/collection-manifest.json +1 -0
  37. package/dist/collection/components/sparkle-intro/sparkle-intro.css +16 -0
  38. package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
  39. package/dist/esm/PrivateRoute-f59ba6b5.js +33 -0
  40. package/dist/esm/{animation-b306f6c2.js → animation-7b083379.js} +1 -1
  41. package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-7ab0ac58.js} +3 -32
  42. package/dist/esm/{auth.store-3ed2389e.js → auth.store-98fad96d.js} +2 -2
  43. package/dist/esm/dom-utils-8e73e88b.js +55 -0
  44. package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-1524bf89.js} +1 -1
  45. package/dist/esm/{feed.service-33b83cb7.js → feed.service-4900fc62.js} +2 -2
  46. package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-518bd233.js} +1 -1
  47. package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
  48. package/dist/esm/{helpers-39367fe1.js → helpers-9d0930de.js} +1 -1
  49. package/dist/esm/{icons-61dec176.js → icons-05b6ce86.js} +1 -1
  50. package/dist/esm/{index-c26d8655.js → index-8de9446b.js} +3 -3
  51. package/dist/esm/index-c92f99d4.js +3067 -0
  52. package/dist/esm/{index-dc61f152.js → index-ea26196a.js} +1 -1
  53. package/dist/esm/{index-9594837e.js → index-fa5e93c5.js} +2 -2
  54. package/dist/esm/{index.es-97dd8174.js → index.es-89cff481.js} +3 -3
  55. package/dist/esm/index.js +5 -4
  56. package/dist/esm/injectHistory-52d0c7eb.js +7 -0
  57. package/dist/esm/{input-shims-cc98ea92.js → input-shims-7f04e044.js} +1 -1
  58. package/dist/esm/ion-accordion.entry.js +2 -2
  59. package/dist/esm/ion-action-sheet_4.entry.js +5 -5
  60. package/dist/esm/ion-app.entry.js +3 -3
  61. package/dist/esm/ion-avatar.entry.js +21 -0
  62. package/dist/esm/ion-back-button.entry.js +2 -2
  63. package/dist/esm/ion-breadcrumb.entry.js +2 -2
  64. package/dist/esm/ion-button_3.entry.js +377 -0
  65. package/dist/esm/ion-card_2.entry.js +88 -0
  66. package/dist/esm/ion-checkbox_4.entry.js +363 -0
  67. package/dist/esm/ion-col_3.entry.js +149 -0
  68. package/dist/esm/ion-content_2.entry.js +1 -1
  69. package/dist/esm/ion-datetime.entry.js +2 -2
  70. package/dist/esm/ion-fab-button.entry.js +1 -1
  71. package/dist/esm/ion-footer.entry.js +1 -1
  72. package/dist/esm/ion-icon_2.entry.js +392 -0
  73. package/dist/esm/ion-img.entry.js +1 -1
  74. package/dist/esm/ion-infinite-scroll.entry.js +1 -1
  75. package/dist/esm/ion-input_2.entry.js +311 -0
  76. package/dist/esm/ion-item-options.entry.js +1 -1
  77. package/dist/esm/ion-item-sliding.entry.js +1 -1
  78. package/dist/esm/ion-label_2.entry.js +121 -0
  79. package/dist/esm/ion-loading.entry.js +3 -3
  80. package/dist/esm/ion-menu-button.entry.js +5 -5
  81. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  82. package/dist/esm/ion-menu.entry.js +4 -4
  83. package/dist/esm/ion-modal.entry.js +5 -5
  84. package/dist/esm/ion-nav.entry.js +4 -4
  85. package/dist/esm/ion-picker-column-internal_2.entry.js +1 -1
  86. package/dist/esm/ion-picker-column.entry.js +1 -1
  87. package/dist/esm/ion-picker.entry.js +3 -3
  88. package/dist/esm/ion-progress-bar.entry.js +1 -1
  89. package/dist/esm/ion-range.entry.js +441 -0
  90. package/dist/esm/ion-refresher-content.entry.js +1 -1
  91. package/dist/esm/ion-refresher.entry.js +2 -2
  92. package/dist/esm/ion-reorder-group.entry.js +1 -1
  93. package/dist/esm/ion-reorder.entry.js +1 -1
  94. package/dist/esm/ion-router-outlet.entry.js +4 -4
  95. package/dist/esm/ion-router.entry.js +1 -1
  96. package/dist/esm/ion-searchbar.entry.js +2 -2
  97. package/dist/esm/ion-segment-button.entry.js +1 -1
  98. package/dist/esm/ion-segment.entry.js +1 -1
  99. package/dist/esm/ion-select_2.entry.js +2 -2
  100. package/dist/esm/ion-slides.entry.js +1 -1
  101. package/dist/esm/ion-spinner.entry.js +60 -0
  102. package/dist/esm/ion-tab.entry.js +2 -2
  103. package/dist/esm/ion-textarea.entry.js +1 -1
  104. package/dist/esm/ion-toast.entry.js +3 -3
  105. package/dist/esm/ion-toggle.entry.js +1 -1
  106. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  107. package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-db4f4ca6.js} +3 -3
  108. package/dist/esm/loader.js +1 -1
  109. package/dist/esm/match-path-36fdf5c7.js +499 -0
  110. package/dist/esm/{md.transition-ca5e0322.js → md.transition-8294b503.js} +3 -3
  111. package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-06adade3.js} +1 -1
  112. package/dist/esm/{overlays-34cfa9e0.js → overlays-5c777f10.js} +2 -2
  113. package/dist/esm/{purify-ffce2b4c.js → purify-eb68cf1d.js} +1 -1
  114. package/dist/esm/sparkle-animation-player.entry.js +1 -1
  115. package/dist/esm/sparkle-card_3.entry.js +85 -0
  116. package/dist/esm/sparkle-code.entry.js +1 -1
  117. package/dist/esm/sparkle-core.js +1 -1
  118. package/dist/esm/sparkle-course-root.entry.js +141 -0
  119. package/dist/esm/sparkle-dropdown.entry.js +57 -0
  120. package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8858 -17602
  121. package/dist/esm/sparkle-facilitator-header_19.entry.js +2107 -0
  122. package/dist/esm/sparkle-facilitator-notes-form.entry.js +4 -4
  123. package/dist/esm/sparkle-feedback.entry.js +5 -4
  124. package/dist/esm/sparkle-goal-form.entry.js +5 -5
  125. package/dist/esm/sparkle-goal-progress.entry.js +15 -0
  126. package/dist/esm/sparkle-gww-item.entry.js +70 -0
  127. package/dist/esm/sparkle-intro.entry.js +22 -0
  128. package/dist/esm/sparkle-menu-collapsible.entry.js +1 -1
  129. package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
  130. package/dist/esm/sparkle-validation-error.entry.js +17 -0
  131. package/dist/esm/{status-tap-6351a0cb.js → status-tap-e8c0c752.js} +1 -1
  132. package/dist/esm/stencil-route-link.entry.js +73 -0
  133. package/dist/esm/stencil-router-redirect.entry.js +28 -0
  134. package/dist/esm/{student.service-29b688ba.js → student.service-c2f44f3a.js} +3 -18
  135. package/dist/esm/{swipe-back-34251834.js → swipe-back-9a3b2cdd.js} +1 -1
  136. package/dist/esm/{tap-click-13f1fb0d.js → tap-click-cca25060.js} +1 -1
  137. package/dist/esm/user.store-e6ff7558.js +19 -0
  138. package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
  139. package/dist/sparkle-core/index.esm.js +1 -1
  140. package/dist/sparkle-core/p-021fde3c.entry.js +1 -0
  141. package/dist/sparkle-core/p-034306e2.js +1 -0
  142. package/dist/sparkle-core/{p-6c90bde6.entry.js → p-034aa29f.entry.js} +1 -1
  143. package/dist/sparkle-core/p-06c0cce3.entry.js +1 -0
  144. package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-08923b40.entry.js} +1 -1
  145. package/dist/sparkle-core/{p-513794b0.js → p-0ad99881.js} +1 -1
  146. package/dist/sparkle-core/{p-95004267.entry.js → p-11234d0f.entry.js} +1 -1
  147. package/dist/sparkle-core/{p-9a17f2ad.js → p-1133fcbd.js} +2 -2
  148. package/dist/sparkle-core/{p-faa912d7.entry.js → p-1551190a.entry.js} +1 -1
  149. package/dist/sparkle-core/p-1728ead7.js +1 -0
  150. package/dist/sparkle-core/{p-ae1f145d.entry.js → p-1e8c22e0.entry.js} +1 -1
  151. package/dist/sparkle-core/p-232cc3bc.js +1 -0
  152. package/dist/sparkle-core/{p-289a35ed.entry.js → p-28950db0.entry.js} +1 -1
  153. package/dist/sparkle-core/p-2af82cc1.entry.js +1 -0
  154. package/dist/sparkle-core/p-2bd4c60e.js +1 -0
  155. package/dist/sparkle-core/p-2f437793.entry.js +348 -0
  156. package/dist/sparkle-core/p-330ccc7c.entry.js +1 -0
  157. package/dist/sparkle-core/{p-838fa86d.entry.js → p-337f92b0.entry.js} +1 -1
  158. package/dist/sparkle-core/{p-857f3696.entry.js → p-35c5c110.entry.js} +1 -1
  159. package/dist/sparkle-core/p-3ff617d5.js +1 -0
  160. package/dist/sparkle-core/{p-9c1772c3.js → p-401feeb0.js} +1 -1
  161. package/dist/sparkle-core/{p-5a3d0e6b.js → p-4028676b.js} +1 -1
  162. package/dist/sparkle-core/{p-1cef8572.js → p-41124baa.js} +1 -1
  163. package/dist/sparkle-core/{p-0187adef.entry.js → p-41af3793.entry.js} +1 -1
  164. package/dist/sparkle-core/p-43a7391b.entry.js +1 -0
  165. package/dist/sparkle-core/{p-855ca600.js → p-44c23f72.js} +1 -1
  166. package/dist/sparkle-core/{p-c1376096.entry.js → p-4550e10f.entry.js} +1 -1
  167. package/dist/sparkle-core/{p-660e0742.js → p-4a72626a.js} +1 -1
  168. package/dist/sparkle-core/{p-e1cba44b.entry.js → p-4ba57978.entry.js} +1 -1
  169. package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
  170. package/dist/sparkle-core/{p-d5b05ece.entry.js → p-4ef4b8bd.entry.js} +1 -1
  171. package/dist/sparkle-core/{p-55ae49e1.js → p-4f144efa.js} +1 -1
  172. package/dist/sparkle-core/{p-713590fc.js → p-52d4715a.js} +1 -1
  173. package/dist/sparkle-core/{p-bca0e465.entry.js → p-52f1d1ca.entry.js} +1 -1
  174. package/dist/sparkle-core/{p-7e61973d.entry.js → p-5a98d42e.entry.js} +1 -1
  175. package/dist/sparkle-core/{p-99b43ee1.entry.js → p-5e4ec238.entry.js} +1 -1
  176. package/dist/sparkle-core/{p-e6b66cef.entry.js → p-5ec7fd67.entry.js} +1 -1
  177. package/dist/sparkle-core/p-618f6f82.entry.js +1 -0
  178. package/dist/sparkle-core/p-65ca1fb2.entry.js +1 -0
  179. package/dist/sparkle-core/{p-a080e768.entry.js → p-663fafa9.entry.js} +1 -1
  180. package/dist/sparkle-core/p-67f71099.entry.js +4 -0
  181. package/dist/sparkle-core/{p-6e88764b.entry.js → p-6a16b9ef.entry.js} +2 -2
  182. package/dist/sparkle-core/p-6b6a8f0a.entry.js +1 -0
  183. package/dist/sparkle-core/p-6c5b5ea2.entry.js +1 -0
  184. package/dist/sparkle-core/{p-941eaa3a.entry.js → p-6ebf52fb.entry.js} +1 -1
  185. package/dist/sparkle-core/p-6f45db93.js +1 -0
  186. package/dist/sparkle-core/p-74106ca8.entry.js +1 -0
  187. package/dist/sparkle-core/{p-6fbe3ca3.entry.js → p-7568dcab.entry.js} +1 -1
  188. package/dist/sparkle-core/p-7703bae9.entry.js +1 -0
  189. package/dist/sparkle-core/p-77c23496.entry.js +1 -0
  190. package/dist/sparkle-core/p-79606a41.entry.js +1 -0
  191. package/dist/sparkle-core/p-7976e88c.entry.js +1 -0
  192. package/dist/sparkle-core/p-7c1f59ec.js +1 -0
  193. package/dist/sparkle-core/p-7de0a22b.entry.js +1 -0
  194. package/dist/sparkle-core/p-848fe770.entry.js +1 -0
  195. package/dist/sparkle-core/{p-cbbeed67.entry.js → p-85429b12.entry.js} +1 -1
  196. package/dist/sparkle-core/{p-64e72f8f.js → p-86d099f1.js} +2 -2
  197. package/dist/sparkle-core/{p-389500fd.js → p-87549bb7.js} +2 -2
  198. package/dist/sparkle-core/{p-1b78dea1.entry.js → p-8c470e28.entry.js} +1 -1
  199. package/dist/sparkle-core/{p-50aac721.entry.js → p-90466494.entry.js} +1 -1
  200. package/dist/sparkle-core/p-954c89c2.entry.js +1 -0
  201. package/dist/sparkle-core/{p-f4001fdf.js → p-95d01c4c.js} +1 -1
  202. package/dist/sparkle-core/{p-6ee40949.js → p-987c64eb.js} +1 -1
  203. package/dist/sparkle-core/{p-1af044f7.js → p-a7832a51.js} +1 -1
  204. package/dist/sparkle-core/p-a89dea80.entry.js +1 -0
  205. package/dist/sparkle-core/p-aef8aa31.entry.js +1 -0
  206. package/dist/sparkle-core/{p-6c6145cd.js → p-b17dd6df.js} +2 -2
  207. package/dist/sparkle-core/{p-5ff6416d.entry.js → p-b21d0d9f.entry.js} +1 -1
  208. package/dist/sparkle-core/p-b7dafaae.entry.js +1 -0
  209. package/dist/sparkle-core/{p-c3986a52.entry.js → p-bd062288.entry.js} +1 -1
  210. package/dist/sparkle-core/{p-c1279cc9.entry.js → p-beb401e3.entry.js} +1 -1
  211. package/dist/sparkle-core/p-bef34cfe.entry.js +1 -0
  212. package/dist/sparkle-core/{p-6bf07a28.js → p-c1c59771.js} +1 -1
  213. package/dist/sparkle-core/p-c4104929.entry.js +1 -0
  214. package/dist/sparkle-core/{p-173d5461.entry.js → p-c748f64e.entry.js} +1 -1
  215. package/dist/sparkle-core/{p-d4a435f8.entry.js → p-c753207f.entry.js} +1 -1
  216. package/dist/sparkle-core/{p-18e62133.entry.js → p-c8ae9e47.entry.js} +1 -1
  217. package/dist/sparkle-core/p-c8ed0575.js +1 -0
  218. package/dist/sparkle-core/{p-8fe2e51f.entry.js → p-c96b24bd.entry.js} +2 -2
  219. package/dist/sparkle-core/p-ce13171b.entry.js +1 -0
  220. package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-d00f550b.entry.js} +1 -1
  221. package/dist/sparkle-core/p-d394eed1.entry.js +1 -0
  222. package/dist/sparkle-core/p-d48e95c1.entry.js +1 -0
  223. package/dist/sparkle-core/p-d4b1a14a.entry.js +1 -0
  224. package/dist/sparkle-core/{p-b81e20fe.entry.js → p-d56efeac.entry.js} +1 -1
  225. package/dist/sparkle-core/{p-932bfb69.entry.js → p-d59a5984.entry.js} +1 -1
  226. package/dist/sparkle-core/p-d8aff730.entry.js +1 -0
  227. package/dist/sparkle-core/{p-5d2e54ee.entry.js → p-da8921d0.entry.js} +1 -1
  228. package/dist/sparkle-core/{p-a1cab0f3.js → p-e08059b6.js} +2 -2
  229. package/dist/sparkle-core/{p-5598650a.entry.js → p-ec4d22e3.entry.js} +1 -1
  230. package/dist/sparkle-core/{p-eb70a23c.entry.js → p-ed3eed72.entry.js} +1 -1
  231. package/dist/sparkle-core/{p-a7cc0052.entry.js → p-ee0717e1.entry.js} +1 -1
  232. package/dist/sparkle-core/p-ef2dace6.js +4 -0
  233. package/dist/sparkle-core/{p-2ee6a5f9.entry.js → p-f1106984.entry.js} +1 -1
  234. package/dist/sparkle-core/p-f61ca75c.entry.js +1 -0
  235. package/dist/sparkle-core/{p-e225581a.js → p-f6bafe1d.js} +1 -1
  236. package/dist/sparkle-core/{p-1df05176.js → p-ff4d6858.js} +1 -1
  237. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  238. package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
  239. package/dist/types/components.d.ts +13 -0
  240. package/package.json +1 -1
  241. package/dist/cjs/student.service-744c3155.js +0 -77
  242. package/dist/sparkle-core/p-03189863.js +0 -1
  243. package/dist/sparkle-core/p-0f899097.entry.js +0 -352
  244. package/dist/sparkle-core/p-1339830f.entry.js +0 -1
  245. package/dist/sparkle-core/p-145e40f5.entry.js +0 -1
  246. package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
  247. package/dist/sparkle-core/p-6bbabb80.entry.js +0 -1
  248. package/dist/sparkle-core/p-950effe7.entry.js +0 -1
  249. package/dist/sparkle-core/p-d8d3524a.js +0 -1
  250. package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
  251. package/dist/sparkle-core/p-e72d4450.js +0 -4
  252. package/dist/sparkle-core/p-fc933591.entry.js +0 -1
@@ -3,10 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-bae2a754.js');
6
- const student_service = require('./student.service-744c3155.js');
6
+ const student_service = require('./student.service-7af424fe.js');
7
7
  const overlays = require('./overlays-0a748609.js');
8
8
  require('./auth.store-ff3fda09.js');
9
9
  require('./environment-config.service-0e02b049.js');
10
+ require('./user.store-3d29139d.js');
10
11
  require('./ionic-global-878073d1.js');
11
12
  require('./hardware-back-button-f7b5d99e.js');
12
13
  require('./helpers-7e28976c.js');
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+
7
+ const sparkleGoalProgressCss = ":host{display:block}.progress-container{padding:4px;display:flex;align-items:center}.progress-container>.progress{padding-left:6px}#progress-bar{background:#ccc;border-radius:12px;height:10px;width:100%;padding:0px;margin:0 auto}#progress-bar:after{content:'';display:block;background:var(--ion-color-primary);width:var(--p);height:100%;border-radius:9px}.percentage{padding-left:10px}";
8
+
9
+ const SparkleGoalProgress = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ render() {
14
+ return (index.h(index.Host, null, index.h("div", { class: "progress-container" }, index.h("div", { id: "progress-bar", style: { "--p": this.percentage + "%" } }), index.h("strong", { class: "percentage" }, this.percentage, "%"))));
15
+ }
16
+ };
17
+ SparkleGoalProgress.style = sparkleGoalProgressCss;
18
+
19
+ exports.sparkle_goal_progress = SparkleGoalProgress;
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+ const overlays = require('./overlays-0a748609.js');
7
+ const util = require('./util-d383acb8.js');
8
+ require('./ionic-global-878073d1.js');
9
+ require('./hardware-back-button-f7b5d99e.js');
10
+ require('./helpers-7e28976c.js');
11
+
12
+ var PostVisibility;
13
+ (function (PostVisibility) {
14
+ PostVisibility[PostVisibility["Private"] = 0] = "Private";
15
+ PostVisibility[PostVisibility["Public"] = 1] = "Public";
16
+ })(PostVisibility || (PostVisibility = {}));
17
+
18
+ const sparkleGwwItemCss = ":host{display:block}.Card{background-color:var(--background);border-radius:4px;box-shadow:rgb(2 8 20 / 10%) 0px 0.175em 0.5em, rgb(2 8 20 / 8%) 0px 0.085em 0.175em;color:var(--text-color--light);display:flex;flex-direction:column;font-size:inherit;font-weight:normal;justify-content:flex-start;line-height:1.6;transition:box-shadow 150ms ease 0s, transform 150ms ease 0s, -webkit-box-shadow 150ms ease 0s, -webkit-transform 150ms ease 0s;width:100%;overflow:hidden;margin-bottom:20px;height:auto !important}.footer ion-item ion-avatar{width:30px;height:30px}.comment-overview{padding:0px 16px;text-align:right;cursor:pointer}";
19
+
20
+ const SparkleGwwItem = class {
21
+ constructor(hostRef) {
22
+ index.registerInstance(this, hostRef);
23
+ }
24
+ async presentModal(comments) {
25
+ const modal = await overlays.modalController.create({
26
+ component: "sparkle-gww-comment-list",
27
+ componentProps: { comments: comments }
28
+ });
29
+ await modal.present();
30
+ }
31
+ clearCommentField() {
32
+ this.comment = "";
33
+ }
34
+ renderMyMoodTemplate(data) {
35
+ return (index.h("div", null, index.h("b", null, "Mood:"), " ", data.Mood, index.h("br", null), index.h("b", null, "Level:"), " ", data.Level, index.h("br", null), index.h("img", { src: data.MoodImage }), "`"));
36
+ }
37
+ renderMyHealthTemplate(data) {
38
+ return (index.h("div", null, index.h("b", null, "Heart rate:"), " ", data.HeartRate, " bpm "));
39
+ }
40
+ renderMyGoalTemplate(data) {
41
+ return (index.h("div", null, index.h("b", null, "Goal: "), " ", data.GoalTitle, " ", index.h("br", null), index.h("b", null, "Update Text: "), " ", data.GoalText, " ", index.h("br", null), index.h("sparkle-goal-progress", { percentage: data.GoalProgress })));
42
+ }
43
+ renderTemplate() {
44
+ if (this.post.PostTextJSON) {
45
+ var parseData = JSON.parse(this.post.PostTextJSON);
46
+ if (this.post.MiniAppId == util.SparkleGlobal.MY_GOALS_APP_ID) {
47
+ return this.renderMyGoalTemplate(parseData);
48
+ }
49
+ else if (this.post.MiniAppId == util.SparkleGlobal.MY_HEALTH_APP_ID) {
50
+ return this.renderMyHealthTemplate(parseData);
51
+ }
52
+ else if (this.post.MiniAppId == util.SparkleGlobal.MY_MOOD_APP_ID) {
53
+ return this.renderMyMoodTemplate(parseData);
54
+ }
55
+ }
56
+ else {
57
+ return ([
58
+ index.h("div", { innerHTML: this.post.PostText }),
59
+ this.post.ExternalResourceUrl && index.h("div", null, index.h("img", { src: this.post.ExternalResourceUrl, class: "external-src-image" }))
60
+ ]);
61
+ }
62
+ }
63
+ render() {
64
+ return (index.h(index.Host, { class: {
65
+ 'Card': true,
66
+ } }, index.h("ion-item", { class: "header-item" }, index.h("ion-avatar", { class: "header-avatar", slot: "start" }, index.h("img", { src: this.post.ProfileImageUrl ? this.post.ProfileImageUrl : index.getAssetPath("/assets/img/user.png") })), index.h("div", null, index.h("strong", { class: "requester-name", "text-capitalize": true }, this.post.Name), index.h("div", null, index.h("small", null, " ", util.date(this.post.CreatedOn)))), index.h("div", { slot: "end" }, index.h("ion-icon", { color: "primary", name: this.post.PostVisibility == PostVisibility.Public ? "globe-outline" : "eye-outline" }))), index.h("div", { class: "ion-padding" }, this.renderTemplate()), index.h("div", { class: "footer" }, this.post.Comments.length > 0 &&
67
+ index.h("div", { class: "comment-overview", slot: "end" }, " ", index.h("small", { onClick: () => this.post.Comments.length > 0 && this.presentModal(this.post.Comments) }, "Comments (", this.post.Comments.length, ")")), this.post.Comments.map((item) => {
68
+ index.h("ion-item", { class: "comment-box", onClick: () => this.presentModal(this.post.Comments) }, index.h("ion-avatar", { class: "footer-avatar", slot: "start" }, index.h("img", { src: item.ProfileImageUrl ? item.ProfileImageUrl : "/assets/img/user.png" })), index.h("small", null, index.h("b", null, item.Name), " ", item.Comment), index.h("ion-icon", { slot: "end", name: "git-merge", color: "primary" }));
69
+ }), index.h("hr", null), index.h("ion-item", { class: "comment-footer" }, index.h("ion-avatar", { class: "footer-avatar", slot: "start" }, index.h("img", { src: index.getAssetPath("/assets/img/user.png") })), index.h("ion-input", { value: this.comment, onIonChange: (e) => this.comment = e.target.value, type: "text", placeholder: "Write a comment" }), index.h("ion-button", { onClick: () => this.onPostComment({ Comment: this.comment, PostId: this.post.Id }), slot: "end", size: "small", disabled: !this.comment || this.loading }, this.loading ? index.h("ion-spinner", { name: "dots" }) : "POST COMMENT")))));
70
+ }
71
+ };
72
+ SparkleGwwItem.style = sparkleGwwItemCss;
73
+
74
+ exports.sparkle_gww_item = SparkleGwwItem;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+
7
+ const sparkleIntroCss = ".people{display:flex}.character-intro{position:absolute;width:100%;padding:15px;border:1px red solid;border-radius:5px}.character-image{opacity:0.5}.character-image:hover{opacity:1}";
8
+
9
+ const SparkleIntro = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ }
13
+ componentDidLoad() { }
14
+ introOnMouseOver(description, event) {
15
+ this.description = description;
16
+ console.log(event);
17
+ event.target.style.opacity = 1;
18
+ }
19
+ render() {
20
+ return (index.h("div", null, index.h("div", { class: "people" }, index.h("div", { class: "character-image zynab", onMouseOver: evt => this.introOnMouseOver('<strong>I’m Zinab or Z.</strong> My family’s from Nigeria, and we live in the Melrose section of the South Bronx. I’m all about racial justice, and watch… I’m going to be the first Muslim mayor of New York City. Believe that!', evt) }, index.h("img", { src: "/assets/img/characters/zynab.png" })), index.h("div", { class: "character-image kimberley", onMouseOver: evt => this.introOnMouseOver('<strong>Hey, everyone, this is Kimberly </strong>and I’m from Brooklyn. My dream is to become a venture capitalist, so I can fund businesses and causes led by other Black Women. I love watching reality TV shows that are related to business like Shark Tank and Undercover Boss.', evt) }, index.h("img", { src: "/assets/img/characters/kimberly.png" })), index.h("div", { class: "character-image jen", onMouseOver: evt => this.introOnMouseOver('<strong>Hi, my name’s Jen</strong> and I’m from Murray Hill Queens. Second-generation Korean American. I love softball and statistics, so right now my dream job would be in sabermetrics. You know, basically a data analyst in baseball.', evt) }, index.h("img", { src: "/assets/img/characters/jen.png" })), index.h("div", { class: "character-image yuna", onMouseOver: evt => this.introOnMouseOver('<strong>Hi, my name’s Yuna</strong> and I’m from Murray Hill Queens. Second-generation Korean American. I love softball and statistics, so right now my dream job would be in sabermetrics. You know, basically a data analyst in baseball.', evt) }, index.h("img", { src: "/assets/img/characters/yuna.png" })), index.h("div", { class: "character-image valeria", onMouseOver: evt => this.introOnMouseOver('<strong>I’m VALERIA but most of my friends call me Val.</strong> First-generation Dominican from Washington Heights. I could watch MSNBC and CNN all day. In fact, one day I’m going to have my own political talk show like my crushes Rachel Maddow and Robin Roberts.', evt) }, index.h("img", { src: "/assets/img/characters/valeria.png" }))), index.h("div", { class: "people-description" }, this.description ? index.h("div", { class: "character-intro", innerHTML: this.description }) : '')));
21
+ }
22
+ get el() { return index.getElement(this); }
23
+ };
24
+ SparkleIntro.style = sparkleIntroCss;
25
+
26
+ exports.sparkle_intro = SparkleIntro;
@@ -0,0 +1,236 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+ const icons = require('./icons-80d477f6.js');
7
+ const activeRouter = require('./active-router-eedb3bfe.js');
8
+ const matchPath = require('./match-path-84c9f7ca.js');
9
+
10
+ const menuToggleCss = "sparkle-menu-toggle{background-color:rgba(0, 0, 0, var(--bg-alpha, 0));border-radius:50%;color:var(--text-color--light);cursor:pointer;height:40px;padding:8px;width:40px}@media (hover: hover){sparkle-menu-toggle:focus,sparkle-menu-toggle:hover{--bg-alpha:0.03;outline:none}sparkle-menu-toggle:active{--bg-alpha:0.06}}sparkle-menu-toggle svg{fill:currentColor}";
11
+
12
+ const SparkleMenuToggle = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ }
16
+ hostData() {
17
+ return {
18
+ 'role': 'button',
19
+ 'tabindex': '0',
20
+ 'aria-label': 'Toggle Menu',
21
+ };
22
+ }
23
+ __stencil_render() {
24
+ return index.h(icons.Menu, null);
25
+ }
26
+ render() { return index.h(index.Host, this.hostData(), this.__stencil_render()); }
27
+ };
28
+ SparkleMenuToggle.style = menuToggleCss;
29
+
30
+ const navCss = "sparkle-nav{display:block;flex:0 0 auto;z-index:1}sparkle-nav .wrapper{position:relative}sparkle-nav .section-label{margin-bottom:0;font-size:14px;font-weight:600}sparkle-nav .module-list li,sparkle-nav .module-list ul li{list-style-type:none;margin:0;padding:0}sparkle-nav .module-list{margin-top:0;padding:0}sparkle-nav .module-list .section-label:first-of-type{margin-top:0}sparkle-nav .module-list li{font-size:14px;padding:10px 10px 0px 14px}sparkle-nav .module-list>li{margin-top:10px}sparkle-nav .module-list a{font-weight:400;color:#6c6c8b;text-decoration:none;white-space:nowrap;border:0}sparkle-nav .module-list a:not(.link-active){transition:color 0.2s}sparkle-nav .module-list a:hover{border:0}sparkle-nav .module-list .link-active{font-weight:bold;color:var(--ion-color-sparkle)}sparkle-nav .module-list .link-active a{color:var(--ion-color-sparkle)}sparkle-nav .module-list a:hover:not(.link-active){color:var(--ion-color-sparkle)}sparkle-nav .module-list ul li{padding-left:12px;transition:80ms height;display:block;overflow:hidden;text-overflow:ellipsis}sparkle-nav .module-list ul.collapsed li{height:0}sparkle-nav ul.session-list{margin:0;padding:10px 0px 0px 0px}sparkle-nav ul.session-list li a{display:flex;flex-direction:column;padding:15px 24px;position:relative}sparkle-nav ul.session-list li a:before{content:'';width:10px;height:10px;border-radius:50%;background:#dfe1e3;display:block;position:absolute;left:1px;top:50%;margin-top:-5px;z-index:5}sparkle-nav ul.session-list li a:after{content:'';background:#dfe1e3;height:100%;position:absolute;width:2px;display:block;left:5px;top:0}sparkle-nav ul.session-list li a.is-active{color:var(--ion-color-sparkle)}sparkle-nav ul.session-list li a.is-active:before{width:14px;height:14px;left:23px;margin-top:-7px;background:var(--ion-color-sparkle);box-shadow:0 0 4px var(--ion-color-sparkle)}sparkle-nav ul.session-list li a.is-active:after{background:#dfe1e3}sparkle-nav ul.session-list li stencil-route-link.is-completed a{}sparkle-nav ul.session-list li stencil-route-link.is-completed a:before{background:var(--ion-color-sparkle)}sparkle-nav ul.session-list li stencil-route-link.is-completed a:after{background:var(--ion-color-sparkle)}sparkle-nav ul.session-list li a p{color:#fff;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:.2s ease-in-out color}sparkle-nav ul.session-list li a span{display:block;line-height:12px}sparkle-nav ul li span.coming-soon{font-size:0.7rem;display:block;background:0 0;color:#f6c95b;line-height:14px;border-radius:4px;padding:1px 4px 0;box-shadow:none;border:1px solid #f6c95b;width:85px;text-align:center}sparkle-nav ul.session-list li a:hover p{color:var(--ion-color-sparkle)}sparkle-nav ul.session-list li:first-child a:after{height:50%;top:50%}sparkle-nav ul.session-list li:last-child a:after{height:50%;bottom:50%}";
31
+
32
+ const SparkleNav = class {
33
+ constructor(hostRef) {
34
+ index.registerInstance(this, hostRef);
35
+ //TODO: get this config somewhere from the config initialization
36
+ this.config = {
37
+ showRomanNumber: false,
38
+ showModuleIndex: true,
39
+ showSessionIndex: true,
40
+ };
41
+ this.toggleParent = (parentItem) => {
42
+ return (e) => {
43
+ e.preventDefault();
44
+ this.selectedParent = parentItem;
45
+ };
46
+ };
47
+ }
48
+ componentDidLoad() { }
49
+ //TODO: not working
50
+ pageDidLoadHandler($event) {
51
+ if ($event) {
52
+ //let pageInfo = $event.detail.pageInfo;
53
+ let splittedParts = window.location.pathname.split('/').filter(x => !!x && x != 'course');
54
+ this.moduleURLName = splittedParts[0];
55
+ this.sessionURLName = splittedParts[1];
56
+ if (this.toc) {
57
+ let courseModule = this.toc.courseModules.find(x => x.urlName == this.moduleURLName);
58
+ this.selectedParent = courseModule;
59
+ }
60
+ }
61
+ }
62
+ toggleLeftSidebar() { }
63
+ romanize(num) {
64
+ if (isNaN(num))
65
+ return NaN;
66
+ var digits = String(+num).split(''), key = [
67
+ '',
68
+ 'C',
69
+ 'CC',
70
+ 'CCC',
71
+ 'CD',
72
+ 'D',
73
+ 'DC',
74
+ 'DCC',
75
+ 'DCCC',
76
+ 'CM',
77
+ '',
78
+ 'X',
79
+ 'XX',
80
+ 'XXX',
81
+ 'XL',
82
+ 'L',
83
+ 'LX',
84
+ 'LXX',
85
+ 'LXXX',
86
+ 'XC',
87
+ '',
88
+ 'I',
89
+ 'II',
90
+ 'III',
91
+ 'IV',
92
+ 'V',
93
+ 'VI',
94
+ 'VII',
95
+ 'VIII',
96
+ 'IX',
97
+ ], roman = '', i = 3;
98
+ while (i--)
99
+ roman = (key[+digits.pop() + i * 10] || '') + roman;
100
+ return Array(+digits.join('') + 1).join('M') + roman;
101
+ }
102
+ getModuleIndex(index, preventNumbering) {
103
+ return this.config.showModuleIndex && !preventNumbering ? (this.config.showRomanNumber ? this.romanize(index) : index) + '. ' : '';
104
+ }
105
+ getSessionIndex(index, preventNumbering) {
106
+ return this.config.showSessionIndex && !preventNumbering ? (this.config.showRomanNumber ? this.romanize(index) : index) + '. ' : '';
107
+ }
108
+ hostData() {
109
+ return {
110
+ role: 'navigation',
111
+ };
112
+ }
113
+ __stencil_render() {
114
+ let moduleIndex = 0;
115
+ let sessionIndex = 0;
116
+ return (index.h("ul", { class: "module-list" }, this.toc &&
117
+ this.toc.courseModules.map(module => {
118
+ sessionIndex = 0;
119
+ if (!module.preventNumbering) {
120
+ moduleIndex++;
121
+ }
122
+ return (module.sessions.length > 0 && (index.h("li", null, index.h("a", { class: { 'link-active': module.urlName == this.moduleURLName }, href: module.sessions[0].urlName || '#', onClick: this.toggleParent(module) }, index.h("span", { class: "section-label" }, this.getModuleIndex(moduleIndex, module.preventNumbering), module.name, module.comingSoon && index.h("span", { class: "coming-soon" }, " Coming soon"))), index.h("ul", { class: { 'collapsed': this.selectedParent ? module !== this.selectedParent : moduleIndex !== 0, 'session-list': true } }, module.sessions.map(session => {
123
+ if (!session.preventNumbering) {
124
+ sessionIndex++;
125
+ }
126
+ return (index.h("li", { class: {
127
+ 'active': module.urlName == this.moduleURLName && session.urlName == this.sessionURLName,
128
+ } }, index.h("stencil-route-link", { class: {
129
+ 'is-completed': true,
130
+ 'link-active': module.urlName == this.moduleURLName && session.urlName == this.sessionURLName,
131
+ }, url: 'course/' + module.urlName + '/' + session.urlName + '/' + session.pages[0].urlName, onClick: () => this.toggleLeftSidebar() }, this.getSessionIndex(sessionIndex, session.preventNumbering), session.name, session.comingSoon && index.h("span", { class: "coming-soon" }, " Coming soon"))));
132
+ })))));
133
+ })));
134
+ }
135
+ get el() { return index.getElement(this); }
136
+ render() { return index.h(index.Host, this.hostData(), this.__stencil_render()); }
137
+ };
138
+ SparkleNav.style = navCss;
139
+
140
+ const getUniqueId = () => {
141
+ return ((Math.random() * 10e16).toString().match(/.{4}/g) || []).join('-');
142
+ };
143
+ const getMatch = (pathname, url, exact) => {
144
+ return matchPath.matchPath(pathname, {
145
+ path: url,
146
+ exact: exact,
147
+ strict: true
148
+ });
149
+ };
150
+ const isHTMLStencilRouteElement = (elm) => {
151
+ return elm.tagName === 'STENCIL-ROUTE';
152
+ };
153
+ const RouteSwitch = class {
154
+ constructor(hostRef) {
155
+ index.registerInstance(this, hostRef);
156
+ this.group = getUniqueId();
157
+ this.subscribers = [];
158
+ this.queue = index.getContext(this, "queue");
159
+ }
160
+ componentWillLoad() {
161
+ if (this.location != null) {
162
+ this.regenerateSubscribers(this.location);
163
+ }
164
+ }
165
+ async regenerateSubscribers(newLocation) {
166
+ if (newLocation == null) {
167
+ return;
168
+ }
169
+ let newActiveIndex = -1;
170
+ this.subscribers = Array.prototype.slice.call(this.el.children)
171
+ .filter(isHTMLStencilRouteElement)
172
+ .map((childElement, index) => {
173
+ const match = getMatch(newLocation.pathname, childElement.url, childElement.exact);
174
+ if (match && newActiveIndex === -1) {
175
+ newActiveIndex = index;
176
+ }
177
+ return {
178
+ el: childElement,
179
+ match: match
180
+ };
181
+ });
182
+ if (newActiveIndex === -1) {
183
+ return;
184
+ }
185
+ // Check if this actually changes which child is active
186
+ // then just pass the new match down if the active route isn't changing.
187
+ if (this.activeIndex === newActiveIndex) {
188
+ this.subscribers[newActiveIndex].el.match = this.subscribers[newActiveIndex].match;
189
+ return;
190
+ }
191
+ this.activeIndex = newActiveIndex;
192
+ // Set all props on the new active route then wait until it says that it
193
+ // is completed
194
+ const activeChild = this.subscribers[this.activeIndex];
195
+ if (this.scrollTopOffset) {
196
+ activeChild.el.scrollTopOffset = this.scrollTopOffset;
197
+ }
198
+ activeChild.el.group = this.group;
199
+ activeChild.el.match = activeChild.match;
200
+ activeChild.el.componentUpdated = (routeViewUpdatedOptions) => {
201
+ // After the new active route has completed then update visibility of routes
202
+ this.queue.write(() => {
203
+ this.subscribers.forEach((child, index) => {
204
+ child.el.componentUpdated = undefined;
205
+ if (index === this.activeIndex) {
206
+ return child.el.style.display = '';
207
+ }
208
+ if (this.scrollTopOffset) {
209
+ child.el.scrollTopOffset = this.scrollTopOffset;
210
+ }
211
+ child.el.group = this.group;
212
+ child.el.match = null;
213
+ child.el.style.display = 'none';
214
+ });
215
+ });
216
+ if (this.routeViewsUpdated) {
217
+ this.routeViewsUpdated(Object.assign({ scrollTopOffset: this.scrollTopOffset }, routeViewUpdatedOptions));
218
+ }
219
+ };
220
+ }
221
+ render() {
222
+ return (index.h("slot", null));
223
+ }
224
+ get el() { return index.getElement(this); }
225
+ static get watchers() { return {
226
+ "location": ["regenerateSubscribers"]
227
+ }; }
228
+ };
229
+ activeRouter.ActiveRouter.injectProps(RouteSwitch, [
230
+ 'location',
231
+ 'routeViewsUpdated'
232
+ ]);
233
+
234
+ exports.sparkle_menu_toggle = SparkleMenuToggle;
235
+ exports.sparkle_nav = SparkleNav;
236
+ exports.stencil_route_switch = RouteSwitch;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+
7
+ const sparkleValidationErrorCss = ":host{display:block}sparkle-validation-error ul{padding:10px 0px}sparkle-validation-error .alert-danger{margin-top:10px;font-size:12px}";
8
+
9
+ const SparkleValidationError = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.errors = [];
13
+ }
14
+ render() {
15
+ return (index.h(index.Host, null, this.errors.length > 0 &&
16
+ index.h("div", { class: "alert alert-danger", role: "alert" }, index.h("ul", null, this.errors.map(error => index.h("li", null, index.h("b", null, error.Field, ": "), error.Message))))));
17
+ }
18
+ };
19
+ SparkleValidationError.style = sparkleValidationErrorCss;
20
+
21
+ exports.sparkle_validation_error = SparkleValidationError;
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+ const matchPath = require('./match-path-84c9f7ca.js');
7
+ const domUtils = require('./dom-utils-b8befdd5.js');
8
+ const activeRouter = require('./active-router-eedb3bfe.js');
9
+
10
+ const getUrl = (url, root) => {
11
+ // Don't allow double slashes
12
+ if (url.charAt(0) == '/' && root.charAt(root.length - 1) == '/') {
13
+ return root.slice(0, root.length - 1) + url;
14
+ }
15
+ return root + url;
16
+ };
17
+ const RouteLink = class {
18
+ constructor(hostRef) {
19
+ index.registerInstance(this, hostRef);
20
+ this.unsubscribe = () => { return; };
21
+ this.activeClass = 'link-active';
22
+ this.exact = false;
23
+ this.strict = true;
24
+ /**
25
+ * Custom tag to use instead of an anchor
26
+ */
27
+ this.custom = 'a';
28
+ this.match = null;
29
+ }
30
+ componentWillLoad() {
31
+ this.computeMatch();
32
+ }
33
+ // Identify if the current route is a match.
34
+ computeMatch() {
35
+ if (this.location) {
36
+ this.match = matchPath.matchPath(this.location.pathname, {
37
+ path: this.urlMatch || this.url,
38
+ exact: this.exact,
39
+ strict: this.strict
40
+ });
41
+ }
42
+ }
43
+ handleClick(e) {
44
+ if (domUtils.isModifiedEvent(e) || !this.history || !this.url || !this.root) {
45
+ return;
46
+ }
47
+ e.preventDefault();
48
+ return this.history.push(getUrl(this.url, this.root));
49
+ }
50
+ // Get the URL for this route link without the root from the router
51
+ render() {
52
+ let anchorAttributes = {
53
+ class: {
54
+ [this.activeClass]: this.match !== null,
55
+ },
56
+ onClick: this.handleClick.bind(this)
57
+ };
58
+ if (this.anchorClass) {
59
+ anchorAttributes.class[this.anchorClass] = true;
60
+ }
61
+ if (this.custom === 'a') {
62
+ anchorAttributes = Object.assign({}, anchorAttributes, { href: this.url, title: this.anchorTitle, role: this.anchorRole, tabindex: this.anchorTabIndex, 'aria-haspopup': this.ariaHaspopup, id: this.anchorId, 'aria-posinset': this.ariaPosinset, 'aria-setsize': this.ariaSetsize, 'aria-label': this.ariaLabel });
63
+ }
64
+ return (index.h(this.custom, Object.assign({}, anchorAttributes), index.h("slot", null)));
65
+ }
66
+ get el() { return index.getElement(this); }
67
+ static get watchers() { return {
68
+ "location": ["computeMatch"]
69
+ }; }
70
+ };
71
+ activeRouter.ActiveRouter.injectProps(RouteLink, [
72
+ 'history',
73
+ 'location',
74
+ 'root'
75
+ ]);
76
+
77
+ exports.stencil_route_link = RouteLink;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-bae2a754.js');
6
+ const activeRouter = require('./active-router-eedb3bfe.js');
7
+
8
+ // Get the URL for this route link without the root from the router
9
+ const getUrl = (url, root) => {
10
+ // Don't allow double slashes
11
+ if (url.charAt(0) == '/' && root.charAt(root.length - 1) == '/') {
12
+ return root.slice(0, root.length - 1) + url;
13
+ }
14
+ return root + url;
15
+ };
16
+ const Redirect = class {
17
+ constructor(hostRef) {
18
+ index.registerInstance(this, hostRef);
19
+ }
20
+ componentWillLoad() {
21
+ if (this.history && this.root && this.url) {
22
+ return this.history.replace(getUrl(this.url, this.root));
23
+ }
24
+ }
25
+ get el() { return index.getElement(this); }
26
+ };
27
+ activeRouter.ActiveRouter.injectProps(Redirect, [
28
+ 'history',
29
+ 'root'
30
+ ]);
31
+
32
+ exports.stencil_router_redirect = Redirect;
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ const auth_store = require('./auth.store-ff3fda09.js');
4
+ const user_store = require('./user.store-3d29139d.js');
5
+
6
+ class StudentService {
7
+ constructor() { }
8
+ static getInstance() {
9
+ if (!StudentService.instance) {
10
+ StudentService.instance = new StudentService();
11
+ }
12
+ return StudentService.instance;
13
+ }
14
+ async enrollClass(enrollInput) {
15
+ let result = await auth_store.HttpService.http.post('api/v1/Student/EnrollClass', enrollInput);
16
+ if (result) {
17
+ user_store.userStore.state.enrollmentList = [
18
+ ...user_store.userStore.state.enrollmentList,
19
+ result.Data
20
+ ];
21
+ }
22
+ return result;
23
+ }
24
+ async leaveClass(leaveInput) {
25
+ let result = await auth_store.HttpService.http.post('api/v1/Student/LeaveClass', leaveInput);
26
+ if (result) {
27
+ user_store.userStore.state.enrollmentList = user_store.userStore.state.enrollmentList.filter((item) => item.Id != result.Data);
28
+ }
29
+ return result;
30
+ }
31
+ async fetchUserConfiguration() {
32
+ let result = await auth_store.HttpService.http.get('api/v1/Student/UserConfiguration');
33
+ if (result) {
34
+ user_store.userStore.state.enrollmentList = result.Data.EnrollmentList;
35
+ user_store.userStore.state.user.FirstName = result.Data.FirstName;
36
+ user_store.userStore.state.user.LastName = result.Data.LastName;
37
+ user_store.userStore.state.user.ProfileText = result.Data.ProfileText;
38
+ user_store.userStore.state.user.ProfileImage = result.Data.ProfileImage;
39
+ user_store.userStore.state.user.IsVerified = result.Data.IsVerified;
40
+ user_store.userStore.state.user.Roles = result.Data.Roles;
41
+ user_store.userStore.state.user.FacilitatorClassList = result.Data.FacilitatorClassList;
42
+ }
43
+ return result;
44
+ }
45
+ async updateProfile(updateProfileInput) {
46
+ user_store.userStore.state.updateLoading = true;
47
+ let result = await auth_store.HttpService.http.post('api/Account/update-profile', updateProfileInput);
48
+ console.log('after fetch', result);
49
+ if (result) {
50
+ user_store.userStore.state.updateLoading = false;
51
+ user_store.userStore.state.user = Object.assign(Object.assign({}, user_store.userStore.state.user), { FirstName: result.Data.FirstName, LastName: result.Data.LastName, ProfileText: result.Data.ProfileText, ProfileImage: result.Data.ProfileImage });
52
+ }
53
+ return result;
54
+ }
55
+ async submitFeedback(feedbackInput) {
56
+ let result = await auth_store.HttpService.http.post('api/v1/Feedback', feedbackInput);
57
+ return result;
58
+ }
59
+ }
60
+
61
+ exports.StudentService = StudentService;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ const auth_store = require('./auth.store-ff3fda09.js');
4
+
5
+ const { state, onChange, reset } = auth_store.createStore({
6
+ user: {
7
+ FirstName: '',
8
+ LastName: '',
9
+ ProfileText: '',
10
+ ProfileImage: '',
11
+ IsVerified: false,
12
+ Roles: [],
13
+ FacilitatorClassList: []
14
+ },
15
+ loaded: false,
16
+ updateLoading: false,
17
+ enrollmentList: [],
18
+ });
19
+ const userStore = { state, onChange, reset };
20
+
21
+ exports.userStore = userStore;
@@ -29,6 +29,7 @@
29
29
  "./components/sparkle-feed-post/sparkle-feed-post.js",
30
30
  "./components/sparkle-feedback/sparkle-feedback.js",
31
31
  "./components/sparkle-forgot-password/sparkle-forgot-password.js",
32
+ "./components/sparkle-intro/sparkle-intro.js",
32
33
  "./components/sparkle-login/sparkle-login.js",
33
34
  "./components/sparkle-poll/sparkle-poll.js",
34
35
  "./components/sparkle-quiz/sparkle-quiz.js",
@@ -0,0 +1,16 @@
1
+ .people {
2
+ display: flex;
3
+ }
4
+ .character-intro {
5
+ position: absolute;
6
+ width: 100%;
7
+ padding: 15px;
8
+ border: 1px red solid;
9
+ border-radius: 5px;
10
+ }
11
+ .character-image {
12
+ opacity: 0.5;
13
+ }
14
+ .character-image:hover {
15
+ opacity: 1;
16
+ }
@@ -0,0 +1,35 @@
1
+ import { Component, Element, State, h } from '@stencil/core';
2
+ export class SparkleIntro {
3
+ componentDidLoad() { }
4
+ introOnMouseOver(description, event) {
5
+ this.description = description;
6
+ console.log(event);
7
+ event.target.style.opacity = 1;
8
+ }
9
+ render() {
10
+ return (h("div", null,
11
+ h("div", { class: "people" },
12
+ h("div", { class: "character-image zynab", onMouseOver: evt => this.introOnMouseOver('<strong>I’m Zinab or Z.</strong> My family’s from Nigeria, and we live in the Melrose section of the South Bronx. I’m all about racial justice, and watch… I’m going to be the first Muslim mayor of New York City. Believe that!', evt) },
13
+ h("img", { src: "/assets/img/characters/zynab.png" })),
14
+ h("div", { class: "character-image kimberley", onMouseOver: evt => this.introOnMouseOver('<strong>Hey, everyone, this is Kimberly </strong>and I’m from Brooklyn. My dream is to become a venture capitalist, so I can fund businesses and causes led by other Black Women. I love watching reality TV shows that are related to business like Shark Tank and Undercover Boss.', evt) },
15
+ h("img", { src: "/assets/img/characters/kimberly.png" })),
16
+ h("div", { class: "character-image jen", onMouseOver: evt => this.introOnMouseOver('<strong>Hi, my name’s Jen</strong> and I’m from Murray Hill Queens. Second-generation Korean American. I love softball and statistics, so right now my dream job would be in sabermetrics. You know, basically a data analyst in baseball.', evt) },
17
+ h("img", { src: "/assets/img/characters/jen.png" })),
18
+ h("div", { class: "character-image yuna", onMouseOver: evt => this.introOnMouseOver('<strong>Hi, my name’s Yuna</strong> and I’m from Murray Hill Queens. Second-generation Korean American. I love softball and statistics, so right now my dream job would be in sabermetrics. You know, basically a data analyst in baseball.', evt) },
19
+ h("img", { src: "/assets/img/characters/yuna.png" })),
20
+ h("div", { class: "character-image valeria", onMouseOver: evt => this.introOnMouseOver('<strong>I’m VALERIA but most of my friends call me Val.</strong> First-generation Dominican from Washington Heights. I could watch MSNBC and CNN all day. In fact, one day I’m going to have my own political talk show like my crushes Rachel Maddow and Robin Roberts.', evt) },
21
+ h("img", { src: "/assets/img/characters/valeria.png" }))),
22
+ h("div", { class: "people-description" }, this.description ? h("div", { class: "character-intro", innerHTML: this.description }) : '')));
23
+ }
24
+ static get is() { return "sparkle-intro"; }
25
+ static get originalStyleUrls() { return {
26
+ "$": ["sparkle-intro.css"]
27
+ }; }
28
+ static get styleUrls() { return {
29
+ "$": ["sparkle-intro.css"]
30
+ }; }
31
+ static get states() { return {
32
+ "description": {}
33
+ }; }
34
+ static get elementRef() { return "el"; }
35
+ }