lido-player 0.0.2-beta-23-dev → 0.0.2-beta-24-dev
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-BDs2S8om.js → decode-B7mZm_nK.js} +1 -1
- package/dist/cjs/{index-D5olYRJo.js → index-BCRDjbaz.js} +146 -77
- package/dist/cjs/{index-DnaH8sO-.js → index-DBCFoh1I.js} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/lido-avatar_22.cjs.entry.js +198 -46
- 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 +9 -2
- package/dist/collection/components/avatar/lido-avatar.tsx +214 -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 +2 -2
- 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 +34 -10
- package/dist/collection/components/container/lido-container.js +39 -8
- package/dist/collection/components/flashCard/lido-flash-card.css +72 -46
- package/dist/collection/components/flashCard/lido-flash-card.js +128 -14
- 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 +1 -1
- 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 -9
- package/dist/collection/components/scale/lido-balance.css +174 -174
- package/dist/collection/components/scale/lido-balance.js +13 -13
- 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 +5 -5
- package/dist/collection/components/trace/assets/Tracing-hand.svg +8 -8
- package/dist/collection/components/trace/lido-trace.css +97 -97
- package/dist/collection/components/trace/lido-trace.js +2 -2
- 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 +323 -323
- 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 +59 -59
- 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 +7 -4
- package/dist/collection/utils/utils.js +70 -14
- package/dist/collection/utils/utilsHandlers/clickHandler.js +4 -3
- package/dist/collection/utils/utilsHandlers/dragDropHandler.js +8 -8
- package/dist/collection/utils/utilsHandlers/highlightHandler.js +56 -56
- package/dist/collection/utils/utilsHandlers/slideHandler.js +17 -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-B-mIxynb.js +1 -0
- package/dist/components/{p-DdQ1eqJr.js → p-B8nzzM8c.js} +1 -1
- package/dist/components/{p-D2GhaM-T.js → p-Bv1hunWk.js} +1 -1
- package/dist/components/{p-DDS30M3y.js → p-C-pHQRbp.js} +1 -1
- 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-CFzvgrMa.js → p-CFPSty2U.js} +1 -1
- package/dist/components/{p-Lg85waqZ.js → p-CFWohOId.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-ChfVUoX4.js → p-CsDu4kiC.js} +1 -1
- package/dist/components/{p-CwDTdXe5.js → p-DG0KR2iN.js} +1 -1
- package/dist/components/p-DLyacZap.js +1 -0
- package/dist/components/{p-BiBt9LGP.js → p-DNo3iX_r.js} +1 -1
- package/dist/components/p-DONbWJGn.js +1 -0
- package/dist/components/p-DXy70SGv.js +1 -0
- package/dist/components/{p-Ds-d6wd0.js → p-DfjbSSI2.js} +2 -2
- package/dist/components/{p-BJiyBHYT.js → p-Gwko4CTL.js} +1 -1
- package/dist/components/p-uuyVO2B1.js +1 -0
- package/dist/esm/{decode-CAwfe7ub.js → decode-CyhHNDvT.js} +1 -1
- package/dist/esm/{index-bo7729YG.js → index-CndbFQ5I.js} +146 -77
- package/dist/esm/{index-Dvjbti-h.js → index-mMpK8062.js} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/lido-avatar_22.entry.js +198 -46
- package/dist/esm/lido-player.js +2 -2
- package/dist/esm/loader.js +2 -2
- package/dist/lido-player/assets/Shadow.svg +9 -9
- package/dist/lido-player/assets/Tracing-hand.svg +8 -8
- 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 +214 -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-77iyGppv.js +1 -0
- package/dist/lido-player/p-d760e67b.entry.js +12 -0
- package/dist/lido-player/{p-D4kAEWCU.js → p-etMb7U6W.js} +1 -1
- package/dist/lido-player/p-mMpK8062.js +2 -0
- package/dist/lido-player/readme.md +49 -49
- package/dist/types/components/container/lido-container.d.ts +4 -0
- package/dist/types/components/flashCard/lido-flash-card.d.ts +13 -0
- package/dist/types/types/json.d.ts +3 -3
- package/dist/types/utils/audioPlayer.d.ts +2 -1
- package/dist/types/utils/utils.d.ts +5 -1
- package/dist/types/utils/utilsHandlers/clickHandler.d.ts +1 -0
- package/dist/types/utils/utilsHandlers/slideHandler.d.ts +1 -1
- package/package.json +73 -74
- package/readme.md +113 -113
- package/dist/components/p-D0cGjo5e.js +0 -1
- package/dist/components/p-DP6jQ5ML.js +0 -1
- package/dist/components/p-DZRNZCPt.js +0 -1
- package/dist/components/p-DbR5sNOj.js +0 -1
- package/dist/components/p-leIEepjl.js +0 -1
- package/dist/lido-player/p-461a3d23.entry.js +0 -12
- package/dist/lido-player/p-Dvjbti-h.js +0 -2
- package/dist/lido-player/p-VRJMO_sg.js +0 -1
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,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$1 = require('./index-
|
|
3
|
+
var index$1 = require('./index-DBCFoh1I.js');
|
|
4
4
|
|
|
5
5
|
const DragMapKey = 'lidoDragMap';
|
|
6
6
|
const SelectedValuesKey = 'lidoSelectedValues';
|
|
@@ -1351,14 +1351,14 @@ async function onClickDropOrDragElement(element, type) {
|
|
|
1351
1351
|
if (!document.querySelector('#dynamic-highlight-style')) {
|
|
1352
1352
|
const style = document.createElement('style');
|
|
1353
1353
|
style.id = 'dynamic-highlight-style';
|
|
1354
|
-
style.innerHTML = `
|
|
1355
|
-
.highlight {
|
|
1356
|
-
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
1357
|
-
// border-radius: 12px; /* Larger rounded corners */
|
|
1358
|
-
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
1359
|
-
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
1360
|
-
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
1361
|
-
}
|
|
1354
|
+
style.innerHTML = `
|
|
1355
|
+
.highlight {
|
|
1356
|
+
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
1357
|
+
// border-radius: 12px; /* Larger rounded corners */
|
|
1358
|
+
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
1359
|
+
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
1360
|
+
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
1361
|
+
}
|
|
1362
1362
|
`;
|
|
1363
1363
|
document.head.appendChild(style);
|
|
1364
1364
|
}
|
|
@@ -1546,34 +1546,34 @@ function highlightSpeakingElement(element) {
|
|
|
1546
1546
|
if (!document.getElementById(styleId)) {
|
|
1547
1547
|
const style = document.createElement('style');
|
|
1548
1548
|
style.id = styleId;
|
|
1549
|
-
style.innerHTML = `
|
|
1550
|
-
.speaking-highlight {
|
|
1551
|
-
--base-transform: ${element.style.transform};
|
|
1552
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
|
|
1553
|
-
// border: 3px solid green !important;
|
|
1554
|
-
// transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
1555
|
-
// transform: scale(1.05); /* Subtle scale effect to pop the element */
|
|
1556
|
-
// animation: pulseEffect 1.5s infinite; /* Pulsing animation */
|
|
1557
|
-
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
@keyframes pulseEffect {
|
|
1561
|
-
0% {
|
|
1562
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1563
|
-
// transform: var(--base-transform) scale(1.05);
|
|
1564
|
-
// background-color: #FFFF0B;
|
|
1565
|
-
}
|
|
1566
|
-
50% {
|
|
1567
|
-
box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
|
|
1568
|
-
// transform: var(--base-transform) scale(1.1);
|
|
1569
|
-
// background-color: #FFFF0B;
|
|
1570
|
-
}
|
|
1571
|
-
100% {
|
|
1572
|
-
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1573
|
-
// transform: var(--base-transform) scale(1.05);
|
|
1574
|
-
// background-color: #FFFF0B;
|
|
1575
|
-
}
|
|
1576
|
-
}
|
|
1549
|
+
style.innerHTML = `
|
|
1550
|
+
.speaking-highlight {
|
|
1551
|
+
--base-transform: ${element.style.transform};
|
|
1552
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
|
|
1553
|
+
// border: 3px solid green !important;
|
|
1554
|
+
// transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
1555
|
+
// transform: scale(1.05); /* Subtle scale effect to pop the element */
|
|
1556
|
+
// animation: pulseEffect 1.5s infinite; /* Pulsing animation */
|
|
1557
|
+
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
@keyframes pulseEffect {
|
|
1561
|
+
0% {
|
|
1562
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1563
|
+
// transform: var(--base-transform) scale(1.05);
|
|
1564
|
+
// background-color: #FFFF0B;
|
|
1565
|
+
}
|
|
1566
|
+
50% {
|
|
1567
|
+
box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
|
|
1568
|
+
// transform: var(--base-transform) scale(1.1);
|
|
1569
|
+
// background-color: #FFFF0B;
|
|
1570
|
+
}
|
|
1571
|
+
100% {
|
|
1572
|
+
box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
|
|
1573
|
+
// transform: var(--base-transform) scale(1.05);
|
|
1574
|
+
// background-color: #FFFF0B;
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
1577
|
`;
|
|
1578
1578
|
document.head.appendChild(style);
|
|
1579
1579
|
}
|
|
@@ -1590,10 +1590,10 @@ function stopHighlightForSpeakingElement(element) {
|
|
|
1590
1590
|
}
|
|
1591
1591
|
function highlightElement() {
|
|
1592
1592
|
const container = document.querySelector(LidoContainer);
|
|
1593
|
-
if (container.getAttribute("template-id") === "blender")
|
|
1594
|
-
return;
|
|
1595
1593
|
if (!container)
|
|
1596
1594
|
return;
|
|
1595
|
+
if (container.getAttribute("template-id") === "blender")
|
|
1596
|
+
return;
|
|
1597
1597
|
const dropElements = buildDropHasDragFromDOM();
|
|
1598
1598
|
const dropEls = container.querySelectorAll(`[type="drop"]`);
|
|
1599
1599
|
dropEls.forEach(dropEl => {
|
|
@@ -1650,6 +1650,7 @@ class AudioPlayer {
|
|
|
1650
1650
|
this.currentTargetElement = null;
|
|
1651
1651
|
this.pendingReplayElement = null;
|
|
1652
1652
|
this.playbackHasStarted = false;
|
|
1653
|
+
this.playbackSequence = 0;
|
|
1653
1654
|
this.highlightOverlay = null;
|
|
1654
1655
|
this.wordRects = [];
|
|
1655
1656
|
this.activeWordIndex = -1;
|
|
@@ -1748,7 +1749,7 @@ class AudioPlayer {
|
|
|
1748
1749
|
return el;
|
|
1749
1750
|
return el.closest('lido-text');
|
|
1750
1751
|
}
|
|
1751
|
-
async play(targetElement, suppressHighlight = false) {
|
|
1752
|
+
async play(targetElement, suppressHighlight = false, playbackContext) {
|
|
1752
1753
|
this.registerVisibilityEvents();
|
|
1753
1754
|
this.playbackHasStarted = false;
|
|
1754
1755
|
if (!this.isWindowVisible()) {
|
|
@@ -1760,6 +1761,7 @@ class AudioPlayer {
|
|
|
1760
1761
|
}
|
|
1761
1762
|
this.pendingReplayElement = null;
|
|
1762
1763
|
}
|
|
1764
|
+
const playbackId = ++this.playbackSequence;
|
|
1763
1765
|
// Stop any currently playing audio first if target element has audio given
|
|
1764
1766
|
try {
|
|
1765
1767
|
await AudioPlayer.getI().stop();
|
|
@@ -1783,7 +1785,7 @@ class AudioPlayer {
|
|
|
1783
1785
|
targetElement = textElement;
|
|
1784
1786
|
}
|
|
1785
1787
|
this.currentTargetElement = targetElement;
|
|
1786
|
-
window.dispatchEvent(new CustomEvent('lidoAudioStarted', { detail: { target: targetElement } }));
|
|
1788
|
+
window.dispatchEvent(new CustomEvent('lidoAudioStarted', { detail: { target: targetElement, playbackId, playbackContext } }));
|
|
1787
1789
|
// then play the target element audio.
|
|
1788
1790
|
let audioUrl = targetElement.getAttribute('audio') || '';
|
|
1789
1791
|
// If no direct audio attribute, check childrens for audio
|
|
@@ -1802,6 +1804,7 @@ class AudioPlayer {
|
|
|
1802
1804
|
this.audioElement.src = audioUrl;
|
|
1803
1805
|
this.audioElement.onplaying = () => {
|
|
1804
1806
|
this.playbackHasStarted = true;
|
|
1807
|
+
window.dispatchEvent(new CustomEvent('lidoAudioPlaying', { detail: { target: targetElement, playbackId, playbackContext } }));
|
|
1805
1808
|
};
|
|
1806
1809
|
this.audioElement.onpause = () => {
|
|
1807
1810
|
if (this.playbackHasStarted && !this.audioElement.ended) {
|
|
@@ -1880,13 +1883,13 @@ class AudioPlayer {
|
|
|
1880
1883
|
await this.waitUntilWindowIsVisible();
|
|
1881
1884
|
if (this.pendingReplayElement === targetElement) {
|
|
1882
1885
|
this.pendingReplayElement = null;
|
|
1883
|
-
return this.play(targetElement);
|
|
1886
|
+
return this.play(targetElement, suppressHighlight, playbackContext);
|
|
1884
1887
|
}
|
|
1885
1888
|
}
|
|
1886
1889
|
if (this.currentTargetElement === targetElement) {
|
|
1887
1890
|
this.currentTargetElement = null;
|
|
1888
1891
|
}
|
|
1889
|
-
window.dispatchEvent(new CustomEvent('lidoAudioEnded', { detail: { target: targetElement } }));
|
|
1892
|
+
window.dispatchEvent(new CustomEvent('lidoAudioEnded', { detail: { target: targetElement, playbackId, playbackContext } }));
|
|
1890
1893
|
}
|
|
1891
1894
|
// GLOBAL STOP EVENTS (container change, activity change…)
|
|
1892
1895
|
registerGlobalStopEvents() {
|
|
@@ -2279,11 +2282,11 @@ function enableReorderDrag(element) {
|
|
|
2279
2282
|
onDropToCategory(element, category);
|
|
2280
2283
|
}
|
|
2281
2284
|
if (divEl) {
|
|
2282
|
-
const keyframes = `
|
|
2283
|
-
@keyframes widthDecrease {
|
|
2284
|
-
0% { width: ${divEl.offsetWidth}px; height: ${divEl.offsetHeight}px; }
|
|
2285
|
-
100% { width: 0px; height: 0px;}
|
|
2286
|
-
}
|
|
2285
|
+
const keyframes = `
|
|
2286
|
+
@keyframes widthDecrease {
|
|
2287
|
+
0% { width: ${divEl.offsetWidth}px; height: ${divEl.offsetHeight}px; }
|
|
2288
|
+
100% { width: 0px; height: 0px;}
|
|
2289
|
+
}
|
|
2287
2290
|
`;
|
|
2288
2291
|
const styleSheet = document.styleSheets[0];
|
|
2289
2292
|
styleSheet.insertRule(keyframes, styleSheet.cssRules.length);
|
|
@@ -2506,11 +2509,11 @@ function moveWithAnimation(target, overlapped) {
|
|
|
2506
2509
|
const dummy = createDummyElement(target);
|
|
2507
2510
|
dummy.style.visibility = 'hidden';
|
|
2508
2511
|
dummy.setAttribute('type', 'dummy');
|
|
2509
|
-
const keyframes = `
|
|
2510
|
-
@keyframes widthIncrease {
|
|
2511
|
-
0% { width: 0px; height: 0px; }
|
|
2512
|
-
100% { width: ${target.offsetWidth}px; height: ${target.offsetHeight}px;}
|
|
2513
|
-
}
|
|
2512
|
+
const keyframes = `
|
|
2513
|
+
@keyframes widthIncrease {
|
|
2514
|
+
0% { width: 0px; height: 0px; }
|
|
2515
|
+
100% { width: ${target.offsetWidth}px; height: ${target.offsetHeight}px;}
|
|
2516
|
+
}
|
|
2514
2517
|
`;
|
|
2515
2518
|
if (!overlapped) {
|
|
2516
2519
|
const overlapCategory = findMostoverlappedElement(target, 'category');
|
|
@@ -2603,6 +2606,20 @@ async function onDropToCategory(dragElement, categoryElement) {
|
|
|
2603
2606
|
}
|
|
2604
2607
|
|
|
2605
2608
|
const delay = (ms) => new Promise(res => setTimeout(res, ms));
|
|
2609
|
+
const isArrangeLettersContainer = (container) => container.getAttribute('template-id') === 'arrangeLetters';
|
|
2610
|
+
const isReorderContainer = (container) => container.getAttribute('template-id') === 'reorder';
|
|
2611
|
+
const getSlideValuesForValidation = (container, slideElements) => {
|
|
2612
|
+
if (isReorderContainer(container)) {
|
|
2613
|
+
return slideElements.map(element => element.id);
|
|
2614
|
+
}
|
|
2615
|
+
return slideElements.map(element => element['value']);
|
|
2616
|
+
};
|
|
2617
|
+
const syncSlideOrder = (container) => {
|
|
2618
|
+
const slideElements = Array.from(container.querySelectorAll("[type='slide']"));
|
|
2619
|
+
const slideOrder = getSlideValuesForValidation(container, slideElements);
|
|
2620
|
+
container.setAttribute(SelectedValuesKey, JSON.stringify(slideOrder));
|
|
2621
|
+
return slideOrder;
|
|
2622
|
+
};
|
|
2606
2623
|
const slideAnimation = async () => {
|
|
2607
2624
|
const container = document.getElementById(LidoContainer);
|
|
2608
2625
|
if (!container)
|
|
@@ -2663,6 +2680,9 @@ function slidingWithScaling(element) {
|
|
|
2663
2680
|
const container = document.getElementById(LidoContainer);
|
|
2664
2681
|
if (container.getAttribute('canplay') === 'false')
|
|
2665
2682
|
return;
|
|
2683
|
+
// Slide activities can start in the correct order. Keep their initial DOM
|
|
2684
|
+
// order available to the Next/check validation before the first swap occurs.
|
|
2685
|
+
syncSlideOrder(container);
|
|
2666
2686
|
const onStart = (event) => {
|
|
2667
2687
|
const templateId = container.getAttribute('template-id');
|
|
2668
2688
|
if ((templateId === 'arrangeLetters' || templateId === 'reorder') && container.getAttribute('game-completed') === 'true')
|
|
@@ -2838,14 +2858,6 @@ function slidingWithScaling(element) {
|
|
|
2838
2858
|
element.addEventListener('touchstart', onStart);
|
|
2839
2859
|
element.addEventListener(LIDO_INTERACTION_CLEANUP_EVENT, cleanup);
|
|
2840
2860
|
}
|
|
2841
|
-
const isArrangeLettersContainer = (container) => container.getAttribute('template-id') === 'arrangeLetters';
|
|
2842
|
-
const isReorderContainer = (container) => container.getAttribute('template-id') === 'reorder';
|
|
2843
|
-
const getSlideValuesForValidation = (container, slideElements) => {
|
|
2844
|
-
if (isReorderContainer(container)) {
|
|
2845
|
-
return slideElements.map(element => element.id);
|
|
2846
|
-
}
|
|
2847
|
-
return slideElements.map(element => element['value']);
|
|
2848
|
-
};
|
|
2849
2861
|
const updateArrangeLettersCorrectness = (container, slideValues, objectiveValues) => {
|
|
2850
2862
|
const slideElements = Array.from(container.querySelectorAll('[type="slide"]'));
|
|
2851
2863
|
slideElements.forEach((element, index) => {
|
|
@@ -4426,11 +4438,12 @@ function addClickListenerForClickType(element) {
|
|
|
4426
4438
|
}, 50);
|
|
4427
4439
|
}
|
|
4428
4440
|
});
|
|
4429
|
-
|
|
4441
|
+
initializeClickableElementStyle(element);
|
|
4430
4442
|
}
|
|
4431
|
-
const
|
|
4443
|
+
const initializeClickableElementStyle = (element) => {
|
|
4432
4444
|
var _a;
|
|
4433
|
-
const
|
|
4445
|
+
const elementHeight = Number.isFinite(element.offsetHeight) ? element.offsetHeight : 0;
|
|
4446
|
+
const elementShadow = elementHeight * 0.08;
|
|
4434
4447
|
const backGroundColor = ((_a = element.style) === null || _a === void 0 ? void 0 : _a.backgroundColor) || '#FFB742';
|
|
4435
4448
|
element.style.setProperty('--btn-bg-color', backGroundColor);
|
|
4436
4449
|
element.style.setProperty('--btn-shadow-px', `0px ${elementShadow}px 0px`);
|
|
@@ -72864,6 +72877,34 @@ function getSortedValuesArrayFromMap(map) {
|
|
|
72864
72877
|
function format(first, middle, last) {
|
|
72865
72878
|
return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
|
|
72866
72879
|
}
|
|
72880
|
+
// These actions have side effects beyond declarative element styling. They must
|
|
72881
|
+
// not run while the player is being displayed in edit mode.
|
|
72882
|
+
const nonVisualActions = new Set([
|
|
72883
|
+
'revealImageValue',
|
|
72884
|
+
'scrollCellAfterEquationSolved',
|
|
72885
|
+
'alignMatch',
|
|
72886
|
+
'removeClone',
|
|
72887
|
+
'speak',
|
|
72888
|
+
'fill-slide',
|
|
72889
|
+
'nextBtn',
|
|
72890
|
+
'prevBtn',
|
|
72891
|
+
'stop',
|
|
72892
|
+
'sleep',
|
|
72893
|
+
'avatarAnimate',
|
|
72894
|
+
'cellBorderAnimate',
|
|
72895
|
+
'vibrate',
|
|
72896
|
+
'highlightStarsAndDisapper',
|
|
72897
|
+
'boxAnimationOneByOne',
|
|
72898
|
+
'questionBoxAnimate',
|
|
72899
|
+
'slideAnimation',
|
|
72900
|
+
'showBalanceSymbol',
|
|
72901
|
+
'hideBalanceSymbol',
|
|
72902
|
+
'sumTogetherAnimation',
|
|
72903
|
+
'addText',
|
|
72904
|
+
'disableType',
|
|
72905
|
+
'updateCountBlender',
|
|
72906
|
+
'updateCalculatorAnswer',
|
|
72907
|
+
]);
|
|
72867
72908
|
const initEventsForElement = async (element, type) => {
|
|
72868
72909
|
const container = document.getElementById(LidoContainer);
|
|
72869
72910
|
if (!container) {
|
|
@@ -72873,10 +72914,29 @@ const initEventsForElement = async (element, type) => {
|
|
|
72873
72914
|
return;
|
|
72874
72915
|
}
|
|
72875
72916
|
const onEntry = element.getAttribute('onEntry');
|
|
72876
|
-
|
|
72917
|
+
const canPlay = container.getAttribute('canplay') !== 'false';
|
|
72918
|
+
await executeActions(onEntry, element, undefined, { visualOnly: !canPlay });
|
|
72919
|
+
// Free movement is an editor interaction and is intentionally available in
|
|
72920
|
+
// edit mode; all gameplay handlers below remain disabled there.
|
|
72877
72921
|
if (element.getAttribute('move') === 'true') {
|
|
72878
72922
|
enableFreeMove(element);
|
|
72879
72923
|
}
|
|
72924
|
+
// The click visual treatment is independent from the click listener. Edit
|
|
72925
|
+
// mode needs the class and custom properties that draw the configured button
|
|
72926
|
+
// background/shadow, but must not install answer-selection behavior.
|
|
72927
|
+
if (!canPlay && type === 'click') {
|
|
72928
|
+
initializeClickableElementStyle(element);
|
|
72929
|
+
}
|
|
72930
|
+
// Edit mode still needs visual initialization, but must not install any
|
|
72931
|
+
// gameplay or touch handlers. In play mode, avoid duplicating listeners if a
|
|
72932
|
+
// component invokes its load hook more than once.
|
|
72933
|
+
if (!canPlay)
|
|
72934
|
+
return;
|
|
72935
|
+
const initializedElement = element;
|
|
72936
|
+
const initializationKey = `${type || ''}:${canPlay}`;
|
|
72937
|
+
if (initializedElement.__lidoInitializationKey === initializationKey)
|
|
72938
|
+
return;
|
|
72939
|
+
initializedElement.__lidoInitializationKey = initializationKey;
|
|
72880
72940
|
switch (type) {
|
|
72881
72941
|
case 'drag': {
|
|
72882
72942
|
enableDraggingWithScaling(element);
|
|
@@ -72914,12 +72974,14 @@ const initEventsForElement = async (element, type) => {
|
|
|
72914
72974
|
onTouchListenerForOnTouch(element);
|
|
72915
72975
|
};
|
|
72916
72976
|
// Function to execute actions parsed from the onMatch string
|
|
72917
|
-
const executeActions = async (actionsString, thisElement, element) => {
|
|
72918
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
72977
|
+
const executeActions = async (actionsString, thisElement, element, options = {}) => {
|
|
72978
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
72919
72979
|
const actions = parseActions(actionsString);
|
|
72920
72980
|
// body.style.pointerEvents = 'none';
|
|
72921
72981
|
for (let i = 0; i < actions.length; i++) {
|
|
72922
72982
|
const action = actions[i];
|
|
72983
|
+
if (options.visualOnly && nonVisualActions.has(action.action))
|
|
72984
|
+
continue;
|
|
72923
72985
|
const queriedElement = document.querySelector(action.actor);
|
|
72924
72986
|
const targetElement = action.actor === 'this' ? thisElement : action.actor === 'element' ? element : queriedElement ? queriedElement : document.getElementById(action.actor);
|
|
72925
72987
|
if (targetElement) {
|
|
@@ -73040,7 +73102,14 @@ const executeActions = async (actionsString, thisElement, element) => {
|
|
|
73040
73102
|
const riveService = RiveService.getInstance();
|
|
73041
73103
|
const riveInstance = riveService.getRiveInstance();
|
|
73042
73104
|
if (riveInstance && action.value) {
|
|
73043
|
-
riveInstance
|
|
73105
|
+
const input = (_b = riveInstance
|
|
73106
|
+
.stateMachineInputs('State Machine 1')) === null || _b === void 0 ? void 0 : _b.find(input => input.name === action.value);
|
|
73107
|
+
if (input) {
|
|
73108
|
+
input.fire();
|
|
73109
|
+
}
|
|
73110
|
+
else {
|
|
73111
|
+
console.warn(`Avatar reaction input "${action.value}" was not found in State Machine 1.`);
|
|
73112
|
+
}
|
|
73044
73113
|
}
|
|
73045
73114
|
break;
|
|
73046
73115
|
}
|
|
@@ -73087,8 +73156,8 @@ const executeActions = async (actionsString, thisElement, element) => {
|
|
|
73087
73156
|
const balanceEl = document.querySelector('lido-balance');
|
|
73088
73157
|
if (!balanceEl)
|
|
73089
73158
|
break;
|
|
73090
|
-
const leftVal = Number((
|
|
73091
|
-
const rightVal = Number((
|
|
73159
|
+
const leftVal = Number((_c = balanceEl.leftVal) !== null && _c !== void 0 ? _c : Number((_e = (_d = balanceEl.dataset) === null || _d === void 0 ? void 0 : _d.leftVal) !== null && _e !== void 0 ? _e : 0));
|
|
73160
|
+
const rightVal = Number((_f = balanceEl.rightVal) !== null && _f !== void 0 ? _f : Number((_h = (_g = balanceEl.dataset) === null || _g === void 0 ? void 0 : _g.rightVal) !== null && _h !== void 0 ? _h : 0));
|
|
73092
73161
|
const symbol = leftVal > rightVal ? '>' : leftVal < rightVal ? '<' : '=';
|
|
73093
73162
|
balanceEl.balanceSymbol = symbol;
|
|
73094
73163
|
balanceEl.dataset.balanceSymbol = symbol;
|
|
@@ -73208,11 +73277,11 @@ const afterDropDragHandling = (dragElement, dropElement) => {
|
|
|
73208
73277
|
}
|
|
73209
73278
|
dummyElement.setAttribute('id', dragElement.getAttribute('id'));
|
|
73210
73279
|
dragElement.replaceWith(dummyElement);
|
|
73211
|
-
const keyframes = `
|
|
73212
|
-
@keyframes widthDecrease {
|
|
73213
|
-
0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
|
|
73214
|
-
100% { width: 0px; height: 0px; margin: 0px;}
|
|
73215
|
-
}
|
|
73280
|
+
const keyframes = `
|
|
73281
|
+
@keyframes widthDecrease {
|
|
73282
|
+
0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
|
|
73283
|
+
100% { width: 0px; height: 0px; margin: 0px;}
|
|
73284
|
+
}
|
|
73216
73285
|
`;
|
|
73217
73286
|
if (!isInfinite) {
|
|
73218
73287
|
dummyElement.style.width = element.style.width;
|
|
@@ -73563,7 +73632,7 @@ const storeActivityScore = (score) => {
|
|
|
73563
73632
|
activityScore[activityScoreKey] = score;
|
|
73564
73633
|
//send Custom Event to parent
|
|
73565
73634
|
// window.dispatchEvent(new CustomEvent(ActivityEndKey, { detail: { index: index, totalIndex: totalIndex, score: score } }));
|
|
73566
|
-
const actualActivitySeconds =
|
|
73635
|
+
const actualActivitySeconds = Number((Timer.getI().getElapsed() / 1000).toFixed(1));
|
|
73567
73636
|
ACTIVYTY_TIME_SPEND_ARRAY.push(actualActivitySeconds);
|
|
73568
73637
|
console.log(`[Utils][Activity Time] Activity ${index + 1}/${totalIndex} - Time spent: ${actualActivitySeconds}s`);
|
|
73569
73638
|
const lessonTrackingParams = getLessonTrackingParams();
|
|
@@ -73575,7 +73644,7 @@ const storeActivityScore = (score) => {
|
|
|
73575
73644
|
gameScore.finalScore = Math.floor(finalScore);
|
|
73576
73645
|
console.log('Total Score : ', gameScore.finalScore);
|
|
73577
73646
|
// window.dispatchEvent(new CustomEvent(LessonEndKey, { detail: { score: finalScore } }));
|
|
73578
|
-
const timeSpendForLesson = ACTIVYTY_TIME_SPEND_ARRAY.reduce((sum, current) => sum + current, 0);
|
|
73647
|
+
const timeSpendForLesson = Number(ACTIVYTY_TIME_SPEND_ARRAY.reduce((sum, current) => sum + current, 0).toFixed(1));
|
|
73579
73648
|
console.log(`[Utils][Lesson Time] Total lesson time spent: ${timeSpendForLesson}s`);
|
|
73580
73649
|
dispatchLessonEndEvent(totalIndex, gameScore.totalRightMovesCount, gameScore.totalWrongMovesCount, finalScore, timeSpendForLesson, lessonTrackingParams);
|
|
73581
73650
|
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 = "@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(\
|
|
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}.category-dropped-onCorrect{box-shadow:rgba(129, 193, 39, 1) 0px 8px 8px 0px !important}.category-dropped-onInCorrect{box-shadow:rgba(255, 4, 16, 1) 0px 8px 8px 0px !important}";
|
|
26
26
|
|
|
27
27
|
/*
|
|
28
28
|
Stencil Client Platform v4.43.5 | MIT Licensed | https://stenciljs.com
|