@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
@@ -1,10 +1,10 @@
1
1
  import { h, r as registerInstance, H as Host, e as getElement } from './index-5568e3fa.js';
2
- import { t as toastController } from './overlays-34cfa9e0.js';
3
- import { F as FacilitatorService, f as facilitatorStore } from './facilitator.service-ec0a9739.js';
2
+ import { t as toastController } from './overlays-5c777f10.js';
3
+ import { F as FacilitatorService, f as facilitatorStore } from './facilitator.service-1524bf89.js';
4
4
  import './ionic-global-0939c477.js';
5
5
  import './hardware-back-button-b6ccf74a.js';
6
- import './helpers-39367fe1.js';
7
- import './auth.store-3ed2389e.js';
6
+ import './helpers-9d0930de.js';
7
+ import './auth.store-98fad96d.js';
8
8
  import './environment-config.service-2b5d692b.js';
9
9
 
10
10
  const LoadingSpinner = () => (h("div", { class: "spinner-border", role: "status" }));
@@ -1,11 +1,12 @@
1
1
  import { r as registerInstance, h, H as Host, e as getElement } from './index-5568e3fa.js';
2
- import { S as StudentService } from './student.service-29b688ba.js';
3
- import { t as toastController } from './overlays-34cfa9e0.js';
4
- import './auth.store-3ed2389e.js';
2
+ import { S as StudentService } from './student.service-c2f44f3a.js';
3
+ import { t as toastController } from './overlays-5c777f10.js';
4
+ import './auth.store-98fad96d.js';
5
5
  import './environment-config.service-2b5d692b.js';
6
+ import './user.store-e6ff7558.js';
6
7
  import './ionic-global-0939c477.js';
7
8
  import './hardware-back-button-b6ccf74a.js';
8
- import './helpers-39367fe1.js';
9
+ import './helpers-9d0930de.js';
9
10
 
10
11
  const sparkleFeedbackCss = ":host{display:block}";
11
12
 
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, h, e as getElement } from './index-5568e3fa.js';
2
- import { S as SparkleGlobal, G as GetGoalAppData, e as MyGoalTemplate, f as MyGoalTemplateJSON } from './util-6ef753e9.js';
2
+ import { S as SparkleGlobal, G as GetGoalAppData, M as MyGoalTemplate, a as MyGoalTemplateJSON } from './util-a831d09d.js';
3
3
  import { E as EnvironmentConfigService } from './environment-config.service-2b5d692b.js';
4
4
  import { A as AssetsService } from './assets.service-66e848b8.js';
5
- import { A as AppDataService, F as FeedService, g as goalStore, f as feedStore } from './feed.service-33b83cb7.js';
6
- import './auth.store-3ed2389e.js';
7
- import './overlays-34cfa9e0.js';
5
+ import { A as AppDataService, F as FeedService, g as goalStore, f as feedStore } from './feed.service-4900fc62.js';
6
+ import './auth.store-98fad96d.js';
7
+ import './overlays-5c777f10.js';
8
8
  import './ionic-global-0939c477.js';
9
9
  import './hardware-back-button-b6ccf74a.js';
10
- import './helpers-39367fe1.js';
10
+ import './helpers-9d0930de.js';
11
11
 
12
12
  const sparkleGoalFormCss = ":host{display:block}";
13
13
 
