@pie-element/multiple-choice 9.19.0-beta.0 → 9.19.0

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 (54) hide show
  1. package/CHANGELOG.md +68 -2
  2. package/configure/CHANGELOG.md +61 -2
  3. package/configure/lib/defaults.js +1 -1
  4. package/configure/lib/defaults.js.map +1 -0
  5. package/configure/lib/index.js +2 -2
  6. package/configure/lib/index.js.map +1 -0
  7. package/configure/lib/main.js +7 -7
  8. package/configure/lib/main.js.map +1 -0
  9. package/configure/lib/utils.js +1 -1
  10. package/configure/lib/utils.js.map +1 -0
  11. package/configure/package.json +2 -4
  12. package/controller/CHANGELOG.md +61 -2
  13. package/controller/lib/defaults.js +1 -1
  14. package/controller/lib/defaults.js.map +1 -0
  15. package/controller/lib/index.js +2 -2
  16. package/controller/lib/index.js.map +1 -0
  17. package/controller/lib/utils.js +1 -1
  18. package/controller/lib/utils.js.map +1 -0
  19. package/controller/package.json +2 -2
  20. package/lib/choice-input.js +2 -2
  21. package/lib/choice-input.js.map +1 -0
  22. package/lib/choice.js +1 -1
  23. package/lib/choice.js.map +1 -0
  24. package/lib/feedback-tick.js +2 -2
  25. package/lib/feedback-tick.js.map +1 -0
  26. package/lib/index.js +22 -8
  27. package/lib/index.js.map +1 -0
  28. package/lib/main.js +2 -2
  29. package/lib/main.js.map +1 -0
  30. package/lib/multiple-choice.js +9 -6
  31. package/lib/multiple-choice.js.map +1 -0
  32. package/lib/print.js +2 -2
  33. package/lib/print.js.map +1 -0
  34. package/lib/session-updater.js +1 -1
  35. package/lib/session-updater.js.map +1 -0
  36. package/module/configure.js +11070 -0
  37. package/module/controller.js +3601 -0
  38. package/module/demo.js +86 -0
  39. package/module/element.js +13461 -0
  40. package/module/index.html +21 -0
  41. package/module/manifest.json +14 -0
  42. package/module/print-demo.js +124 -0
  43. package/module/print.html +18 -0
  44. package/module/print.js +13207 -0
  45. package/package.json +3 -6
  46. package/configure/lib/__tests__/root.test.js +0 -271
  47. package/controller/lib/__tests__/index.test.js +0 -867
  48. package/controller/lib/__tests__/utils.test.js +0 -8
  49. package/docs/demo/pie.manifest.json +0 -11
  50. package/lib/__tests__/choice-input-test.js +0 -131
  51. package/lib/__tests__/index-test.js +0 -183
  52. package/lib/__tests__/key-events-test.js +0 -98
  53. package/lib/__tests__/multiple-choice-test.js +0 -235
  54. package/lib/__tests__/session-updater-test.js +0 -72
package/module/demo.js ADDED
@@ -0,0 +1,86 @@
1
+ import Configure from './configure.js';
2
+ import Element from './element.js';
3
+ import * as controller from './controller.js';
4
+
5
+ var generate = {};
6
+
7
+ generate.model = (id, element) => ({
8
+ id,
9
+ element,
10
+ choiceMode: 'checkbox',
11
+ choicePrefix: 'numbers',
12
+ choices: [
13
+ {
14
+ correct: true,
15
+ value: 'sweden',
16
+ label: 'Sweden',
17
+ feedback: {
18
+ type: 'none',
19
+ value: '',
20
+ },
21
+ },
22
+ {
23
+ value: 'iceland',
24
+ label: 'Iceland',
25
+ feedback: {
26
+ type: 'none',
27
+ value: '',
28
+ },
29
+ rationale: 'Rationale for Iceland',
30
+ },
31
+ {
32
+ value: 'norway',
33
+ label: 'Norway',
34
+ feedback: {
35
+ type: 'none',
36
+ value: '',
37
+ },
38
+ rationale: 'Rationale for Norway',
39
+ },
40
+ {
41
+ correct: true,
42
+ value: 'finland',
43
+ label: 'Finland',
44
+ feedback: {
45
+ type: 'none',
46
+ value: '',
47
+ },
48
+ rationale: 'Rationale for Finland',
49
+ },
50
+ ],
51
+ extraCSSRules: {
52
+ names: ['red', 'blue'],
53
+ rules: `
54
+ .red {
55
+ color: red !important;
56
+ }
57
+
58
+ .blue {
59
+ color: blue !important;
60
+ }
61
+ `,
62
+ },
63
+ prompt: '',
64
+ promptEnabled: true,
65
+ toolbarEditorPosition: 'bottom',
66
+ rubricEnabled: false,
67
+ });
68
+
69
+ const { model } = generate;
70
+
71
+ var config = {
72
+ elements: {
73
+ 'multiple-choice': '../..',
74
+ },
75
+ models: [model('1', 'multiple-choice')],
76
+ };
77
+
78
+ //Note: demo-el is a custom element loaded in the markup.
79
+ customElements.whenDefined("demo-el").then(() => {
80
+ config.models.forEach((m) => {
81
+ const de = document.createElement("demo-el");
82
+ document.body.appendChild(de);
83
+ de.def = { tagName: m.element, Element, Configure, controller };
84
+ de.model = m;
85
+ });
86
+ });