fcad-core-dragon 2.0.0-beta.2 → 2.0.0-beta.3

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 (103) hide show
  1. package/.editorconfig +33 -33
  2. package/.eslintignore +29 -29
  3. package/.eslintrc.cjs +81 -81
  4. package/CHANGELOG +364 -364
  5. package/README.md +71 -71
  6. package/bk.scss +117 -117
  7. package/package.json +61 -47
  8. package/src/$locales/en.json +143 -193
  9. package/src/$locales/fr.json +105 -194
  10. package/src/assets/data/onboardingMessages.json +47 -47
  11. package/src/components/AppBase.vue +1054 -1049
  12. package/src/components/AppBaseButton.vue +87 -91
  13. package/src/components/AppBaseErrorDisplay.vue +438 -428
  14. package/src/components/AppBaseFlipCard.vue +84 -83
  15. package/src/components/AppBaseModule.vue +1673 -1666
  16. package/src/components/AppBasePage.vue +779 -324
  17. package/src/components/AppBasePopover.vue +41 -0
  18. package/src/components/AppCompAudio.vue +234 -266
  19. package/src/components/AppCompBranchButtons.vue +552 -571
  20. package/src/components/AppCompButtonProgress.vue +126 -132
  21. package/src/components/AppCompCarousel.vue +298 -196
  22. package/src/components/{AppCompInputCheckBox.vue → AppCompInputCheckBoxNext.vue} +195 -233
  23. package/src/components/AppCompInputDropdownNext.vue +159 -0
  24. package/src/components/{AppCompInputRadio.vue → AppCompInputRadioNext.vue} +152 -162
  25. package/src/components/{AppCompInputTextBox.vue → AppCompInputTextNext.vue} +106 -91
  26. package/src/components/AppCompInputTextTableNext.vue +141 -0
  27. package/src/components/AppCompInputTextToFillDropdownNext.vue +230 -0
  28. package/src/components/{AppCompInputTextToFillText.vue → AppCompInputTextToFillNext.vue} +171 -164
  29. package/src/components/AppCompJauge.vue +74 -67
  30. package/src/components/AppCompMenu.vue +413 -402
  31. package/src/components/AppCompMenuItem.vue +228 -191
  32. package/src/components/AppCompNavigation.vue +960 -945
  33. package/src/components/AppCompNoteCall.vue +133 -141
  34. package/src/components/AppCompNoteCredit.vue +292 -267
  35. package/src/components/AppCompPlayBar.vue +1218 -1271
  36. package/src/components/AppCompPlayBarNext.vue +2052 -0
  37. package/src/components/AppCompPlayBarProgress.vue +82 -73
  38. package/src/components/AppCompPopUpNext.vue +503 -0
  39. package/src/components/{AppCompQuiz.vue → AppCompQuizNext.vue} +2904 -2975
  40. package/src/components/AppCompQuizRecall.vue +276 -277
  41. package/src/components/{AppCompSVG.vue → AppCompSVGNext.vue} +347 -335
  42. package/src/components/AppCompSettingsMenu.vue +172 -169
  43. package/src/components/AppCompTableOfContent.vue +387 -385
  44. package/src/components/AppCompTranscript.vue +24 -19
  45. package/src/components/AppCompVideoPlayer.vue +368 -380
  46. package/src/components/AppCompViewDisplay.vue +6 -6
  47. package/src/components/BaseModule.vue +72 -71
  48. package/src/composables/useQuiz.js +206 -0
  49. package/src/externalComps/ModuleView.vue +22 -0
  50. package/src/externalComps/SummaryView.vue +91 -0
  51. package/src/main.js +272 -263
  52. package/src/mixins/$mediaMixins.js +819 -827
  53. package/src/mixins/timerMixin.js +155 -155
  54. package/src/module/stores/appStore.js +893 -0
  55. package/src/module/xapi/ADL.js +376 -376
  56. package/src/module/xapi/Crypto/Hasher.js +241 -241
  57. package/src/module/xapi/Crypto/WordArray.js +278 -278
  58. package/src/module/xapi/Crypto/algorithms/BufferedBlockAlgorithm.js +103 -103
  59. package/src/module/xapi/Crypto/algorithms/C_algo.js +315 -315
  60. package/src/module/xapi/Crypto/algorithms/HMAC.js +9 -9
  61. package/src/module/xapi/Crypto/algorithms/SHA1.js +9 -9
  62. package/src/module/xapi/Crypto/encoders/Base.js +105 -105
  63. package/src/module/xapi/Crypto/encoders/Base64.js +99 -99
  64. package/src/module/xapi/Crypto/encoders/Hex.js +61 -61
  65. package/src/module/xapi/Crypto/encoders/Latin1.js +61 -61
  66. package/src/module/xapi/Crypto/encoders/Utf8.js +45 -45
  67. package/src/module/xapi/Crypto/index.js +53 -53
  68. package/src/module/xapi/Statement/activity.js +47 -47
  69. package/src/module/xapi/Statement/agent.js +55 -55
  70. package/src/module/xapi/Statement/group.js +26 -26
  71. package/src/module/xapi/Statement/index.js +259 -259
  72. package/src/module/xapi/Statement/statement.js +253 -253
  73. package/src/module/xapi/Statement/statementRef.js +23 -23
  74. package/src/module/xapi/Statement/substatement.js +22 -22
  75. package/src/module/xapi/Statement/verb.js +36 -36
  76. package/src/module/xapi/activitytypes.js +17 -17
  77. package/src/module/xapi/launch.js +157 -157
  78. package/src/module/xapi/utils.js +167 -167
  79. package/src/module/xapi/verbs.js +294 -294
  80. package/src/module/xapi/wrapper.js +1963 -1963
  81. package/src/module/xapi/xapiStatement.js +444 -444
  82. package/src/plugins/bus.js +8 -3
  83. package/src/plugins/gsap.js +14 -17
  84. package/src/plugins/helper.js +308 -294
  85. package/src/plugins/i18n.js +44 -44
  86. package/src/plugins/idb.js +219 -212
  87. package/src/plugins/save.js +37 -37
  88. package/src/plugins/scorm.js +287 -287
  89. package/src/plugins/xapi.js +11 -11
  90. package/src/public/index.html +33 -21
  91. package/src/router/index.js +43 -40
  92. package/src/router/routes.js +312 -317
  93. package/src/shared/generalfuncs.js +210 -195
  94. package/src/shared/validators.js +1069 -959
  95. package/vite.config.js +27 -0
  96. package/src/components/AppCompInputDropdown.vue +0 -182
  97. package/src/components/AppCompInputTextTable.vue +0 -158
  98. package/src/components/AppCompInputTextToFillDropdown.vue +0 -257
  99. package/src/components/AppCompPopUp.vue +0 -583
  100. package/src/components/AppCompPopover.vue +0 -27
  101. package/src/mixins/$pageMixins.js +0 -415
  102. package/src/mixins/$quizMixins.js +0 -442
  103. package/src/module/store.js +0 -1014