@@ -0,0 +1,15 @@
1
+ import { r as registerInstance, h, H as Host } from './index-5568e3fa.js';
2
+
3
+ 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}";
4
+
5
+ const SparkleGoalProgress = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ render() {
10
+ return (h(Host, null, h("div", { class: "progress-container" }, h("div", { id: "progress-bar", style: { "--p": this.percentage + "%" } }), h("strong", { class: "percentage" }, this.percentage, "%"))));
11
+ }
12
+ };
13
+ SparkleGoalProgress.style = sparkleGoalProgressCss;
14
+
15
+ export { SparkleGoalProgress as sparkle_goal_progress };
@@ -0,0 +1,70 @@
1
+ import { r as registerInstance, h, c as getAssetPath, H as Host } from './index-5568e3fa.js';
2
+ import { m as modalController } from './overlays-5c777f10.js';
3
+ import { S as SparkleGlobal, f as date } from './util-a831d09d.js';
4
+ import './ionic-global-0939c477.js';
5
+ import './hardware-back-button-b6ccf74a.js';
6
+ import './helpers-9d0930de.js';
7
+
8
+ var PostVisibility;
9
+ (function (PostVisibility) {
10
+ PostVisibility[PostVisibility["Private"] = 0] = "Private";
11
+ PostVisibility[PostVisibility["Public"] = 1] = "Public";
12
+ })(PostVisibility || (PostVisibility = {}));
13
+
14
+ 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}";
15
+
16
+ const SparkleGwwItem = class {
17
+ constructor(hostRef) {
18
+ registerInstance(this, hostRef);
19
+ }
20
+ async presentModal(comments) {
21
+ const modal = await modalController.create({
22
+ component: "sparkle-gww-comment-list",
23
+ componentProps: { comments: comments }
24
+ });
25
+ await modal.present();
26
+ }
27
+ clearCommentField() {
28
+ this.comment = "";
29
+ }
30
+ renderMyMoodTemplate(data) {
31
+ return (h("div", null, h("b", null, "Mood:"), " ", data.Mood, h("br", null), h("b", null, "Level:"), " ", data.Level, h("br", null), h("img", { src: data.MoodImage }), "`"));
32
+ }
33
+ renderMyHealthTemplate(data) {
34
+ return (h("div", null, h("b", null, "Heart rate:"), " ", data.HeartRate, " bpm "));
35
+ }
36
+ renderMyGoalTemplate(data) {
37
+ return (h("div", null, h("b", null, "Goal: "), " ", data.GoalTitle, " ", h("br", null), h("b", null, "Update Text: "), " ", data.GoalText, " ", h("br", null), h("sparkle-goal-progress", { percentage: data.GoalProgress })));
38
+ }
39
+ renderTemplate() {
40
+ if (this.post.PostTextJSON) {
41
+ var parseData = JSON.parse(this.post.PostTextJSON);
42
+ if (this.post.MiniAppId == SparkleGlobal.MY_GOALS_APP_ID) {
43
+ return this.renderMyGoalTemplate(parseData);
44
+ }
45
+ else if (this.post.MiniAppId == SparkleGlobal.MY_HEALTH_APP_ID) {
46
+ return this.renderMyHealthTemplate(parseData);
47
+ }
48
+ else if (this.post.MiniAppId == SparkleGlobal.MY_MOOD_APP_ID) {
49
+ return this.renderMyMoodTemplate(parseData);
50
+ }
51
+ }
52
+ else {
53
+ return ([
54
+ h("div", { innerHTML: this.post.PostText }),
55
+ this.post.ExternalResourceUrl && h("div", null, h("img", { src: this.post.ExternalResourceUrl, class: "external-src-image" }))
56
+ ]);
57
+ }
58
+ }
59
+ render() {
60
+ return (h(Host, { class: {
61
+ 'Card': true,
62
+ } }, h("ion-item", { class: "header-item" }, h("ion-avatar", { class: "header-avatar", slot: "start" }, h("img", { src: this.post.ProfileImageUrl ? this.post.ProfileImageUrl : getAssetPath("/assets/img/user.png") })), h("div", null, h("strong", { class: "requester-name", "text-capitalize": true }, this.post.Name), h("div", null, h("small", null, " ", date(this.post.CreatedOn)))), h("div", { slot: "end" }, h("ion-icon", { color: "primary", name: this.post.PostVisibility == PostVisibility.Public ? "globe-outline" : "eye-outline" }))), h("div", { class: "ion-padding" }, this.renderTemplate()), h("div", { class: "footer" }, this.post.Comments.length > 0 &&
63
+ h("div", { class: "comment-overview", slot: "end" }, " ", h("small", { onClick: () => this.post.Comments.length > 0 && this.presentModal(this.post.Comments) }, "Comments (", this.post.Comments.length, ")")), this.post.Comments.map((item) => {
64
+ h("ion-item", { class: "comment-box", onClick: () => this.presentModal(this.post.Comments) }, h("ion-avatar", { class: "footer-avatar", slot: "start" }, h("img", { src: item.ProfileImageUrl ? item.ProfileImageUrl : "/assets/img/user.png" })), h("small", null, h("b", null, item.Name), " ", item.Comment), h("ion-icon", { slot: "end", name: "git-merge", color: "primary" }));
65
+ }), h("hr", null), h("ion-item", { class: "comment-footer" }, h("ion-avatar", { class: "footer-avatar", slot: "start" }, h("img", { src: getAssetPath("/assets/img/user.png") })), h("ion-input", { value: this.comment, onIonChange: (e) => this.comment = e.target.value, type: "text", placeholder: "Write a comment" }), h("ion-button", { onClick: () => this.onPostComment({ Comment: this.comment, PostId: this.post.Id }), slot: "end", size: "small", disabled: !this.comment || this.loading }, this.loading ? h("ion-spinner", { name: "dots" }) : "POST COMMENT")))));
66
+ }
67
+ };
68
+ SparkleGwwItem.style = sparkleGwwItemCss;
69
+
70
+ export { SparkleGwwItem as sparkle_gww_item };
@@ -0,0 +1,22 @@
1
+ import { r as registerInstance, h, e as getElement } from './index-5568e3fa.js';
2
+
3
+ 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}";
4
+
5
+ const SparkleIntro = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ componentDidLoad() { }
10
+ introOnMouseOver(description, event) {
11
+ this.description = description;
12
+ console.log(event);
13
+ event.target.style.opacity = 1;
14
+ }
15
+ render() {
16
+ return (h("div", null, h("div", { class: "people" }, 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) }, h("img", { src: "/assets/img/characters/zynab.png" })), 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) }, h("img", { src: "/assets/img/characters/kimberly.png" })), 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) }, h("img", { src: "/assets/img/characters/jen.png" })), 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) }, h("img", { src: "/assets/img/characters/yuna.png" })), 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) }, h("img", { src: "/assets/img/characters/valeria.png" }))), h("div", { class: "people-description" }, this.description ? h("div", { class: "character-intro", innerHTML: this.description }) : '')));
17
+ }
18
+ get el() { return getElement(this); }
19
+ };
20
+ SparkleIntro.style = sparkleIntroCss;
21
+
22
+ export { SparkleIntro as sparkle_intro };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, e as getElement, H as Host } from './index-5568e3fa.js';
2
- import { D as DownArrow } from './icons-61dec176.js';
2
+ import { D as DownArrow } from './icons-05b6ce86.js';
3
3
 
