@sparkle-learning/core 0.0.52 → 0.0.54

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 (148) hide show
  1. package/dist/cjs/{PrivateRoute-074c584e.js → PrivateRoute-e2047db2.js} +18 -30
  2. package/dist/cjs/{feed.service-b4f09441.js → appdata.service-d28cf2d6.js} +4 -56
  3. package/dist/cjs/{assets.service-0c759d51.js → assets.service-bfa75092.js} +1 -1
  4. package/dist/cjs/{environment-config.service-0e02b049.js → environment-config.service-c8ff1f3d.js} +0 -1
  5. package/dist/cjs/{facilitator.service-9e990274.js → facilitator.service-0b9f6ac7.js} +1 -1
  6. package/dist/cjs/feed.service-6df9382f.js +57 -0
  7. package/dist/cjs/header-mobile-collapse_61.cjs.entry.js +289 -3279
  8. package/dist/cjs/{httpService-7211d93b.js → httpService-d8a5b474.js} +13 -11
  9. package/dist/cjs/index.cjs.js +5 -4
  10. package/dist/cjs/{ion-select_2.cjs.entry.js → ion-select_3.cjs.entry.js} +127 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/cjs/media.service-2bc73d37.js +40 -0
  13. package/dist/cjs/signalR.service-0d5da1d3.js +2985 -0
  14. package/dist/cjs/sparkle-animation-player.cjs.entry.js +2 -1
  15. package/dist/cjs/sparkle-assignment.cjs.entry.js +25 -0
  16. package/dist/cjs/sparkle-character-intro.cjs.entry.js +2 -2
  17. package/dist/cjs/sparkle-core.cjs.js +1 -1
  18. package/dist/cjs/sparkle-discussion-questions_2.cjs.entry.js +281 -0
  19. package/dist/cjs/sparkle-discussion.cjs.entry.js +42 -0
  20. package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +5 -3
  21. package/dist/cjs/sparkle-feedback.cjs.entry.js +5 -3
  22. package/dist/cjs/sparkle-goal-form.cjs.entry.js +11 -8
  23. package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
  24. package/dist/cjs/sparkle-quiz-old.cjs.entry.js +120 -0
  25. package/dist/cjs/sparkle-quiz.cjs.entry.js +31 -48
  26. package/dist/cjs/{student.service-2e58f237.js → student.service-d8ec2551.js} +1 -1
  27. package/dist/cjs/token.service-bfb0089b.js +86 -0
  28. package/dist/cjs/{util-d383acb8.js → util-47e320b2.js} +2 -2
  29. package/dist/collection/PrivateRoute.js +2 -2
  30. package/dist/collection/collection-manifest.json +6 -2
  31. package/dist/collection/components/layout/facilitator/facilitator-page.js +2 -3
  32. package/dist/collection/components/layout/page/page.css +4 -0
  33. package/dist/collection/components/layout/page/page.js +39 -26
  34. package/dist/collection/components/sparkle-animation-player/sparkle-animation-player.js +1 -0
  35. package/dist/collection/components/sparkle-assignment/sparkle-assignment.css +3 -0
  36. package/dist/collection/components/sparkle-assignment/sparkle-assignment.js +25 -0
  37. package/dist/collection/components/sparkle-character-intro/sparkle-character-intro.css +8 -1
  38. package/dist/collection/components/sparkle-character-intro/sparkle-character-intro.js +10 -6
  39. package/dist/collection/components/sparkle-course-root/sparkle-course-root.js +12 -1
  40. package/dist/collection/components/sparkle-discussion/sparkle-discussion-questions/sparkle-discussion-questions.css +157 -0
  41. package/dist/collection/components/sparkle-discussion/sparkle-discussion-questions/sparkle-discussion-questions.js +232 -0
  42. package/dist/collection/components/sparkle-discussion/sparkle-discussion-results/sparkle-discussion-results.css +158 -0
  43. package/dist/collection/components/sparkle-discussion/sparkle-discussion-results/sparkle-discussion-results.js +274 -0
  44. package/dist/collection/components/sparkle-discussion/sparkle-discussion.css +5 -0
  45. package/dist/collection/components/sparkle-discussion/sparkle-discussion.js +112 -0
  46. package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.js +54 -67
  47. package/dist/collection/components/sparkle-login/sparkle-login.js +2 -1
  48. package/dist/collection/components/sparkle-quiz/{sparkle-quiz/sparkle-quiz.css → sparkle-quiz-old/sparkle-quiz-old.css} +1 -1
  49. package/dist/collection/components/sparkle-quiz/{sparkle-quiz/sparkle-quiz.js → sparkle-quiz-old/sparkle-quiz-old.js} +4 -4
  50. package/dist/collection/components/sparkle-quiz/{sparkle-quiz-v1.js → sparkle-quiz.js} +23 -25
  51. package/dist/collection/components/sparkle-quiz-container/sparkle-quiz-container.js +1 -1
  52. package/dist/collection/components/sparkle-root/sparkle-root.js +12 -10
  53. package/dist/collection/services/assignment.service.js +14 -0
  54. package/dist/collection/services/auth/auth.service.js +15 -14
  55. package/dist/collection/services/environment/environment-config.js +1 -1
  56. package/dist/collection/services/environment/environment-config.service.js +0 -1
  57. package/dist/collection/services/httpService.js +12 -10
  58. package/dist/collection/services/signalR.service.js +17 -19
  59. package/dist/collection/services/token.service.js +68 -0
  60. package/dist/collection/util.js +5 -2
  61. package/dist/esm/{PrivateRoute-c5441f35.js → PrivateRoute-c6e80d5d.js} +17 -29
  62. package/dist/esm/{feed.service-8fbe4ce3.js → appdata.service-d1058e00.js} +5 -55
  63. package/dist/esm/{assets.service-66e848b8.js → assets.service-def1d63c.js} +1 -1
  64. package/dist/esm/{environment-config.service-2b5d692b.js → environment-config.service-b191f276.js} +0 -1
  65. package/dist/esm/{facilitator.service-b0292f7f.js → facilitator.service-53e05a01.js} +1 -1
  66. package/dist/esm/feed.service-8385ad7a.js +54 -0
  67. package/dist/esm/header-mobile-collapse_61.entry.js +278 -3268
  68. package/dist/esm/{httpService-7b75b095.js → httpService-db476835.js} +13 -11
  69. package/dist/esm/index.js +5 -4
  70. package/dist/esm/{ion-select_2.entry.js → ion-select_3.entry.js} +127 -1
  71. package/dist/esm/loader.js +1 -1
  72. package/dist/esm/media.service-b68cbfff.js +37 -0
  73. package/dist/esm/signalR.service-4a2d5a92.js +2982 -0
  74. package/dist/esm/sparkle-animation-player.entry.js +2 -1
  75. package/dist/esm/sparkle-assignment.entry.js +21 -0
  76. package/dist/esm/sparkle-character-intro.entry.js +3 -3
  77. package/dist/esm/sparkle-core.js +1 -1
  78. package/dist/esm/sparkle-discussion-questions_2.entry.js +276 -0
  79. package/dist/esm/sparkle-discussion.entry.js +38 -0
  80. package/dist/esm/sparkle-facilitator-notes-form.entry.js +5 -3
  81. package/dist/esm/sparkle-feedback.entry.js +5 -3
  82. package/dist/esm/sparkle-goal-form.entry.js +8 -5
  83. package/dist/esm/sparkle-quiz-container.entry.js +1 -1
  84. package/dist/esm/sparkle-quiz-old.entry.js +116 -0
  85. package/dist/esm/sparkle-quiz.entry.js +31 -48
  86. package/dist/esm/{student.service-0746418b.js → student.service-6457aaa0.js} +1 -1
  87. package/dist/esm/token.service-20f1a256.js +83 -0
  88. package/dist/esm/{util-6ef753e9.js → util-57cc8006.js} +2 -2
  89. package/dist/sparkle-core/index.esm.js +1 -1
  90. package/dist/sparkle-core/p-11ac00b0.js +1 -0
  91. package/dist/sparkle-core/p-13ec39db.entry.js +1 -0
  92. package/dist/sparkle-core/{p-5efc6566.js → p-17b6b07e.js} +1 -1
  93. package/dist/sparkle-core/p-33a7151d.entry.js +1 -0
  94. package/dist/sparkle-core/{p-fbccd30c.js → p-38f707fb.js} +1 -1
  95. package/dist/sparkle-core/p-38fa5987.js +1 -0
  96. package/dist/sparkle-core/{p-9a443f51.js → p-408176ba.js} +1 -1
  97. package/dist/sparkle-core/p-630a4fa0.js +1 -0
  98. package/dist/sparkle-core/{p-0335c863.entry.js → p-6a1fc0af.entry.js} +26 -26
  99. package/dist/sparkle-core/p-6fab3a4b.js +1 -0
  100. package/dist/sparkle-core/p-71720d6e.entry.js +1 -0
  101. package/dist/sparkle-core/{p-162bff1a.entry.js → p-72053ae0.entry.js} +1 -1
  102. package/dist/sparkle-core/p-85d4cd5c.entry.js +1 -0
  103. package/dist/sparkle-core/p-967a2ed7.js +1 -0
  104. package/dist/sparkle-core/{p-ff0e0d4e.entry.js → p-98daeddb.entry.js} +1 -1
  105. package/dist/sparkle-core/p-98f7780c.entry.js +1 -0
  106. package/dist/sparkle-core/p-bd90903e.js +1 -0
  107. package/dist/sparkle-core/{p-a49ab4e8.entry.js → p-c64a34cd.entry.js} +1 -1
  108. package/dist/sparkle-core/{p-564e64fc.entry.js → p-ca907214.entry.js} +2 -2
  109. package/dist/sparkle-core/p-d51f30ca.js +1 -0
  110. package/dist/sparkle-core/p-dcff298d.entry.js +1 -0
  111. package/dist/sparkle-core/p-e50c8b04.entry.js +1 -0
  112. package/dist/sparkle-core/p-ed9de327.js +1 -0
  113. package/dist/sparkle-core/p-f891c79a.entry.js +1 -0
  114. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  115. package/dist/types/components/layout/page/page.d.ts +2 -0
  116. package/dist/types/components/sparkle-assignment/sparkle-assignment.d.ts +6 -0
  117. package/dist/types/components/sparkle-course-root/sparkle-course-root.d.ts +1 -0
  118. package/dist/types/components/sparkle-discussion/sparkle-discussion-questions/sparkle-discussion-questions.d.ts +28 -0
  119. package/dist/types/components/sparkle-discussion/sparkle-discussion-results/sparkle-discussion-results.d.ts +45 -0
  120. package/dist/types/components/sparkle-discussion/sparkle-discussion.d.ts +11 -0
  121. package/dist/types/components/sparkle-feed-post/sparkle-feed-post.d.ts +3 -2
  122. package/dist/types/components/sparkle-quiz/{sparkle-quiz/sparkle-quiz.d.ts → sparkle-quiz-old/sparkle-quiz-old.d.ts} +1 -1
  123. package/dist/types/components/sparkle-quiz/sparkle-quiz.d.ts +36 -36
  124. package/dist/types/components.d.ts +115 -37
  125. package/dist/types/models/class.model.d.ts +4 -0
  126. package/dist/types/services/assignment.service.d.ts +8 -0
  127. package/dist/types/services/auth/auth.service.d.ts +1 -1
  128. package/dist/types/services/environment/environment-config.d.ts +3 -0
  129. package/dist/types/services/token.service.d.ts +12 -0
  130. package/dist/types/util.d.ts +1 -0
  131. package/package.json +1 -1
  132. package/dist/cjs/sparkle-feed-post.cjs.entry.js +0 -124
  133. package/dist/cjs/sparkle-quiz-v1.cjs.entry.js +0 -105
  134. package/dist/esm/sparkle-feed-post.entry.js +0 -120
  135. package/dist/esm/sparkle-quiz-v1.entry.js +0 -101
  136. package/dist/sparkle-core/p-15403881.entry.js +0 -1
  137. package/dist/sparkle-core/p-1d4c7c11.js +0 -1
  138. package/dist/sparkle-core/p-370609ba.entry.js +0 -1
  139. package/dist/sparkle-core/p-41a9ece7.entry.js +0 -1
  140. package/dist/sparkle-core/p-462bffba.js +0 -1
  141. package/dist/sparkle-core/p-58e4bbe5.entry.js +0 -1
  142. package/dist/sparkle-core/p-600cf6a3.js +0 -1
  143. package/dist/sparkle-core/p-80d6b0e6.entry.js +0 -1
  144. package/dist/sparkle-core/p-af3cc111.entry.js +0 -1
  145. package/dist/sparkle-core/p-b226f54d.js +0 -1
  146. package/dist/types/components/sparkle-quiz/sparkle-quiz-v1.d.ts +0 -41
  147. /package/dist/collection/components/sparkle-quiz/{sparkle-quiz-v1.css → sparkle-quiz.css} +0 -0
  148. /package/dist/sparkle-core/{p-935e7cfc.js → p-8b56f734.js} +0 -0
