lido-player 0.0.2-beta-21-dev → 0.0.2-beta-23-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.
Files changed (233) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/{decode-Buln7Iaf.js → decode-BDs2S8om.js} +1 -1
  3. package/dist/cjs/{index-Bb_TFgTA.js → index-D5olYRJo.js} +274 -89
  4. package/dist/cjs/{index-DBCFoh1I.js → index-DnaH8sO-.js} +1 -1
  5. package/dist/cjs/index.cjs.js +2 -2
  6. package/dist/cjs/lido-avatar_22.cjs.entry.js +190 -46
  7. package/dist/cjs/lido-player.cjs.js +2 -2
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/collection/components/avatar/lido-avatar.css +4 -4
  10. package/dist/collection/components/avatar/lido-avatar.js +1 -1
  11. package/dist/collection/components/avatar/lido-avatar.tsx +207 -207
  12. package/dist/collection/components/avatar/readme.md +49 -49
  13. package/dist/collection/components/calculator/lido-calculator.css +89 -89
  14. package/dist/collection/components/calculator/lido-calculator.js +2 -2
  15. package/dist/collection/components/canvas/lido-canvas.css +33 -33
  16. package/dist/collection/components/canvas/lido-canvas.js +1 -1
  17. package/dist/collection/components/cell/lido-cell.css +100 -100
  18. package/dist/collection/components/cell/lido-cell.js +12 -12
  19. package/dist/collection/components/column/lido-col.css +19 -19
  20. package/dist/collection/components/column/lido-col.js +6 -6
  21. package/dist/collection/components/container/lido-container.css +10 -10
  22. package/dist/collection/components/container/lido-container.js +8 -8
  23. package/dist/collection/components/flashCard/lido-flash-card.css +46 -28
  24. package/dist/collection/components/flashCard/lido-flash-card.js +158 -14
  25. package/dist/collection/components/float/lido-float.css +30 -30
  26. package/dist/collection/components/float/lido-float.js +2 -2
  27. package/dist/collection/components/home/lido-home.css +309 -309
  28. package/dist/collection/components/home/lido-home.js +9 -6
  29. package/dist/collection/components/image/lido-image.css +17 -17
  30. package/dist/collection/components/image/lido-image.js +6 -6
  31. package/dist/collection/components/keyboard/lido-keyboard.css +38 -38
  32. package/dist/collection/components/keyboard/lido-keyboard.js +3 -3
  33. package/dist/collection/components/mathMatrix/lido-math-matrix.css +56 -56
  34. package/dist/collection/components/mathMatrix/lido-math-matrix.js +1 -1
  35. package/dist/collection/components/position/lido-pos.css +16 -16
  36. package/dist/collection/components/position/lido-pos.js +2 -2
  37. package/dist/collection/components/random/lido-random.css +8 -8
  38. package/dist/collection/components/random/lido-random.js +2 -2
  39. package/dist/collection/components/root/lido-root.js +5 -5
  40. package/dist/collection/components/row/lido-row.css +10 -10
  41. package/dist/collection/components/row/lido-row.js +6 -6
  42. package/dist/collection/components/scale/assets/Shadow.svg +9 -9
  43. package/dist/collection/components/scale/lido-balance.css +174 -145
  44. package/dist/collection/components/scale/lido-balance.js +54 -14
  45. package/dist/collection/components/shape/lido-shape.css +216 -216
  46. package/dist/collection/components/shape/lido-shape.js +6 -6
  47. package/dist/collection/components/slideFill/lido-slide-fill.css +3 -3
  48. package/dist/collection/components/slideFill/lido-slide-fill.js +13 -13
  49. package/dist/collection/components/text/lido-text.css +53 -53
  50. package/dist/collection/components/text/lido-text.js +5 -5
  51. package/dist/collection/components/trace/assets/Tracing-hand.svg +8 -8
  52. package/dist/collection/components/trace/lido-trace.css +97 -97
  53. package/dist/collection/components/trace/lido-trace.js +3 -3
  54. package/dist/collection/components/wrap/lido-wrap.css +18 -18
  55. package/dist/collection/components/wrap/lido-wrap.js +6 -6
  56. package/dist/collection/css/animation.css +211 -211
  57. package/dist/collection/css/index.css +323 -323
  58. package/dist/collection/stories/Templates/Fill-Up/fill-up.stories.js +61 -61
  59. package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +123 -123
  60. package/dist/collection/stories/Templates/RocketGame/rocketGame.stories.js +48 -48
  61. package/dist/collection/stories/Templates/Tag/tagGame.stories.js +39 -39
  62. package/dist/collection/stories/Templates/arrangeLetters/arrangeLetters.stories.js +44 -44
  63. package/dist/collection/stories/Templates/balancing/balancing.stories.js +35 -35
  64. package/dist/collection/stories/Templates/balloonPop/balloonPop.stories.js +38 -38
  65. package/dist/collection/stories/Templates/blender/blender.stories.js +59 -59
  66. package/dist/collection/stories/Templates/bubbleType/bubbleType.stories.js +42 -42
  67. package/dist/collection/stories/Templates/calculator/calculator.stories.js +28 -28
  68. package/dist/collection/stories/Templates/categorize/categorize.stories.js +37 -37
  69. package/dist/collection/stories/Templates/categorize2/categorize2.stories.js +67 -67
  70. package/dist/collection/stories/Templates/checker-block/checkerBlock.stories.js +29 -29
  71. package/dist/collection/stories/Templates/checkerBlock/checkerBlock.stories.js +13 -13
  72. package/dist/collection/stories/Templates/create-sentence/createSentence.stories.js +74 -74
  73. package/dist/collection/stories/Templates/dragAndDrop/drag-drop.stories.js +69 -69
  74. package/dist/collection/stories/Templates/fillAnswer/fill-answer.stories.js +43 -43
  75. package/dist/collection/stories/Templates/fillBlank/fill-blank.stories.js +282 -282
  76. package/dist/collection/stories/Templates/foodJar/food-jar.stories.js +35 -35
  77. package/dist/collection/stories/Templates/grid/grid.stories.js +118 -118
  78. package/dist/collection/stories/Templates/gridGame/grid-game.stories.js +57 -57
  79. package/dist/collection/stories/Templates/imageMatch/imageMatch.stories.js +44 -44
  80. package/dist/collection/stories/Templates/jumpSentence/jumpSentence.stories.js +41 -41
  81. package/dist/collection/stories/Templates/letterboard/letterboard.stories.js +183 -183
  82. package/dist/collection/stories/Templates/makeSentence/make-sentence.stories.js +36 -36
  83. package/dist/collection/stories/Templates/matchBox/matchBox.stories.js +69 -69
  84. package/dist/collection/stories/Templates/matchBox/matchBox2.stories.js +84 -84
  85. package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +31 -31
  86. package/dist/collection/stories/Templates/multipleOption/mcqWithQuestionImage.stories.js +112 -112
  87. package/dist/collection/stories/Templates/multipleOption/multiple-option.stories.js +47 -47
  88. package/dist/collection/stories/Templates/multiplyBeeds/multiplyBeeds.stories.js +57 -57
  89. package/dist/collection/stories/Templates/nimbleTable/nimbleTable.stories.js +53 -53
  90. package/dist/collection/stories/Templates/numberBoard/numberBoard.stories.js +46 -46
  91. package/dist/collection/stories/Templates/numberBoardTwo/numberBoardTwo.stories.js +45 -45
  92. package/dist/collection/stories/Templates/numberIdentification/numberIdentificationimageTotext.stories.js +56 -56
  93. package/dist/collection/stories/Templates/numberIdentification/numberIdentificationtextTotext.stories.js +53 -53
  94. package/dist/collection/stories/Templates/numberPair/numberPair.stories.js +127 -127
  95. package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +47 -47
  96. package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +38 -38
  97. package/dist/collection/stories/Templates/order-tractor/order-tractor-ascending-order.stories.js +97 -97
  98. package/dist/collection/stories/Templates/order-tractor/order-tractor.stories.js +90 -90
  99. package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaMultiOption.stories.js +63 -63
  100. package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaSumTogether.stories.js +45 -45
  101. package/dist/collection/stories/Templates/palEgmaPatternMatching/palEgmaPatternMatching.stories.js +63 -63
  102. package/dist/collection/stories/Templates/palEgmaWordProblem/palEgmaWordProblem.stories.js +79 -79
  103. package/dist/collection/stories/Templates/palEgraInventedSpelling/pal_egra_invented_spelling_schema.stories.js +32 -32
  104. package/dist/collection/stories/Templates/palEgraMCQWithImage/palEgraMCQWithImage.stories.js +42 -42
  105. package/dist/collection/stories/Templates/palEgraOptionWithAudio/palEgraOptionWithAudio.stories.js +63 -63
  106. package/dist/collection/stories/Templates/palEgraStoryMaking/pal_egra_story_making.stories.js +44 -44
  107. package/dist/collection/stories/Templates/palEgraTemplate1/palEgraLetterIdentification.stories.js +34 -34
  108. package/dist/collection/stories/Templates/palEgraWordMatch/palEgraWordMatch.stories.js +52 -52
  109. package/dist/collection/stories/Templates/palEgra_OddOneOut/palEgra_oddOneOut.stories.js +33 -33
  110. package/dist/collection/stories/Templates/palEgra_arrange_pictures/palEgra_arrange_pictures.stories.js +40 -40
  111. package/dist/collection/stories/Templates/palEgra_build_word/palEgra_build_word.stories.js +48 -48
  112. package/dist/collection/stories/Templates/palEgra_word_formation/palEgra_WordFormation.stories.js +48 -48
  113. package/dist/collection/stories/Templates/palStorytale/palStorytale.stories.js +18 -18
  114. package/dist/collection/stories/Templates/phonic-tractor/phonic-tractor.stories.js +44 -44
  115. package/dist/collection/stories/Templates/pictureClues/pictureClues.stories.js +34 -34
  116. package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch1.stories.js +36 -36
  117. package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch2.stories.js +30 -30
  118. package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +20 -20
  119. package/dist/collection/stories/Templates/puzzleGame/puzzleGame.stories.js +17 -17
  120. package/dist/collection/stories/Templates/questionBoard/questionBoard.stories.js +58 -58
  121. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracy.stories.js +50 -50
  122. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWithText.stories.js +36 -36
  123. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWord.stories.js +43 -43
  124. package/dist/collection/stories/Templates/quizMaths/quizMaths.stories.js +631 -631
  125. package/dist/collection/stories/Templates/reorder/reorder.stories.js +63 -63
  126. package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +47 -47
  127. package/dist/collection/stories/Templates/sentenceMatch/sentenceMatch.stories.js +29 -29
  128. package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +64 -64
  129. package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +62 -62
  130. package/dist/collection/stories/Templates/shapePair/shape-pair.stories.js +106 -106
  131. package/dist/collection/stories/Templates/shapeTractor/shape-tractor.stories.js +50 -50
  132. package/dist/collection/stories/Templates/spellDoor/spellDoor.stories.js +41 -41
  133. package/dist/collection/stories/Templates/storyTale/storyTale.stories.js +39 -39
  134. package/dist/collection/stories/Templates/substraction/substractionWithimg.stories.js +62 -62
  135. package/dist/collection/stories/Templates/substraction/substractionWithoutImg.stories.js +42 -42
  136. package/dist/collection/stories/Templates/sumTogether/sumTogether.stories.js +50 -50
  137. package/dist/collection/stories/Templates/tenBox/tenBox.stories.js +88 -88
  138. package/dist/collection/stories/Templates/total/total.stories.js +28 -28
  139. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithimg.stories.js +35 -35
  140. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithoutimg.stories.js +34 -34
  141. package/dist/collection/stories/Templates/writeCard/writeCard.stories.js +31 -31
  142. package/dist/collection/stories/Templates/writeLetter/writeLetter.stories.js +58 -58
  143. package/dist/collection/stories/Templates/writeNumber/writeNumber.stories.js +44 -44
  144. package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +31 -31
  145. package/dist/collection/stories/Templates/writeWord/writeWord.stories.js +34 -34
  146. package/dist/collection/stories/components/flash-card.stories.js +48 -48
  147. package/dist/collection/stories/components/keyboard.stories.js +10 -10
  148. package/dist/collection/stories/components/slider.stories.js +4 -4
  149. package/dist/collection/stories/components/trace.stories.js +5 -5
  150. package/dist/collection/utils/audioPlayer.js +9 -12
  151. package/dist/collection/utils/utils.js +24 -8
  152. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +145 -30
  153. package/dist/collection/utils/utilsHandlers/highlightHandler.js +54 -54
  154. package/dist/collection/utils/utilsHandlers/lidoBalanceHandler.js +58 -1
  155. package/dist/collection/utils/utilsHandlers/sortHandler.js +10 -10
  156. package/dist/components/index.js +1 -1
  157. package/dist/components/lido-avatar.js +1 -1
  158. package/dist/components/lido-balance.js +1 -1
  159. package/dist/components/lido-calculator.js +1 -1
  160. package/dist/components/lido-canvas.js +1 -1
  161. package/dist/components/lido-cell.js +1 -1
  162. package/dist/components/lido-col.js +1 -1
  163. package/dist/components/lido-container.js +1 -1
  164. package/dist/components/lido-flash-card.js +1 -1
  165. package/dist/components/lido-float.js +1 -1
  166. package/dist/components/lido-home.js +1 -1
  167. package/dist/components/lido-keyboard.js +1 -1
  168. package/dist/components/lido-math-matrix.js +1 -1
  169. package/dist/components/lido-pos.js +1 -1
  170. package/dist/components/lido-random.js +1 -1
  171. package/dist/components/lido-root.js +1 -1
  172. package/dist/components/lido-row.js +1 -1
  173. package/dist/components/lido-shape.js +1 -1
  174. package/dist/components/lido-slide-fill.js +1 -1
  175. package/dist/components/lido-text.js +1 -1
  176. package/dist/components/lido-trace.js +1 -1
  177. package/dist/components/lido-wrap.js +1 -1
  178. package/dist/components/{p-BOQDbCrm.js → p-BJiyBHYT.js} +1 -1
  179. package/dist/components/{p-CTlcpv4a.js → p-BfwUqpXc.js} +1 -1
  180. package/dist/components/p-BiBt9LGP.js +1 -0
  181. package/dist/components/{p-CgsPIpg0.js → p-Bw-OC9iR.js} +1 -1
  182. package/dist/components/{p-B4YAipq-.js → p-CFzvgrMa.js} +1 -1
  183. package/dist/components/{p-C5WmmkI6.js → p-CPYnt0P-.js} +1 -1
  184. package/dist/components/{p-CCR42e0i.js → p-ChfVUoX4.js} +1 -1
  185. package/dist/components/{p-BeRr8u5m.js → p-CwDTdXe5.js} +1 -1
  186. package/dist/components/{p-CXHPZN3m.js → p-CyGxEcn7.js} +1 -1
  187. package/dist/components/p-D0cGjo5e.js +1 -0
  188. package/dist/components/{p-BJMjg5wu.js → p-D2GhaM-T.js} +1 -1
  189. package/dist/components/{p-BBHM059l.js → p-DDS30M3y.js} +1 -1
  190. package/dist/components/p-DP6jQ5ML.js +1 -0
  191. package/dist/components/{p-CljvnHkI.js → p-DZRNZCPt.js} +1 -1
  192. package/dist/components/p-DbR5sNOj.js +1 -0
  193. package/dist/components/{p-B8nzzM8c.js → p-DdQ1eqJr.js} +1 -1
  194. package/dist/components/{p-wF7SBGpr.js → p-Ds-d6wd0.js} +2 -2
  195. package/dist/components/p-Lg85waqZ.js +1 -0
  196. package/dist/components/p-leIEepjl.js +1 -0
  197. package/dist/components/{p-C70ykycD.js → p-useuhkjH.js} +1 -1
  198. package/dist/esm/{decode-B_VrYFdJ.js → decode-CAwfe7ub.js} +1 -1
  199. package/dist/esm/{index-mMpK8062.js → index-Dvjbti-h.js} +1 -1
  200. package/dist/esm/{index-B-VyHxJa.js → index-bo7729YG.js} +274 -89
  201. package/dist/esm/index.js +2 -2
  202. package/dist/esm/lido-avatar_22.entry.js +190 -46
  203. package/dist/esm/lido-player.js +3 -3
  204. package/dist/esm/loader.js +3 -3
  205. package/dist/lido-player/assets/Shadow.svg +9 -9
  206. package/dist/lido-player/assets/Tracing-hand.svg +8 -8
  207. package/dist/lido-player/index.esm.js +1 -1
  208. package/dist/lido-player/lido-avatar.css +4 -4
  209. package/dist/lido-player/lido-avatar.tsx +207 -207
  210. package/dist/lido-player/lido-player.css +7 -7
  211. package/dist/lido-player/lido-player.esm.js +1 -1
  212. package/dist/lido-player/p-461a3d23.entry.js +12 -0
  213. package/dist/lido-player/{p-Cw84dpIR.js → p-D4kAEWCU.js} +1 -1
  214. package/dist/lido-player/p-Dvjbti-h.js +2 -0
  215. package/dist/lido-player/p-VRJMO_sg.js +1 -0
  216. package/dist/lido-player/readme.md +49 -49
  217. package/dist/types/components/flashCard/lido-flash-card.d.ts +14 -0
  218. package/dist/types/components/scale/lido-balance.d.ts +5 -0
  219. package/dist/types/components.d.ts +10 -0
  220. package/dist/types/types/json.d.ts +3 -3
  221. package/dist/types/utils/audioPlayer.d.ts +1 -1
  222. package/dist/types/utils/utilsHandlers/lidoBalanceHandler.d.ts +10 -0
  223. package/package.json +74 -74
  224. package/readme.md +113 -113
  225. package/dist/components/p-BAfFgI9q.js +0 -1
  226. package/dist/components/p-BfqihbR6.js +0 -1
  227. package/dist/components/p-CwIlwnQk.js +0 -1
  228. package/dist/components/p-DLyacZap.js +0 -1
  229. package/dist/components/p-DONbWJGn.js +0 -1
  230. package/dist/components/p-DVTigdH_.js +0 -1
  231. package/dist/lido-player/p-744dee1c.entry.js +0 -12
  232. package/dist/lido-player/p-BK926Rl3.js +0 -1
  233. package/dist/lido-player/p-mMpK8062.js +0 -2