4
4
  const collapsibleCss = "collapsible{}";
5
5
 
@@ -0,0 +1,230 @@
1
+ import { r as registerInstance, h, H as Host, e as getElement, k as getContext } from './index-5568e3fa.js';
2
+ import { M as Menu } from './icons-05b6ce86.js';
3
+ import { A as ActiveRouter } from './active-router-909088d6.js';
4
+ import { m as matchPath } from './match-path-36fdf5c7.js';
5
+
6
+ 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}";
7
+
8
+ const SparkleMenuToggle = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ }
12
+ hostData() {
13
+ return {
14
+ 'role': 'button',
15
+ 'tabindex': '0',
16
+ 'aria-label': 'Toggle Menu',
17
+ };
18
+ }
19
+ __stencil_render() {
20
+ return h(Menu, null);
21
+ }
22
+ render() { return h(Host, this.hostData(), this.__stencil_render()); }
23
+ };
24
+ SparkleMenuToggle.style = menuToggleCss;
25
+
26
+ 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%}";
27
+
28
+ const SparkleNav = class {
29
+ constructor(hostRef) {
30
+ registerInstance(this, hostRef);
31
+ //TODO: get this config somewhere from the config initialization
32
+ this.config = {
33
+ showRomanNumber: false,
34
+ showModuleIndex: true,
35
+ showSessionIndex: true,
36
+ };
37
+ this.toggleParent = (parentItem) => {
38
+ return (e) => {
39
+ e.preventDefault();
40
+ this.selectedParent = parentItem;
41
+ };
42
+ };
43
+ }
44
+ componentDidLoad() { }
45
+ //TODO: not working
46
+ pageDidLoadHandler($event) {
47
+ if ($event) {
48
+ //let pageInfo = $event.detail.pageInfo;
49
+ let splittedParts = window.location.pathname.split('/').filter(x => !!x && x != 'course');
50
+ this.moduleURLName = splittedParts[0];
51
+ this.sessionURLName = splittedParts[1];
52
+ if (this.toc) {
53
+ let courseModule = this.toc.courseModules.find(x => x.urlName == this.moduleURLName);
54
+ this.selectedParent = courseModule;
55
+ }
56
+ }
57
+ }
58
+ toggleLeftSidebar() { }
59
+ romanize(num) {
60
+ if (isNaN(num))
61
+ return NaN;
62
+ var digits = String(+num).split(''), key = [
63
+ '',
64
+ 'C',
65
+ 'CC',
66
+ 'CCC',
67
+ 'CD',
68
+ 'D',
69
+ 'DC',
70
+ 'DCC',
71
+ 'DCCC',
72
+ 'CM',
73
+ '',
74
+ 'X',
75
+ 'XX',
76
+ 'XXX',
77
+ 'XL',
78
+ 'L',
79
+ 'LX',
80
+ 'LXX',
81
+ 'LXXX',
82
+ 'XC',
83
+ '',
84
+ 'I',
85
+ 'II',
86
+ 'III',
87
+ 'IV',
88
+ 'V',
89
+ 'VI',
90
+ 'VII',
91
+ 'VIII',
92
+ 'IX',
93
+ ], roman = '', i = 3;
94
+ while (i--)
95
+ roman = (key[+digits.pop() + i * 10] || '') + roman;
96
+ return Array(+digits.join('') + 1).join('M') + roman;
97
+ }
98
+ getModuleIndex(index, preventNumbering) {
99
+ return this.config.showModuleIndex && !preventNumbering ? (this.config.showRomanNumber ? this.romanize(index) : index) + '. ' : '';
100
+ }
101
+ getSessionIndex(index, preventNumbering) {
102
+ return this.config.showSessionIndex && !preventNumbering ? (this.config.showRomanNumber ? this.romanize(index) : index) + '. ' : '';
103
+ }
104
+ hostData() {
105
+ return {
106
+ role: 'navigation',
107
+ };
108
+ }
109
+ __stencil_render() {
110
+ let moduleIndex = 0;
111
+ let sessionIndex = 0;
112
+ return (h("ul", { class: "module-list" }, this.toc &&
113
+ this.toc.courseModules.map(module => {
114
+ sessionIndex = 0;
115
+ if (!module.preventNumbering) {
116
+ moduleIndex++;
117
+ }
118
+ return (module.sessions.length > 0 && (h("li", null, h("a", { class: { 'link-active': module.urlName == this.moduleURLName }, href: module.sessions[0].urlName || '#', onClick: this.toggleParent(module) }, h("span", { class: "section-label" }, this.getModuleIndex(moduleIndex, module.preventNumbering), module.name, module.comingSoon && h("span", { class: "coming-soon" }, " Coming soon"))), h("ul", { class: { 'collapsed': this.selectedParent ? module !== this.selectedParent : moduleIndex !== 0, 'session-list': true } }, module.sessions.map(session => {
119
+ if (!session.preventNumbering) {
120
+ sessionIndex++;
121
+ }
122
+ return (h("li", { class: {
123
+ 'active': module.urlName == this.moduleURLName && session.urlName == this.sessionURLName,
124
+ } }, h("stencil-route-link", { class: {
125
+ 'is-completed': true,
126
+ 'link-active': module.urlName == this.moduleURLName && session.urlName == this.sessionURLName,
127
+ }, url: 'course/' + module.urlName + '/' + session.urlName + '/' + session.pages[0].urlName, onClick: () => this.toggleLeftSidebar() }, this.getSessionIndex(sessionIndex, session.preventNumbering), session.name, session.comingSoon && h("span", { class: "coming-soon" }, " Coming soon"))));
128
+ })))));
129
+ })));
130
+ }
131
+ get el() { return getElement(this); }
132
+ render() { return h(Host, this.hostData(), this.__stencil_render()); }
133
+ };
134
+ SparkleNav.style = navCss;
135
+
136
+ const getUniqueId = () => {
137
+ return ((Math.random() * 10e16).toString().match(/.{4}/g) || []).join('-');
138
+ };
139
+ const getMatch = (pathname, url, exact) => {
140
+ return matchPath(pathname, {
141
+ path: url,
142
+ exact: exact,
143
+ strict: true
144
+ });
145
+ };
146
+ const isHTMLStencilRouteElement = (elm) => {
147
+ return elm.tagName === 'STENCIL-ROUTE';
148
+ };
149
+ const RouteSwitch = class {
150
+ constructor(hostRef) {
151
+ registerInstance(this, hostRef);
152
+ this.group = getUniqueId();
153
+ this.subscribers = [];
154
+ this.queue = getContext(this, "queue");
155
+ }
156
+ componentWillLoad() {
157
+ if (this.location != null) {
158
+ this.regenerateSubscribers(this.location);
159
+ }
160
+ }
161
+ async regenerateSubscribers(newLocation) {
162
+ if (newLocation == null) {
163
+ return;
164
+ }
165
+ let newActiveIndex = -1;
166
+ this.subscribers = Array.prototype.slice.call(this.el.children)
167
+ .filter(isHTMLStencilRouteElement)
168
+ .map((childElement, index) => {
169
+ const match = getMatch(newLocation.pathname, childElement.url, childElement.exact);
170
+ if (match && newActiveIndex === -1) {
171
+ newActiveIndex = index;
172
+ }
173
+ return {
174
+ el: childElement,
175
+ match: match
176
+ };
177
+ });
178
+ if (newActiveIndex === -1) {
179
+ return;
180
+ }
181
+ // Check if this actually changes which child is active
182
+ // then just pass the new match down if the active route isn't changing.
183
+ if (this.activeIndex === newActiveIndex) {
184
+ this.subscribers[newActiveIndex].el.match = this.subscribers[newActiveIndex].match;
185
+ return;
186
+ }
187
+ this.activeIndex = newActiveIndex;
188
+ // Set all props on the new active route then wait until it says that it
189
+ // is completed
190
+ const activeChild = this.subscribers[this.activeIndex];
191
+ if (this.scrollTopOffset) {
192
+ activeChild.el.scrollTopOffset = this.scrollTopOffset;
193
+ }
194
+ activeChild.el.group = this.group;
195
+ activeChild.el.match = activeChild.match;
196
+ activeChild.el.componentUpdated = (routeViewUpdatedOptions) => {
197
+ // After the new active route has completed then update visibility of routes
198
+ this.queue.write(() => {
199
+ this.subscribers.forEach((child, index) => {
200
+ child.el.componentUpdated = undefined;
201
+ if (index === this.activeIndex) {
202
+ return child.el.style.display = '';
203
+ }
204
+ if (this.scrollTopOffset) {
205
+ child.el.scrollTopOffset = this.scrollTopOffset;
206
+ }
207
+ child.el.group = this.group;
208
+ child.el.match = null;
209
+ child.el.style.display = 'none';
210
+ });
211
+ });
212
+ if (this.routeViewsUpdated) {
213
+ this.routeViewsUpdated(Object.assign({ scrollTopOffset: this.scrollTopOffset }, routeViewUpdatedOptions));
214
+ }
215
+ };
216
+ }
217
+ render() {
218
+ return (h("slot", null));
219
+ }
220
+ get el() { return getElement(this); }
221
+ static get watchers() { return {
222
+ "location": ["regenerateSubscribers"]
223
+ }; }
224
+ };
225
+ ActiveRouter.injectProps(RouteSwitch, [
226
+ 'location',
227
+ 'routeViewsUpdated'
228
+ ]);
229
+
230
+ export { SparkleMenuToggle as sparkle_menu_toggle, SparkleNav as sparkle_nav, RouteSwitch as stencil_route_switch };
@@ -0,0 +1,17 @@
1
+ import { r as registerInstance, h, H as Host } from './index-5568e3fa.js';
2
+
3
+ const sparkleValidationErrorCss = ":host{display:block}sparkle-validation-error ul{padding:10px 0px}sparkle-validation-error .alert-danger{margin-top:10px;font-size:12px}";
4
+
5
+ const SparkleValidationError = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.errors = [];
9
+ }
10
+ render() {
11
+ return (h(Host, null, this.errors.length > 0 &&
12
+ h("div", { class: "alert alert-danger", role: "alert" }, h("ul", null, this.errors.map(error => h("li", null, h("b", null, error.Field, ": "), error.Message))))));
13
+ }
14
+ };
15
+ SparkleValidationError.style = sparkleValidationErrorCss;
16
+
17
+ export { SparkleValidationError as sparkle_validation_error };
@@ -1,5 +1,5 @@
1
1
  import { j as readTask, w as writeTask } from './index-5568e3fa.js';
