lido-player 0.0.2-beta-24 → 0.0.2-beta-26-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-BCvdWRyT.js → decode-CE64w_Pc.js} +1 -1
- package/dist/cjs/{index-DjM03fsg.js → index-Cf9LHdIw.js} +238 -87
- package/dist/cjs/{index-DBCFoh1I.js → index-DnaH8sO-.js} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/lido-avatar_22.cjs.entry.js +214 -53
- package/dist/cjs/lido-player.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js +2 -2
- 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 +214 -214
- 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 +55 -9
- package/dist/collection/components/flashCard/lido-flash-card.css +72 -72
- package/dist/collection/components/flashCard/lido-flash-card.js +84 -15
- 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 +38 -14
- 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 +6 -6
- 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 +6 -6
- 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 +633 -633
- 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 +10 -3
- package/dist/collection/utils/constants.js +6 -0
- package/dist/collection/utils/utils.js +109 -14
- package/dist/collection/utils/utilsHandlers/dragDropHandler.js +8 -8
- package/dist/collection/utils/utilsHandlers/highlightHandler.js +54 -54
- package/dist/collection/utils/utilsHandlers/slideHandler.js +58 -19
- 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-image.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-B4iWvszS.js +1 -0
- package/dist/components/{p-C5jvgiPE.js → p-BA-XmR9g.js} +1 -1
- package/dist/components/p-BJt-z8VW.js +1 -0
- package/dist/components/{p-CTlcpv4a.js → p-BfwUqpXc.js} +1 -1
- package/dist/components/{p-DNo3iX_r.js → p-BiBt9LGP.js} +1 -1
- package/dist/components/{p-DG0KR2iN.js → p-BlN0IsR4.js} +1 -1
- package/dist/components/{p-CFPSty2U.js → p-BpVpANK9.js} +1 -1
- package/dist/components/{p-CgsPIpg0.js → p-Bw-OC9iR.js} +1 -1
- package/dist/components/p-C2J7-bcH.js +1 -0
- package/dist/components/{p-CFWohOId.js → p-CEmofYPx.js} +1 -1
- package/dist/components/{p-C5WmmkI6.js → p-CPYnt0P-.js} +1 -1
- package/dist/components/{p-CsDu4kiC.js → p-ChfVUoX4.js} +1 -1
- package/dist/components/p-CnQ-4EIw.js +1 -0
- package/dist/components/{p-CXHPZN3m.js → p-CyGxEcn7.js} +1 -1
- package/dist/components/{p-C-pHQRbp.js → p-D1cBkIab.js} +1 -1
- package/dist/components/p-DP6jQ5ML.js +1 -0
- package/dist/components/{p-Bv1hunWk.js → p-DV-k1ulI.js} +1 -1
- package/dist/components/p-Qhj9-H6e.js +12 -0
- package/dist/components/{p-Bh_vemY3.js → p-hUfX1As2.js} +1 -1
- package/dist/components/p-leIEepjl.js +1 -0
- package/dist/components/{p-B8nzzM8c.js → p-s4oGlKg6.js} +1 -1
- package/dist/components/{p-C70ykycD.js → p-useuhkjH.js} +1 -1
- package/dist/esm/{decode-BxzUG5XP.js → decode-DhjaTUf2.js} +1 -1
- package/dist/esm/{index-C_uxZLF-.js → index-Bc6Y7rds.js} +235 -88
- package/dist/esm/{index-mMpK8062.js → index-Dvjbti-h.js} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/lido-avatar_22.entry.js +214 -53
- package/dist/esm/lido-player.js +3 -3
- package/dist/esm/loader.js +3 -3
- 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 -214
- package/dist/lido-player/lido-player.css +7 -7
- package/dist/lido-player/lido-player.esm.js +1 -1
- package/dist/lido-player/{p-CsCr7DlS.js → p-CORilAH-.js} +1 -1
- package/dist/lido-player/p-D66K5DXn.js +1 -0
- package/dist/lido-player/p-Dvjbti-h.js +2 -0
- package/dist/lido-player/p-ca195982.entry.js +12 -0
- package/dist/lido-player/readme.md +49 -49
- package/dist/types/components/container/lido-container.d.ts +7 -0
- package/dist/types/components/flashCard/lido-flash-card.d.ts +2 -0
- package/dist/types/components.d.ts +1 -0
- package/dist/types/types/json.d.ts +3 -3
- package/dist/types/utils/audioPlayer.d.ts +1 -1
- package/dist/types/utils/constants.d.ts +2 -0
- package/dist/types/utils/utils.d.ts +11 -0
- package/dist/types/utils/utilsHandlers/slideHandler.d.ts +1 -1
- package/package.json +73 -73
- package/readme.md +113 -113
- package/dist/components/p-CgBwmr9A.js +0 -12
- package/dist/components/p-Ckb8QhUV.js +0 -1
- package/dist/components/p-DDwqmTYM.js +0 -1
- package/dist/components/p-DLyacZap.js +0 -1
- package/dist/components/p-DONbWJGn.js +0 -1
- package/dist/components/p-DXy70SGv.js +0 -1
- package/dist/components/p-Gwko4CTL.js +0 -1
- package/dist/lido-player/p-00993d1a.entry.js +0 -12
- package/dist/lido-player/p-mMpK8062.js +0 -2
- package/dist/lido-player/p-v3GBrpv9.js +0 -1
|
@@ -50,39 +50,39 @@ function getContainerXml(args) {
|
|
|
50
50
|
console.error('Trace image is missing');
|
|
51
51
|
return '';
|
|
52
52
|
}
|
|
53
|
-
return `
|
|
54
|
-
<main>
|
|
55
|
-
<lido-container id="lido-container" tab-index="1" objective="writeWord" value="mainContainer1" bg-image="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/background-images/Write%20word.png" height="100%" width="100%" bg-color="transparent" visible="true" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onEntry="this.justifyContent='space-around';" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" is-allow-only-correct="${isAllowOnlyCorrect}" after-drop="false">
|
|
56
|
-
|
|
57
|
-
<!-- Chimple Avatar -->
|
|
58
|
-
<lido-cell layout="pos" id="pos1" disable-edit="true" value="pos1" height="landscape.600px, portrait.700px" width="landscape.393px, portrait.485px" x="landscape.1200px, portrait.450px" y="landscape.390px, portrait.1020px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="this.flex-shrink='0';">
|
|
59
|
-
<lido-avatar id="lido-avatar" disable-edit="true" visible="true" height="inherit" width="inherit" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/chimplecharacter.riv" altText="{chimpleCharacterRive}" onEntry="">
|
|
60
|
-
</lido-avatar>
|
|
61
|
-
<lido-image id="image" disable-edit="true" value="image" visible="true" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/Shadow.png" bg-color="transparent" width="inherit" height="27px" x="landscape.-7px, portrait.-7px" y="landscape.450px, portrait.540px" altText="{shadowImage}">
|
|
62
|
-
</lido-image>
|
|
63
|
-
</lido-cell>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<lido-cell layout="col" visible="true" width="landscape.70%, portrait.70%" height="landscape.84%, portrait.60%" bg-color="transparent" margin="landscape.-35px 0px -35px 0px, portrait.-400px 0px -40px 0px" onEntry="this.padding='4px 0px 16px 0px';">
|
|
68
|
-
<lido-image visible="true" src="${topDisplayImage}" z="1" width="landscape.570px, portrait.570px" height="landscape.225px, portrait.225px" onEntry="this.flex-shrink='0';" altText="{image1}">
|
|
69
|
-
<!-- text-element -->
|
|
70
|
-
<lido-cell layout="pos" display="flex" id="pos1" disable-edit="true" value="pos1" height="landscape.80px, portrait.80px" width="landscape.525px, portrait.525px" x="landscape.545px, portrait.300px" y="landscape.125px, portrait.190px" aria-hidden="true" bg-color="transparent" visible="true" onEntry="this.z-index='2'; this.align-items='center'; this.justify-content='center'; this.display='flex';">
|
|
71
|
-
<lido-text id="txt1" tab-index="2" span-type="${spanType}" audio="" width="525px" height="80px" onEntry="this.text-align='center'; this.justify-content='center'; this.flex-shrink='0'; this.fontWeight='600';" font="'Baloo Bhai 2'" font-size="96px" z="1" font-color="black" color=" #000000" string="${text}" visible="true" y="landscape., portrait." bg-color="transparent">
|
|
72
|
-
</lido-text>
|
|
73
|
-
</lido-cell>
|
|
74
|
-
</lido-image>
|
|
75
|
-
|
|
76
|
-
<lido-image visible="true" src="${bottomDisplayImage}" z="1" width="landscape.574px, portrait.760px" height="landscape.574px, portrait.760px" onEntry="this.flex-shrink='0';" altText="{image1}">
|
|
77
|
-
</lido-image>
|
|
78
|
-
</lido-cell>
|
|
79
|
-
|
|
80
|
-
<!-- trace element -->
|
|
81
|
-
<lido-cell layout="pos" id="pos2" disable-edit="true" value="pos2" height="landscape.500px, portrait.500px" width="landscape.550px, portrait.550px" x="landscape.510px, portrait.75px" y="landscape.305px, portrait.475px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="trace1.visibility='visible'; this.flex-shrink='0';">
|
|
82
|
-
<lido-trace id="trace1" audio="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/B.wav; https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/U.wav; https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/G.wav" animationTrace="true" highlightTextId="txt1" tab-index="3" value="a" visible="true" svg-source="${traceImage1}; ${traceImage2}; ${traceImage3}" onCorrect="this.sleep='2000'; txt1.speak='true';" mode="${traceMode}" z="1" x="25px" y="25px" width="landscape.500px, portrait.675px" height="landscape.500px, portrait.500px" altText="{backgroundImage}">
|
|
83
|
-
</lido-trace>
|
|
84
|
-
</lido-cell>
|
|
85
|
-
</lido-container>
|
|
86
|
-
</main>
|
|
53
|
+
return `
|
|
54
|
+
<main>
|
|
55
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" objective="writeWord" value="mainContainer1" bg-image="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/background-images/Write%20word.png" height="100%" width="100%" bg-color="transparent" visible="true" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onEntry="this.justifyContent='space-around';" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" is-allow-only-correct="${isAllowOnlyCorrect}" after-drop="false">
|
|
56
|
+
|
|
57
|
+
<!-- Chimple Avatar -->
|
|
58
|
+
<lido-cell layout="pos" id="pos1" disable-edit="true" value="pos1" height="landscape.600px, portrait.700px" width="landscape.393px, portrait.485px" x="landscape.1200px, portrait.450px" y="landscape.390px, portrait.1020px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="this.flex-shrink='0';">
|
|
59
|
+
<lido-avatar id="lido-avatar" disable-edit="true" visible="true" height="inherit" width="inherit" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/chimplecharacter.riv" altText="{chimpleCharacterRive}" onEntry="">
|
|
60
|
+
</lido-avatar>
|
|
61
|
+
<lido-image id="image" disable-edit="true" value="image" visible="true" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/Shadow.png" bg-color="transparent" width="inherit" height="27px" x="landscape.-7px, portrait.-7px" y="landscape.450px, portrait.540px" altText="{shadowImage}">
|
|
62
|
+
</lido-image>
|
|
63
|
+
</lido-cell>
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
<lido-cell layout="col" visible="true" width="landscape.70%, portrait.70%" height="landscape.84%, portrait.60%" bg-color="transparent" margin="landscape.-35px 0px -35px 0px, portrait.-400px 0px -40px 0px" onEntry="this.padding='4px 0px 16px 0px';">
|
|
68
|
+
<lido-image visible="true" src="${topDisplayImage}" z="1" width="landscape.570px, portrait.570px" height="landscape.225px, portrait.225px" onEntry="this.flex-shrink='0';" altText="{image1}">
|
|
69
|
+
<!-- text-element -->
|
|
70
|
+
<lido-cell layout="pos" display="flex" id="pos1" disable-edit="true" value="pos1" height="landscape.80px, portrait.80px" width="landscape.525px, portrait.525px" x="landscape.545px, portrait.300px" y="landscape.125px, portrait.190px" aria-hidden="true" bg-color="transparent" visible="true" onEntry="this.z-index='2'; this.align-items='center'; this.justify-content='center'; this.display='flex';">
|
|
71
|
+
<lido-text id="txt1" tab-index="2" span-type="${spanType}" audio="" width="525px" height="80px" onEntry="this.text-align='center'; this.justify-content='center'; this.flex-shrink='0'; this.fontWeight='600';" font="'Baloo Bhai 2'" font-size="96px" z="1" font-color="black" color=" #000000" string="${text}" visible="true" y="landscape., portrait." bg-color="transparent">
|
|
72
|
+
</lido-text>
|
|
73
|
+
</lido-cell>
|
|
74
|
+
</lido-image>
|
|
75
|
+
|
|
76
|
+
<lido-image visible="true" src="${bottomDisplayImage}" z="1" width="landscape.574px, portrait.760px" height="landscape.574px, portrait.760px" onEntry="this.flex-shrink='0';" altText="{image1}">
|
|
77
|
+
</lido-image>
|
|
78
|
+
</lido-cell>
|
|
79
|
+
|
|
80
|
+
<!-- trace element -->
|
|
81
|
+
<lido-cell layout="pos" id="pos2" disable-edit="true" value="pos2" height="landscape.500px, portrait.500px" width="landscape.550px, portrait.550px" x="landscape.510px, portrait.75px" y="landscape.305px, portrait.475px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="trace1.visibility='visible'; this.flex-shrink='0';">
|
|
82
|
+
<lido-trace id="trace1" audio="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/B.wav; https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/U.wav; https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Audios/G.wav" animationTrace="true" highlightTextId="txt1" tab-index="3" value="a" visible="true" svg-source="${traceImage1}; ${traceImage2}; ${traceImage3}" onCorrect="this.sleep='2000'; txt1.speak='true';" mode="${traceMode}" z="1" x="25px" y="25px" width="landscape.500px, portrait.675px" height="landscape.500px, portrait.500px" altText="{backgroundImage}">
|
|
83
|
+
</lido-trace>
|
|
84
|
+
</lido-cell>
|
|
85
|
+
</lido-container>
|
|
86
|
+
</main>
|
|
87
87
|
`;
|
|
88
88
|
}
|
|
@@ -10,21 +10,21 @@ export default meta;
|
|
|
10
10
|
export const FrontTextBackCol = {
|
|
11
11
|
args: {},
|
|
12
12
|
render: _ => {
|
|
13
|
-
const xml = `<main>
|
|
14
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
15
|
-
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
16
|
-
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
17
|
-
<lido-text slot="front" width="400px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="lion" visible="true" y="landscape.35px, portrait.15px" bg-color="red">
|
|
18
|
-
</lido-text>
|
|
19
|
-
<lido-col id="col5" slot="back" disable-edit="true" visible="true" width="300px" height="400px" bg-color="orange" type="" tab-index="6" dropAttr="diagonal" value="cat" onEntry="this.position='relative';" y="landscape.-50px,portrait.">
|
|
20
|
-
<lido-image visible="true" src="https://i0.wp.com/pixahive.com/wp-content/uploads/2021/02/Yellow-pattern-abstract-background-wallpaper-325431-pixahive.jpg?fit=778%2C435ssl=1" z="0" width="200px" height="300px" onEntry="">
|
|
21
|
-
</lido-image>
|
|
22
|
-
<lido-text width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="tiger" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
23
|
-
</lido-text>
|
|
24
|
-
</lido-col>
|
|
25
|
-
</lido-flash-card>
|
|
26
|
-
</lido-row>
|
|
27
|
-
</lido-container>
|
|
13
|
+
const xml = `<main>
|
|
14
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
15
|
+
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
16
|
+
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
17
|
+
<lido-text slot="front" width="400px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="lion" visible="true" y="landscape.35px, portrait.15px" bg-color="red">
|
|
18
|
+
</lido-text>
|
|
19
|
+
<lido-col id="col5" slot="back" disable-edit="true" visible="true" width="300px" height="400px" bg-color="orange" type="" tab-index="6" dropAttr="diagonal" value="cat" onEntry="this.position='relative';" y="landscape.-50px,portrait.">
|
|
20
|
+
<lido-image visible="true" src="https://i0.wp.com/pixahive.com/wp-content/uploads/2021/02/Yellow-pattern-abstract-background-wallpaper-325431-pixahive.jpg?fit=778%2C435ssl=1" z="0" width="200px" height="300px" onEntry="">
|
|
21
|
+
</lido-image>
|
|
22
|
+
<lido-text width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="tiger" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
23
|
+
</lido-text>
|
|
24
|
+
</lido-col>
|
|
25
|
+
</lido-flash-card>
|
|
26
|
+
</lido-row>
|
|
27
|
+
</lido-container>
|
|
28
28
|
</main>`;
|
|
29
29
|
return html `<lido-home xml-data="${xml}" xmlData="${xml}"></lido-home>`;
|
|
30
30
|
},
|
|
@@ -32,17 +32,17 @@ export const FrontTextBackCol = {
|
|
|
32
32
|
export const BothText = {
|
|
33
33
|
args: {},
|
|
34
34
|
render: _ => {
|
|
35
|
-
const xml = `<main>
|
|
36
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
37
|
-
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
38
|
-
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
39
|
-
<lido-text slot="front" width="400px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="lion" visible="true" y="landscape.35px, portrait.15px" bg-color="red">
|
|
40
|
-
</lido-text>
|
|
41
|
-
<lido-text slot="back" width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="tiger" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
42
|
-
</lido-text>
|
|
43
|
-
</lido-flash-card>
|
|
44
|
-
</lido-row>
|
|
45
|
-
</lido-container>
|
|
35
|
+
const xml = `<main>
|
|
36
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
37
|
+
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
38
|
+
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
39
|
+
<lido-text slot="front" width="400px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="lion" visible="true" y="landscape.35px, portrait.15px" bg-color="red">
|
|
40
|
+
</lido-text>
|
|
41
|
+
<lido-text slot="back" width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="tiger" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
42
|
+
</lido-text>
|
|
43
|
+
</lido-flash-card>
|
|
44
|
+
</lido-row>
|
|
45
|
+
</lido-container>
|
|
46
46
|
</main>`;
|
|
47
47
|
return html `<lido-home xml-data="${xml}" xmlData="${xml}"></lido-home>`;
|
|
48
48
|
},
|
|
@@ -50,17 +50,17 @@ export const BothText = {
|
|
|
50
50
|
export const BothImages = {
|
|
51
51
|
args: {},
|
|
52
52
|
render: _ => {
|
|
53
|
-
const xml = `<main>
|
|
54
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
55
|
-
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
56
|
-
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
57
|
-
<lido-image visible="true" slot="front" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Bird_Blue.png" z="0" width="200px" height="300px" onEntry="">
|
|
58
|
-
</lido-image>
|
|
59
|
-
<lido-image visible="true" slot="back" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Boat.png" z="0" width="200px" height="300px" onEntry="">
|
|
60
|
-
</lido-image>
|
|
61
|
-
</lido-flash-card>
|
|
62
|
-
</lido-row>
|
|
63
|
-
</lido-container>
|
|
53
|
+
const xml = `<main>
|
|
54
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
55
|
+
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
56
|
+
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
57
|
+
<lido-image visible="true" slot="front" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Bird_Blue.png" z="0" width="200px" height="300px" onEntry="">
|
|
58
|
+
</lido-image>
|
|
59
|
+
<lido-image visible="true" slot="back" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Boat.png" z="0" width="200px" height="300px" onEntry="">
|
|
60
|
+
</lido-image>
|
|
61
|
+
</lido-flash-card>
|
|
62
|
+
</lido-row>
|
|
63
|
+
</lido-container>
|
|
64
64
|
</main>`;
|
|
65
65
|
return html `<lido-home xml-data="${xml}" xmlData="${xml}"></lido-home>`;
|
|
66
66
|
},
|
|
@@ -68,17 +68,17 @@ export const BothImages = {
|
|
|
68
68
|
export const FrontImageBackText = {
|
|
69
69
|
args: {},
|
|
70
70
|
render: _ => {
|
|
71
|
-
const xml = `<main>
|
|
72
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
73
|
-
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
74
|
-
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
75
|
-
<lido-image visible="true" slot="front" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Bird_Blue.png" z="0" width="200px" height="300px" onEntry="">
|
|
76
|
-
</lido-image>
|
|
77
|
-
<lido-text slot="back" width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="Bird" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
78
|
-
</lido-text>
|
|
79
|
-
</lido-flash-card>
|
|
80
|
-
</lido-row>
|
|
81
|
-
</lido-container>
|
|
71
|
+
const xml = `<main>
|
|
72
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer3" objective="lion,crocodile,cow" bg-color="#B1BEFD" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000'; this.removeClone='.cloned-element'" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true" dropAttr="diagonal">
|
|
73
|
+
<lido-row visible="true" width="landscape.100%, portrait.338px" onEntry="" height="landscape.100%, portrait." y="landscape.340px, portrait.300px" x="landscape.,portrait.520px" direction="landscape.row, portrait.column">
|
|
74
|
+
<lido-flash-card x="50" y="200" width="220px" height="140px">
|
|
75
|
+
<lido-image visible="true" slot="front" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/thumbnails/sticker/Bird_Blue.png" z="0" width="200px" height="300px" onEntry="">
|
|
76
|
+
</lido-image>
|
|
77
|
+
<lido-text slot="back" width="300px" height="200px" display="flex" onEntry="" font-family="" font-size="48px" z="1" font-color="black" fontWeight="bold" color="#000000" string="Bird" visible="true" y="landscape.35px, portrait.15px" bg-color="yellow">
|
|
78
|
+
</lido-text>
|
|
79
|
+
</lido-flash-card>
|
|
80
|
+
</lido-row>
|
|
81
|
+
</lido-container>
|
|
82
82
|
</main>`;
|
|
83
83
|
return html `<lido-home xml-data="${xml}" xmlData="${xml}"></lido-home>`;
|
|
84
84
|
},
|
|
@@ -24,15 +24,15 @@ export const Keyboard = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
const getContainerXml = args => {
|
|
27
|
-
return `<main>
|
|
28
|
-
<lido-container objective="${args.objective}" is-continue-on-correct="true" drop-action="infinite-drop" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onInCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';">
|
|
29
|
-
<!-- Chimple Avatar -->
|
|
30
|
-
<lido-cell layout="pos" id="pos1" disable-edit="true" value="pos2" height="305px" width="227px" x="-50px" y="landscape.560px, portrait.1220px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="">
|
|
31
|
-
<lido-avatar id="lido-avatar" disable-edit="true" visible="true" height="462px" width="356px" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/chimplecharacter.riv" alt-text="{chimpleCharacterRive}">
|
|
32
|
-
</lido-avatar>
|
|
33
|
-
</lido-cell>
|
|
34
|
-
${args.type === 'drag' ? `<lido-text visible="true" string="Drag the letters to this boxes." font-family="'Baloo Bhai 2'" font-size="36px" bg-color="transparent" margin="0 0 20px 0" type="drop"></lido-text>` : ""}
|
|
35
|
-
<lido-keyboard visible="true" keys="${args.keys}" type="${args.type}" width="1000px" height="300px" keyboard-input="${args.keyboardInput === "enable" ? "true" : "false"}"></lido-keyboard>
|
|
36
|
-
</lido-container>
|
|
27
|
+
return `<main>
|
|
28
|
+
<lido-container highlight-word-by-word="true" objective="${args.objective}" is-continue-on-correct="true" drop-action="infinite-drop" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onInCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';">
|
|
29
|
+
<!-- Chimple Avatar -->
|
|
30
|
+
<lido-cell layout="pos" id="pos1" disable-edit="true" value="pos2" height="305px" width="227px" x="-50px" y="landscape.560px, portrait.1220px" aria-hidden="true" z="1" bg-color="transparent" visible="true" onEntry="">
|
|
31
|
+
<lido-avatar id="lido-avatar" disable-edit="true" visible="true" height="462px" width="356px" src="https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/temp2/chimplecharacter.riv" alt-text="{chimpleCharacterRive}">
|
|
32
|
+
</lido-avatar>
|
|
33
|
+
</lido-cell>
|
|
34
|
+
${args.type === 'drag' ? `<lido-text visible="true" string="Drag the letters to this boxes." font-family="'Baloo Bhai 2'" font-size="36px" bg-color="transparent" margin="0 0 20px 0" type="drop"></lido-text>` : ""}
|
|
35
|
+
<lido-keyboard visible="true" keys="${args.keys}" type="${args.type}" width="1000px" height="300px" keyboard-input="${args.keyboardInput === "enable" ? "true" : "false"}"></lido-keyboard>
|
|
36
|
+
</lido-container>
|
|
37
37
|
</main>`;
|
|
38
38
|
};
|
|
@@ -32,9 +32,9 @@ export const QuestionAndOptions = {
|
|
|
32
32
|
};
|
|
33
33
|
function getContainerXml(args) {
|
|
34
34
|
const { src, fillPercentage, fillDirection, min, max, division, numberType } = args;
|
|
35
|
-
return `<main>
|
|
36
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer1" objective="..." aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" bg-color="black" visible="true">
|
|
37
|
-
<lido-slide-fill fill="${fillPercentage}" width="500px" src="${src}" fillDirection="${fillDirection}" numberType="${numberType}" min="${min}" max="${max}" division="${division}" ></lido-slider-fill>
|
|
38
|
-
</lido-container>
|
|
35
|
+
return `<main>
|
|
36
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer1" objective="..." aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" bg-color="black" visible="true">
|
|
37
|
+
<lido-slide-fill fill="${fillPercentage}" width="500px" src="${src}" fillDirection="${fillDirection}" numberType="${numberType}" min="${min}" max="${max}" division="${division}" ></lido-slider-fill>
|
|
38
|
+
</lido-container>
|
|
39
39
|
</main>`;
|
|
40
40
|
}
|
|
@@ -20,10 +20,10 @@ export const QuestionAndOptions = {
|
|
|
20
20
|
function getContainerXml(args) {
|
|
21
21
|
let svgText = args.svgFile[0];
|
|
22
22
|
let mode = args.mode;
|
|
23
|
-
return `<main>
|
|
24
|
-
<lido-container id="lido-container" tab-index="1" value="mainContainer1" objective="D-6ba518e3,D-5a192ba3,D-b686f882,D-9095b74f,D-e0a32c78,D-1e4e88f1" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" bg-color="#FFB742" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true">
|
|
25
|
-
<lido-trace id="image1" tab-index="2" value="image1" visible="true" svgSource="${svgText}" mode="${mode}" z="0" width="1600px" height="900px" onEntry="" alt-text="{backgroundImage}">
|
|
26
|
-
</lido-trace>
|
|
27
|
-
</lido-container>
|
|
23
|
+
return `<main>
|
|
24
|
+
<lido-container highlight-word-by-word="true" id="lido-container" tab-index="1" value="mainContainer1" objective="D-6ba518e3,D-5a192ba3,D-b686f882,D-9095b74f,D-e0a32c78,D-1e4e88f1" aria-label="" height="100vh" width="100vw" x="0" y="0" z="0" bg-color="#FFB742" visible="true" audio="background1.mp3" onTouch="" onCorrect="lido-avatar.avatarAnimate='Success'; this.sleep='2000';" onEntry="" onInCorrect="lido-avatar.avatarAnimate='Fail'; this.sleep='2000';" show-check="false" is-continue-on-correct="true">
|
|
25
|
+
<lido-trace id="image1" tab-index="2" value="image1" visible="true" svgSource="${svgText}" mode="${mode}" z="0" width="1600px" height="900px" onEntry="" alt-text="{backgroundImage}">
|
|
26
|
+
</lido-trace>
|
|
27
|
+
</lido-container>
|
|
28
28
|
</main>`;
|
|
29
29
|
}
|
|
@@ -115,7 +115,7 @@ export class AudioPlayer {
|
|
|
115
115
|
return el;
|
|
116
116
|
return el.closest('lido-text');
|
|
117
117
|
}
|
|
118
|
-
async play(targetElement, suppressHighlight = false, playbackContext) {
|
|
118
|
+
async play(targetElement, suppressHighlight = false, playbackContext, fallbackAudio) {
|
|
119
119
|
this.registerVisibilityEvents();
|
|
120
120
|
this.playbackHasStarted = false;
|
|
121
121
|
if (!this.isWindowVisible()) {
|
|
@@ -218,7 +218,12 @@ export class AudioPlayer {
|
|
|
218
218
|
};
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
|
-
catch (error) {
|
|
221
|
+
catch (error) {
|
|
222
|
+
if (fallbackAudio && fallbackAudio !== audioUrl) {
|
|
223
|
+
targetElement.setAttribute('audio', fallbackAudio);
|
|
224
|
+
await this.play(targetElement, suppressHighlight, playbackContext);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
222
227
|
finally {
|
|
223
228
|
this.audioElement.onended = null;
|
|
224
229
|
this.audioElement.onloadedmetadata = null;
|
|
@@ -432,7 +437,9 @@ export class AudioPlayer {
|
|
|
432
437
|
const duration = timeline[timeline.length - 1].endMs - timeline[0].startMs;
|
|
433
438
|
const averageWordMs = duration / timeline.length;
|
|
434
439
|
const speedLead = averageWordMs < 190 ? 120 : averageWordMs < 260 ? 90 : 60;
|
|
435
|
-
|
|
440
|
+
// Advance the estimated highlight slightly to compensate for perceived lag.
|
|
441
|
+
const playbackLeadAdjustmentMs = 40;
|
|
442
|
+
return Math.max(profile.preemptiveOffsetMs, speedLead) + playbackLeadAdjustmentMs;
|
|
436
443
|
}
|
|
437
444
|
getTimelineIndex(timeline, currentMs) {
|
|
438
445
|
if (!timeline.length)
|
|
@@ -20,6 +20,12 @@ export const LidoContainer = 'lido-container';
|
|
|
20
20
|
export const LangChangeEvent = 'languageChanged';
|
|
21
21
|
export const LIDO_COMMON_AUDIO_PATH = '__LIDO_COMMON_AUDIO_PATH__';
|
|
22
22
|
export const LIDO_COMMON_AUDIO_READY_EVENT = 'lidoCommonAudioPathReady';
|
|
23
|
+
export const GOOD_JOB_AUDIO_FILE = 'goodJob.mp3';
|
|
24
|
+
export const resolveCommonAudioPath = (basePath, fileName) => {
|
|
25
|
+
if (!basePath || !fileName)
|
|
26
|
+
return undefined;
|
|
27
|
+
return `${basePath}/${fileName}`;
|
|
28
|
+
};
|
|
23
29
|
export const LIDO_INTERACTION_CLEANUP_EVENT = 'lido:interaction-cleanup';
|
|
24
30
|
export const TemplateID = 'template-id';
|
|
25
31
|
export const CalculatorOk = 'calculator-ok';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActivityScoreKey, DragMapKey, SelectedValuesKey, DropMode, DropToAttr, DropTimeAttr, LidoContainer, DropAction, CalculatorOk } from "./constants";
|
|
1
|
+
import { ActivityScoreKey, DragMapKey, SelectedValuesKey, DropMode, DropToAttr, DropTimeAttr, LidoContainer, DropAction, CalculatorOk, LIDO_COMMON_AUDIO_PATH, resolveCommonAudioPath, GOOD_JOB_AUDIO_FILE } from "./constants";
|
|
2
2
|
import { dispatchActivityEndEvent, dispatchGameCompletedEvent, dispatchLessonEndEvent, dispatchNextContainerEvent, dispatchPrevContainerEvent } from "./customEvents";
|
|
3
3
|
import GameScore from "./constants";
|
|
4
4
|
import { RiveService } from "./rive-service";
|
|
@@ -17,6 +17,44 @@ import { handlingMatrix } from "./utilsHandlers/matrixHandler";
|
|
|
17
17
|
import { balanceResult } from "./utilsHandlers/lidoBalanceHandler";
|
|
18
18
|
import { ACTIVYTY_TIME_SPEND_ARRAY, Timer } from "./utilsHandlers/timer";
|
|
19
19
|
const gameScore = new GameScore();
|
|
20
|
+
const GOOD_JOB_TEMPLATES = new Set(['flashcardtemplate', 'writeCard', 'drawShape', 'storyTale']);
|
|
21
|
+
export const isGoodJobAudioTarget = (element) => {
|
|
22
|
+
var _a;
|
|
23
|
+
const templateId = (_a = element === null || element === void 0 ? void 0 : element.closest('lido-container')) === null || _a === void 0 ? void 0 : _a.getAttribute('template-id');
|
|
24
|
+
if (!GOOD_JOB_TEMPLATES.has(templateId || ''))
|
|
25
|
+
return false;
|
|
26
|
+
if ((element === null || element === void 0 ? void 0 : element.id) === 'arrow')
|
|
27
|
+
return true;
|
|
28
|
+
return templateId === 'storyTale' && (element === null || element === void 0 ? void 0 : element.id) === 'arrow1' && !!element.closest('#arrow');
|
|
29
|
+
};
|
|
30
|
+
export const resetGoodJobAudioTracking = (home) => {
|
|
31
|
+
home.__lidoGoodJobTemplates = new Set();
|
|
32
|
+
};
|
|
33
|
+
export const shouldPlayGoodJobAudio = (element) => {
|
|
34
|
+
var _a;
|
|
35
|
+
if (!isGoodJobAudioTarget(element))
|
|
36
|
+
return false;
|
|
37
|
+
// Standalone templates and editor previews have no lesson host. Preserve
|
|
38
|
+
// their existing behavior rather than making them depend on lido-home.
|
|
39
|
+
const home = element.closest('lido-home');
|
|
40
|
+
if (!home)
|
|
41
|
+
return true;
|
|
42
|
+
const templateId = (_a = element.closest('lido-container')) === null || _a === void 0 ? void 0 : _a.getAttribute('template-id');
|
|
43
|
+
if (!templateId)
|
|
44
|
+
return true;
|
|
45
|
+
const played = home.__lidoGoodJobTemplates || (home.__lidoGoodJobTemplates = new Set());
|
|
46
|
+
if (played.has(templateId))
|
|
47
|
+
return false;
|
|
48
|
+
played.add(templateId);
|
|
49
|
+
return true;
|
|
50
|
+
};
|
|
51
|
+
export const getGoodJobAudio = (element) => {
|
|
52
|
+
if (!element)
|
|
53
|
+
return undefined;
|
|
54
|
+
if (!isGoodJobAudioTarget(element))
|
|
55
|
+
return undefined;
|
|
56
|
+
return resolveCommonAudioPath(window[LIDO_COMMON_AUDIO_PATH], GOOD_JOB_AUDIO_FILE);
|
|
57
|
+
};
|
|
20
58
|
export function buildDragSelectedMapFromDOM() {
|
|
21
59
|
const map = {};
|
|
22
60
|
const draggedEls = document.querySelectorAll(`[${DropToAttr}]`);
|
|
@@ -151,6 +189,22 @@ export const initEventsForElement = async (element, type) => {
|
|
|
151
189
|
}
|
|
152
190
|
onTouchListenerForOnTouch(element);
|
|
153
191
|
};
|
|
192
|
+
/**
|
|
193
|
+
* Re-enable the gameplay handlers for interactive children that were created
|
|
194
|
+
* while the player was in edit mode. This is intentionally limited to the
|
|
195
|
+
* drag/drop elements used by Food Jar; other templates retain their existing
|
|
196
|
+
* component-load initialization path.
|
|
197
|
+
*/
|
|
198
|
+
export const initializePlayModeDragDropElements = async (root) => {
|
|
199
|
+
const elements = root.querySelectorAll('[type="drag"], [type="drop"]');
|
|
200
|
+
for (const element of Array.from(elements)) {
|
|
201
|
+
const type = element.getAttribute('type') || undefined;
|
|
202
|
+
const initializedElement = element;
|
|
203
|
+
if (initializedElement.__lidoInitializationKey === `${type || ''}:true`)
|
|
204
|
+
continue;
|
|
205
|
+
await initEventsForElement(element, type);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
154
208
|
// Function to execute actions parsed from the onMatch string
|
|
155
209
|
export const executeActions = async (actionsString, thisElement, element, options = {}) => {
|
|
156
210
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -224,7 +278,21 @@ export const executeActions = async (actionsString, thisElement, element, option
|
|
|
224
278
|
const val = (action.value || '').toString().trim().toLowerCase();
|
|
225
279
|
if (val === 'true' || val === '1' || val === 'yes') {
|
|
226
280
|
try {
|
|
227
|
-
|
|
281
|
+
if (isGoodJobAudioTarget(targetElement) && !shouldPlayGoodJobAudio(targetElement))
|
|
282
|
+
break;
|
|
283
|
+
const isGoodJobTarget = isGoodJobAudioTarget(targetElement);
|
|
284
|
+
const currentAudio = targetElement.getAttribute('audio') || undefined;
|
|
285
|
+
const originalAudio = isGoodJobTarget
|
|
286
|
+
? (targetElement.getAttribute('data-lido-original-audio') || currentAudio)
|
|
287
|
+
: currentAudio;
|
|
288
|
+
const localizedAudio = getGoodJobAudio(targetElement);
|
|
289
|
+
if (localizedAudio) {
|
|
290
|
+
if (currentAudio && !targetElement.hasAttribute('data-lido-original-audio')) {
|
|
291
|
+
targetElement.setAttribute('data-lido-original-audio', currentAudio);
|
|
292
|
+
}
|
|
293
|
+
targetElement.setAttribute('audio', localizedAudio);
|
|
294
|
+
}
|
|
295
|
+
await AudioPlayer.getI().play(targetElement, false, undefined, originalAudio);
|
|
228
296
|
}
|
|
229
297
|
catch (err) {
|
|
230
298
|
console.error('Error playing audio for speak action:', err);
|
|
@@ -434,12 +502,25 @@ const afterDropDragHandling = (dragElement, dropElement) => {
|
|
|
434
502
|
const element = dragElement;
|
|
435
503
|
const isAppend = container.getAttribute('drop-action') === DropAction.Move;
|
|
436
504
|
const isInfinite = container.getAttribute('drop-action') === DropAction.InfiniteDrop;
|
|
505
|
+
const isCreateSentence = container.getAttribute('template-id') === 'createSentence';
|
|
506
|
+
// Reserve the source slot synchronously so an overlapping drag sees the
|
|
507
|
+
// updated source layout before the dropped element is reparented.
|
|
508
|
+
let sourcePlaceholder = null;
|
|
509
|
+
if (isAppend && isCreateSentence) {
|
|
510
|
+
const computedStyle = window.getComputedStyle(dragElement);
|
|
511
|
+
sourcePlaceholder = document.createElement('div');
|
|
512
|
+
sourcePlaceholder.style.width = `${dragElement.offsetWidth}px`;
|
|
513
|
+
sourcePlaceholder.style.height = `${dragElement.offsetHeight}px`;
|
|
514
|
+
sourcePlaceholder.style.margin = computedStyle.margin;
|
|
515
|
+
sourcePlaceholder.style.visibility = 'hidden';
|
|
516
|
+
dragElement.replaceWith(sourcePlaceholder);
|
|
517
|
+
}
|
|
437
518
|
if (isAppend || isInfinite) {
|
|
438
|
-
|
|
519
|
+
const finishDrop = () => {
|
|
439
520
|
var _a, _b;
|
|
440
521
|
dragElement.style.transform = 'translate(0,0)';
|
|
441
522
|
dragElement.style.transition = '';
|
|
442
|
-
let dummyElement = document.createElement('div');
|
|
523
|
+
let dummyElement = sourcePlaceholder || document.createElement('div');
|
|
443
524
|
if (isInfinite) {
|
|
444
525
|
dummyElement = cloneElementWithComputedStyles(dragElement);
|
|
445
526
|
dummyElement.classList.remove('dropped');
|
|
@@ -454,17 +535,25 @@ const afterDropDragHandling = (dragElement, dropElement) => {
|
|
|
454
535
|
}, 100);
|
|
455
536
|
}
|
|
456
537
|
dummyElement.setAttribute('id', dragElement.getAttribute('id'));
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
538
|
+
if (!sourcePlaceholder) {
|
|
539
|
+
dragElement.replaceWith(dummyElement);
|
|
540
|
+
}
|
|
541
|
+
const keyframes = `
|
|
542
|
+
@keyframes widthDecrease {
|
|
543
|
+
0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
|
|
544
|
+
100% { width: 0px; height: 0px; margin: 0px;}
|
|
545
|
+
}
|
|
463
546
|
`;
|
|
464
547
|
if (!isInfinite) {
|
|
465
|
-
dummyElement.style.width =
|
|
466
|
-
|
|
467
|
-
|
|
548
|
+
dummyElement.style.width = sourcePlaceholder
|
|
549
|
+
? sourcePlaceholder.style.width
|
|
550
|
+
: element.style.width;
|
|
551
|
+
dummyElement.style.height = sourcePlaceholder
|
|
552
|
+
? sourcePlaceholder.style.height
|
|
553
|
+
: element.style.height;
|
|
554
|
+
dummyElement.style.margin = sourcePlaceholder
|
|
555
|
+
? sourcePlaceholder.style.margin
|
|
556
|
+
: element.style.margin;
|
|
468
557
|
const styleSheet = document.styleSheets[0];
|
|
469
558
|
styleSheet.insertRule(keyframes, styleSheet.cssRules.length);
|
|
470
559
|
dummyElement.style.animation = `widthDecrease 0.5s`;
|
|
@@ -494,7 +583,13 @@ const afterDropDragHandling = (dragElement, dropElement) => {
|
|
|
494
583
|
const scaledLeft = (dropCenterX - dragCenterX) / containerScale;
|
|
495
584
|
const scaledTop = (dropCenterY - dragCenterY) / containerScale;
|
|
496
585
|
dragElement.style.transform = `translate(${scaledLeft}px, ${scaledTop}px)`;
|
|
497
|
-
}
|
|
586
|
+
};
|
|
587
|
+
if (isAppend && isCreateSentence) {
|
|
588
|
+
finishDrop();
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
setTimeout(finishDrop, 700);
|
|
592
|
+
}
|
|
498
593
|
}
|
|
499
594
|
};
|
|
500
595
|
// function cloneElementWithComputedStyles(originalEl: HTMLElement): HTMLElement {
|
|
@@ -970,14 +970,14 @@ export async function onClickDropOrDragElement(element, type) {
|
|
|
970
970
|
if (!document.querySelector('#dynamic-highlight-style')) {
|
|
971
971
|
const style = document.createElement('style');
|
|
972
972
|
style.id = 'dynamic-highlight-style';
|
|
973
|
-
style.innerHTML = `
|
|
974
|
-
.highlight {
|
|
975
|
-
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
976
|
-
// border-radius: 12px; /* Larger rounded corners */
|
|
977
|
-
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
978
|
-
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
979
|
-
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
980
|
-
}
|
|
973
|
+
style.innerHTML = `
|
|
974
|
+
.highlight {
|
|
975
|
+
// border: 4px solid #e74c3c; /* Thicker red border for more visibility */
|
|
976
|
+
// border-radius: 12px; /* Larger rounded corners */
|
|
977
|
+
// background-color: rgba(231, 76, 60, 0.3); /* Stronger, more noticeable background */
|
|
978
|
+
// box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2), 0 12px 40px rgba(0, 0, 0, 0.2); /* Stronger shadow */
|
|
979
|
+
// outline: 4px solid rgba(231, 76, 60, 0.6); /* Glow effect */
|
|
980
|
+
}
|
|
981
981
|
`;
|
|
982
982
|
document.head.appendChild(style);
|
|
983
983
|
}
|