@@ -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 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 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 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 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 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 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 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 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
  }
@@ -114,7 +114,7 @@ export class AudioPlayer {
114
114
  return el;
115
115
  return el.closest('lido-text');
116
116
  }
117
- async play(targetElement) {
117
+ async play(targetElement, suppressHighlight = false) {
118
118
  this.registerVisibilityEvents();
119
119
  this.playbackHasStarted = false;
120
120
  if (!this.isWindowVisible()) {
@@ -138,11 +138,6 @@ export class AudioPlayer {
138
138
  console.warn('[AudioPlayer] No lido-container found');
139
139
  return;
140
140
  }
141
- // Check if speaking is disabled on the target element or its closest lido-text parent
142
- const text = targetElement.closest('lido-text');
143
- // if(text && text.getAttribute('disable-speak')==='true'){
144
- // return;
145
- // }
146
141
  if (container.getAttribute('highlight-word-by-word') === 'true') {
147
142
  const textElement = this.getLidoTextElement(targetElement);
148
143
  if (!textElement) {
@@ -154,6 +149,7 @@ export class AudioPlayer {
154
149
  targetElement = textElement;
155
150
  }
156
151
  this.currentTargetElement = targetElement;
152
+ window.dispatchEvent(new CustomEvent('lidoAudioStarted', { detail: { target: targetElement } }));
157
153
  // then play the target element audio.
158
154
  let audioUrl = targetElement.getAttribute('audio') || '';
159
155
  // If no direct audio attribute, check childrens for audio
@@ -203,7 +199,8 @@ export class AudioPlayer {
203
199
  this.wordRects = this.computeWordRects(targetElement);
204
200
  }
205
201
  else {
206
- highlightSpeakingElement(targetElement);
202
+ if (!suppressHighlight)
203
+ highlightSpeakingElement(targetElement);
207
204
  }
208
205
  // PLAY ONCE
209
206
  await this.audioElement.play();
@@ -227,18 +224,17 @@ export class AudioPlayer {
227
224
  this.audioElement.onended = null; // cleanup
228
225
  setDraggingDisabled(false);
229
226
  if (container.getAttribute('highlight-word-by-word') !== 'true') {
230
- stopHighlightForSpeakingElement(targetElement);
227
+ if (!suppressHighlight)
228
+ stopHighlightForSpeakingElement(targetElement);
231
229
  }
232
230
  }
233
231
  }
234
232
  // If no audio, use text-to-speech
235
233
  else if (targetElement.textContent) {
236
234
  try {
237
- highlightSpeakingElement(targetElement);
238
- // window.addEventListener('click', this.handleUserClick, true);
235
+ if (!suppressHighlight)
236
+ highlightSpeakingElement(targetElement);
239
237
  await speakText(targetElement.textContent, targetElement);
240
- const highlightedElements = document.querySelectorAll('.speaking-highlight');
241
- // highlightedElements.forEach(element => stopHighlightForSpeakingElement(element as HTMLElement));
242
238
  }
243
239
  catch (error) { }
244
240
  finally {
@@ -256,6 +252,7 @@ export class AudioPlayer {
256
252
  if (this.currentTargetElement === targetElement) {
257
253
  this.currentTargetElement = null;
258
254
  }
255
+ window.dispatchEvent(new CustomEvent('lidoAudioEnded', { detail: { target: targetElement } }));
259
256
  }
260
257
  // GLOBAL STOP EVENTS (container change, activity change…)
261
258
  registerGlobalStopEvents() {
@@ -399,11 +399,11 @@ const afterDropDragHandling = (dragElement, dropElement) => {
399
399
  }
400
400
  dummyElement.setAttribute('id', dragElement.getAttribute('id'));
401
401
  dragElement.replaceWith(dummyElement);
402
- const keyframes = `
403
- @keyframes widthDecrease {
404
- 0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
405
- 100% { width: 0px; height: 0px; margin: 0px;}
406
- }
402
+ const keyframes = `
403
+ @keyframes widthDecrease {
404
+ 0% { width: ${dragElement.style.width}; height: ${dragElement.style.height}; margin: ${dragElement.style.margin}; }
405
+ 100% { width: 0px; height: 0px; margin: 0px;}
406
+ }
407
407
  `;
408
408
  if (!isInfinite) {
409
409
  dummyElement.style.width = element.style.width;
@@ -613,7 +613,16 @@ export async function onActivityComplete(dragElement, dropElement) {
613
613
  if (!container)
614
614
  return;
615
615
  const isBlender = container.getAttribute('template-id') === 'blender';
616
- await executeActions("this.alignMatch='true'", dropElement, dragElement);
616
+ const isBalancing = !!container.querySelector('lido-balance');
617
+ const usesBalancePlacement = isBalancing
618
+ && container.getAttribute('drop-action') !== DropAction.Move
619
+ && container.getAttribute('drop-action') !== DropAction.InfiniteDrop;
620
+ // Balance plates perform their own single placement pass after this method.
621
+ // Running alignMatch first makes two transforms compete and produces a visible
622
+ // horizontal drift as the item is re-parented.
623
+ if (!usesBalancePlacement) {
624
+ await executeActions("this.alignMatch='true'", dropElement, dragElement);
625
+ }
617
626
  if (dragElement && dropElement) {
618
627
  let isCorrect = dropElement['value'].toLowerCase().includes(dragElement['value'].toLowerCase());
619
628
  if (isBlender) {
@@ -636,7 +645,7 @@ export async function onActivityComplete(dragElement, dropElement) {
636
645
  const onCorrect = ((_b = container.getAttribute('dropAttr')) === null || _b === void 0 ? void 0 : _b.toLowerCase()) === DropMode.EnableAnimation.toLowerCase()
637
646
  ? ''
638
647
  : dropElement.getAttribute('onCorrect');
639
- if (onCorrect && !isBlender) {
648
+ if (onCorrect && !isBlender && !isBalancing) {
640
649
  await executeActions(onCorrect, dropElement, dragElement);
641
650
  }
642
651
  //for multiply beeds
@@ -675,7 +684,7 @@ export async function onActivityComplete(dragElement, dropElement) {
675
684
  }, 2000);
676
685
  }
677
686
  const onInCorrect = dropElement.getAttribute('onInCorrect');
678
- if (onInCorrect && !isBlender) {
687
+ if (onInCorrect && !isBlender && !isBalancing) {
679
688
  await executeActions(onInCorrect, dropElement, dragElement);
680
689
  }
681
690
  }
@@ -844,6 +853,13 @@ export const validateObjectiveStatus = async () => {
844
853
  else {
845
854
  res = matchStringPattern(objectiveString, objectiveArray);
846
855
  }
856
+ const isBalancing = !!container.querySelector('lido-balance');
857
+ if (isBalancing && !res) {
858
+ const dropElements = Array.from(container.querySelectorAll('[type="drop"]'));
859
+ const filledDropCount = dropElements.filter(drop => !!container.querySelector(`[drop-to="${drop.id}"]`)).length;
860
+ if (filledDropCount < dropElements.length)
861
+ return;
862
+ }
847
863
  if (res) {
848
864
  container.setAttribute("game-completed", "true");
849
865
  const attach = container.getAttribute('appendToDropOnCompletion');