2
- import { c as componentOnReady } from './helpers-39367fe1.js';
2
+ import { c as componentOnReady } from './helpers-9d0930de.js';
3
3
 
4
4
  /*!
5
5
  * (C) Ionic http://ionicframework.com - MIT License
@@ -0,0 +1,73 @@
1
+ import { r as registerInstance, h, e as getElement } from './index-5568e3fa.js';
2
+ import { m as matchPath } from './match-path-36fdf5c7.js';
3
+ import { d as isModifiedEvent } from './dom-utils-8e73e88b.js';
4
+ import { A as ActiveRouter } from './active-router-909088d6.js';
5
+
6
+ const getUrl = (url, root) => {
7
+ // Don't allow double slashes
8
+ if (url.charAt(0) == '/' && root.charAt(root.length - 1) == '/') {
9
+ return root.slice(0, root.length - 1) + url;
10
+ }
11
+ return root + url;
12
+ };
13
+ const RouteLink = class {
14
+ constructor(hostRef) {
15
+ registerInstance(this, hostRef);
16
+ this.unsubscribe = () => { return; };
17
+ this.activeClass = 'link-active';
18
+ this.exact = false;
19
+ this.strict = true;
20
+ /**
21
+ * Custom tag to use instead of an anchor
22
+ */
23
+ this.custom = 'a';
24
+ this.match = null;
25
+ }
26
+ componentWillLoad() {
27
+ this.computeMatch();
28
+ }
29
+ // Identify if the current route is a match.
30
+ computeMatch() {
31
+ if (this.location) {
32
+ this.match = matchPath(this.location.pathname, {
33
+ path: this.urlMatch || this.url,
34
+ exact: this.exact,
35
+ strict: this.strict
36
+ });
37
+ }
38
+ }
39
+ handleClick(e) {
40
+ if (isModifiedEvent(e) || !this.history || !this.url || !this.root) {
41
+ return;
42
+ }
43
+ e.preventDefault();
44
+ return this.history.push(getUrl(this.url, this.root));
45
+ }
46
+ // Get the URL for this route link without the root from the router
47
+ render() {
48
+ let anchorAttributes = {
49
+ class: {
50
+ [this.activeClass]: this.match !== null,
51
+ },
52
+ onClick: this.handleClick.bind(this)
53
+ };
54
+ if (this.anchorClass) {
55
+ anchorAttributes.class[this.anchorClass] = true;
56
+ }
57
+ if (this.custom === 'a') {
58
+ 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 });
59
+ }
60
+ return (h(this.custom, Object.assign({}, anchorAttributes), h("slot", null)));
61
+ }
62
+ get el() { return getElement(this); }
63
+ static get watchers() { return {
64
+ "location": ["computeMatch"]
65
+ }; }
66
+ };
67
+ ActiveRouter.injectProps(RouteLink, [
68
+ 'history',
69
+ 'location',
70
+ 'root'
71
+ ]);
72
+
73
+ export { RouteLink as stencil_route_link };
@@ -0,0 +1,28 @@
1
+ import { r as registerInstance, e as getElement } from './index-5568e3fa.js';
2
+ import { A as ActiveRouter } from './active-router-909088d6.js';
3
+
4
+ // Get the URL for this route link without the root from the router
5
+ const getUrl = (url, root) => {
6
+ // Don't allow double slashes
7
+ if (url.charAt(0) == '/' && root.charAt(root.length - 1) == '/') {
8
+ return root.slice(0, root.length - 1) + url;
9
+ }
10
+ return root + url;
11
+ };
12
+ const Redirect = class {
13
+ constructor(hostRef) {
14
+ registerInstance(this, hostRef);
15
+ }
16
+ componentWillLoad() {
17
+ if (this.history && this.root && this.url) {
18
+ return this.history.replace(getUrl(this.url, this.root));
19
+ }
20
+ }
21
+ get el() { return getElement(this); }
22
+ };
23
+ ActiveRouter.injectProps(Redirect, [
24
+ 'history',
25
+ 'root'
26
+ ]);
27
+
28
+ export { Redirect as stencil_router_redirect };
@@ -1,20 +1,5 @@
1
- import { b as createStore, H as HttpService } from './auth.store-3ed2389e.js';
2
-
3
- const { state, onChange, reset } = createStore({
4
- user: {
5
- FirstName: '',
6
- LastName: '',
7
- ProfileText: '',
8
- ProfileImage: '',
9
- IsVerified: false,
10
- Roles: [],
11
- FacilitatorClassList: []
12
- },
13
- loaded: false,
14
- updateLoading: false,
15
- enrollmentList: [],
16
- });
17
- const userStore = { state, onChange, reset };
1
+ import { H as HttpService } from './auth.store-98fad96d.js';
2
+ import { u as userStore } from './user.store-e6ff7558.js';
18
3
 
