lido-player 0.0.2-beta-15-dev → 0.0.2-beta-17
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.
- package/LICENSE +21 -21
- package/dist/cjs/{decode-Xh5IDmFh.js → decode-BPWgujpW.js} +1 -1
- package/dist/cjs/{index-B9AON0kM.js → index-BnfJD-Dp.js} +145 -96
- package/dist/cjs/{index-Dy19zuTX.js → index-CACb9dlg.js} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/lido-avatar_22.cjs.entry.js +56 -43
- package/dist/cjs/lido-player.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/avatar/lido-avatar.css +4 -4
- package/dist/collection/components/avatar/lido-avatar.js +1 -1
- package/dist/collection/components/avatar/lido-avatar.tsx +207 -207
- package/dist/collection/components/avatar/readme.md +49 -49
- package/dist/collection/components/calculator/lido-calculator.css +89 -89
- package/dist/collection/components/calculator/lido-calculator.js +4 -4
- package/dist/collection/components/canvas/lido-canvas.css +33 -33
- package/dist/collection/components/canvas/lido-canvas.js +1 -1
- package/dist/collection/components/cell/lido-cell.css +100 -100
- package/dist/collection/components/cell/lido-cell.js +12 -12
- package/dist/collection/components/column/lido-col.css +19 -19
- package/dist/collection/components/column/lido-col.js +6 -6
- package/dist/collection/components/container/lido-container.css +10 -10
- package/dist/collection/components/container/lido-container.js +8 -8
- package/dist/collection/components/flashCard/lido-flash-card.css +28 -28
- package/dist/collection/components/flashCard/lido-flash-card.js +4 -4
- package/dist/collection/components/float/lido-float.css +30 -30
- package/dist/collection/components/float/lido-float.js +2 -2
- package/dist/collection/components/home/lido-home.css +309 -309
- package/dist/collection/components/home/lido-home.js +5 -5
- package/dist/collection/components/image/lido-image.css +17 -17
- package/dist/collection/components/image/lido-image.js +6 -6
- package/dist/collection/components/keyboard/lido-keyboard.css +38 -38
- package/dist/collection/components/keyboard/lido-keyboard.js +3 -3
- package/dist/collection/components/mathMatrix/lido-math-matrix.css +56 -56
- package/dist/collection/components/mathMatrix/lido-math-matrix.js +12 -2
- package/dist/collection/components/position/lido-pos.css +16 -16
- package/dist/collection/components/position/lido-pos.js +2 -2
- package/dist/collection/components/random/lido-random.css +8 -8
- package/dist/collection/components/random/lido-random.js +2 -2
- package/dist/collection/components/root/lido-root.js +5 -5
- package/dist/collection/components/row/lido-row.css +10 -10
- package/dist/collection/components/row/lido-row.js +6 -6
- package/dist/collection/components/scale/assets/Shadow.svg +9 -0
- package/dist/collection/components/scale/lido-balance.css +145 -145
- package/dist/collection/components/scale/lido-balance.js +25 -23
- package/dist/collection/components/shape/lido-shape.css +216 -216
- package/dist/collection/components/shape/lido-shape.js +6 -6
- package/dist/collection/components/slideFill/lido-slide-fill.css +3 -3
- package/dist/collection/components/slideFill/lido-slide-fill.js +13 -13
- package/dist/collection/components/text/lido-text.css +53 -53
- package/dist/collection/components/text/lido-text.js +6 -5
- package/dist/collection/components/trace/assets/Tracing-hand.svg +8 -0
- package/dist/collection/components/trace/lido-trace.css +97 -97
- package/dist/collection/components/trace/lido-trace.js +6 -6
- package/dist/collection/components/wrap/lido-wrap.css +18 -18
- package/dist/collection/components/wrap/lido-wrap.js +6 -6
- package/dist/collection/css/animation.css +211 -211
- package/dist/collection/css/index.css +315 -312
- package/dist/collection/stories/Templates/Fill-Up/fill-up.stories.js +61 -61
- package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +123 -123
- package/dist/collection/stories/Templates/RocketGame/rocketGame.stories.js +48 -48
- package/dist/collection/stories/Templates/Tag/tagGame.stories.js +39 -39
- package/dist/collection/stories/Templates/arrangeLetters/arrangeLetters.stories.js +44 -44
- package/dist/collection/stories/Templates/balancing/balancing.stories.js +35 -35
- package/dist/collection/stories/Templates/balloonPop/balloonPop.stories.js +38 -38
- package/dist/collection/stories/Templates/blender/blender.stories.js +58 -58
- package/dist/collection/stories/Templates/bubbleType/bubbleType.stories.js +42 -42
- package/dist/collection/stories/Templates/calculator/calculator.stories.js +28 -28
- package/dist/collection/stories/Templates/categorize/categorize.stories.js +37 -37
- package/dist/collection/stories/Templates/categorize2/categorize2.stories.js +67 -67
- package/dist/collection/stories/Templates/checker-block/checkerBlock.stories.js +29 -29
- package/dist/collection/stories/Templates/checkerBlock/checkerBlock.stories.js +13 -13
- package/dist/collection/stories/Templates/create-sentence/createSentence.stories.js +74 -74
- package/dist/collection/stories/Templates/dragAndDrop/drag-drop.stories.js +69 -69
- package/dist/collection/stories/Templates/fillAnswer/fill-answer.stories.js +43 -43
- package/dist/collection/stories/Templates/fillBlank/fill-blank.stories.js +282 -282
- package/dist/collection/stories/Templates/foodJar/food-jar.stories.js +35 -35
- package/dist/collection/stories/Templates/grid/grid.stories.js +118 -118
- package/dist/collection/stories/Templates/gridGame/grid-game.stories.js +57 -57
- package/dist/collection/stories/Templates/imageMatch/imageMatch.stories.js +44 -44
- package/dist/collection/stories/Templates/jumpSentence/jumpSentence.stories.js +41 -41
- package/dist/collection/stories/Templates/letterboard/letterboard.stories.js +183 -183
- package/dist/collection/stories/Templates/makeSentence/make-sentence.stories.js +36 -36
- package/dist/collection/stories/Templates/matchBox/matchBox.stories.js +69 -69
- package/dist/collection/stories/Templates/matchBox/matchBox2.stories.js +84 -84
- package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +31 -31
- package/dist/collection/stories/Templates/multipleOption/mcqWithQuestionImage.stories.js +112 -112
- package/dist/collection/stories/Templates/multipleOption/multiple-option.stories.js +47 -47
- package/dist/collection/stories/Templates/multiplyBeeds/multiplyBeeds.stories.js +57 -57
- package/dist/collection/stories/Templates/nimbleTable/nimbleTable.stories.js +53 -53
- package/dist/collection/stories/Templates/numberBoard/numberBoard.stories.js +46 -46
- package/dist/collection/stories/Templates/numberBoardTwo/numberBoardTwo.stories.js +45 -45
- package/dist/collection/stories/Templates/numberIdentification/numberIdentificationimageTotext.stories.js +56 -56
- package/dist/collection/stories/Templates/numberIdentification/numberIdentificationtextTotext.stories.js +53 -53
- package/dist/collection/stories/Templates/numberPair/numberPair.stories.js +127 -127
- package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +47 -47
- package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +38 -38
- package/dist/collection/stories/Templates/order-tractor/order-tractor-ascending-order.stories.js +97 -97
- package/dist/collection/stories/Templates/order-tractor/order-tractor.stories.js +90 -90
- package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaMultiOption.stories.js +63 -63
- package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaSumTogether.stories.js +45 -45
- package/dist/collection/stories/Templates/palEgmaPatternMatching/palEgmaPatternMatching.stories.js +63 -63
- package/dist/collection/stories/Templates/palEgmaWordProblem/palEgmaWordProblem.stories.js +79 -79
- package/dist/collection/stories/Templates/palEgraInventedSpelling/pal_egra_invented_spelling_schema.stories.js +32 -32
- package/dist/collection/stories/Templates/palEgraMCQWithImage/palEgraMCQWithImage.stories.js +42 -42
- package/dist/collection/stories/Templates/palEgraOptionWithAudio/palEgraOptionWithAudio.stories.js +63 -63
- package/dist/collection/stories/Templates/palEgraStoryMaking/pal_egra_story_making.stories.js +44 -44
- package/dist/collection/stories/Templates/palEgraTemplate1/palEgraLetterIdentification.stories.js +34 -34
- package/dist/collection/stories/Templates/palEgraWordMatch/palEgraWordMatch.stories.js +52 -52
- package/dist/collection/stories/Templates/palEgra_OddOneOut/palEgra_oddOneOut.stories.js +33 -33
- package/dist/collection/stories/Templates/palEgra_arrange_pictures/palEgra_arrange_pictures.stories.js +40 -40
- package/dist/collection/stories/Templates/palEgra_build_word/palEgra_build_word.stories.js +48 -48
- package/dist/collection/stories/Templates/palEgra_word_formation/palEgra_WordFormation.stories.js +48 -48
- package/dist/collection/stories/Templates/palStorytale/palStorytale.stories.js +18 -18
- package/dist/collection/stories/Templates/phonic-tractor/phonic-tractor.stories.js +44 -44
- package/dist/collection/stories/Templates/pictureClues/pictureClues.stories.js +34 -34
- package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch1.stories.js +36 -36
- package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch2.stories.js +30 -30
- package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +20 -20
- package/dist/collection/stories/Templates/puzzleGame/puzzleGame.stories.js +17 -17
- package/dist/collection/stories/Templates/questionBoard/questionBoard.stories.js +58 -58
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracy.stories.js +50 -50
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWithText.stories.js +36 -36
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWord.stories.js +43 -43
- package/dist/collection/stories/Templates/quizMaths/quizMaths.stories.js +631 -631
- package/dist/collection/stories/Templates/reorder/reorder.stories.js +63 -63
- package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +47 -47
- package/dist/collection/stories/Templates/sentenceMatch/sentenceMatch.stories.js +29 -29
- package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +64 -64
- package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +62 -62
- package/dist/collection/stories/Templates/shapePair/shape-pair.stories.js +106 -106
- package/dist/collection/stories/Templates/shapeTractor/shape-tractor.stories.js +50 -50
- package/dist/collection/stories/Templates/spellDoor/spellDoor.stories.js +41 -41
- package/dist/collection/stories/Templates/storyTale/storyTale.stories.js +39 -39
- package/dist/collection/stories/Templates/substraction/substractionWithimg.stories.js +62 -62
- package/dist/collection/stories/Templates/substraction/substractionWithoutImg.stories.js +42 -42
- package/dist/collection/stories/Templates/sumTogether/sumTogether.stories.js +50 -50
- package/dist/collection/stories/Templates/tenBox/tenBox.stories.js +88 -88
- package/dist/collection/stories/Templates/total/total.stories.js +28 -28
- package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithimg.stories.js +35 -35
- package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithoutimg.stories.js +34 -34
- package/dist/collection/stories/Templates/writeCard/writeCard.stories.js +31 -31
- package/dist/collection/stories/Templates/writeLetter/writeLetter.stories.js +58 -58
- package/dist/collection/stories/Templates/writeNumber/writeNumber.stories.js +44 -44
- package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +31 -31
- package/dist/collection/stories/Templates/writeWord/writeWord.stories.js +34 -34
- package/dist/collection/stories/components/flash-card.stories.js +48 -48
- package/dist/collection/stories/components/keyboard.stories.js +10 -10
- package/dist/collection/stories/components/slider.stories.js +4 -4
- package/dist/collection/stories/components/trace.stories.js +5 -5
- package/dist/collection/utils/audioPlayer.js +31 -9
- package/dist/collection/utils/constants.js +1 -0
- package/dist/collection/utils/utils.js +8 -7
- package/dist/collection/utils/utilsHandlers/animationHandler.js +29 -11
- package/dist/collection/utils/utilsHandlers/clickHandler.js +8 -0
- package/dist/collection/utils/utilsHandlers/dragDropHandler.js +8 -8
- package/dist/collection/utils/utilsHandlers/highlightHandler.js +54 -54
- package/dist/collection/utils/utilsHandlers/lidoCalculatorHandler.js +12 -15
- package/dist/collection/utils/utilsHandlers/slideHandler.js +10 -8
- package/dist/collection/utils/utilsHandlers/sortHandler.js +10 -10
- package/dist/components/index.js +1 -1
- package/dist/components/lido-avatar.js +1 -1
- package/dist/components/lido-balance.js +1 -1
- package/dist/components/lido-calculator.js +1 -1
- package/dist/components/lido-canvas.js +1 -1
- package/dist/components/lido-cell.js +1 -1
- package/dist/components/lido-col.js +1 -1
- package/dist/components/lido-container.js +1 -1
- package/dist/components/lido-flash-card.js +1 -1
- package/dist/components/lido-float.js +1 -1
- package/dist/components/lido-home.js +1 -1
- package/dist/components/lido-keyboard.js +1 -1
- package/dist/components/lido-math-matrix.js +1 -1
- package/dist/components/lido-pos.js +1 -1
- package/dist/components/lido-random.js +1 -1
- package/dist/components/lido-root.js +1 -1
- package/dist/components/lido-row.js +1 -1
- package/dist/components/lido-shape.js +1 -1
- package/dist/components/lido-slide-fill.js +1 -1
- package/dist/components/lido-text.js +1 -1
- package/dist/components/lido-trace.js +1 -1
- package/dist/components/lido-wrap.js +1 -1
- package/dist/components/p-B8nzzM8c.js +1 -0
- package/dist/components/{p-Sl9R-E6h.js → p-BBHM059l.js} +1 -1
- package/dist/components/p-BXvoOUIv.js +1 -0
- package/dist/components/{p-CwDTdXe5.js → p-BeRr8u5m.js} +1 -1
- package/dist/components/p-BfqihbR6.js +1 -0
- package/dist/components/{p-CPYnt0P-.js → p-C5WmmkI6.js} +1 -1
- package/dist/components/{p-useuhkjH.js → p-C70ykycD.js} +1 -1
- package/dist/components/{p-BE25wHoo.js → p-CCR42e0i.js} +1 -1
- package/dist/components/{p-C2p0KZh4.js → p-CIbBOu51.js} +1 -1
- package/dist/components/{p-BfwUqpXc.js → p-CTlcpv4a.js} +1 -1
- package/dist/components/{p-CyGxEcn7.js → p-CXHPZN3m.js} +1 -1
- package/dist/components/{p-Bw-OC9iR.js → p-CgsPIpg0.js} +1 -1
- package/dist/components/p-CwIlwnQk.js +1 -0
- package/dist/components/{p-D-IYWSAa.js → p-CxkH5UIf.js} +1 -1
- package/dist/components/{p-DGvzMlyn.js → p-DBbLGy4y.js} +2 -2
- package/dist/components/p-DLyacZap.js +1 -0
- package/dist/components/p-DONbWJGn.js +1 -0
- package/dist/components/p-DVTigdH_.js +1 -0
- package/dist/components/{p-Uluc7jQ7.js → p-DuvxecDX.js} +1 -1
- package/dist/components/p-Dv1cIsyS.js +1 -0
- package/dist/esm/{decode-C-vVYHke.js → decode-To5V_Qqp.js} +1 -1
- package/dist/esm/{index-BswlHnsY.js → index-CEJsA_x_.js} +145 -96
- package/dist/esm/{index-Dq-Z8Dx0.js → index-Dnvog_Mm.js} +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/lido-avatar_22.entry.js +56 -43
- package/dist/esm/lido-player.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/lido-player/assets/Shadow.svg +9 -0
- package/dist/lido-player/assets/Tracing-hand.svg +8 -0
- package/dist/lido-player/index.esm.js +1 -1
- package/dist/lido-player/lido-avatar.css +4 -4
- package/dist/lido-player/lido-avatar.tsx +207 -207
- package/dist/lido-player/lido-player.css +7 -7
- package/dist/lido-player/lido-player.esm.js +1 -1
- package/dist/lido-player/p-3b6e3b51.entry.js +12 -0
- package/dist/lido-player/{p-CYMdg2_E.js → p-DUx4nii8.js} +1 -1
- package/dist/lido-player/p-Dnvog_Mm.js +2 -0
- package/dist/lido-player/p-gkKsw3a6.js +1 -0
- package/dist/lido-player/readme.md +49 -49
- package/dist/types/components/scale/lido-balance.d.ts +2 -2
- package/dist/types/components.d.ts +10 -10
- package/dist/types/types/json.d.ts +3 -3
- package/dist/types/utils/audioPlayer.d.ts +2 -0
- package/dist/types/utils/constants.d.ts +1 -0
- package/package.json +73 -74
- package/readme.md +113 -113
- package/dist/components/p-BSV5U72F.js +0 -1
- package/dist/components/p-C7U1h9gI.js +0 -1
- package/dist/components/p-CS6iRQJh.js +0 -1
- package/dist/components/p-D-B1groh.js +0 -1
- package/dist/components/p-DPAlnts-.js +0 -1
- package/dist/components/p-DYs8s-uh.js +0 -1
- package/dist/components/p-DbR5sNOj.js +0 -1
- package/dist/components/p-leIEepjl.js +0 -1
- package/dist/lido-player/p-0l6uR1lH.js +0 -1
- package/dist/lido-player/p-Dq-Z8Dx0.js +0 -2
- package/dist/lido-player/p-b2c60372.entry.js +0 -12
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2018
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$1 = require('./index-
|
|
3
|
+
var index$1 = require('./index-CACb9dlg.js');
|
|
4
4
|
|
|
5
5
|
const DragMapKey = 'lidoDragMap';
|
|
6
6
|
const SelectedValuesKey = 'lidoSelectedValues';
|
|
7
|
+
const AnimationVanishedValuesKey = 'data-animation-vanished-values';
|
|
7
8
|
const ActivityScoreKey = 'lidoActivityScore';
|
|
8
9
|
const ActivityEndKey = 'lidoActivityEnd';
|
|
9
10
|
const LessonEndKey = 'lidoLessonEnd';
|
|
@@ -260,11 +261,20 @@ function balanceResult(container, objectiveString) {
|
|
|
260
261
|
return res;
|
|
261
262
|
}
|
|
262
263
|
|
|
263
|
-
const
|
|
264
|
+
const readVanishedValues = (container) => {
|
|
265
|
+
var _a;
|
|
266
|
+
try {
|
|
267
|
+
const values = JSON.parse((_a = container.getAttribute(AnimationVanishedValuesKey)) !== null && _a !== void 0 ? _a : '[]');
|
|
268
|
+
return Array.isArray(values) ? values : [];
|
|
269
|
+
}
|
|
270
|
+
catch (_b) {
|
|
271
|
+
return [];
|
|
272
|
+
}
|
|
273
|
+
};
|
|
264
274
|
function dragDropAnimation(container, dragElement, dropElement) {
|
|
265
275
|
container.style.pointerEvents = "none";
|
|
266
276
|
setTimeout(async () => {
|
|
267
|
-
var _a, _b
|
|
277
|
+
var _a, _b;
|
|
268
278
|
const div = document.createElement('div');
|
|
269
279
|
container.append(div);
|
|
270
280
|
div.classList.add('after-drop-popup-container');
|
|
@@ -273,10 +283,11 @@ function dragDropAnimation(container, dragElement, dropElement) {
|
|
|
273
283
|
const allDragElements = container.querySelectorAll('[type="drag"]');
|
|
274
284
|
const dragParents = Array.from(allDragElements).map(el => el.parentElement);
|
|
275
285
|
const allSameParent = dragParents.every(parent => parent === dragElement.parentElement);
|
|
276
|
-
|
|
277
|
-
const vanishedValue = (
|
|
286
|
+
const vanishedValues = readVanishedValues(container);
|
|
287
|
+
const vanishedValue = (_a = dragElement.getAttribute('value')) !== null && _a !== void 0 ? _a : (_b = dragElement.textContent) === null || _b === void 0 ? void 0 : _b.trim();
|
|
278
288
|
if (vanishedValue) {
|
|
279
|
-
|
|
289
|
+
vanishedValues.push(vanishedValue);
|
|
290
|
+
container.setAttribute(AnimationVanishedValuesKey, JSON.stringify(vanishedValues));
|
|
280
291
|
}
|
|
281
292
|
// Remove from old parents
|
|
282
293
|
if (allSameParent) {
|
|
@@ -294,9 +305,10 @@ function dragDropAnimation(container, dragElement, dropElement) {
|
|
|
294
305
|
div.appendChild(dropElement);
|
|
295
306
|
dropElement.classList.remove('empty');
|
|
296
307
|
const objective = container.getAttribute('objective');
|
|
308
|
+
const normalizedVanishedValues = vanishedValues.map(v => v.trim()).sort().join(',');
|
|
309
|
+
const normalizedObjective = objective === null || objective === void 0 ? void 0 : objective.split(',').map(v => v.trim()).sort().join(',');
|
|
297
310
|
const isObjectiveComplete = !!objective &&
|
|
298
|
-
|
|
299
|
-
objective.split(',').map(v => v.trim()).sort().join(',');
|
|
311
|
+
normalizedVanishedValues === normalizedObjective;
|
|
300
312
|
if (dropElement.getAttribute('type') === 'drop') {
|
|
301
313
|
const dropOnCorrect = dropElement.getAttribute('onCorrect') || '';
|
|
302
314
|
await executeActions(dropOnCorrect, dropElement, dragElement);
|
|
@@ -309,15 +321,22 @@ function dragDropAnimation(container, dragElement, dropElement) {
|
|
|
309
321
|
dropElement.classList.remove('zoom-fade-in');
|
|
310
322
|
dragElement.classList.add('zoom-fade-out');
|
|
311
323
|
dropElement.classList.add('zoom-fade-out');
|
|
312
|
-
|
|
324
|
+
const cleanup = () => {
|
|
313
325
|
div.remove();
|
|
314
326
|
container.style.pointerEvents = 'auto';
|
|
315
327
|
if (isObjectiveComplete) {
|
|
316
328
|
calculateScore();
|
|
317
329
|
triggerNextContainer();
|
|
318
|
-
|
|
330
|
+
container.removeAttribute(AnimationVanishedValuesKey);
|
|
319
331
|
}
|
|
320
|
-
}
|
|
332
|
+
};
|
|
333
|
+
const templateId = (container.getAttribute('template-id') || '').toLowerCase();
|
|
334
|
+
if (templateId === 'letterpairing' || templateId === 'numberpair') {
|
|
335
|
+
cleanup();
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
setTimeout(cleanup, 800); // match animation duration
|
|
339
|
+
}
|
|
321
340
|
}, 250);
|
|
322
341
|
}
|
|
323
342
|
|
|
@@ -1140,14 +1159,14 @@ async function onClickDropOrDragElement(element, type) {
|
|
|
1140
1159
|
if (!document.querySelector('#dynamic-highlight-style')) {
|
|
1141
1160
|
const style = document.createElement('style');
|
|
1142
1161
|
style.id = 'dynamic-highlight-style';
|
|
1143
|
-
style.innerHTML = `
|
|
1144
|
-
.highlight {
|
|
1145
|
-
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
1146
|
-
// border-radius: 12px; /* Larger rounded corners */
|
|
1147
|
-
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
1148
|
-
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
1149
|
-
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
1150
|
-
}
|
|
1162
|
+
style.innerHTML = `
|
|
1163
|
+
.highlight {
|
|
1164
|
+
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
1165
|
+
// border-radius: 12px; /* Larger rounded corners */
|
|
1166
|
+
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
1167
|
+
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
1168
|
+
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
1169
|
+
}
|
|
1151
1170
|
`;
|
|
1152
1171
|
document.head.appendChild(style);
|
|
1153
1172
|
}
|
|
@@ -1335,34 +1354,34 @@ function highlightSpeakingElement(element) {
|
|
|
1335
1354
|
if (!document.getElementById(styleId)) {
|
|
1336
1355
|
const style = document.createElement('style');
|
|
1337
1356
|
style.id = styleId;
|
|
1338
|
-
style.innerHTML = `
|
|
1339
|
-
.speaking-highlight {
|
|
1340
|
-
--base-transform: ${element.style.transform};
|
|
1341
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
|
|
1342
|
-
// border: 3px solid green !important;
|
|
1343
|
-
// transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
1344
|
-
// transform: scale(1.05); /* Subtle scale effect to pop the element */
|
|
1345
|
-
// animation: pulseEffect 1.5s infinite; /* Pulsing animation */
|
|
1346
|
-
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
@keyframes pulseEffect {
|
|
1350
|
-
0% {
|
|
1351
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1352
|
-
// transform: var(--base-transform) scale(1.05);
|
|
1353
|
-
// background-color: #FFFF0B;
|
|
1354
|
-
}
|
|
1355
|
-
50% {
|
|
1356
|
-
box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
|
|
1357
|
-
// transform: var(--base-transform) scale(1.1);
|
|
1358
|
-
// background-color: #FFFF0B;
|
|
1359
|
-
}
|
|
1360
|
-
100% {
|
|
1361
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1362
|
-
// transform: var(--base-transform) scale(1.05);
|
|
1363
|
-
// background-color: #FFFF0B;
|
|
1364
|
-
}
|
|
1365
|
-
}
|
|
1357
|
+
style.innerHTML = `
|
|
1358
|
+
.speaking-highlight {
|
|
1359
|
+
--base-transform: ${element.style.transform};
|
|
1360
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
|
|
1361
|
+
// border: 3px solid green !important;
|
|
1362
|
+
// transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
1363
|
+
// transform: scale(1.05); /* Subtle scale effect to pop the element */
|
|
1364
|
+
// animation: pulseEffect 1.5s infinite; /* Pulsing animation */
|
|
1365
|
+
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
@keyframes pulseEffect {
|
|
1369
|
+
0% {
|
|
1370
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1371
|
+
// transform: var(--base-transform) scale(1.05);
|
|
1372
|
+
// background-color: #FFFF0B;
|
|
1373
|
+
}
|
|
1374
|
+
50% {
|
|
1375
|
+
box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
|
|
1376
|
+
// transform: var(--base-transform) scale(1.1);
|
|
1377
|
+
// background-color: #FFFF0B;
|
|
1378
|
+
}
|
|
1379
|
+
100% {
|
|
1380
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1381
|
+
// transform: var(--base-transform) scale(1.05);
|
|
1382
|
+
// background-color: #FFFF0B;
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1366
1385
|
`;
|
|
1367
1386
|
document.head.appendChild(style);
|
|
1368
1387
|
}
|
|
@@ -1427,9 +1446,18 @@ function highlightElement() {
|
|
|
1427
1446
|
}
|
|
1428
1447
|
|
|
1429
1448
|
class AudioPlayer {
|
|
1449
|
+
resolvePlaybackWait() {
|
|
1450
|
+
if (!this.endPromiseResolve) {
|
|
1451
|
+
return;
|
|
1452
|
+
}
|
|
1453
|
+
const resolve = this.endPromiseResolve;
|
|
1454
|
+
this.endPromiseResolve = null;
|
|
1455
|
+
resolve();
|
|
1456
|
+
}
|
|
1430
1457
|
constructor() {
|
|
1431
1458
|
this.currentTargetElement = null;
|
|
1432
1459
|
this.pendingReplayElement = null;
|
|
1460
|
+
this.playbackHasStarted = false;
|
|
1433
1461
|
this.highlightOverlay = null;
|
|
1434
1462
|
this.wordRects = [];
|
|
1435
1463
|
this.activeWordIndex = -1;
|
|
@@ -1487,15 +1515,12 @@ class AudioPlayer {
|
|
|
1487
1515
|
window.speechSynthesis.cancel();
|
|
1488
1516
|
}
|
|
1489
1517
|
// Resolve any pending "ended" wait so callers can continue.
|
|
1490
|
-
|
|
1491
|
-
const resolve = this.endPromiseResolve;
|
|
1492
|
-
this.endPromiseResolve = null;
|
|
1493
|
-
resolve();
|
|
1494
|
-
}
|
|
1518
|
+
this.resolvePlaybackWait();
|
|
1495
1519
|
if (!preserveReplay) {
|
|
1496
1520
|
this.pendingReplayElement = null;
|
|
1497
1521
|
}
|
|
1498
1522
|
this.currentTargetElement = null;
|
|
1523
|
+
this.playbackHasStarted = false;
|
|
1499
1524
|
this.audioElement.pause();
|
|
1500
1525
|
this.audioElement.currentTime = 0;
|
|
1501
1526
|
this.audioElement.src = '';
|
|
@@ -1533,6 +1558,7 @@ class AudioPlayer {
|
|
|
1533
1558
|
}
|
|
1534
1559
|
async play(targetElement) {
|
|
1535
1560
|
this.registerVisibilityEvents();
|
|
1561
|
+
this.playbackHasStarted = false;
|
|
1536
1562
|
if (!this.isWindowVisible()) {
|
|
1537
1563
|
this.pendingReplayElement = targetElement;
|
|
1538
1564
|
await this.stop(true);
|
|
@@ -1586,6 +1612,24 @@ class AudioPlayer {
|
|
|
1586
1612
|
if (audioUrl) {
|
|
1587
1613
|
audioUrl = convertUrlToRelative(audioUrl);
|
|
1588
1614
|
this.audioElement.src = audioUrl;
|
|
1615
|
+
this.audioElement.onplaying = () => {
|
|
1616
|
+
this.playbackHasStarted = true;
|
|
1617
|
+
};
|
|
1618
|
+
this.audioElement.onpause = () => {
|
|
1619
|
+
if (this.playbackHasStarted && !this.audioElement.ended) {
|
|
1620
|
+
this.resolvePlaybackWait();
|
|
1621
|
+
}
|
|
1622
|
+
};
|
|
1623
|
+
this.audioElement.onstalled = () => {
|
|
1624
|
+
if (this.playbackHasStarted) {
|
|
1625
|
+
this.resolvePlaybackWait();
|
|
1626
|
+
}
|
|
1627
|
+
};
|
|
1628
|
+
this.audioElement.onerror = () => {
|
|
1629
|
+
if (this.playbackHasStarted) {
|
|
1630
|
+
this.resolvePlaybackWait();
|
|
1631
|
+
}
|
|
1632
|
+
};
|
|
1589
1633
|
try {
|
|
1590
1634
|
// setDraggingDisabled(true);
|
|
1591
1635
|
const language = container.getAttribute('Lang') || 'en';
|
|
@@ -1615,10 +1659,7 @@ class AudioPlayer {
|
|
|
1615
1659
|
await new Promise(resolve => {
|
|
1616
1660
|
this.endPromiseResolve = resolve;
|
|
1617
1661
|
this.audioElement.onended = () => {
|
|
1618
|
-
|
|
1619
|
-
this.endPromiseResolve = null;
|
|
1620
|
-
}
|
|
1621
|
-
resolve();
|
|
1662
|
+
this.resolvePlaybackWait();
|
|
1622
1663
|
};
|
|
1623
1664
|
});
|
|
1624
1665
|
}
|
|
@@ -2052,11 +2093,11 @@ function enableReorderDrag(element) {
|
|
|
2052
2093
|
onDropToCategory(element, category);
|
|
2053
2094
|
}
|
|
2054
2095
|
if (divEl) {
|
|
2055
|
-
const keyframes = `
|
|
2056
|
-
@keyframes widthDecrease {
|
|
2057
|
-
0% { width: ${divEl.offsetWidth}px; height: ${divEl.offsetHeight}px; }
|
|
2058
|
-
100% { width: 0px; height: 0px;}
|
|
2059
|
-
}
|
|
2096
|
+
const keyframes = `
|
|
2097
|
+
@keyframes widthDecrease {
|
|
2098
|
+
0% { width: ${divEl.offsetWidth}px; height: ${divEl.offsetHeight}px; }
|
|
2099
|
+
100% { width: 0px; height: 0px;}
|
|
2100
|
+
}
|
|
2060
2101
|
`;
|
|
2061
2102
|
const styleSheet = document.styleSheets[0];
|
|
2062
2103
|
styleSheet.insertRule(keyframes, styleSheet.cssRules.length);
|
|
@@ -2269,11 +2310,11 @@ function moveWithAnimation(target, overlapped) {
|
|
|
2269
2310
|
const dummy = createDummyElement(target);
|
|
2270
2311
|
dummy.style.visibility = 'hidden';
|
|
2271
2312
|
dummy.setAttribute('type', 'dummy');
|
|
2272
|
-
const keyframes = `
|
|
2273
|
-
@keyframes widthIncrease {
|
|
2274
|
-
0% { width: 0px; height: 0px; }
|
|
2275
|
-
100% { width: ${target.offsetWidth}px; height: ${target.offsetHeight}px;}
|
|
2276
|
-
}
|
|
2313
|
+
const keyframes = `
|
|
2314
|
+
@keyframes widthIncrease {
|
|
2315
|
+
0% { width: 0px; height: 0px; }
|
|
2316
|
+
100% { width: ${target.offsetWidth}px; height: ${target.offsetHeight}px;}
|
|
2317
|
+
}
|
|
2277
2318
|
`;
|
|
2278
2319
|
if (!overlapped) {
|
|
2279
2320
|
const overlapCategory = findMostoverlappedElement(target, 'category');
|
|
@@ -2340,6 +2381,12 @@ async function onDropToCategory(dragElement, categoryElement) {
|
|
|
2340
2381
|
}
|
|
2341
2382
|
|
|
2342
2383
|
const delay = (ms) => new Promise(res => setTimeout(res, ms));
|
|
2384
|
+
const syncSlideOrder = (container) => {
|
|
2385
|
+
const slideOrder = Array.from(container.querySelectorAll("[type='slide']"))
|
|
2386
|
+
.map(item => item['value']);
|
|
2387
|
+
container.setAttribute(SelectedValuesKey, JSON.stringify(slideOrder));
|
|
2388
|
+
return slideOrder;
|
|
2389
|
+
};
|
|
2343
2390
|
const slideAnimation = async () => {
|
|
2344
2391
|
const container = document.getElementById(LidoContainer);
|
|
2345
2392
|
if (!container)
|
|
@@ -2400,6 +2447,9 @@ function slidingWithScaling(element) {
|
|
|
2400
2447
|
const container = document.getElementById(LidoContainer);
|
|
2401
2448
|
if (container.getAttribute('canplay') === 'false')
|
|
2402
2449
|
return;
|
|
2450
|
+
// Slide activities can start in the correct order. Keep their initial DOM
|
|
2451
|
+
// order available to the Next/check validation before the first swap occurs.
|
|
2452
|
+
syncSlideOrder(container);
|
|
2403
2453
|
const onStart = (event) => {
|
|
2404
2454
|
removeHighlight(element);
|
|
2405
2455
|
isDragging = true;
|
|
@@ -2573,15 +2623,8 @@ function slidingWithScaling(element) {
|
|
|
2573
2623
|
element.addEventListener(LIDO_INTERACTION_CLEANUP_EVENT, cleanup);
|
|
2574
2624
|
}
|
|
2575
2625
|
const slideCompleted = (slideElement) => {
|
|
2576
|
-
var _a;
|
|
2577
2626
|
const container = document.getElementById(LidoContainer);
|
|
2578
|
-
const slideArr =
|
|
2579
|
-
const allSlideElements = document.querySelectorAll("[type='slide']");
|
|
2580
|
-
let index = 0;
|
|
2581
|
-
allSlideElements.forEach(item => {
|
|
2582
|
-
slideArr[index++] = item['value'];
|
|
2583
|
-
});
|
|
2584
|
-
container.setAttribute(SelectedValuesKey, JSON.stringify(slideArr));
|
|
2627
|
+
const slideArr = syncSlideOrder(container);
|
|
2585
2628
|
const objectiveString = document.getElementById(LidoContainer)['objective'];
|
|
2586
2629
|
const objectiveArray = objectiveString.split(',');
|
|
2587
2630
|
const elementIndex = slideArr.indexOf(slideElement['value']);
|
|
@@ -3945,6 +3988,14 @@ function addClickListenerForClickType(element) {
|
|
|
3945
3988
|
const container = document.getElementById(LidoContainer);
|
|
3946
3989
|
if (container.getAttribute('canplay') === 'false')
|
|
3947
3990
|
return;
|
|
3991
|
+
const isBubbleTypeKeyboardKey = (container === null || container === void 0 ? void 0 : container.getAttribute('template-id')) === 'bubbleType' &&
|
|
3992
|
+
element.closest('lido-keyboard') !== null;
|
|
3993
|
+
// BubbleType manages key clicks and audio in lido-keyboard.tsx directly.
|
|
3994
|
+
// Letting the generic click handler attach here creates a competing stop/play
|
|
3995
|
+
// path that can interrupt the first bubble audio.
|
|
3996
|
+
if (isBubbleTypeKeyboardKey) {
|
|
3997
|
+
return;
|
|
3998
|
+
}
|
|
3948
3999
|
element.style.cursor = 'pointer';
|
|
3949
4000
|
if (!element) {
|
|
3950
4001
|
console.error('No element provided.');
|
|
@@ -72033,27 +72084,24 @@ const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
|
72033
72084
|
/* ------------------ animation ------------------ */
|
|
72034
72085
|
const animationToRemoveEquationSolvedCellForNimbleTable = (activeCell, container) => {
|
|
72035
72086
|
return new Promise((resolve) => {
|
|
72036
|
-
|
|
72037
|
-
|
|
72038
|
-
|
|
72039
|
-
|
|
72040
|
-
|
|
72041
|
-
|
|
72042
|
-
|
|
72043
|
-
|
|
72044
|
-
}`;
|
|
72045
|
-
const styleSheet = document.styleSheets[0];
|
|
72046
|
-
styleSheet.insertRule(keyframes, styleSheet.cssRules.length);
|
|
72047
|
-
activeCell.style.animation = `widthDecrease 0s`;
|
|
72048
|
-
activeCell.addEventListener("animationend", () => {
|
|
72049
|
-
activeCell.remove();
|
|
72087
|
+
let removed = false;
|
|
72088
|
+
const removeActiveCell = () => {
|
|
72089
|
+
if (removed)
|
|
72090
|
+
return;
|
|
72091
|
+
removed = true;
|
|
72092
|
+
if (activeCell.isConnected) {
|
|
72093
|
+
activeCell.remove();
|
|
72094
|
+
}
|
|
72050
72095
|
// Trigger next container only after the last calculate cell is removed
|
|
72051
72096
|
const remainingCalculateTypes = container.querySelectorAll("[type='calculate']");
|
|
72052
72097
|
if (remainingCalculateTypes.length === 0) {
|
|
72053
72098
|
setTimeout(() => triggerNextContainer(), 2000);
|
|
72054
72099
|
}
|
|
72055
72100
|
resolve();
|
|
72056
|
-
}
|
|
72101
|
+
};
|
|
72102
|
+
// Nimble uses a zero-duration removal; remove synchronously so progression
|
|
72103
|
+
// does not depend on a browser animationend event.
|
|
72104
|
+
removeActiveCell();
|
|
72057
72105
|
});
|
|
72058
72106
|
};
|
|
72059
72107
|
/* ------------------ PRACTICE MODE ------------------ */
|
|
@@ -72867,11 +72915,11 @@ const afterDropDragHandling = (dragElement, dropElement) => {
|
|
|
72867
72915
|
}
|
|
72868
72916
|
dummyElement.setAttribute('id', dragElement.getAttribute('id'));
|
|
72869
72917
|
dragElement.replaceWith(dummyElement);
|
|
72870
|
-
const keyframes = `
|
|
72871
|
-
@keyframes widthDecrease {
|
|
72872
|
-
0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
|
|
72873
|
-
100% { width: 0px; height: 0px; margin: 0px;}
|
|
72874
|
-
}
|
|
72918
|
+
const keyframes = `
|
|
72919
|
+
@keyframes widthDecrease {
|
|
72920
|
+
0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
|
|
72921
|
+
100% { width: 0px; height: 0px; margin: 0px;}
|
|
72922
|
+
}
|
|
72875
72923
|
`;
|
|
72876
72924
|
if (!isInfinite) {
|
|
72877
72925
|
dummyElement.style.width = element.style.width;
|
|
@@ -73070,6 +73118,7 @@ const calculateScore = () => {
|
|
|
73070
73118
|
gameScore.totalRightMovesCount += rightMoves;
|
|
73071
73119
|
gameScore.totalWrongMovesCount += wrongMoves;
|
|
73072
73120
|
let finalScore = Math.floor((rightMoves / (rightMoves + wrongMoves)) * 100);
|
|
73121
|
+
console.log('[Activity Score]', { rightMoves, wrongMoves, activityScore: finalScore });
|
|
73073
73122
|
storeActivityScore(finalScore);
|
|
73074
73123
|
gameScore.rightMoves = 0;
|
|
73075
73124
|
gameScore.wrongMoves = 0;
|
|
@@ -73178,7 +73227,7 @@ const storeActivityScore = (score) => {
|
|
|
73178
73227
|
activityScore[activityScoreKey] = score;
|
|
73179
73228
|
//send Custom Event to parent
|
|
73180
73229
|
// window.dispatchEvent(new CustomEvent(ActivityEndKey, { detail: { index: index, totalIndex: totalIndex, score: score } }));
|
|
73181
|
-
const actualActivitySeconds =
|
|
73230
|
+
const actualActivitySeconds = Number((Timer.getI().getElapsed() / 1000).toFixed(1));
|
|
73182
73231
|
ACTIVYTY_TIME_SPEND_ARRAY.push(actualActivitySeconds);
|
|
73183
73232
|
console.log(`[Utils][Activity Time] Activity ${index + 1}/${totalIndex} - Time spent: ${actualActivitySeconds}s`);
|
|
73184
73233
|
const lessonTrackingParams = getLessonTrackingParams();
|
|
@@ -73190,7 +73239,7 @@ const storeActivityScore = (score) => {
|
|
|
73190
73239
|
gameScore.finalScore = Math.floor(finalScore);
|
|
73191
73240
|
console.log('Total Score : ', gameScore.finalScore);
|
|
73192
73241
|
// window.dispatchEvent(new CustomEvent(LessonEndKey, { detail: { score: finalScore } }));
|
|
73193
|
-
const timeSpendForLesson = ACTIVYTY_TIME_SPEND_ARRAY.reduce((sum, current) => sum + current, 0);
|
|
73242
|
+
const timeSpendForLesson = Number(ACTIVYTY_TIME_SPEND_ARRAY.reduce((sum, current) => sum + current, 0).toFixed(1));
|
|
73194
73243
|
console.log(`[Utils][Lesson Time] Total lesson time spent: ${timeSpendForLesson}s`);
|
|
73195
73244
|
dispatchLessonEndEvent(totalIndex, gameScore.totalRightMovesCount, gameScore.totalWrongMovesCount, finalScore, timeSpendForLesson, lessonTrackingParams);
|
|
73196
73245
|
gameScore.totalRightMovesCount = 0;
|
|
@@ -22,7 +22,7 @@ const NAMESPACE = 'lido-player';
|
|
|
22
22
|
const BUILD = /* lido-player */ { hotModuleReplacement: false, hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, slotRelocation: true, state: true, updatable: true};
|
|
23
23
|
|
|
24
24
|
const globalScripts = () => {};
|
|
25
|
-
const globalStyles = "@
|
|
25
|
+
const globalStyles = "@font-face{font-family:'Baloo Bhai 2';font-style:normal;font-weight:400 800;font-display:swap;src:url('../assets/offline-assets/fonts/Baloo-Bhai-2/Baloo-Bhai-2-Variable.woff2') format('woff2')}body{overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;height:100vh}*{user-select:none}.lido-disable-check-button{pointer-events:none;background-color:#9393935c !important;color:white}.lido-element-selected{border:2px solid;background-color:#ffdf7d !important}.diagonal-target,.diagonal-drop *{transform:scale(0.8) !important;opacity:1 !important}.cloned-element{display:flex !important;position:absolute !important;filter:grayscale(100%);pointer-events:none}.removeShadow{box-shadow:0px 0px 0px 0px #ff8900 !important}.highlight-element{border:2px solid white;box-shadow:rgb(243, 77, 8) 0px 0px 40px !important}.drop-element.empty{border:4px dashed #f34d08 !important}.drop-element.filled{border:'none' !important}.drag-element{box-shadow:0px 15px 11px rgba(43, 0, 0, 0.3) !important}.drag-element.dropped{box-shadow:none !important}.click-element{background-color:var(--btn-bg-color, rgba(255, 172, 76, 1)) !important;box-shadow:var(--btn-shadow-px) var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;cursor:pointer;transition:box-shadow 0.1s ease-out, transform 0.2s ease-out;}.click-element:active{box-shadow:0px 0px 0px var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;transform:translateY(var(--btn-active));}.click-element:focus{outline:2px solid dodgerblue;outline-offset:3px}.after-drop-popup-container{width:200%;height:200%;background-color:rgba(0, 0, 0, 0.8);position:absolute;display:flex;flex-direction:row-reverse;align-items:center;justify-content:center !important;gap:80px}.after-drop-popup-drag-element{scale:1.5;border-radius:8px;transform:none !important;position:unset !important}.after-drop-popup-drop-element{scale:1.5;border:unset;border-radius:8px;transform:none !important;position:unset !important}@keyframes zoomFadeIn{0%{transform:scale(0.6);opacity:0}100%{transform:scale(1);opacity:1}}.zoom-fade-in{animation:zoomFadeIn 0.8s ease-out forwards}@keyframes zoomFadeOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0.6);opacity:0}}.zoom-fade-out{animation:zoomFadeOut 0.8s ease-in forwards}.slide-numbers{width:70px;height:70px;border:1px solid #f57139;background-color:white;font-weight:500;color:#f57139;font-size:44px;border-radius:40px;display:flex;align-items:center;justify-content:center;font-family:'Baloo Bhai 2', serif}.slide-numbers-bottom{position:absolute;display:flex;justify-content:space-around;align-items:center;bottom:-25px;width:100%;height:50px}.slide-numbers-left{position:absolute;display:flex;flex-direction:column;justify-content:space-around;height:100%;width:50px;left:-25px;bottom:0px}.lido-speak-icon{width:56px;height:56px;position:absolute;top:-25px;right:-25px;z-index:10;background-color:white;border:4px solid #F34D08;border-radius:16px;box-shadow:0px 4px 0px 0px #F34D08;background-size:contain;background-repeat:no-repeat;cursor:pointer}.lido-speak-icon:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px !important}.lido-strong-shake{animation:strongShake 0.3s ease}.lido-scaled-shake{animation:scaledShake 0.6s ease-in-out}.lido-horizontal-shake{animation:horizontalShake 0.6s ease-in-out;border-radius:20px}.lido-vertical-shake{animation:verticalShake 0.6s ease-in-out;border-radius:20px}.lido-diagonal-shake{animation:diagonalShake 0.5s ease-in-out;border-radius:20px;will-change:transform}.lido-glow{animation:glowPulse 1s infinite alternate;transition:opacity 0.5s ease-in-out}.lido-box-highlight{animation:topToPlace 0.3s linear}.lido-display-hiddenvalue{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:1000;color:brown;-webkit-text-stroke:2px white;font-family:'Baloo Bhai 2', sans-serif;pointer-events:none}.lido-image-colorize{position:relative;display:inline-block}.lido-image-colorize::after{content:'';position:absolute;inset:0;background:var(--tint-color);mix-blend-mode:multiply;opacity:0.8;pointer-events:none;mask-image:var(--mask-url);mask-size:cover;mask-repeat:no-repeat;mask-position:center}.lido-tts-highlight-overlay{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;background:linear-gradient(\n 180deg,\n rgba(255, 235, 59, 0.95),\n rgba(255, 214, 0, 0.95)\n );border-radius:6px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.18),\n inset 0 -1px 0 rgba(255, 255, 255, 0.25);transition:width 25ms ease-out,\n height 25ms ease-out,\n opacity 80ms ease-out;opacity:0.95;will-change:transform, width, height;contain:layout paint style}";
|
|
26
26
|
|
|
27
27
|
/*
|
|
28
28
|
Stencil Client Platform v4.43.5 | MIT Licensed | https://stenciljs.com
|