@@ -1,120 +0,0 @@
1
- import { r as registerInstance, h, H as Host, e as getElement } from './index-c04b9ed5.js';
2
- import { E as EnvironmentConfigService } from './environment-config.service-2b5d692b.js';
3
- import './auth.store-dba2c2da.js';
4
-
5
- const sparkleFeedPostCss = ":host{display:block}.post-footer-container{display:flex;justify-content:flex-end}.post-footer{display:flex;justify-content:space-between;align-items:center}.error{color:red;margin-right:10px}.success{color:green;margin-right:10px}.uploaded-image{display:block;max-height:140px;width:auto !important}.public-post-toggle{display:flex;justify-content:flex-end;align-items:center}.assignment-name{display:none}";
6
-
7
- const SparkleFeedPost = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- }
11
- // @Prop({ connect: 'ion-toast-controller' })
12
- // toastCtrl: HTMLIonToastControllerElement;
13
- componentDidLoad() {
14
- this.postText = this.textValue;
15
- if (this.ref && this.ref.innerText) {
16
- this.assignmentName = this.ref.innerText;
17
- console.log(this.assignmentName);
18
- }
19
- }
20
- setText(text) {
21
- this.postText = text;
22
- }
23
- // async postToFeed() {
24
- // const sparkleConfig: EnvironmentSparkleConfig = EnvironmentConfigService.getInstance().get('sparkle');
25
- // const tocData = await AssetsService.getInstance().loadJsonFile<ICourse>(sparkleConfig.tocPath);
26
- // var model = {
27
- // CourseId: tocData.id,
28
- // MiniAppId: SparkleGlobal.MY_GOALS_APP_ID,
29
- // PostText: MyGoalTemplate(this.name.value, this.goalUpdateText.value, this.progress),
30
- // PostTextJSON: MyGoalTemplateJSON(this.name.value, this.goalUpdateText.value, this.progress),
31
- // IsPublic: this.public,
32
- // ExternalResourceUrl: "",
33
- // }
34
- // const result = await FeedService.getInstance().createPost(model);
35
- // if (result.Succeeded) {
36
- // //show success toast
37
- // }
38
- // }
39
- isAuthenticated() {
40
- try {
41
- var sparkleConfig = EnvironmentConfigService.getInstance().get('sparkle');
42
- if (!!sparkleConfig && !!sparkleConfig.auth && !!sparkleConfig.auth.getToken()) {
43
- return true;
44
- }
45
- }
46
- catch (_a) {
47
- return false;
48
- }
49
- }
50
- submitPost() {
51
- this.errorMessage = '';
52
- this.successMessage = '';
53
- //let formData = new FormData(this.el.querySelector("form")) as any;
54
- //var postText = this.el.getElementsByClassName("PostText")[0] as HTMLInputElement;
55
- this.el.getElementsByClassName('PostExternalUrl')[0];
56
- this.el.getElementsByClassName('IsPublic')[0];
57
- // this.dataSvc.saveData(data, '/api/class/feed').subscribe(
58
- // x => {
59
- // this.successMessage = 'Posted Successfully.';
60
- // // this.presentToast('Success');
61
- // },
62
- // error => {
63
- // this.errorMessage = 'There is an error while posting.';
64
- // // this.presentToast('There is an error');
65
- // },
66
- // );
67
- //TODO can we return data from the dataSvc so we know if it's successful and can update the form? (Perhaps replace it with the post itself?)
68
- // if (this.assignmentName) {
69
- // data.AssignmentData = JSON.stringify({ text: data.PostText, url: data.ExternalResourceUrl });
70
- // this.dataSvc.saveData(data, '/api/student/assignment-response').subscribe(
71
- // x => {
72
- // this.successMessage = 'Posted Successfully.';
73
- // // this.presentToast('Success');
74
- // },
75
- // error => {
76
- // this.errorMessage = 'There is an error while posting.';
77
- // // this.presentToast('There is an error');
78
- // },
79
- // );
80
- // }
81
- }
82
- uploadImage(evt) {
83
- // this.uploadImageLoading = true;
84
- // var files = evt.target.files;
85
- // this.dataSvc.uploadImage(files, '/api/mediaitems/upload').subscribe(
86
- // x => {
87
- // this.uploadImageLoading = false;
88
- // this.uploadedImage = x.length > 0 ? x[0].FullImageUrl : '';
89
- // this.externalResourceUrl = x.length > 0 ? x[0].FullImageUrl : '';
90
- // //this.successMessage = 'Posted Successfully.'
91
- // // this.presentToast('Success');
92
- // },
93
- // error => {
94
- // this.uploadImageLoading = false;
95
- // this.errorMessage = 'There is an error while uploading an image.';
96
- // },
97
- // );
98
- }
99
- selectFile() {
100
- var fileInput = document.getElementById('fileInput');
101
- fileInput.click();
102
- }
103
- renderUserInfo() {
104
- var tokenInfo = { Token: null, ProfileImageUrl: null };
105
- if (tokenInfo != null && tokenInfo.Token) {
106
- return (h("ion-avatar", { class: "header-avatar", slot: "end" }, h("img", { src: "/assets/img/avatar.png" })));
107
- }
108
- else {
109
- return (h("ion-button", { slot: "end", href: "/login" }, "Login to Post"));
110
- }
111
- }
112
- render() {
113
- const userInfo = this.renderUserInfo();
114
- return (h(Host, null, h("div", { class: "assignment-name", ref: el => (this.ref = el) }, h("slot", null)), h("ion-card", null, h("ion-item", { class: "header", lines: "full" }, userInfo), h("ion-card-content", null, h("form", null, h("ion-list", null, h("ion-item", { class: "padding" }, h("ion-textarea", { class: "PostText", required: true, placeholder: "Post Text", name: "PostText", value: this.postText })), h("ion-item", { class: "padding" }, h("ion-input", { class: "PostExternalUrl", required: true, type: "text", placeholder: "URL", name: "ExternalResourceUrl", value: this.externalResourceUrl })), this.uploadedImage ? (h("ion-item", { class: "padding" }, h("img", { class: "uploaded-image", src: this.uploadedImage }))) : (''), h("ion-item", { lines: "none" }, h("input", { type: "file", id: "fileInput", onChange: evt => this.uploadImage(evt), style: { display: 'none' }, accept: "image/*" }), this.uploadImageLoading ? h("ion-spinner", { color: "primary" }) : '', h("ion-button", { slot: "start", onClick: evt => this.selectFile() }, h("ion-icon", { name: "add" }), "Upload Image")), h("div", { class: "public-post-toggle" }, h("ion-toggle", { class: "IsPublic", color: "primary", name: "IsPublic" }), h("div", null, "Public Post")), h("div", { class: "post-footer-container" }, h("div", { class: "post-footer" }, h("div", null, h("div", { class: "error" }, this.errorMessage), h("div", { class: "success" }, this.successMessage)), h("ion-button", { slot: "end", size: "default", onClick: evt => this.submitPost(), disabled: !this.isAuthenticated() }, "Post")))))))));
115
- }
116
- get el() { return getElement(this); }
117
- };
118
- SparkleFeedPost.style = sparkleFeedPostCss;
119
-
120
- export { SparkleFeedPost as sparkle_feed_post };
@@ -1,101 +0,0 @@
1
- import { r as registerInstance, i as createEvent, h, e as getElement } from './index-c04b9ed5.js';
2
- import { A as AssetsService } from './assets.service-66e848b8.js';
3
- import { E as EnvironmentConfigService } from './environment-config.service-2b5d692b.js';
4
-
5
- const sparkleQuizV1Css = "sparkle-quiz-v1{display:block;font-family:var(--font-family);--sparkle-quiz-question-container-padding:10px 0px;--sparkle-quiz-question-container-margin:0px;--sparkle-quiz-question-text-padding:10px 0px;--sparkle-quiz-option-border:2px solid var(--line-rule-color);--sparkle-quiz-selected-option-border:2px solid var(--text-color--dark);--sparkle-quiz-option-border-radius:4px;--sparkle-quiz-option-padding:5px 10px;--sparkle-quiz-option-width:100%;--sparkle-quiz-error-bg-color:#fbaeae;--sparkle-quiz-success-bg-color:#fbaeae;padding:var(--sparkle-quiz-question-container-padding);margin:var(--sparkle-quiz-question-container-margin)}.question-text{padding:var(--sparkle-quiz-question-text-padding)}.option{padding:5px 0px}.number{padding:0px 14px;border:1px solid #ebebeb;border-radius:4px;margin-right:10px;font-size:14px;width:14px;display:inline-flex;justify-content:center}.feedback-container{padding:10px;border-radius:4px}.incorrect .feedback-container{background-color:var(--sparkle-quiz-error-bg-color, #fbaeae)}.correct .feedback-container{background-color:var(--sparkle-quiz-success-bg-color, #fbaeae)}";
6
-
7
- const SparkleQuizV1 = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.quizAnswerChanged = createEvent(this, "quizAnswerChanged", 7);
11
- }
12
- async loadQuestion() {
13
- if (this.quizData) {
14
- this.question = this.quizData[+this.questionId];
15
- }
16
- }
17
- async componentWillLoad() {
18
- }
19
- async componentDidLoad() {
20
- const config = EnvironmentConfigService.getInstance().get('sparkle');
21
- this.quizData = await AssetsService.getInstance().loadJsonFile(config.quizPath);
22
- await this.loadQuestion();
23
- this.quizAnswerChanged.emit({
24
- question: null,
25
- answer: "1"
26
- });
27
- }
28
- quizInputChangeHandler(event) {
29
- this.quizAnswerChanged.emit({
30
- question: event.detail.question,
31
- answer: event.detail.value
32
- });
33
- }
34
- quizFeedbackChangeHandler(event) {
35
- this.quizAnswerChanged.emit({
36
- question: event.detail.question,
37
- answer: event.detail.value
38
- });
39
- }
40
- quizSelectChangeHandler(event) {
41
- this.quizAnswerChanged.emit({
42
- question: event.detail.question,
43
- answer: event.detail.value
44
- });
45
- }
46
- quizOpinionChangeHandler(event) {
47
- this.quizAnswerChanged.emit({
48
- question: event.detail.question,
49
- answer: event.detail.value
50
- });
51
- }
52
- getQuestionFeedback() {
53
- if (this.question.questionType == "MULTIPLE-CHOICE") {
54
- const feedbacks = this.question.options.filter(x => x.correct == true).map(x => x.feedback);
55
- return feedbacks.length > 0 && feedbacks.map(feedback => h("small", null, feedback));
56
- }
57
- else if (this.question.questionType == "FEEDBACK" || this.question.questionType == "TEXT") {
58
- return this.question.feedback && h("small", null, " ", this.question.feedback);
59
- }
60
- }
61
- showAnswerStatus() {
62
- return h("div", null, this.correct ? h("strong", null, "Good job!") : h("strong", null, "Incorrect answer, please try again."));
63
- }
64
- renderQuestion() {
65
- if (this.question.questionType == "MULTIPLE-CHOICE") {
66
- return h("sparkle-quiz-select", { question: this.question, allowMultiple: true });
67
- }
68
- else if (this.question.questionType == "FEEDBACK") {
69
- return h("sparkle-quiz-feedback", { question: this.question });
70
- }
71
- else if (this.question.questionType == "TEXT") {
72
- return h("sparkle-quiz-input", { question: this.question });
73
- }
74
- else if (this.question.questionType == "OPINION") {
75
- return h("sparkle-quiz-opinion", { question: this.question });
76
- }
77
- else if (this.question.questionType == "POLL") {
78
- return h("sparkle-quiz-poll", { question: this.question });
79
- }
80
- }
81
- render() {
82
- if (this.question) {
83
- let classes = {
84
- 'correct': this.submitted && this.correct,
85
- 'incorrect': this.submitted && !this.correct
86
- };
87
- return h("div", { class: classes }, this.renderQuestion(), this.submitted && this.showInstantResult && h("div", { class: "feedback-container" }, [this.showAnswerStatus(),
88
- this.getQuestionFeedback()]));
89
- }
90
- else {
91
- return h("p", null, "No question found.");
92
- }
93
- }
94
- get el() { return getElement(this); }
95
- static get watchers() { return {
96
- "questionId": ["loadQuestion"]
97
- }; }
98
- };
99
- SparkleQuizV1.style = sparkleQuizV1Css;
100
-
101
- export { SparkleQuizV1 as sparkle_quiz_v1 };
@@ -1 +0,0 @@
1
- import{r as t,h as e,H as s,e as i}from"./p-ee1e0eb4.js";import{E as n}from"./p-b226f54d.js";import"./p-2f569553.js";const l=class{constructor(e){t(this,e)}componentDidLoad(){this.postText=this.textValue,this.ref&&this.ref.innerText&&(this.assignmentName=this.ref.innerText,console.log(this.assignmentName))}setText(t){this.postText=t}isAuthenticated(){try{var t=n.getInstance().get("sparkle");if(t&&t.auth&&t.auth.getToken())return!0}catch(t){return!1}}submitPost(){this.errorMessage="",this.successMessage="",this.el.getElementsByClassName("PostExternalUrl"),this.el.getElementsByClassName("IsPublic")}uploadImage(t){}selectFile(){document.getElementById("fileInput").click()}renderUserInfo(){var t={Token:null,ProfileImageUrl:null};return null!=t&&t.Token?e("ion-avatar",{class:"header-avatar",slot:"end"},e("img",{src:"/assets/img/avatar.png"})):e("ion-button",{slot:"end",href:"/login"},"Login to Post")}render(){const t=this.renderUserInfo();return e(s,null,e("div",{class:"assignment-name",ref:t=>this.ref=t},e("slot",null)),e("ion-card",null,e("ion-item",{class:"header",lines:"full"},t),e("ion-card-content",null,e("form",null,e("ion-list",null,e("ion-item",{class:"padding"},e("ion-textarea",{class:"PostText",required:!0,placeholder:"Post Text",name:"PostText",value:this.postText})),e("ion-item",{class:"padding"},e("ion-input",{class:"PostExternalUrl",required:!0,type:"text",placeholder:"URL",name:"ExternalResourceUrl",value:this.externalResourceUrl})),this.uploadedImage?e("ion-item",{class:"padding"},e("img",{class:"uploaded-image",src:this.uploadedImage})):"",e("ion-item",{lines:"none"},e("input",{type:"file",id:"fileInput",onChange:t=>this.uploadImage(t),style:{display:"none"},accept:"image/*"}),this.uploadImageLoading?e("ion-spinner",{color:"primary"}):"",e("ion-button",{slot:"start",onClick:()=>this.selectFile()},e("ion-icon",{name:"add"}),"Upload Image")),e("div",{class:"public-post-toggle"},e("ion-toggle",{class:"IsPublic",color:"primary",name:"IsPublic"}),e("div",null,"Public Post")),e("div",{class:"post-footer-container"},e("div",{class:"post-footer"},e("div",null,e("div",{class:"error"},this.errorMessage),e("div",{class:"success"},this.successMessage)),e("ion-button",{slot:"end",size:"default",onClick:()=>this.submitPost(),disabled:!this.isAuthenticated()},"Post"))))))))}get el(){return i(this)}};l.style=":host{display:block}.post-footer-container{display:flex;justify-content:flex-end}.post-footer{display:flex;justify-content:space-between;align-items:center}.error{color:red;margin-right:10px}.success{color:green;margin-right:10px}.uploaded-image{display:block;max-height:140px;width:auto !important}.public-post-toggle{display:flex;justify-content:flex-end;align-items:center}.assignment-name{display:none}";export{l as sparkle_feed_post}
@@ -1 +0,0 @@
1
- import{a as e,u as t,f as r,s as o,T as n}from"./p-2f569553.js";import{t as i}from"./p-2ff67662.js";import{E as a}from"./p-b226f54d.js";var f=e,s=Object.prototype.hasOwnProperty,u={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},c=Array.isArray,l=String.prototype.split,p=Array.prototype.push,d=function(e,t){p.apply(e,c(t)?t:[t])},m=Date.prototype.toISOString,y=r.default,v={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:t.encode,encodeValuesOnly:!1,format:y,formatter:r.formatters[y],indices:!1,serializeDate:function(e){return m.call(e)},skipNulls:!1,strictNullHandling:!1},b={},w=function e(r,n,i,a,f,s,u,p,m,y,w,h,g,j,k){for(var E,D=r,P=k,T=0,S=!1;void 0!==(P=P.get(b))&&!S;){var O=P.get(r);if(T+=1,void 0!==O){if(O===T)throw new RangeError("Cyclic object value");S=!0}void 0===P.get(b)&&(T=0)}if("function"==typeof u?D=u(n,D):D instanceof Date?D=y(D):"comma"===i&&c(D)&&(D=t.maybeMap(D,(function(e){return e instanceof Date?y(e):e}))),null===D){if(a)return s&&!g?s(n,v.encoder,j,"key",w):n;D=""}if("string"==typeof(E=D)||"number"==typeof E||"boolean"==typeof E||"symbol"==typeof E||"bigint"==typeof E||t.isBuffer(D)){if(s){var N=g?n:s(n,v.encoder,j,"key",w);if("comma"===i&&g){for(var x=l.call(String(D),","),z="",C=0;C<x.length;++C)z+=(0===C?"":",")+h(s(x[C],v.encoder,j,"value",w));return[h(N)+"="+z]}return[h(N)+"="+h(s(D,v.encoder,j,"value",w))]}return[h(n)+"="+h(String(D))]}var H,U=[];if(void 0===D)return U;if("comma"===i&&c(D))H=[{value:D.length>0?D.join(",")||null:void 0}];else if(c(u))H=u;else{var A=Object.keys(D);H=p?A.sort(p):A}for(var B=0;B<H.length;++B){var Q=H[B],R="object"==typeof Q&&void 0!==Q.value?Q.value:D[Q];if(!f||null!==R){var V=c(D)?"function"==typeof i?i(n,Q):n:n+(m?"."+Q:"["+Q+"]");k.set(r,T);var I=o();I.set(b,k),d(U,e(R,V,i,a,f,s,u,p,m,y,w,h,g,j,I))}}return U};class h{constructor(){}static getInstance(){return h.instance||(h.instance=new h),h.instance}static init(){var e=a.getInstance().get("sparkle");this.http=f.create({baseURL:e.apiUrl,headers:{"Content-Type":"application/json"},timeout:3e4,paramsSerializer:function(e){return function(e,t){var n,i=e,a=function(e){if(!e)return v;if(null!=e.encoder&&"function"!=typeof e.encoder)throw new TypeError("Encoder has to be a function.");var t=e.charset||v.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var o=r.default;if(void 0!==e.format){if(!s.call(r.formatters,e.format))throw new TypeError("Unknown format option provided.");o=e.format}var n=r.formatters[o],i=v.filter;return("function"==typeof e.filter||c(e.filter))&&(i=e.filter),{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:v.addQueryPrefix,allowDots:void 0===e.allowDots?v.allowDots:!!e.allowDots,charset:t,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:v.charsetSentinel,delimiter:void 0===e.delimiter?v.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:v.encode,encoder:"function"==typeof e.encoder?e.encoder:v.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:v.encodeValuesOnly,filter:i,format:o,formatter:n,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:v.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:v.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:v.strictNullHandling}}(t);"function"==typeof a.filter?i=(0,a.filter)("",i):c(a.filter)&&(n=a.filter);var f=[];if("object"!=typeof i||null===i)return"";var l=u[t&&t.arrayFormat in u?t.arrayFormat:t&&"indices"in t?t.indices?"indices":"repeat":"indices"];n||(n=Object.keys(i)),a.sort&&n.sort(a.sort);for(var p=o(),m=0;m<n.length;++m){var y=n[m];a.skipNulls&&null===i[y]||d(f,w(i[y],y,l,a.strictNullHandling,a.skipNulls,a.encode?a.encoder:null,a.filter,a.sort,a.allowDots,a.serializeDate,a.format,a.formatter,a.encodeValuesOnly,a.charset,p))}var b=f.join(a.delimiter),h=!0===a.addQueryPrefix?"?":"";return a.charsetSentinel&&(h+="iso-8859-1"===a.charset?"utf8=%26%2310003%3B&":"utf8=%E2%9C%93&"),b.length>0?h+b:""}(e,{encode:!1})}}),this.http.interceptors.request.use((function(t){return e&&e.auth&&e.auth.getToken()&&(t.headers.common.Authorization="Bearer "+sparkle.auth.getToken()),t.headers.common["Sparkle.CourseId"]=e.courseId,console.log(n.state.pageInfo),n.state.pageInfo&&(t.headers.common["Sparkle.CourseModuleId"]=n.state.pageInfo.courseModuleId,t.headers.common["Sparkle.SessionId"]=n.state.pageInfo.sessionId,t.headers.common["Sparkle.PageId"]=n.state.pageInfo.pageId),t}),(function(e){return Promise.reject(e)})),this.http.interceptors.response.use((async e=>(e.data.Message&&(await i.create({message:e.data.Message,duration:3e3})).present(),e.data.Failed?null:e.data)),(async e=>e.response&&e.response.data&&e.response.data.ErrorMessage?((await i.create({message:e.response.data.ErrorMessage,duration:3e3})).present(),Promise.reject(e)):e.response&&e.response.data&&400==e.response.status?((await i.create({message:e.response.data.Message,duration:3e3})).present(),Promise.reject(e.response.data)):e.response&&e.response.data&&e.response.data.Message?((await i.create({message:e.response.data.Message,duration:3e3})).present(),Promise.reject(e)):(e.request?console.log(e.request):(await i.create({message:"Unknown Error",duration:3e3})).present(),setTimeout((()=>{}),1e3),Promise.reject(e))))}}export{h as H}
@@ -1 +0,0 @@
1
- import{r,h as a,c as t,e}from"./p-ee1e0eb4.js";const c=class{constructor(a){r(this,a),this.character="jen",this.position="right"}componentDidLoad(){console.log(this.character)}render(){return a("div",{class:`character-phrase-block ${this.position}`},a("div",{class:`character-box ${this.position}`},a("slot",null)),a("div",{class:`character-image-block ${this.position}`},a("img",{class:"image-animation",src:t("./assets/characters/"+this.character+".png")})))}static get assetsDirs(){return["assets"]}get el(){return e(this)}};c.style='sparkle-character-intro{--sparkle-character-background-color:#e7e7e7}sparkle-character-intro .character-phrase-block{display:flex;width:100%;min-height:200px;align-items:center;padding:20px}sparkle-character-intro .character-phrase-block.right{justify-content:flex-end}sparkle-character-intro .character-phrase-block.left{justify-content:flex-start}sparkle-character-intro .character-phrase-block.left .character-box{order:2}sparkle-character-intro .character-phrase-block.left .character-image-block{order:1}sparkle-character-intro .character-box{min-width:300px;border-radius:15px;background:var(--sparkle-character-background-color);color:var(--text-color);padding:20px;text-align:center;position:relative;box-shadow:0px 1px 3px rgba(2, 8, 20, 0.06), 0px 1px 2px rgba(2, 8, 20, 0.04)}sparkle-character-intro .character-box.right:before{content:"";width:0px;height:0px;position:absolute;border-left:15px solid var(--sparkle-character-background-color);border-right:15px solid transparent;border-top:15px solid var(--sparkle-character-background-color);border-bottom:15px solid transparent;right:-16px;top:0px}sparkle-character-intro .character-box.left:before{content:"";width:0px;height:0px;position:absolute;border-left:15px solid transparent;border-right:15px solid var(--sparkle-character-background-color);border-top:15px solid var(--sparkle-character-background-color);border-bottom:15px solid transparent;left:-16px;top:0px}sparkle-character-intro img{max-width:100%;border:0}sparkle-character-intro .character-image-block{float:left;width:20%}sparkle-character-intro .character-image-block.right{transform:rotateY(180deg)}';export{c as sparkle_character_intro}
@@ -1 +0,0 @@
1
- import{r as t,h as i,c as s,e}from"./p-ee1e0eb4.js";import{g as a}from"./p-5d409601.js";import{S as o}from"./p-935e7cfc.js";class n{constructor(){this.pItems={}}fromSrt(t,i){var s=!!i;(t=(t=t.replace(/\r/g,"")).split(/(\d+)\n(\d{2}:\d{2}:\d{2},\d{3}) --> (\d{2}:\d{2}:\d{2},\d{3})/g)).shift();for(var e={},a=0;a<t.length;a+=4)e[s?this.timeS(t[a+1].trim()):t[a+1].trim()]=t[a+3].trim();return e}toSrt(t){if(!(t instanceof Array))return"";for(var i="",s=0;s<t.length;s++){var e=t[s];isNaN(e.startTime)||isNaN(e.endTime)||(e.startTime=this.msTime(parseInt(e.startTime,10)),e.endTime=this.msTime(parseInt(e.endTime,10))),i+=e.id+"\r\n",i+=e.startTime+" --\x3e "+e.endTime+"\r\n",i+=e.text.replace("\n","\r\n")+"\r\n\r\n"}return i}timeS(t){var i=/(\d+):(\d{2}):(\d{2}),(\d{3})/.exec(t);if(null===i)return 0;for(var s=1;s<5;s++)i[s]=parseInt(i[s],10).toString(),isNaN(parseInt(i[s],10))&&(i[s]="0");return 3600*parseInt(i[1],10)+60*parseInt(i[2],10)+parseInt(i[3],10)+Math.floor(parseInt(i[4],10)/1e3)}msTime(t){var i=[36e5,6e4,1e3],s=[];for(var e in i){var a=(t/i[e]>>0).toString();a.length<2&&(a="0"+a),t%=i[e],s.push(a)}var o=t.toString();if(o.length<3)for(let t=0;t<=3-o.length;t++)o="0"+o;return s.join(":")+","+o}}const r=class{constructor(i){t(this,i),this.showCaption=!1,this.paused=!0,this.dataLoaded=!1,this.currentProgressWidth=0,this.captionText="",this.showFirstFrame=!1,this.firstFramePath="",this.isBusy=!1,this.animationVideoProgress="0",this.captionData={}}closedCaptionChange(t){this.showCaption=!this.showCaption}onClassRoomModeChanged(t){this.classMode=t.detail}componentWillLoad(){this.classMode=a(o.LOCALSTORAGE_CLASSROOM_MODE);const t=document.createElement("script");this.firstFramePath=this.src.replace(".js",".png"),t.src=this.src,document.body.appendChild(t),this.readTextFile(this.src.replace(".js",".srt")),this.rergisterSoundControls()}readTextFile(t){let i=this;var s=new XMLHttpRequest;s.open("GET",t,!1),s.onreadystatechange=function(){if(4===s.readyState&&(200===s.status||0==s.status)){var t=s.responseText,e=new n;i.captionData=e.fromSrt(t,!0)}},s.send(null)}isScriptLoaded(t){for(var i=document.getElementsByTagName("script"),s=i.length;s--;)if(i[s].getAttribute("src")==t)return!0;return!1}rergisterSoundControls(){window.playSound=t=>(this.sound&&this.sound.stop(),this.sound=createjs.Sound.play(t,{interrupt:createjs.Sound.INTERRUPT_EARLY,loop:0,volume:1}),this.sound),window.resetToStart=()=>{console.log("reset"),this.rewindAnimationToStart()}}startLoading(){this.isBusy=!0,this.paused=!1}doneLoading(){this.isBusy=!1,this.dataLoaded=!0,this.paused=!1}handleFileLoad(t){var i=this.comp.getImages();t&&"image"==t.item.type&&(i[t.item.id]=t.result)}handleQueueProgress(t){return t=>{this.animationVideoProgress=t.loaded?(100*t.loaded).toFixed(0):"0",1==t.loaded&&this.doneLoading()}}handleComplete(t){for(var i=this.comp.getSpriteSheet(),s=t.target,e=this.library.ssMetadata,a=0;a<e.length;a++)i[e[a].name]=new createjs.SpriteSheet({images:[s.getResult(e[a].name)],frames:e[a].frames});var o=this.src.substring(this.src.lastIndexOf("/")+1,this.src.lastIndexOf("."));this.exportRoot=new this.library[o],this.stage=new this.library.Stage(this.canvas),this.makeResponsive(!0,"both",!1,1),AdobeAn.compositionLoaded(this.library.properties.id),this.stage.addChild(this.exportRoot),createjs.Ticker.framerate=this.library.properties.fps,createjs.Ticker.paused=!1,createjs.Ticker.addEventListener("tick",this.stage),createjs.Ticker.addEventListener("tick",(t=>{this.tickHandler(t)}))}loadAnimation(){this.startLoading(),createjs.Sound.initializeDefaultPlugins()&&(this.canvas=this.el.querySelector(".video-canvas"),this.anim_container=this.el.querySelector(".canvas-container"),this.comp=AdobeAn.getComposition(this.composition),this.canvas.style.width="100%",this.canvas.style.height=this.canvas.offsetWidth+"px",this.anim_container.style.height=this.canvas.offsetWidth+"px",this.library=this.comp.getLibrary(),this.loader=new createjs.LoadQueue(!1),this.loader.setMaxConnections(3),this.loader.maintainScriptOrder=!0,this.loader.installPlugin(createjs.Sound),this.loader.addEventListener("complete",(t=>{this.handleComplete(t)})),this.loader.addEventListener("fileload",(t=>{this.handleFileLoad(t)})),this.loader.addEventListener("progress",this.handleQueueProgress(this)),this.loader.loadManifest(this.library.properties.manifest,!0,this.src.substring(0,this.src.lastIndexOf("/")+1)))}playButtonAction(){this.dataLoaded?this.playPauseAnimation():this.loadAnimation()}playPauseAnimation(){createjs.Ticker.paused?this.playAnimation():this.pauseAnimation()}async playAnimation(){if(this.showFirstFrame=!1,null!=this.loader&&this.loader.close(),createjs&&createjs.Ticker){let t=!1,i=this.sound;i&&(i.paused=t),createjs.Ticker.paused=t,createjs.Ticker.addEventListener("tick",this.stage),this.paused=t}}async pauseAnimation(){if(null!=this.loader&&this.loader.close(),createjs&&createjs.Ticker){let t=!0,i=this.sound;i&&(i.paused=t),createjs.Ticker.paused=t,createjs.Ticker.removeEventListener("tick",this.stage),this.paused=t}}disconnectedCallback(){this.pauseAnimation(),createjs.Sound.removeAllSounds()}async classRoomModeChanged(t){this.classMode=t}async destroyAnimation(){this.pauseAnimation()}makeResponsive(t,i,s,e){window.addEventListener("resize",(()=>this.resizeCanvas(t,i,s,e))),this.resizeCanvas(t,i,s,e)}resizeCanvas(t,i,s,e){var a,o,n=1,r=this.library.properties.width,h=this.library.properties.height,l=window.innerWidth,c=window.innerHeight,d=window.devicePixelRatio||1,p=l/r,u=c/h,m=1;t&&("width"==i&&a==l||"height"==i&&o==c?m=n:s?1==e?m=Math.min(p,u):2==e&&(m=Math.max(p,u)):(l<r||c<h)&&(m=Math.min(p,u)));var g=this.el.querySelector(".canvas-container");this.canvas.width=r*d*m,this.canvas.height=h*d*m,this.canvas.style.width="100%",this.canvas.style.height=this.canvas.offsetWidth+"px",g.style.height=this.canvas.offsetWidth+"px",this.stage.scaleX=d*m,this.stage.scaleY=d*m,a=l,o=c,n=m,this.sizeOfCanvas=this.canvas.offsetWidth;var v=this.el.querySelector(".progressBar");this.sizeofProgressBar=v.offsetWidth,this.stage.tickOnUpdate=!1,this.stage.update(),this.stage.tickOnUpdate=!0}tickHandler(t){t.paused||(this.timeline=this.stage.children[0].timeline,this.captionData[Math.floor(this.timeline.position/this.library.properties.fps)]&&(this.captionText=this.captionData[Math.floor(this.timeline.position/this.library.properties.fps)]),this.timeline.position%10==0&&(this.timeline.position>this.timeline.duration-10&&this.animationCompleted(),this.currentProgressWidth=parseFloat((this.timeline.position/this.timeline.duration*this.sizeofProgressBar).toFixed(0))))}animationCompleted(){console.log("completed"),this.showFirstFrame=!0,this.rewindAnimationTo(0),this.pauseAnimation()}rewindAnimationTo(t){let i=this.sound;i&&(i.paused=!0);let s=this.stage.children[0],e=s.timeline;t<0&&(t=0),t>e.duration&&(t=e.duration-10),this.paused?(s.gotoAndStop(t),this.stage.update(),i&&!i.getPaused()&&(createjs.Ticker.paused=!0)):(s.gotoAndPlay(t),createjs.Ticker.paused=!1)}rewindAnimationToStart(){this.paused=!0,this.rewindAnimationTo(0)}rewindAnimation(t){t.stopPropagation();let i=Math.round(t.offsetX/this.sizeofProgressBar*this.stage.children[0].timeline.duration);this.rewindAnimationTo(i)}rewind5Sec(){this.rewindAnimationTo(this.stage.children[0].timeline.position-5*this.library.properties.fps)}fastForward5Sec(){this.rewindAnimationTo(this.stage.children[0].timeline.position+5*this.library.properties.fps)}muteVolume(){let t=this.sound;t&&(t.volume=0)}downVolume(){let t=this.sound;t&&t._getVolume()>.9&&(t.volume=t._getVolume()-.1)}upVolume(){let t=this.sound;t&&t._getVolume()<1&&(t.volume=t._getVolume()+.1)}render(){return i("div",{class:"cavase-main-container"},i("div",{class:"canvas-container",id:"canvas-container"},this.classMode?"":i("div",null,i("canvas",{class:"video-canvas",onClick:()=>this.playButtonAction()}),this.showCaption?i("div",{class:"caption"},this.captionText):""),!this.dataLoaded||this.showFirstFrame?i("img",{class:"frame-img",src:this.firstFramePath}):"",this.classMode?i("img",{class:"overlay-img",src:s("./assets/play-button-disabled-overlay.png")}):"",!this.classMode&&this.paused?i("img",{class:"overlay-img",onClick:()=>this.playButtonAction(),src:s("./assets/play-button-overlay.png")}):"",this.isBusy?i("div",{class:"loading-container"},i("div",{class:"uil-ring-css"},i("div",null),i("a",null,"Loading ",this.animationVideoProgress,"%"))):""),this.dataLoaded?i("div",{class:"navControls"},i("div",{class:"progressBar",onClick:t=>this.rewindAnimation(t)},i("div",{class:"currentProgress",style:{width:this.currentProgressWidth+"px"}})),i("div",{class:"button-panel"},i("ion-button",{size:"small",color:"transperant",onClick:()=>this.rewind5Sec()}," ",i("ion-icon",{name:"play-back-outline"})," "),i("ion-button",{size:"small",color:"transperant",onClick:()=>this.playButtonAction()}," ",i("ion-icon",this.paused?{name:"pause-outline"}:{name:"play-outline"})),i("ion-button",{size:"small",color:"transperant",onClick:()=>this.fastForward5Sec()}," ",i("ion-icon",{name:"play-forward-outline"})))):"",this.dataLoaded&&this.captionText?i("div",{class:"closed-caption"},i("ion-item",{lines:"none"},i("ion-label",null,"Closed Caption"),i("ion-toggle",{slot:"end",color:"primary",checked:this.showCaption}))):"")}static get assetsDirs(){return["assets"]}get el(){return e(this)}};r.style='.video-canvas{position:absolute;display:block;background-color:#f5f5f5;width:auto}.closed-caption{justify-content:flex-end;width:100%;display:flex}sparkle-animation-player{width:100%;margin:0 auto}.caption{position:absolute;bottom:0px;color:white;text-align:center;width:100%;text-shadow:1px 1px 2px #e50539}.canvas-container{width:680px;height:680px;background-color:#f5f5f5;border-radius:10px;position:relative}.frame-img{position:absolute;display:block;max-width:100%;width:100%;height:auto}.overlay-img{position:absolute;z-index:9999;top:0px;display:block;max-width:100%;width:100%;height:auto}.button-panel{display:flex;justify-content:center}ion-icon{color:var(--ion-color-primary)}.navControls{width:680px;background:transparent;border-radius:10px;position:relative;padding-top:15px;display:flex;flex-direction:column;align-items:center}.navControls .progressBar{flex:100%;border-radius:20px;position:relative;left:0;right:0;height:4px;background-color:rgba(205, 205, 205, 0.7);width:100%}.navControls .progressBar .currentProgress{border-radius:20px;position:absolute;height:25px;background-color:var(--ion-color-primary);transition:width 0.5s;width:100%}.navControls .progressBar .currentProgress:before{position:absolute;top:50%;right:4px;content:" ";display:block;width:12px;height:12px;margin-top:-10px;background:#e5053a;border-radius:10px;border:4px solid #d9d4d4;z-index:10}#dom_overlay_container{pointer-events:none;overflow:hidden;position:absolute;left:0px;top:0px;display:block}.cavase-main-container{width:100%;display:flex;flex-wrap:wrap;justify-content:center;padding:15px;background-position:center;background-size:cover;background-repeat:no-repeat}.loading-container{height:100%;display:flex;justify-content:center;align-items:center}.uil-ring-css{position:absolute}ion-button{--ion-color-base:transparent;--ion-color-contrast:var(--ion-color-primary);--box-shadow:none !important}@media screen and (min-width: 760px){.navControls{flex-direction:row}.navControls .progressBar{height:24px;flex:75%;width:75%}.button-panel{flex:25%;width:25%}}';export{r as sparkle_animation_player}
@@ -1 +0,0 @@
1
- import{c as t,h as e}from"./p-ee1e0eb4.js";import{s as r,r as n,g as a}from"./p-5d409601.js";import{H as o}from"./p-1d4c7c11.js";import{A as s}from"./p-2f569553.js";const i=new class{constructor(){this.sample=t=>t[Math.floor(Math.random()*t.length)],this.keyBy=(t,e,r)=>t.reduce(((t,n)=>(t[e(n)]=r?r(n):n,t)),{}),this.debounce=(t,e)=>{let r=null;return(...n)=>{clearTimeout(r),r=setTimeout(t,e,...n)}}}loadScript(t){var e=document.createElement("script");e.type="text/javascript",e.src=t,document.body.appendChild(e)}loadScriptAsync(t){return new Promise((function(e,r){const n=document.createElement("script");let a=!1;n.type="text/javascript",n.src=t,n.async=!0,n.onerror=function(t){r(t)},n.onload=n.onreadystatechange=function(){a||this.readyState&&"complete"!=this.readyState||(a=!0,e(!0))};const o=document.getElementsByTagName("script")[0];o.parentElement.insertBefore(n,o)}))}extend(...t){let e,r,n,a,o,s,i,c=t[0]||{},l=1,u=t.length,p=!1;for("boolean"==typeof c&&(p=c,c=t[l]||{},l++),"object"!=typeof c&&"function"!=typeof c&&(c={}),l===u&&(c=this,l--);l<u;l++)if(null!==(e=t[l]))for(r in e)n=c[r],o=e[r],c!==o&&(a=Array.isArray(n)?"array":typeof n,p&&o&&((s=Array.isArray(o))||"object"==typeof o)?(s?(s=!1,i=n&&"array"===a?n:[]):i=n&&"object"===a?n:{},c[r]=this.extend(p,i,o)):void 0!==o&&(c[r]=o));return c}setLocalization(){if(!sparkle.utils.getCookieValue("Sparkle.Localization.CultureName")){let t=navigator.language;sparkle.utils.setCookieValue("Sparkle.Localization.CultureName",t,new Date((new Date).getTime()+15768e7),sparkle.appPath)}}};async function c(t){if(!window)return;const e=window,r=e.Sparkle;if(!r||!r.config||"Object"===r.config.constructor.name)return e.Sparkle=e.Sparkle||{},e.Sparkle.config=Object.assign(Object.assign({},e.Sparkle.config),t),e.Sparkle.config;console.error("Sparkle config was already initialized")}async function l(e){await i.loadScriptAsync(t("../assets/lib/sparkle.js")),await c(e)}const u="enc_auth_token";class p{constructor(){}static getInstance(){return p.instance||(p.instance=new p),p.instance}async authenticate(t){const e={"Content-Type":"application/json"};let n;s.state.loading=!0;try{if(n=await o.http.post("api/Account/Authenticate",t,{headers:e}),n){const e=n.Data,a={Id:e.Id,UserName:e.UserName,Email:e.Email,Roles:e.Roles,IsVerified:e.IsVerified,JWToken:e.JWToken,IssuedOn:e.IssuedOn,ExpiresOn:e.ExpiresOn,RefreshToken:e.RefreshToken,PhotoUrl:"",IsFacilitator:e.Roles.indexOf("Facilitator")>0},o=t.RememberClient?new Date(a.ExpiresOn):void 0;return sparkle.auth.setToken(a.JWToken,o),sparkle.utils.setCookieValue(u,a.JWToken,o,sparkle.appPath),await r("CurrentUser",a),s.state.authUser=Object.assign({},a),s.state.loading=!1,a}}catch(t){return s.state.loading=!1,t}}async signOut(){await n("CurrentUser"),sessionStorage.clear(),sparkle.auth.clearToken(),s.state.authUser=null,s.state.isAuthenticated=!1}async getLocalAuthUser(){return a("CurrentUser")}}const f=t=>{var{component:r,permission:n,render:a}=t,o=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(t);a<n.length;a++)e.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(t,n[a])&&(r[n[a]]=t[n[a]])}return r}(t,["component","permission","render"]);const i=r;return e("stencil-route",Object.assign({},o,{routeRender:t=>s.state.isAuthenticated?n&&!sparkle.auth.isGranted(n)?e("stencil-router-redirect",{url:"/unauthorized"}):i?e(i,Object.assign({},t,t.componentProps)):a(t):e("stencil-router-redirect",{url:"/login"})}))};export{p as A,f as P,l as i,c as s}
@@ -1 +0,0 @@
1
- import{r as i,h as t,e as s}from"./p-ee1e0eb4.js";import{S as e,G as a,e as o,f as n}from"./p-935e7cfc.js";import{E as l}from"./p-b226f54d.js";import{A as h}from"./p-9a443f51.js";import{A as r,F as d,g as p,f as c}from"./p-600cf6a3.js";import"./p-1d4c7c11.js";import"./p-2f569553.js";import"./p-2ff67662.js";import"./p-871106e0.js";import"./p-add30d46.js";import"./p-d68092b7.js";const u=class{constructor(t){i(this,t),this.name={valid:!1,value:""},this.description={valid:!1,value:""},this.category={valid:!1,value:""},this.progress=0,this.public=!0,this.goalUpdateText={valid:!0,value:""},this.submitted=!1}goalHanlder(i){this.updateGoal(i.AppData)}componentWillLoad(){this.appData&&this.updateGoal(this.appData.AppData)}updateGoal(i){i&&(this.name=Object.assign(Object.assign({},this.name),{value:i.Name}),this.description=Object.assign(Object.assign({},this.description),{value:i.Description}),this.category=Object.assign(Object.assign({},this.category),{value:i.Category}),this.goalUpdateText=Object.assign(Object.assign({},this.goalUpdateText),{value:i.GoalText}),this.progress=i.Percentage)}handleTitle(i){this.validateTitle(),this.name=Object.assign(Object.assign({},this.name),{value:i.target.value})}handleDescription(i){this.validateDescription(),this.description=Object.assign(Object.assign({},this.description),{value:i.target.value})}handleCategory(i){this.validateCategoy(),this.category=Object.assign(Object.assign({},this.category),{value:i.target.value})}handleGoalProgressInfo(i){this.goalUpdateText=Object.assign(Object.assign({},this.goalUpdateText),{value:i.target.value})}validateTitle(){this.name=Object.assign(Object.assign({},this.name),this.name.value&&this.name.value.length>0?{valid:!0}:{valid:!1})}validateDescription(){this.description=Object.assign(Object.assign({},this.description),this.description.value&&this.description.value.length>0?{valid:!0}:{valid:!1})}validateCategoy(){this.category=Object.assign(Object.assign({},this.category),this.category.value&&this.category.value.length>0?{valid:!0}:{valid:!1})}validateGoalUpdateText(){this.goalUpdateText=Object.assign(Object.assign({},this.goalUpdateText),this.goalUpdateText.value&&this.goalUpdateText.value.length>0?{valid:!0}:{valid:!1})}async onSubmit(i){if(i.preventDefault(),console.log("clicked signup"),this.validateTitle(),this.validateDescription(),this.validateCategoy(),this.submitted=!0,this.appData&&this.appData.Id>0){if(this.validateGoalUpdateText(),this.name.valid&&this.description.valid&&this.category.valid&&this.goalUpdateText.valid){var t=a(this.name.value,this.description.value,this.category.value,this.progress,this.goalUpdateText.value);(await r.getInstance().updateGoal({Id:this.appData.Id,MiniAppId:e.MY_GOALS_APP_ID,AppJsonData:JSON.stringify(t)})).Succeeded&&(this.public?await this.postToFeed():this.dismiss())}}else this.name.valid&&this.description.valid&&this.category.valid&&(t=a(this.name.value,this.description.value,this.category.value,this.progress,this.goalUpdateText.value),(await r.getInstance().createGoal({MiniAppId:e.MY_GOALS_APP_ID,AppJsonData:JSON.stringify(t)})).Succeeded&&this.dismiss())}async postToFeed(){const i=l.getInstance().get("sparkle");var t={CourseId:(await h.getInstance().loadJsonFile(i.tocPath)).id,MiniAppId:e.MY_GOALS_APP_ID,PostText:o(this.name.value,this.goalUpdateText.value,this.progress),PostTextJSON:n(this.name.value,this.goalUpdateText.value,this.progress),IsPublic:this.public,ExternalResourceUrl:""};(await d.getInstance().createPost(t)).Succeeded&&this.dismiss()}dismiss(i){this.el.closest("ion-modal").dismiss({dismissed:!0})}renderEditBookingFields(){if(this.appData)return t("div",null,t("ion-item",null,t("ion-label",{position:"stacked",color:"primary"},"Goal Progress Info"),t("ion-input",{name:"title",type:"text",value:this.goalUpdateText.value,onInput:i=>this.handleGoalProgressInfo(i)})),t("ion-text",{color:"danger"},t("p",{hidden:this.goalUpdateText.valid||!1===this.submitted,class:"ion-padding-start"},"Goal Progress text is required")),t("ion-item",null,t("ion-label",{position:"stacked"},"Progress"),t("ion-range",{value:this.progress,min:1,max:100,step:1,snaps:!0,pin:!0,onIonChange:i=>this.progress=+i.detail.value},t("ion-icon",{size:"small",slot:"start",name:"pulse"}),t("ion-icon",{name:"pulse",size:"small"}),t("strong",{slot:"end"},this.progress))),t("ion-text",{color:"danger"},t("p",{hidden:this.progress>0||!1===this.submitted,class:"ion-padding-start"},"Min Progress value should be 1")),t("ion-item",{lines:"none"},t("ion-label",null,"Share to Community Wall"),t("ion-checkbox",{slot:"start",onChange:i=>this.public=i.detail.checked,checked:!0})))}render(){return[t("div",null,t("ion-toolbar",{color:"primary"},t("ion-buttons",{slot:"start"},t("ion-back-button",{defaultHref:"home",onClick:()=>this.dismiss()})),t("ion-title",null,"Add New Goal")),t("div",{class:"inner-content"},t("form",{class:"ion-padding",novalidate:!0,onSubmit:i=>this.onSubmit(i)},t("ion-list",{"no-lines":!0},t("ion-item",null,t("ion-label",{position:"stacked",color:"primary"},"Title"),t("ion-input",{name:"title",type:"text",value:this.name.value,onInput:i=>this.handleTitle(i),required:!0})),t("ion-text",{color:"danger"},t("p",{hidden:this.name.valid||!1===this.submitted,class:"ion-padding-start"},"Title is required")),t("ion-item",null,t("ion-label",{position:"stacked",color:"primary"},"Description"),t("ion-textarea",{name:"desciption",value:this.description.value,onInput:i=>this.handleDescription(i),required:!0})),t("ion-text",{color:"danger"},t("p",{hidden:this.description.valid||!1===this.submitted,class:"ion-padding-start"},"Description is required")),t("ion-item",null,t("ion-label",null,"Category"),t("ion-select",{value:this.category.value,onIonChange:i=>this.handleCategory(i)},t("ion-select-option",{value:"Emotional"},"Emotional"),t("ion-select-option",{value:"Interpersonal"},"Interpersonal"),t("ion-select-option",{value:"Learning"},"Learning"),t("ion-select-option",{value:"Financial"},"Financial"),t("ion-select-option",{value:"Physical"},"Physical"))),t("ion-text",{color:"danger"},t("p",{hidden:this.category.valid||!1===this.submitted,class:"ion-padding-start"},"Category is required")),this.renderEditBookingFields()),t("div",{class:"ion-padding"},this.appData&&t("ion-button",{type:"submit",expand:"block",disabled:p.state.goalLoading||c.state.postIdLoading>0},p.state.goalLoading&&t("ion-spinner",{name:"dots"})," Update"),!this.appData&&t("ion-button",{type:"submit",expand:"block",disabled:p.state.goalLoading},p.state.goalLoading&&t("ion-spinner",{name:"dots"})," Add")))))]}get el(){return s(this)}static get watchers(){return{appData:["goalHanlder"]}}};u.style=":host{display:block}";export{u as sparkle_goal_form}
@@ -1 +0,0 @@
1
- import{H as t}from"./p-1d4c7c11.js";import{d as a}from"./p-2f569553.js";import{S as e}from"./p-935e7cfc.js";const{state:s,onChange:n}=a({goals:[],goalsLoading:!1,goalLoading:!1}),r={state:s,onChange:n};class o{constructor(){}static getInstance(){return o.instance||(o.instance=new o),o.instance}async getAllAppData(a){return await t.http.get(`api/v1/AppData/${a}`)}async createAppData(a){return await t.http.post("api/v1/AppData/",a)}async updateAppData(a){return await t.http.put(`api/v1/AppData/${a.Id}`,a)}async getAllGoals(){r.state.goalsLoading=!0;let t=await this.getAllAppData(e.MY_GOALS_APP_ID);return t&&(r.state.goals=t.Data.map((t=>Object.assign(Object.assign({},t),{AppData:JSON.parse(t.AppJsonData)}))),r.state.goalsLoading=!1),t}async createGoal(t){r.state.goalLoading=!0;let a=await this.createAppData(t);return a&&(a.Data.AppData=JSON.parse(a.Data.AppJsonData),r.state.goals=[...r.state.goals,a.Data],r.state.goalLoading=!1),a}async updateGoal(t){r.state.goalLoading=!0;let a=await this.updateAppData(t);return a&&(a.Data.AppData=JSON.parse(a.Data.AppJsonData),r.state.goals=r.state.goals.map((t=>t.Id==a.Data.Id?Object.assign(Object.assign({},a.Data),{AppData:JSON.parse(a.Data.AppJsonData)}):t)),r.state.goalLoading=!1),a}}const{state:c,reset:p}=a({posts:[],postsLoading:!1,createPostLoading:!1,postIdLoading:null}),i={state:c,reset:p};class l{constructor(){}static getInstance(){return l.instance||(l.instance=new l),l.instance}async getAllPosts(){i.state.postsLoading=!0;let a=await t.http.get("api/v1/Feed/GetAll");return a&&(i.state.posts=a.Data,i.state.postsLoading=!1),a}async createPost(a){i.state.createPostLoading=!0;let e=await t.http.post("api/v1/Feed/PostFeed",a);return e&&(i.state.posts=[e.Data,...i.state.posts],i.state.createPostLoading=!1),e}async createPostComment(a){i.state.postIdLoading=a.PostId;let e=await t.http.post("api/v1/Feed/Comment",a);return e&&(i.state.posts=i.state.posts.map((t=>t.Id==e.Data.ClassFeedPostId?Object.assign(Object.assign({},t),{Comments:[...t.Comments,e.Data]}):t)),i.state.postIdLoading=null),e}}export{o as A,l as F,i as f,r as g}
@@ -1 +0,0 @@
1
- import{r as i,h as t,H as e,e as o}from"./p-ee1e0eb4.js";import{S as s}from"./p-5efc6566.js";import{t as l}from"./p-2ff67662.js";import"./p-1d4c7c11.js";import"./p-2f569553.js";import"./p-b226f54d.js";import"./p-871106e0.js";import"./p-add30d46.js";import"./p-d68092b7.js";const n=class{constructor(t){i(this,t),this.formControls={type:{isValid:!0,value:1,validate:i=>!!i},note:{isValid:!1,value:"",validate:i=>!!i}},this.submitted=!0}async onSubmit(i){i.preventDefault(),this.submitted=!0;let t=!0;for(let i in this.formControls){let e=this.formControls[i];e.validate(e.value),e.isValid||(t=!1)}if(t){let i=await s.getInstance().submitFeedback({Note:this.formControls.note.value,Type:this.formControls.type.value});console.log(i),i.Succeeded?((await l.create({message:"Feedback submitted successfully",duration:3e3})).present(),this.dismiss()):(await l.create({message:i.Message,duration:3e3})).present()}}dismiss(i){this.el.closest("ion-modal").dismiss({dismissed:!0})}changeFormValue(i,t){this.formControls=Object.assign(Object.assign({},this.formControls),{[i]:Object.assign(Object.assign({},this.formControls[i]),{value:t,isValid:this.formControls[i].validate(t)})})}render(){return t(e,null,t("ion-header",{translucent:!0},t("ion-toolbar",null,t("ion-title",null,"Feedback"),t("ion-buttons",{slot:"end"},t("ion-button",{onClick:()=>this.dismiss()},"Close")))),t("ion-content",{class:"ion-padding"},t("form",{onSubmit:i=>this.onSubmit(i),novalidate:!0},t("ion-list",null,t("ion-radio-group",{value:this.formControls.type.value,onChange:i=>this.changeFormValue("type",+i.target.value)},t("ion-list-header",null,t("ion-label",null,"Feedback Type")),t("ion-item",null,t("ion-label",null,"Comments"),t("ion-radio",{value:1})),t("ion-item",null,t("ion-label",null,"Suggestions"),t("ion-radio",{value:2})),t("ion-item",null,t("ion-label",null,"Questions"),t("ion-radio",{value:3}))),t("ion-item",null,t("ion-label",{position:"floating"},"Notes"),t("ion-textarea",{value:this.formControls.note.value,onChange:i=>this.changeFormValue("note",i.target.value)})),t("br",null),t("ion-button",{color:"primary",type:"submit"},"Submit")))))}get el(){return o(this)}};n.style=":host{display:block}";export{n as sparkle_feedback}
@@ -1 +0,0 @@
1
- import{h as t,r as s,H as e,e as i}from"./p-ee1e0eb4.js";import{t as a}from"./p-2ff67662.js";import{F as o,f as l}from"./p-fbccd30c.js";import"./p-871106e0.js";import"./p-add30d46.js";import"./p-d68092b7.js";import"./p-1d4c7c11.js";import"./p-2f569553.js";import"./p-b226f54d.js";const r=()=>t("div",{class:"spinner-border",role:"status"}),n=class{constructor(t){s(this,t),this.formControls={noteText:{isValid:!0,value:"",errorMessage:"",validate:t=>(console.log(t),t&&t.length>0?{valid:!0,errorMessage:""}:{valid:!1,errorMessage:"Notes is required"})}},this.submitted=!1}componentDidLoad(){this.initialValues&&this.changeFormValue("noteText",this.initialValues.NoteText)}async onSubmit(t){t.preventDefault(),this.submitted=!0;let s=!0;for(let t in this.formControls){let e=this.formControls[t];e.isValid=e.validate(e.value).valid,e.errorMessage=e.validate(e.value).errorMessage,e.isValid||(s=!1)}if(s)if(this.initialValues&&this.initialValues.Id>0){let t=await o.getInstance().updateFacilitatorNote({NoteText:this.formControls.noteText.value,Id:this.initialValues.Id});t.Succeeded?((await a.create({message:"Notes updated successfully",duration:3e3})).present(),this.dismiss()):(await a.create({message:t.Message,duration:3e3})).present()}else{let t=await o.getInstance().addFacilitatorNote({NoteText:this.formControls.noteText.value});t.Succeeded?((await a.create({message:"Notes added successfully",duration:3e3})).present(),this.dismiss()):(await a.create({message:t.Message,duration:3e3})).present()}}dismiss(t){this.el.closest("ion-modal").dismiss({dismissed:!0})}changeFormValue(t,s){this.formControls=Object.assign(Object.assign({},this.formControls),{[t]:Object.assign(Object.assign({},this.formControls[t]),{value:s,isValid:this.formControls[t].validate(s).valid,errorMessage:this.formControls[t].validate(s).errorMessage})})}render(){const s=this.formControls.noteText.isValid?"is-valid":"is-invalid";return t(e,null,t("ion-header",{translucent:!0},t("ion-toolbar",null,t("ion-title",null,"Facilitator Note"),t("ion-buttons",{slot:"end"},t("ion-button",{onClick:()=>this.dismiss()},"Close")))),t("ion-content",{class:"ion-padding"},t("form",{onSubmit:t=>this.onSubmit(t),novalidate:!0},t("div",{class:"mb-3"},t("label",{htmlFor:"validationTextarea",class:"form-label"},"Notes"),t("textarea",{class:`form-control ${this.submitted&&s}`,placeholder:"Notes",value:this.formControls.noteText.value,onChange:t=>this.changeFormValue("noteText",t.target.value)}),this.formControls.noteText.errorMessage&&t("div",{class:"invalid-feedback"},this.formControls.noteText.errorMessage)),t("div",{class:"mb-3"},l.state.notesLoading&&t(r,null),t("button",{class:"btn btn-primary",type:"submit",disabled:l.state.notesLoading},"Submit")))))}get el(){return i(this)}};n.style=":host{display:block}";export{n as sparkle_facilitator_notes_form}
@@ -1 +0,0 @@
1
- class t{constructor(){this.init()}static getInstance(){return t.instance||(t.instance=new t),t.instance}init(){if(!window)return;const t=window.Sparkle;console.log("getting info"),this.m=new Map(Object.entries(t.config))}get(t,n){const e=this.m.get(t);return void 0!==e?e:n}}export{t as E}
@@ -1,41 +0,0 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
2
- import { SparkleQuizQuestion } from '../../models/quiz.model';
3
- export declare class SparkleQuizV1 {
4
- el: HTMLElement;
5
- questionId: number;
6
- submitted: boolean;
7
- correct: boolean;
8
- showInstantResult: boolean;
9
- quizAnswerChanged: EventEmitter<{
10
- answer: any;
11
- question: SparkleQuizQuestion;
12
- }>;
13
- private pageInfo;
14
- loadQuestion(): Promise<void>;
15
- question: SparkleQuizQuestion;
16
- quizData: {
17
- [key: string]: SparkleQuizQuestion;
18
- };
19
- componentWillLoad(): Promise<void>;
20
- componentDidLoad(): Promise<void>;
21
- quizInputChangeHandler(event: CustomEvent<{
22
- value: string;
23
- question: SparkleQuizQuestion;
24
- }>): void;
25
- quizFeedbackChangeHandler(event: CustomEvent<{
26
- value: string;
27
- question: SparkleQuizQuestion;
28
- }>): void;
29
- quizSelectChangeHandler(event: CustomEvent<{
30
- value: string;
31
- question: SparkleQuizQuestion;
32
- }>): void;
33
- quizOpinionChangeHandler(event: CustomEvent<{
34
- value: string;
35
- question: SparkleQuizQuestion;
36
- }>): void;
37
- private getQuestionFeedback;
38
- private showAnswerStatus;
39
- private renderQuestion;
40
- render(): any;
41
- }