@@ -1,103 +1,103 @@
1
- import { WordArray } from '../WordArray'
2
- import { Utf8 } from '../encoders/Utf8'
3
- import { Base } from '../encoders/Base'
4
- /**
5
- * Abstract buffered block algorithm template.
6
- * The property blockSize must be implemented in a concrete subtype.
7
- * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
8
- */
9
- export const BufferedBlockAlgorithm = Base.extend({
10
- /**
11
- * Resets this block algorithm's data buffer to its initial state.
12
- * @example
13
- * bufferedBlockAlgorithm.reset();
14
- */
15
- reset: function () {
16
- // Initial values
17
- this._data = new WordArray.init()
18
- this._nDataBytes = 0
19
- },
20
-
21
- /**
22
- * Adds new data to this block algorithm's buffer.
23
- * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
24
- * @example
25
- * bufferedBlockAlgorithm._append('data');
26
- * bufferedBlockAlgorithm._append(wordArray);
27
- */
28
- _append: function (data) {
29
- // Convert string to WordArray, else assume WordArray already
30
- if (typeof data == 'string') {
31
- data = Utf8.parse(data)
32
- }
33
-
34
- // Append
35
- this._data.concat(data)
36
- this._nDataBytes += data.sigBytes
37
- },
38
-
39
- /**
40
- * Processes available data blocks.
41
- * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
42
- * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
43
- * @return {WordArray} The processed data.
44
- * @example
45
- *
46
- * var processedData = bufferedBlockAlgorithm._process();
47
- * var processedData = bufferedBlockAlgorithm._process(!!'flush');
48
- */
49
- _process: function (doFlush) {
50
- // Shortcuts
51
- var data = this._data
52
- var dataWords = data.words
53
- var dataSigBytes = data.sigBytes
54
- var blockSize = this.blockSize
55
- var blockSizeBytes = blockSize * 4
56
-
57
- // Count blocks ready
58
- var nBlocksReady = dataSigBytes / blockSizeBytes
59
- if (doFlush) {
60
- // Round up to include partial blocks
61
- nBlocksReady = Math.ceil(nBlocksReady)
62
- } else {
63
- // Round down to include only full blocks,
64
- // less the number of blocks that must remain in the buffer
65
- nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0)
66
- }
67
-
68
- // Count words ready
69
- var nWordsReady = nBlocksReady * blockSize
70
-
71
- // Count bytes ready
72
- var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes)
73
-
74
- // Process blocks
75
- if (nWordsReady) {
76
- for (var offset = 0; offset < nWordsReady; offset += blockSize) {
77
- // Perform concrete-algorithm logic
78
- this._doProcessBlock(dataWords, offset)
79
- }
80
-
81
- // Remove processed words
82
- var processedWords = dataWords.splice(0, nWordsReady)
83
- data.sigBytes -= nBytesReady
84
- }
85
-
86
- // Return processed words
87
- return new WordArray.init(processedWords, nBytesReady)
88
- },
89
-
90
- /**
91
- * Creates a copy of this object.
92
- * @return {Object} The clone.
93
- * @example
94
- * var clone = bufferedBlockAlgorithm.clone();
95
- */
96
- clone: function () {
97
- var clone = Base.clone.call(this)
98
- clone._data = this._data.clone()
99
- return clone
100
- },
101
-
102
- _minBufferSize: 0
103
- })
1
+ import { WordArray } from '../WordArray'
2
+ import { Utf8 } from '../encoders/Utf8'
3
+ import { Base } from '../encoders/Base'
4
+ /**
5
+ * Abstract buffered block algorithm template.
6
+ * The property blockSize must be implemented in a concrete subtype.
7
+ * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
8
+ */
9
+ export const BufferedBlockAlgorithm = Base.extend({
10
+ /**
11
+ * Resets this block algorithm's data buffer to its initial state.
12
+ * @example
13
+ * bufferedBlockAlgorithm.reset();
14
+ */
15
+ reset: function () {
16
+ // Initial values
17
+ this._data = new WordArray.init()
18
+ this._nDataBytes = 0
19
+ },
20
+
21
+ /**
22
+ * Adds new data to this block algorithm's buffer.
23
+ * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
24
+ * @example
25
+ * bufferedBlockAlgorithm._append('data');
26
+ * bufferedBlockAlgorithm._append(wordArray);
27
+ */
28
+ _append: function (data) {
29
+ // Convert string to WordArray, else assume WordArray already
30
+ if (typeof data == 'string') {
31
+ data = Utf8.parse(data)
32
+ }
33
+
34
+ // Append
35
+ this._data.concat(data)
36
+ this._nDataBytes += data.sigBytes
37
+ },
38
+
39
+ /**
40
+ * Processes available data blocks.
41
+ * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
42
+ * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
43
+ * @return {WordArray} The processed data.
44
+ * @example
45
+ *
46
+ * var processedData = bufferedBlockAlgorithm._process();
47
+ * var processedData = bufferedBlockAlgorithm._process(!!'flush');
48
+ */
49
+ _process: function (doFlush) {
50
+ // Shortcuts
51
+ var data = this._data
52
+ var dataWords = data.words
53
+ var dataSigBytes = data.sigBytes
54
+ var blockSize = this.blockSize
55
+ var blockSizeBytes = blockSize * 4
56
+
57
+ // Count blocks ready
58
+ var nBlocksReady = dataSigBytes / blockSizeBytes
59
+ if (doFlush) {
60
+ // Round up to include partial blocks
61
+ nBlocksReady = Math.ceil(nBlocksReady)
62
+ } else {
63
+ // Round down to include only full blocks,
64
+ // less the number of blocks that must remain in the buffer
65
+ nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0)
66
+ }
67
+
68
+ // Count words ready
69
+ var nWordsReady = nBlocksReady * blockSize
70
+
71
+ // Count bytes ready
72
+ var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes)
73
+
74
+ // Process blocks
75
+ if (nWordsReady) {
76
+ for (var offset = 0; offset < nWordsReady; offset += blockSize) {
77
+ // Perform concrete-algorithm logic
78
+ this._doProcessBlock(dataWords, offset)
79
+ }
80
+
81
+ // Remove processed words
82
+ var processedWords = dataWords.splice(0, nWordsReady)
83
+ data.sigBytes -= nBytesReady
84
+ }
85
+
86
+ // Return processed words
87
+ return new WordArray.init(processedWords, nBytesReady)
88
+ },
89
+
90
+ /**
91
+ * Creates a copy of this object.
92
+ * @return {Object} The clone.
93
+ * @example
94
+ * var clone = bufferedBlockAlgorithm.clone();
95
+ */
96
+ clone: function () {
97
+ var clone = Base.clone.call(this)
98
+ clone._data = this._data.clone()
99
+ return clone
100
+ },
101
+
102
+ _minBufferSize: 0
103
+ })