19
4
  class StudentService {
20
5
  constructor() { }
@@ -71,4 +56,4 @@ class StudentService {
71
56
  }
72
57
  }
73
58
 
74
- export { StudentService as S, userStore as u };
59
+ export { StudentService as S };
@@ -1,4 +1,4 @@
1
- import { l as clamp } from './helpers-39367fe1.js';
1
+ import { e as clamp } from './helpers-9d0930de.js';
2
2
  import { i as isRTL } from './dir-03012648.js';
3
3
  import { createGesture } from './index-a12c14bd.js';
4
4
  import './gesture-controller-686622ba.js';
@@ -1,4 +1,4 @@
1
- import { q as now, p as pointerCoord } from './helpers-39367fe1.js';
1
+ import { q as now, p as pointerCoord } from './helpers-9d0930de.js';
2
2
 
3
3
  /*!
4
4
  * (C) Ionic http://ionicframework.com - MIT License
@@ -0,0 +1,19 @@
1
+ import { c as createStore } from './auth.store-98fad96d.js';
2
+
3
+ const { state, onChange, reset } = createStore({
4
+ user: {
5
+ FirstName: '',
6
+ LastName: '',
7
+ ProfileText: '',
8
+ ProfileImage: '',
9
+ IsVerified: false,
10
+ Roles: [],
11
+ FacilitatorClassList: []
12
+ },
13
+ loaded: false,
14
+ updateLoading: false,
15
+ enrollmentList: [],
16
+ });
17
+ const userStore = { state, onChange, reset };
18
+
19
+ export { userStore as u };
@@ -2448,4 +2448,4 @@ function date(date) {
2448
2448
  return format(new Date(date), 'DD MMM YYYY');
2449
2449
  }
2450
2450
 
2451
- export { GetGoalAppData as G, MyHealthTemplate as M, SparkleGlobal as S, MyHealthTemplateJSON as a, MyMoodTemplate as b, MyMoodTemplateJSON as c, date as d, MyGoalTemplate as e, MyGoalTemplateJSON as f, sample as s };
2451
+ export { GetGoalAppData as G, MyGoalTemplate as M, SparkleGlobal as S, MyGoalTemplateJSON as a, MyHealthTemplate as b, MyHealthTemplateJSON as c, MyMoodTemplate as d, MyMoodTemplateJSON as e, date as f, sample as s };
@@ -1 +1 @@
1
- export{A as AuthService,P as PrivateRoute,i as initSetupEnvironmentConfig,s as setupEnvironmentConfig}from"./p-03189863.js";export{E as EnvironmentConfigService}from"./p-b226f54d.js";export{A as AssetsService}from"./p-9a443f51.js";export{A as AuthStore}from"./p-6bf07a28.js";import"./p-9babd345.js";import"./p-5d409601.js";import"./p-6c6145cd.js";import"./p-fef04ab5.js";import"./p-6fd4985d.js";import"./p-55ae49e1.js";
1
+ export{A as AuthService,i as initSetupEnvironmentConfig,s as setupEnvironmentConfig}from"./p-7c1f59ec.js";export{E as EnvironmentConfigService}from"./p-b226f54d.js";export{A as AssetsService}from"./p-9a443f51.js";export{A as AuthStore}from"./p-c1c59771.js";export{P as PrivateRoute}from"./p-c8ed0575.js";import"./p-9babd345.js";import"./p-5d409601.js";import"./p-b17dd6df.js";import"./p-fef04ab5.js";import"./p-6fd4985d.js";import"./p-4f144efa.js";
@@ -0,0 +1 @@
1
+ import{r as e,h as o,e as i}from"./p-9babd345.js";import{a as l}from"./p-401feeb0.js";const t=class{constructor(o){e(this,o),this.darkMode=!0,this.mobileDropdownActive=!1,this.stuck=!1,this.queued=!1}deactivate(){setTimeout((()=>{this.el.classList.remove("ionic-sub-header--mobile-active")}),200)}getTriggerEl(){const e=document.createElement("div");return e.id="ionic-sub-header__trigger",e}componentDidLoad(){this.el.before&&(this.el.before(this.getTriggerEl()),this.init(),requestAnimationFrame((()=>{this.el.classList.add("ionic-sub-header--initialized")})))}init(){this.observer=new IntersectionObserver((e=>{this.queued||(this.stuck||0!==e[0].intersectionRatio?this.stuck&&1===e[0].intersectionRatio&&(this.queued=!0,requestAnimationFrame((()=>{this.el.classList.remove("ionic-sub-header--stuck"),this.stuck=!1,this.queued=!1}))):(this.queued=!0,requestAnimationFrame((()=>{this.el.classList.add("ionic-sub-header--stuck"),this.stuck=!0,this.queued=!1}))))}),{threshold:[0,1]});const e=document.getElementById("ionic-sub-header__trigger");this.el&&e&&(this.observer.observe(e),setTimeout((()=>{this.el.classList.add("ionic-sub-header--initialized");const e=document.querySelector(".navbar-default");e&&e.classList.add("navbar--not-fixed")}),405))}handleMobileToggleClick(){this.el.classList.toggle("ionic-sub-header--mobile-active")}render(){return[o("div",{class:"header-mobile-collapse__backdrop",onClick:()=>this.deactivate()}),o("a",{class:"ionic-sub-header__mobile-toggle",onClick:()=>this.handleMobileToggleClick()},o(l,null)),o("div",{class:"header-mobile-collapse__content"},o("slot",null))]}get el(){return i(this)}};t.style="header-mobile-collapse,header-mobile-collapse .header-mobile-collapse__content{flex:1;display:flex;justify-content:flex-end;align-items:center}header-mobile-collapse .ionic-sub-header__mobile-toggle{display:none;padding-top:14px;pointer-events:none;padding-left:8px}header-mobile-collapse .ionic-sub-header__mobile-toggle svg{height:20px;width:20px}header-mobile-collapse .UtilNav{margin-left:auto}header-mobile-collapse>ionic-search{padding-right:8px;padding-top:4px;display:none}header-mobile-collapse .label-sm-only .Dropdown-button-label,header-mobile-collapse .sm-only{display:none}@media (max-width: 800px){header-mobile-collapse .ionic-sub-header__mobile-toggle{display:block;cursor:pointer;padding-top:14px;pointer-events:all;transition:0.2s transform ease 0.1s;transform-origin:66% 50%}header-mobile-collapse .header-mobile-collapse__backdrop{position:fixed;top:100%;height:100vh;left:0;right:0;background:rgba(0, 0, 0, 0.1);cursor:pointer;opacity:0;pointer-events:none;transition:0.4s opacity}header-mobile-collapse.ionic-sub-header--mobile-active .header-mobile-collapse__backdrop{opacity:1;pointer-events:all}header-mobile-collapse>ionic-search{display:block}header-mobile-collapse .header-mobile-collapse__content{display:flex;flex-direction:column;align-items:stretch;position:fixed;width:100vw;left:0;background:white;box-shadow:0px 1px 3px rgba(2, 8, 20, 0.06), 0px 1px 2px rgba(2, 8, 20, 0.04);top:56px;padding:16px 16px 8px;max-height:calc(100vh - 64px);overflow:auto;pointer-events:none;opacity:0;transform:translateY(-10px);transition:transform 0.2s cubic-bezier(0.36, 0.66, 0.04, 1), opacity 0.2s linear}header-mobile-collapse.ionic-sub-header--mobile-active .header-mobile-collapse__content{opacity:1;pointer-events:all;transform:translateY(0);transition:transform 0.25s cubic-bezier(0.17, 0.67, 0.52, 1), opacity 0.1s linear}header-mobile-collapse .sparkle-dropdown,header-mobile-collapse .SectionNav .Dropdown{align-self:stretch}header-mobile-collapse .Dropdown .Dropdown-button,header-mobile-collapse .UtilNav .sm-only{width:100%;display:flex;justify-content:space-between;color:#5b708b;font-size:20px;line-height:24px;letter-spacing:-0.03em;padding:13px 0 14px}header-mobile-collapse .Dropdown--left .Dropdown-button{padding-left:16px;padding-right:14px;margin-bottom:10px;padding-top:10px;height:44px;box-shadow:0px 1px 2px rgba(2, 8, 20, 0.04)}header-mobile-collapse .Dropdown .Dropdown-button .Dropdown-arrow{height:26px;width:20px;margin-right:-4px}header-mobile-collapse .SectionNav .Dropdown,header-mobile-collapse .SectionNav-tabs>*{margin-right:0}header-mobile-collapse .Dropdown:focus{outline:none}header-mobile-collapse .SectionNav-tabs stencil-route-link{height:45px}header-mobile-collapse .Dropdown--right .Dropdown-button{text-align:left}header-mobile-collapse .SectionNav stencil-route,header-mobile-collapse .SectionNav-tabs,header-mobile-collapse .UtilNav{display:flex;flex-direction:column;margin-left:0;align-items:stretch}header-mobile-collapse .UtilNav>*{margin-left:0;border-bottom:1px solid #e6e6e8}header-mobile-collapse .UtilNav>:last-child{border-bottom:none}header-mobile-collapse .Dropdown-panel{position:static;border-bottom:1px solid var(--text-color--lighter)}header-mobile-collapse .SectionNav-tabs a{font-size:20px;line-height:24px;letter-spacing:-0.02em;color:#5b708b;padding-left:16px;padding-right:14px;font-weight:400}header-mobile-collapse .UtilNav a{padding:0}header-mobile-collapse .SectionNav-tabs .link-active{background:rgba(var(--ion-color-primary-rgb), 0.12);color:var(--ion-color-primary);display:flex;justify-content:space-between;width:100%;border-radius:8px}header-mobile-collapse .SectionNav-tabs .link-active::after{content:'\\2713';position:static;background:none;width:auto;font-size:16px}header-mobile-collapse .SectionNav-tabs{position:relative;padding-bottom:8px;margin-bottom:18px;margin-top:5px}header-mobile-collapse .SectionNav-tabs::after{position:absolute;bottom:0;left:-16px;width:100vw;border-bottom:1px solid #e6e6e8;content:''}header-mobile-collapse .header-mobile-collapse__content ionic-search{display:none}header-mobile-collapse .UtilNav::before{content:'More';font-size:20px;line-height:24px;letter-spacing:0.01em;color:#000;padding:6px 2px 8px}header-mobile-collapse .label-sm-only .Dropdown-button-label,header-mobile-collapse .sm-only{display:block}header-mobile-collapse .label-sm-only .Dropdown-icon,header-mobile-collapse .lg-only{display:none}header-mobile-collapse .label-sm-only .Dropdown-icon+.Dropdown-arrow{fill:#5b708b}header-mobile-collapse .UtilNav .sm-only .Dropdown-arrow{height:26px;width:20px;margin-right:-4px;fill:#b2becd}header-mobile-collapse .Dropdown-panel a{padding:8px;font-size:16px}header-mobile-collapse .Dropdown.is-open .Dropdown-panel{position:static}}";const a=class{constructor(o){e(this,o),this.round=!1,this.primary=!1}render(){return void 0!==this.href?/^\/course/.test(this.href)?o("stencil-route-link",{url:this.href},o("slot",null)):o("a",{href:this.href},o("slot",null)):o("button",null,o("slot",null))}};a.style="sparkle-button{background-color:rgba(var(--ion-color-sparkle-rgb), var(--bg-alpha, 0.06));border-radius:6px;color:var(--accent-color);display:inline-block;font-weight:600;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.1)}sparkle-button a,sparkle-button button{color:inherit;display:inline-block;font-size:inherit;font-weight:inherit;padding:0.75em 1.5em}sparkle-button button{appearance:none;background:none;border:none;line-height:inherit}sparkle-button svg{fill:currentColor;height:1em;margin-bottom:-0.125em;width:1em}sparkle-button[round]{border-radius:2em}sparkle-button[primary]{background-color:rgba(var(--ion-color-sparkle-rgb));color:var(--ion-color-sparkle-contrast)}@media (hover: hover){sparkle-button:hover{--bg-alpha:0.08}sparkle-button:active{--bg-alpha:0.1}}";export{t as header_mobile_collapse,a as sparkle_button}