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.
Files changed (240) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/{decode-BCvdWRyT.js → decode-CE64w_Pc.js} +1 -1
  3. package/dist/cjs/{index-DjM03fsg.js → index-Cf9LHdIw.js} +238 -87
  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 +214 -53
  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 +214 -214
  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 +34 -10
  22. package/dist/collection/components/container/lido-container.js +55 -9
  23. package/dist/collection/components/flashCard/lido-flash-card.css +72 -72
  24. package/dist/collection/components/flashCard/lido-flash-card.js +84 -15
  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 +38 -14
  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 +6 -6
  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 -174
  44. package/dist/collection/components/scale/lido-balance.js +13 -13
  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 +6 -6
  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 +2 -2
  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 +633 -633
  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 +10 -3
  151. package/dist/collection/utils/constants.js +6 -0
  152. package/dist/collection/utils/utils.js +109 -14
  153. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +8 -8
  154. package/dist/collection/utils/utilsHandlers/highlightHandler.js +54 -54
  155. package/dist/collection/utils/utilsHandlers/slideHandler.js +58 -19
  156. package/dist/collection/utils/utilsHandlers/sortHandler.js +10 -10
  157. package/dist/components/index.js +1 -1
  158. package/dist/components/lido-avatar.js +1 -1
  159. package/dist/components/lido-balance.js +1 -1
  160. package/dist/components/lido-calculator.js +1 -1
  161. package/dist/components/lido-canvas.js +1 -1
  162. package/dist/components/lido-cell.js +1 -1
  163. package/dist/components/lido-col.js +1 -1
  164. package/dist/components/lido-container.js +1 -1
  165. package/dist/components/lido-flash-card.js +1 -1
  166. package/dist/components/lido-float.js +1 -1
  167. package/dist/components/lido-home.js +1 -1
  168. package/dist/components/lido-image.js +1 -1
  169. package/dist/components/lido-keyboard.js +1 -1
  170. package/dist/components/lido-math-matrix.js +1 -1
  171. package/dist/components/lido-pos.js +1 -1
  172. package/dist/components/lido-random.js +1 -1
  173. package/dist/components/lido-root.js +1 -1
  174. package/dist/components/lido-row.js +1 -1
  175. package/dist/components/lido-shape.js +1 -1
  176. package/dist/components/lido-slide-fill.js +1 -1
  177. package/dist/components/lido-text.js +1 -1
  178. package/dist/components/lido-trace.js +1 -1
  179. package/dist/components/lido-wrap.js +1 -1
  180. package/dist/components/p-B4iWvszS.js +1 -0
  181. package/dist/components/{p-C5jvgiPE.js → p-BA-XmR9g.js} +1 -1
  182. package/dist/components/p-BJt-z8VW.js +1 -0
  183. package/dist/components/{p-CTlcpv4a.js → p-BfwUqpXc.js} +1 -1
  184. package/dist/components/{p-DNo3iX_r.js → p-BiBt9LGP.js} +1 -1
  185. package/dist/components/{p-DG0KR2iN.js → p-BlN0IsR4.js} +1 -1
  186. package/dist/components/{p-CFPSty2U.js → p-BpVpANK9.js} +1 -1
  187. package/dist/components/{p-CgsPIpg0.js → p-Bw-OC9iR.js} +1 -1
  188. package/dist/components/p-C2J7-bcH.js +1 -0
  189. package/dist/components/{p-CFWohOId.js → p-CEmofYPx.js} +1 -1
  190. package/dist/components/{p-C5WmmkI6.js → p-CPYnt0P-.js} +1 -1
  191. package/dist/components/{p-CsDu4kiC.js → p-ChfVUoX4.js} +1 -1
  192. package/dist/components/p-CnQ-4EIw.js +1 -0
  193. package/dist/components/{p-CXHPZN3m.js → p-CyGxEcn7.js} +1 -1
  194. package/dist/components/{p-C-pHQRbp.js → p-D1cBkIab.js} +1 -1
  195. package/dist/components/p-DP6jQ5ML.js +1 -0
  196. package/dist/components/{p-Bv1hunWk.js → p-DV-k1ulI.js} +1 -1
  197. package/dist/components/p-Qhj9-H6e.js +12 -0
  198. package/dist/components/{p-Bh_vemY3.js → p-hUfX1As2.js} +1 -1
  199. package/dist/components/p-leIEepjl.js +1 -0
  200. package/dist/components/{p-B8nzzM8c.js → p-s4oGlKg6.js} +1 -1
  201. package/dist/components/{p-C70ykycD.js → p-useuhkjH.js} +1 -1
  202. package/dist/esm/{decode-BxzUG5XP.js → decode-DhjaTUf2.js} +1 -1
  203. package/dist/esm/{index-C_uxZLF-.js → index-Bc6Y7rds.js} +235 -88
  204. package/dist/esm/{index-mMpK8062.js → index-Dvjbti-h.js} +1 -1
  205. package/dist/esm/index.js +2 -2
  206. package/dist/esm/lido-avatar_22.entry.js +214 -53
  207. package/dist/esm/lido-player.js +3 -3
  208. package/dist/esm/loader.js +3 -3
  209. package/dist/lido-player/assets/Shadow.svg +9 -9
  210. package/dist/lido-player/assets/Tracing-hand.svg +8 -8
  211. package/dist/lido-player/index.esm.js +1 -1
  212. package/dist/lido-player/lido-avatar.css +4 -4
  213. package/dist/lido-player/lido-avatar.tsx +214 -214
  214. package/dist/lido-player/lido-player.css +7 -7
  215. package/dist/lido-player/lido-player.esm.js +1 -1
  216. package/dist/lido-player/{p-CsCr7DlS.js → p-CORilAH-.js} +1 -1
  217. package/dist/lido-player/p-D66K5DXn.js +1 -0
  218. package/dist/lido-player/p-Dvjbti-h.js +2 -0
  219. package/dist/lido-player/p-ca195982.entry.js +12 -0
  220. package/dist/lido-player/readme.md +49 -49
  221. package/dist/types/components/container/lido-container.d.ts +7 -0
  222. package/dist/types/components/flashCard/lido-flash-card.d.ts +2 -0
  223. package/dist/types/components.d.ts +1 -0
  224. package/dist/types/types/json.d.ts +3 -3
  225. package/dist/types/utils/audioPlayer.d.ts +1 -1
  226. package/dist/types/utils/constants.d.ts +2 -0
  227. package/dist/types/utils/utils.d.ts +11 -0
  228. package/dist/types/utils/utilsHandlers/slideHandler.d.ts +1 -1
  229. package/package.json +73 -73
  230. package/readme.md +113 -113
  231. package/dist/components/p-CgBwmr9A.js +0 -12
  232. package/dist/components/p-Ckb8QhUV.js +0 -1
  233. package/dist/components/p-DDwqmTYM.js +0 -1
  234. package/dist/components/p-DLyacZap.js +0 -1
  235. package/dist/components/p-DONbWJGn.js +0 -1
  236. package/dist/components/p-DXy70SGv.js +0 -1
  237. package/dist/components/p-Gwko4CTL.js +0 -1
  238. package/dist/lido-player/p-00993d1a.entry.js +0 -12
  239. package/dist/lido-player/p-mMpK8062.js +0 -2
  240. package/dist/lido-player/p-v3GBrpv9.js +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DBCFoh1I.js');
4
- var index$1 = require('./index-DjM03fsg.js');
3
+ var index = require('./index-DnaH8sO-.js');
4
+ var index$1 = require('./index-Cf9LHdIw.js');
5
5
 
6
6
  var rive$1 = {exports: {}};
7
7
 
@@ -8167,7 +8167,7 @@ const LidoAvatar = class {
8167
8167
  display: this.visible ? 'flex' : 'none',
8168
8168
  zIndex: this.z,
8169
8169
  };
8170
- return (index.h(index.Host, { key: '0e63e186eeccefd216831d41dc691fa89225f30d', id: this.id, type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, src: this.src }, index.h("canvas", { key: '7e902dc84a2ae1f92b077053bdb6c935332d40e3', class: "lido-canvas" })));
8170
+ return (index.h(index.Host, { key: 'ee5d3168685321a1af3dd11ef63ff41aec102416', id: this.id, type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, src: this.src }, index.h("canvas", { key: '61edcf1e26ee3c6beaa35852b493b11d697aad9b', class: "lido-canvas" })));
8171
8171
  }
8172
8172
  static get assetsDirs() { return ["."]; }
8173
8173
  get el() { return index.getElement(this); }
@@ -8409,7 +8409,7 @@ const LidoBalance = class {
8409
8409
  };
8410
8410
  }
8411
8411
  render() {
8412
- return (index.h(index.Host, { key: 'e0e67ca26ec3906d9f085686dcb7c12f5022c35c', id: "lido-balance", "bg-color": "red", onEntry: this.onEntry, class: "lido-balance", tilt: this.tilt.toString(), style: this.style, operation: this.operation.toString(), "pivot-image": this.pivotSvg, "scale-image": this.scaleSvg, "handler-image": this.handlerSvg }, index.h("div", { key: 'e69bada9ab75d0d73dbf2b999b52e149125d213b', innerHTML: this.pivotSvg, id: "pivotimg", class: "pivot" }), index.h("div", { key: '2b0cc721fe9e90c4343e9401ce6b2c5a6c689d2e', innerHTML: this.scaleSvg, id: "scaleimg", class: "scale", ref: (el) => (this.scaleEl = el) }), index.h("div", { key: 'd2acc209d2fb3e74c148b8464895bec91f9e32ad', innerHTML: this.handlerSvg, id: "handlerimg", class: "handler", ref: (el) => (this.leftHandleEl = el) }), index.h("div", { key: 'e5c1c7f4143e97c30b0866dde1919667b3ec4a61', innerHTML: this.handlerSvg, id: "handimg", class: "hand", ref: (el) => (this.rightHandleEl = el) }), index.h("div", { key: '425602ff5dcbd12479651c7ed3f9585dcc1fcf06', class: "balance-plate-feedback left", ref: (el) => (this.leftFeedbackEl = el), style: { backgroundColor: this.feedbackColor }, "aria-hidden": !this.feedbackColor }), index.h("div", { key: '2bb09b99cc5ed98773c65465a1c6f28c89e97800', class: "balance-plate-feedback right", ref: (el) => (this.rightFeedbackEl = el), style: { backgroundColor: this.feedbackColor }, "aria-hidden": !this.feedbackColor }), index.h("div", { key: 'cc31758d61122a9e7ecca387d4e62fcab55516a4', id: "balanceSymbol", class: "lido-balance-symbol", "aria-hidden": !this.showSymbol }, this.showSymbol ? this.balanceSymbol : '')));
8412
+ return (index.h(index.Host, { key: 'b455b2b5d330a2125f7fb8b4e2165d2e6e6bc1a0', id: "lido-balance", "bg-color": "red", onEntry: this.onEntry, class: "lido-balance", tilt: this.tilt.toString(), style: this.style, operation: this.operation.toString(), "pivot-image": this.pivotSvg, "scale-image": this.scaleSvg, "handler-image": this.handlerSvg }, index.h("div", { key: '657f471d397dd7e3476d5b6e35ee4495c8f2db4c', innerHTML: this.pivotSvg, id: "pivotimg", class: "pivot" }), index.h("div", { key: '7b91e1919db1fdbcddf79f43a9ad51695b7c806f', innerHTML: this.scaleSvg, id: "scaleimg", class: "scale", ref: (el) => (this.scaleEl = el) }), index.h("div", { key: '137a1440d55776d0771d8cd71741202c224896db', innerHTML: this.handlerSvg, id: "handlerimg", class: "handler", ref: (el) => (this.leftHandleEl = el) }), index.h("div", { key: 'd6e0deae63a4e219757240e585d582fb5a72a071', innerHTML: this.handlerSvg, id: "handimg", class: "hand", ref: (el) => (this.rightHandleEl = el) }), index.h("div", { key: 'ef51f98937cf10c017c8289359c92c24e7316a16', class: "balance-plate-feedback left", ref: (el) => (this.leftFeedbackEl = el), style: { backgroundColor: this.feedbackColor }, "aria-hidden": !this.feedbackColor }), index.h("div", { key: 'f21aade8543977b657a4d2fbcd623cf8769459a0', class: "balance-plate-feedback right", ref: (el) => (this.rightFeedbackEl = el), style: { backgroundColor: this.feedbackColor }, "aria-hidden": !this.feedbackColor }), index.h("div", { key: '0470afcef443dbeb69a7d651220d5ff50be3836e', id: "balanceSymbol", class: "lido-balance-symbol", "aria-hidden": !this.showSymbol }, this.showSymbol ? this.balanceSymbol : '')));
8413
8413
  }
8414
8414
  static get assetsDirs() { return ["assets"]; }
8415
8415
  get el() { return index.getElement(this); }
@@ -8602,7 +8602,7 @@ const LidoCalculator = class {
8602
8602
  }
8603
8603
  render() {
8604
8604
  const numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '←', '0', 'OK'];
8605
- return (index.h(index.Host, { key: 'ae833326069dd4cf9588701995962b0d1b3b0091', onEntry: this.onEntry, id: "lidoCalculator", style: { width: this.width, height: this.height, backgroundColor: this.bgColor, left: this.x, top: this.y } }, index.h("lido-cell", { key: '135b08be24862393217a0a93d4afd3ec8647547c', visible: "true", height: "94px", width: "60px" }, index.h("lido-text", { key: 'e6fb20b06bef347d68e427748669bb176c30b7a3', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "204%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, index.h("img", { key: '2b6077ffad1046fdedb816402fdcb906539afa5c', src: index$1.convertUrlToRelative(this.penIcon), alt: "pen", style: { width: '100%', height: '100%' } }))), index.h("div", { key: '96dfabdab176f66e16d6b03efb2e8ecad74c9d45', class: "lido-calculator-displayParent" }, index.h("div", { key: '9c711dd53ada73ca9ddac1c37b0719c5c746a591', class: "lido-calculator-display" }, this.displayValue)), index.h("div", { key: '5d595bf410fc1a75fa57c485fd08a8e97064016a', class: "lido-calculator-buttons" }, numbers.map((num, i) => (index.h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
8605
+ return (index.h(index.Host, { key: 'e8249dda090212d327b68b47d42a123de6a890c9', onEntry: this.onEntry, id: "lidoCalculator", style: { width: this.width, height: this.height, backgroundColor: this.bgColor, left: this.x, top: this.y } }, index.h("lido-cell", { key: '54d093a3dd6a6e5850c881d224290bd6cf9c3690', visible: "true", height: "94px", width: "60px" }, index.h("lido-text", { key: '7145c80b2477493a8a87f6d098164293732861bf', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "204%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, index.h("img", { key: '7242feedd5172b555df683c747bbef778a9cdcd7', src: index$1.convertUrlToRelative(this.penIcon), alt: "pen", style: { width: '100%', height: '100%' } }))), index.h("div", { key: '6145a4f89da352c3576e6d51a1e260e335778fbb', class: "lido-calculator-displayParent" }, index.h("div", { key: '04e07b724d912d43b08c7a1e15c605d0fd30c7be', class: "lido-calculator-display" }, this.displayValue)), index.h("div", { key: '19839d02863ca1e27fddb4093f191171e237f143', class: "lido-calculator-buttons" }, numbers.map((num, i) => (index.h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
8606
8606
  'lido-calculator-btn-special': num === '←' || num === 'OK',
8607
8607
  'lido-calculator-btn-default': num !== '←' && num !== 'OK'
8608
8608
  }, onClick: () => this.handleClick(num) }))))));
@@ -8716,7 +8716,7 @@ const LidoCanvas = class {
8716
8716
  this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
8717
8717
  }
8718
8718
  render() {
8719
- return (index.h(index.Host, { key: 'ca88c99317fe079d25b16410d78cbd63e13d712c', id: "lido-canvas", class: "lido-canvas", style: this.style }, index.h("button", { key: '3e1085ff4be21ca281483367a41b51ba4ff49736', id: "lido-exit-button", onClick: () => this.clearCanvas() }), index.h("canvas", { key: '9c1f485a2a84b2da9468e8b83f1962cce7852efc', id: "lido-canvas" })));
8719
+ return (index.h(index.Host, { key: '6bb47f06656ce667d23236e9f3c3a8f383885a43', id: "lido-canvas", class: "lido-canvas", style: this.style }, index.h("button", { key: 'fd0d1217bda63071fbf6496c2538c2a944b14181', id: "lido-exit-button", onClick: () => this.clearCanvas() }), index.h("canvas", { key: 'ed0333972bb7ce0fc4e14c81bb466ea895ce65e0', id: "lido-canvas" })));
8720
8720
  }
8721
8721
  get el() { return index.getElement(this); }
8722
8722
  };
@@ -8975,7 +8975,7 @@ const LidoCell = class {
8975
8975
  this.el.className = `lido-${index$1.parseProp(this.layout, orientation)}`;
8976
8976
  }
8977
8977
  render() {
8978
- return (index.h(index.Host, { key: '53d510e92a72d1f855e6d0cb0c0564c2f4351b64', id: this.id, class: "lido-cell", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "flex-direction": this.flexDirection, "disable-speak": this.disableSpeak }, index.h("slot", { key: '1af7a1f78e12bb1babcd91266eaf209b9d7530dc' })));
8978
+ return (index.h(index.Host, { key: '73bdf9dd33fdd8322c35465de011697da112193a', id: this.id, class: "lido-cell", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "flex-direction": this.flexDirection, "disable-speak": this.disableSpeak }, index.h("slot", { key: '6e9d4507b36716f04853d39ef66015441782aa88' })));
8979
8979
  }
8980
8980
  get el() { return index.getElement(this); }
8981
8981
  };
@@ -9053,7 +9053,7 @@ const LidoCol = class {
9053
9053
  };
9054
9054
  }
9055
9055
  render() {
9056
- return (index.h(index.Host, { key: 'b2ecb19a78feed7275d9e996255db4144d5e0153', id: this.id, class: "lido-col", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: '2d285d2c1557647e05abb470490da6c7c735a39d' })));
9056
+ return (index.h(index.Host, { key: '334206d6054442fec787cfb479a68ae164404730', id: this.id, class: "lido-col", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: '590cd219bc5a02e6b96eafe108fb8b310daf941d' })));
9057
9057
  }
9058
9058
  get el() { return index.getElement(this); }
9059
9059
  };
@@ -11776,6 +11776,22 @@ const instruction$4 = {
11776
11776
  palegramcqimages: "palegramcqimagesEngAudio"
11777
11777
  };
11778
11778
  var en = {
11779
+ " balloon": "Balloon",
11780
+ " box": "Box",
11781
+ " egg": "Egg",
11782
+ " flower": "Flower",
11783
+ " heart": "Heart",
11784
+ " house": "House",
11785
+ " lamp": "Lamp",
11786
+ " moon": "Moon",
11787
+ " rectangle": "Rectangle",
11788
+ " star": "Star",
11789
+ " watermelon": "Watermelon",
11790
+ " trophy": "Trophy",
11791
+ " dog": "Dog",
11792
+ " fish": "Fish",
11793
+ " bird": "Bird",
11794
+ " arrow": "Arrow",
11779
11795
  "Do you want to exit? button": "Do you want to exit?",
11780
11796
  "Exit button": "Exit",
11781
11797
  "Continue playing button": "Continue playing",
@@ -11833,6 +11849,22 @@ const instruction$2 = {
11833
11849
  palegramcqimages: "palegramcqimagesHiAudio"
11834
11850
  };
11835
11851
  var hi = {
11852
+ " balloon": "गुब्बारा",
11853
+ " box": "डिब्बा",
11854
+ " egg": "अंडा",
11855
+ " flower": "फूल",
11856
+ " heart": "दिल",
11857
+ " house": "घर",
11858
+ " lamp": "दीपक",
11859
+ " moon": "चंद्रमा",
11860
+ " rectangle": "आयत",
11861
+ " star": "तारा",
11862
+ " watermelon": "तरबूज",
11863
+ " trophy": "ट्रॉफी",
11864
+ " dog": "कुत्ता",
11865
+ " fish": "मछली",
11866
+ " bird": "चिड़िया",
11867
+ " arrow": "तीर",
11836
11868
  "Do you want to exit? button": "क्या आप बाहर निकलना चाहते हैं?",
11837
11869
  "Exit button": "बाहर निकलें",
11838
11870
  "Continue playing button": "खेलना जारी रखें",
@@ -11875,6 +11907,22 @@ const instruction$1 = {
11875
11907
  palegramcqimages: "palegramcqimagesKaAudio"
11876
11908
  };
11877
11909
  var kn = {
11910
+ " balloon": "ಪುಗ್ಗ",
11911
+ " box": "ಡಬ್ಬ",
11912
+ " egg": "ಮೊಟ್ಟೆ",
11913
+ " flower": "ಹೂವು",
11914
+ " heart": "ಹೃದಯ",
11915
+ " house": "ಮನೆ",
11916
+ " lamp": "ದೀಪ",
11917
+ " moon": "ಚಂದ್ರ",
11918
+ " rectangle": "ಆಯತ",
11919
+ " star": "ನಕ್ಷತ್ರ",
11920
+ " watermelon": "ಕಲ್ಲಂಗಡಿ",
11921
+ " trophy": "ಟ್ರೋಫಿ",
11922
+ " dog": "ನಾಯಿ",
11923
+ " fish": "ಮೀನು",
11924
+ " bird": "ಹಕ್ಕಿ",
11925
+ " arrow": "ಬಾಣ",
11878
11926
  "Do you want to exit? button": "ನೀವು ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?",
11879
11927
  "Exit button": "ನಿರ್ಗಮಿಸು",
11880
11928
  "Continue playing button": "ಆಟವನ್ನು ಮುಂದುವರಿಸಿ",
@@ -11936,7 +11984,7 @@ instance
11936
11984
  },
11937
11985
  });
11938
11986
 
11939
- const lidoContainerCss = () => `.lido-container{position:relative;height:100%;width:100%;background-color:var(--bgColor, transparent);display:flex;flex-direction:column;justify-content:center;align-items:center}`;
11987
+ const lidoContainerCss = () => `.lido-container{position:relative;height:100%;width:100%;background-color:var(--bgColor, transparent);display:flex;flex-direction:column;justify-content:center;align-items:center}lido-container[template-id="writeCard"] #arrow{box-sizing:border-box;border:10px solid transparent;box-shadow:0px 8px 0px 0px #8b310f;animation:flash-card-next-attention 1.4s ease-in-out infinite}lido-container[template-id="writeCard"] #arrow.fading{opacity:1 !important}@keyframes flash-card-next-attention{0%,100%{border-color:#ffc34d;filter:drop-shadow(0 0 0 rgba(255, 195, 77, 0))}50%{border-color:#fff1a8;filter:drop-shadow(0 0 10px rgba(255, 195, 77, 0.95))}}`;
11940
11988
 
11941
11989
  const LidoContainer = class {
11942
11990
  constructor(hostRef) {
@@ -12096,6 +12144,33 @@ const LidoContainer = class {
12096
12144
  this.speakFlag = false;
12097
12145
  this.handleWindowResize = () => this.scaleContainer(this.el);
12098
12146
  this.handleWindowLoad = () => this.scaleContainer(this.el);
12147
+ this.shouldInitializePlayModeDragDrop = false;
12148
+ this.isWriteCardContainer = () => this.templateId === 'writeCard';
12149
+ this.syncWriteCardArrowHighlight = () => {
12150
+ if (!this.isWriteCardContainer())
12151
+ return;
12152
+ const arrow = this.el.querySelector('#arrow');
12153
+ if (!arrow)
12154
+ return;
12155
+ const style = window.getComputedStyle(arrow);
12156
+ const hidden = style.display === 'none' ||
12157
+ style.visibility === 'hidden' ||
12158
+ style.opacity === '0';
12159
+ arrow.classList.toggle('flash-card-next-glowing', !hidden);
12160
+ };
12161
+ this.observeWriteCardArrow = () => {
12162
+ var _a;
12163
+ if (!this.isWriteCardContainer())
12164
+ return;
12165
+ (_a = this.writeCardArrowObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
12166
+ this.writeCardArrowObserver = new MutationObserver(() => this.syncWriteCardArrowHighlight());
12167
+ this.writeCardArrowObserver.observe(this.el, {
12168
+ subtree: true,
12169
+ attributes: true,
12170
+ attributeFilter: ['class', 'style', 'visible'],
12171
+ });
12172
+ this.syncWriteCardArrowHighlight();
12173
+ };
12099
12174
  }
12100
12175
  cleanupInteractionHandlers() {
12101
12176
  this.el.querySelectorAll('[type="drag"], [type="slide"], [move="true"]').forEach(element => {
@@ -12106,6 +12181,17 @@ const LidoContainer = class {
12106
12181
  const langToApply = newLang || this.resolveLanguage();
12107
12182
  this.updateChildTextLanguage(langToApply);
12108
12183
  }
12184
+ canplayChanged(newValue, oldValue) {
12185
+ if (this.templateId !== 'foodJar' || !newValue || oldValue !== false)
12186
+ return;
12187
+ this.shouldInitializePlayModeDragDrop = true;
12188
+ }
12189
+ componentDidRender() {
12190
+ if (!this.shouldInitializePlayModeDragDrop || !this.canplay)
12191
+ return;
12192
+ this.shouldInitializePlayModeDragDrop = false;
12193
+ void index$1.initializePlayModeDragDropElements(this.el);
12194
+ }
12109
12195
  componentWillLoad() {
12110
12196
  const langToApply = this.resolveLanguage();
12111
12197
  this.updateChildTextLanguage(langToApply);
@@ -12341,10 +12427,12 @@ const LidoContainer = class {
12341
12427
  setTimeout(() => {
12342
12428
  this.el.setAttribute("onEntry", `${this.templateId}.speak='${!this.speakFlag}'; ` + this.el.getAttribute("onEntry"));
12343
12429
  index$1.initEventsForElement(this.el, this.type);
12430
+ this.observeWriteCardArrow();
12344
12431
  }, 100);
12345
12432
  }
12346
12433
  else {
12347
12434
  index$1.initEventsForElement(this.el, this.type);
12435
+ this.observeWriteCardArrow();
12348
12436
  }
12349
12437
  if (this.customStyle) {
12350
12438
  const styleElement = document.createElement('style');
@@ -12360,9 +12448,12 @@ const LidoContainer = class {
12360
12448
  index$1.Timer.getI().start();
12361
12449
  }
12362
12450
  disconnectedCallback() {
12451
+ var _a;
12363
12452
  this.cleanupInteractionHandlers();
12364
12453
  window.removeEventListener('resize', this.handleWindowResize);
12365
12454
  window.removeEventListener('load', this.handleWindowLoad);
12455
+ (_a = this.writeCardArrowObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
12456
+ this.writeCardArrowObserver = undefined;
12366
12457
  document.body.style.backgroundColor = '';
12367
12458
  document.body.style.backgroundImage = '';
12368
12459
  index$1.resetFloatState();
@@ -12379,12 +12470,15 @@ const LidoContainer = class {
12379
12470
  margin: this.margin,
12380
12471
  userSelect: 'none', // Prevent any field selection
12381
12472
  };
12382
- return (index.h(index.Host, { key: '9dd374c6cdfcc88a5b18e7dc7fec527c853a4719', id: "lido-container", Lang: this.Lang, "tab-index": 0, class: "lido-container", objective: this.objective, baseUrl: this.baseUrl, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, onTouch: this.onTouch, onInCorrect: this.onInCorrect, onCorrect: this.onCorrect, onEntry: this.onEntry, "show-check": `${this.showCheck}`, "is-continue-on-correct": `${this.isContinueOnCorrect}`, "is-allow-only-correct": `${this.isAllowOnlyCorrect}`, canplay: `${this.canplay}`, appendToDropOnCompletion: `${this.appendToDropOnCompletion}`, "show-prev-button": `${this.showPrevButton}`, "show-next-button": `${this.showNextButton}`, "show-drop-border": `${this.showDropBorder}`, "bg-image": this.bgImage, "exit-button-url": this.exitButtonUrl, "prev-button-url": this.prevButtonUrl, "next-button-url": this.nextButtonUrl, "speaker-button-url": this.speakerButtonUrl, "disable-speak": `${this.disableSpeak}`, "template-id": this.templateId, audio: this.audio, "highlight-word-by-word": `${this.highlightWordByWord}` }, index.h("lido-text", { key: '8295782a74ce6ef8ca9a623de8a28b539d9f6d4f', visible: "false", id: this.templateId, audio: "", string: this.instructName }), index.h("slot", { key: 'eb3c995b777986e07dcb6aa935ef38d41aa1e7e7' })));
12473
+ return (index.h(index.Host, { key: '1ec8ce95f69ad27bc534b5cb5b3ccc19e8e1880d', id: "lido-container", Lang: this.Lang, "tab-index": 0, class: "lido-container", objective: this.objective, baseUrl: this.baseUrl, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, onTouch: this.onTouch, onInCorrect: this.onInCorrect, onCorrect: this.onCorrect, onEntry: this.onEntry, "show-check": `${this.showCheck}`, "is-continue-on-correct": `${this.isContinueOnCorrect}`, "is-allow-only-correct": `${this.isAllowOnlyCorrect}`, canplay: `${this.canplay}`, appendToDropOnCompletion: `${this.appendToDropOnCompletion}`, "show-prev-button": `${this.showPrevButton}`, "show-next-button": `${this.showNextButton}`, "show-drop-border": `${this.showDropBorder}`, "bg-image": this.bgImage, "exit-button-url": this.exitButtonUrl, "prev-button-url": this.prevButtonUrl, "next-button-url": this.nextButtonUrl, "speaker-button-url": this.speakerButtonUrl, "disable-speak": `${this.disableSpeak}`, "template-id": this.templateId, audio: this.audio, "highlight-word-by-word": `${this.highlightWordByWord}` }, index.h("lido-text", { key: '4124095c478efa28590e9dc40a7e87831bf719fb', visible: "false", id: this.templateId, audio: "", string: this.instructName }), index.h("slot", { key: 'c078309c288e41c03828c3768d6033d2fae981cd' })));
12383
12474
  }
12384
12475
  get el() { return index.getElement(this); }
12385
12476
  static get watchers() { return {
12386
12477
  "Lang": [{
12387
12478
  "languageChanged": 0
12479
+ }],
12480
+ "canplay": [{
12481
+ "canplayChanged": 0
12388
12482
  }]
12389
12483
  }; }
12390
12484
  };
@@ -12475,6 +12569,7 @@ const LidoFlash = class {
12475
12569
  this.narrationHandled = false;
12476
12570
  this.instructionDone = false;
12477
12571
  this.instructionStarted = false;
12572
+ this.shouldPlayTemplateInstruction = true;
12478
12573
  this.onAudioStarted = (event) => {
12479
12574
  var _a;
12480
12575
  const target = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.target;
@@ -12500,7 +12595,7 @@ const LidoFlash = class {
12500
12595
  arrow.classList.add('flash-card-next-glowing');
12501
12596
  };
12502
12597
  this.onAudioEnded = (event) => {
12503
- var _a, _b, _c, _d;
12598
+ var _a, _b, _c;
12504
12599
  const target = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.target;
12505
12600
  const instruction = this.instructionText();
12506
12601
  if (!target || (target !== instruction && target.id !== 'lido-avatar' && !this.el.contains(target)))
@@ -12537,7 +12632,6 @@ const LidoFlash = class {
12537
12632
  if (playbackContext !== this.goodJobPlaybackContext || playbackId !== this.goodJobPlaybackId)
12538
12633
  return;
12539
12634
  this.goodJobPlaybackId = undefined;
12540
- (_d = this.nextArrow()) === null || _d === void 0 ? void 0 : _d.classList.remove('flash-card-next-glowing');
12541
12635
  index$1.executeActions("this.avatarAnimate='Idle'", target);
12542
12636
  }
12543
12637
  };
@@ -12608,11 +12702,19 @@ const LidoFlash = class {
12608
12702
  (_a = this.nextArrow()) === null || _a === void 0 ? void 0 : _a.classList.remove('flash-card-next-glowing');
12609
12703
  };
12610
12704
  this.speakFront = () => {
12611
- var _a;
12705
+ var _a, _b;
12612
12706
  const text = this.frontText();
12613
12707
  if (this.instructionDone && !this.flipped && text && ((_a = text.textContent) === null || _a === void 0 ? void 0 : _a.trim())) {
12614
12708
  this.startNarration(text);
12615
12709
  }
12710
+ else if (this.instructionDone && !this.flipped && (!text || !((_b = text.textContent) === null || _b === void 0 ? void 0 : _b.trim()))) {
12711
+ if (this.autoFlipTimer)
12712
+ window.clearTimeout(this.autoFlipTimer);
12713
+ this.autoFlipTimer = window.setTimeout(() => {
12714
+ if (!this.flipped)
12715
+ this.handleFlip();
12716
+ }, this.autoFlipAfter);
12717
+ }
12616
12718
  };
12617
12719
  this.clearNarrationTimers = () => {
12618
12720
  if (this.narrationGraceTimer)
@@ -12673,16 +12775,20 @@ const LidoFlash = class {
12673
12775
  if (!arrow.getAttribute('onTouch'))
12674
12776
  arrow.setAttribute('onTouch', "this.nextBtn='true';");
12675
12777
  const mascot = container.querySelector('#lido-avatar');
12676
- const scaffoldAudio = arrow.getAttribute('audio');
12677
- if (mascot && scaffoldAudio) {
12778
+ const originalAudio = (mascot === null || mascot === void 0 ? void 0 : mascot.getAttribute('audio')) || undefined;
12779
+ const scaffoldAudio = index$1.getGoodJobAudio(arrow) || originalAudio;
12780
+ const shouldPlayGoodJob = index$1.shouldPlayGoodJobAudio(arrow);
12781
+ if (mascot && scaffoldAudio && shouldPlayGoodJob) {
12678
12782
  mascot.setAttribute('audio', scaffoldAudio);
12679
12783
  }
12680
12784
  this.setArrowVisible(true);
12681
- if (mascot) {
12785
+ // Keep the next action highlighted after mascot audio ends.
12786
+ arrow.classList.add('flash-card-next-glowing');
12787
+ if (mascot && shouldPlayGoodJob) {
12682
12788
  this.goodJobPlaybackContext = {};
12683
12789
  this.goodJobPlaybackId = undefined;
12684
12790
  index$1.executeActions("this.avatarAnimate='Idle speak'", mascot);
12685
- index$1.AudioPlayer.getI().play(mascot, true, this.goodJobPlaybackContext);
12791
+ index$1.AudioPlayer.getI().play(mascot, true, this.goodJobPlaybackContext, originalAudio);
12686
12792
  }
12687
12793
  };
12688
12794
  this.setArrowVisible = (visible) => {
@@ -12723,7 +12829,7 @@ const LidoFlash = class {
12723
12829
  window.addEventListener('load', this.updateStyles);
12724
12830
  }
12725
12831
  componentDidLoad() {
12726
- var _a;
12832
+ var _a, _b;
12727
12833
  index$1.setVisibilityWithDelay(this.el, this.delayVisible);
12728
12834
  index$1.initEventsForElement(this.el, this.type);
12729
12835
  window.addEventListener('lidoAudioStarted', this.onAudioStarted);
@@ -12731,9 +12837,17 @@ const LidoFlash = class {
12731
12837
  window.addEventListener('lidoAudioEnded', this.onAudioEnded);
12732
12838
  const container = this.el.closest('lido-container');
12733
12839
  if ((container === null || container === void 0 ? void 0 : container.getAttribute('template-id')) === 'flashcardtemplate') {
12734
- (_a = container.querySelector('#lido-avatar')) === null || _a === void 0 ? void 0 : _a.setAttribute('disable-speak', 'true');
12840
+ const home = container.closest('lido-home');
12841
+ const playedTemplates = ((_a = home === null || home === void 0 ? void 0 : home.getAttribute(index$1.TemplateID)) === null || _a === void 0 ? void 0 : _a.split(',').map(value => value.trim()).filter(Boolean)) || [];
12842
+ this.shouldPlayTemplateInstruction = !playedTemplates.includes('flashcardtemplate');
12843
+ (_b = container.querySelector('#lido-avatar')) === null || _b === void 0 ? void 0 : _b.setAttribute('disable-speak', 'true');
12735
12844
  this.instructionStartTimer = window.setTimeout(() => {
12736
12845
  if (!this.instructionStarted && !this.instructionDone) {
12846
+ if (!this.shouldPlayTemplateInstruction) {
12847
+ this.instructionDone = true;
12848
+ this.speakFront();
12849
+ return;
12850
+ }
12737
12851
  const instruction = this.instructionText();
12738
12852
  if (instruction)
12739
12853
  this.startNarration(instruction);
@@ -12756,14 +12870,37 @@ const LidoFlash = class {
12756
12870
  window.removeEventListener('resize', this.updateStyles);
12757
12871
  window.removeEventListener('load', this.updateStyles);
12758
12872
  }
12873
+ async replayGoodJobAudio() {
12874
+ const container = this.el.closest('lido-container');
12875
+ if ((container === null || container === void 0 ? void 0 : container.getAttribute('template-id')) !== 'flashcardtemplate')
12876
+ return;
12877
+ const arrow = this.nextArrow();
12878
+ const mascot = container.querySelector('#lido-avatar');
12879
+ if (!arrow || !mascot)
12880
+ return;
12881
+ const arrowVisible = arrow.getAttribute('visible') === 'true'
12882
+ || arrow.style.visibility === 'visible';
12883
+ if (!arrowVisible)
12884
+ return;
12885
+ const originalAudio = mascot.getAttribute('audio') || undefined;
12886
+ const localizedAudio = index$1.getGoodJobAudio(arrow);
12887
+ const replayAudio = localizedAudio || originalAudio;
12888
+ if (!replayAudio)
12889
+ return;
12890
+ mascot.setAttribute('audio', replayAudio);
12891
+ this.goodJobPlaybackContext = {};
12892
+ this.goodJobPlaybackId = undefined;
12893
+ index$1.executeActions("this.avatarAnimate='Idle speak'", mascot);
12894
+ await index$1.AudioPlayer.getI().play(mascot, true, this.goodJobPlaybackContext, originalAudio);
12895
+ }
12759
12896
  /* ---------- Render ---------- */
12760
12897
  render() {
12761
- return (index.h(index.Host, { key: '9098ad4c1f41ac70e6737438209f2f3027153b3b', value: this.value, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, type: this.type, onClick: (event) => {
12898
+ return (index.h(index.Host, { key: 'b6012ba4855d142b6fdbad9dcfd7251bfcbb932b', value: this.value, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, type: this.type, onClick: (event) => {
12762
12899
  var _a, _b;
12763
12900
  if ((_b = (_a = event.target) === null || _a === void 0 ? void 0 : _a.closest) === null || _b === void 0 ? void 0 : _b.call(_a, '#lido-avatar'))
12764
12901
  return;
12765
12902
  this.handleFlip();
12766
- }, "disable-speak": this.disableSpeak }, index.h("div", { key: 'b235e008f35e29db21991d76bd83fccac471ba75', class: `card ${this.flipped ? 'flipped' : ''}` }, index.h("div", { key: '7b2306efdc5a4dac6edfe5004ae34ef486b73dd5', class: "card-face card-front" }, this.front != null ? this.front : index.h("slot", { name: "front" })), index.h("div", { key: '3d164fa2faa72b7ffcbaf20482bfea2148aeaaf4', class: "card-face card-back" }, this.back != null ? this.back : index.h("slot", { name: "back" })))));
12903
+ }, "disable-speak": this.disableSpeak }, index.h("div", { key: 'fecb100c8ac0f227d8bd685d02f8314e9018fe02', class: `card ${this.flipped ? 'flipped' : ''}` }, index.h("div", { key: 'e89512323ad8eb884548a1dead734f635c096c8f', class: "card-face card-front" }, this.front != null ? this.front : index.h("slot", { name: "front" })), index.h("div", { key: '82820aaf5b5febcf8247f96faca59976b8fade8e', class: "card-face card-back" }, this.back != null ? this.back : index.h("slot", { name: "back" })))));
12767
12904
  }
12768
12905
  get el() { return index.getElement(this); }
12769
12906
  static get watchers() { return {
@@ -12861,7 +12998,7 @@ const LidoFloat = class {
12861
12998
  };
12862
12999
  }
12863
13000
  render() {
12864
- return (index.h(index.Host, { key: '26ada4c2834a58fe1f45348a32f9d1dcecb79a14', class: "lido-float", "float-direction": this.floatDirection, id: this.id, "tab-index": this.tabIndex, style: this.style, onEntry: this.onEntry }, index.h("slot", { key: '6f4ca358f564e268390f221cc1f84af1f303761b' })));
13001
+ return (index.h(index.Host, { key: 'c461f1142dd6addd9ceb41ade183b044b875681f', class: "lido-float", "float-direction": this.floatDirection, id: this.id, "tab-index": this.tabIndex, style: this.style, onEntry: this.onEntry }, index.h("slot", { key: '240439bfda6a9e4e2d67e6ae2b5c878d99e632b3' })));
12865
13002
  }
12866
13003
  get el() { return index.getElement(this); }
12867
13004
  };
@@ -12899,9 +13036,9 @@ function requireJszip_min () {
12899
13036
  var jszip_minExports = requireJszip_min();
12900
13037
  var JSZip = /*@__PURE__*/index$1.getDefaultExportFromCjs(jszip_minExports);
12901
13038
 
12902
- const indexCss = () => `@font-face{font-family:'Baloo Bhai 2';font-style:normal;font-weight:400 800;font-display:swap;src:url('../assets/offline-assets/fonts/Baloo-Bhai-2/Baloo-Bhai-2-Variable.woff2') format('woff2')}body{overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;height:100vh}*{user-select:none}.lido-disable-check-button{pointer-events:none;background-color:#9393935c !important;color:white}.lido-element-selected{border:2px solid;background-color:#ffdf7d !important}.diagonal-target,.diagonal-drop *{transform:scale(0.8) !important;opacity:1 !important}.cloned-element{display:flex !important;position:absolute !important;filter:grayscale(100%);pointer-events:none}.removeShadow{box-shadow:0px 0px 0px 0px #ff8900 !important}.highlight-element{border:2px solid white;box-shadow:rgb(243, 77, 8) 0px 0px 40px !important}.drop-element.empty{border:4px dashed #f34d08 !important}.drop-element.filled{border:'none' !important}.drag-element{box-shadow:0px 15px 11px rgba(43, 0, 0, 0.3) !important}.drag-element.dropped{box-shadow:none !important}.click-element{background-color:var(--btn-bg-color, rgba(255, 172, 76, 1)) !important;box-shadow:var(--btn-shadow-px) var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;cursor:pointer;transition:box-shadow 0.1s ease-out, transform 0.2s ease-out;}.click-element:active{box-shadow:0px 0px 0px var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;transform:translateY(var(--btn-active));}.click-element:focus{outline:2px solid dodgerblue;outline-offset:3px}.after-drop-popup-container{width:200%;height:200%;background-color:rgba(0, 0, 0, 0.8);position:absolute;display:flex;flex-direction:row-reverse;align-items:center;justify-content:center !important;gap:80px}.after-drop-popup-drag-element{scale:1.5;border-radius:8px;transform:none !important;position:unset !important}.after-drop-popup-drop-element{scale:1.5;border:unset;border-radius:8px;transform:none !important;position:unset !important}@keyframes zoomFadeIn{0%{transform:scale(0.6);opacity:0}100%{transform:scale(1);opacity:1}}.zoom-fade-in{animation:zoomFadeIn 0.8s ease-out forwards}@keyframes zoomFadeOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0.6);opacity:0}}.zoom-fade-out{animation:zoomFadeOut 0.8s ease-in forwards}.slide-numbers{width:70px;height:70px;border:1px solid #f57139;background-color:white;font-weight:500;color:#f57139;font-size:44px;border-radius:40px;display:flex;align-items:center;justify-content:center;font-family:'Baloo Bhai 2', serif}.slide-numbers-bottom{position:absolute;display:flex;justify-content:space-around;align-items:center;bottom:-25px;width:100%;height:50px}.slide-numbers-left{position:absolute;display:flex;flex-direction:column;justify-content:space-around;height:100%;width:50px;left:-25px;bottom:0px}.lido-speak-icon{width:56px;height:56px;position:absolute;top:-25px;right:-25px;z-index:10;background-color:white;border:4px solid #F34D08;border-radius:16px;box-shadow:0px 4px 0px 0px #F34D08;background-size:contain;background-repeat:no-repeat;cursor:pointer}.lido-speak-icon:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px !important}.lido-strong-shake{animation:strongShake 0.3s ease}.lido-scaled-shake{animation:scaledShake 0.6s ease-in-out}.lido-horizontal-shake{animation:horizontalShake 0.6s ease-in-out;border-radius:20px}.lido-vertical-shake{animation:verticalShake 0.6s ease-in-out;border-radius:20px}.lido-diagonal-shake{animation:diagonalShake 0.5s ease-in-out;border-radius:20px;will-change:transform}.lido-glow{animation:glowPulse 1s infinite alternate;transition:opacity 0.5s ease-in-out}.lido-box-highlight{animation:topToPlace 0.3s linear}.lido-display-hiddenvalue{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:1000;color:brown;-webkit-text-stroke:2px white;font-family:'Baloo Bhai 2', sans-serif;pointer-events:none}.lido-image-colorize{position:relative;display:inline-block}.lido-image-colorize::after{content:'';position:absolute;inset:0;background:var(--tint-color);mix-blend-mode:multiply;opacity:0.8;pointer-events:none;mask-image:var(--mask-url);mask-size:cover;mask-repeat:no-repeat;mask-position:center}.lido-tts-highlight-overlay{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;background:linear-gradient( 180deg, rgba(255, 235, 59, 0.95), rgba(255, 214, 0, 0.95) );border-radius:6px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.18), inset 0 -1px 0 rgba(255, 255, 255, 0.25);transition:width 25ms ease-out, height 25ms ease-out, opacity 80ms ease-out;opacity:0.95;will-change:transform, width, height;contain:layout paint style}.category-dropped-onCorrect{box-shadow:rgba(129, 193, 39, 1) 0px 8px 8px 0px !important}.category-dropped-onInCorrect{box-shadow:rgba(255, 4, 16, 1) 0px 8px 8px 0px !important}`;
13039
+ const indexCss = () => `@font-face{font-family:'Baloo Bhai 2';font-style:normal;font-weight:400 800;font-display:swap;src:url('../assets/offline-assets/fonts/Baloo-Bhai-2/Baloo-Bhai-2-Variable.woff2') format('woff2')}body{overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;height:100vh}*{user-select:none}.lido-disable-check-button{pointer-events:none;background-color:#9393935c !important;color:white}.lido-element-selected{border:2px solid;background-color:#ffdf7d !important}.diagonal-target,.diagonal-drop *{transform:scale(0.8) !important;opacity:1 !important}.cloned-element{display:flex !important;position:absolute !important;filter:grayscale(100%);pointer-events:none}.removeShadow{box-shadow:0px 0px 0px 0px #ff8900 !important}.highlight-element{border:2px solid white;box-shadow:rgb(243, 77, 8) 0px 0px 40px !important}.drop-element.empty{border:4px dashed #f34d08 !important}.drop-element.filled{border:'none' !important}.drag-element{box-shadow:0px 15px 11px rgba(43, 0, 0, 0.3) !important}.drag-element.dropped{box-shadow:none !important}.click-element{background-color:var(--btn-bg-color, rgba(255, 172, 76, 1)) !important;box-shadow:var(--btn-shadow-px) var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;cursor:pointer;transition:box-shadow 0.1s ease-out, transform 0.2s ease-out;}.click-element:active{box-shadow:0px 0px 0px var(--btn-shadow-color, rgba(225, 121, 76, 1)) !important;transform:translateY(var(--btn-active));}.click-element:focus{outline:2px solid dodgerblue;outline-offset:3px}.after-drop-popup-container{width:200%;height:200%;background-color:rgba(0, 0, 0, 0.8);position:absolute;display:flex;flex-direction:row-reverse;align-items:center;justify-content:center !important;gap:80px}.after-drop-popup-drag-element{scale:1.5;border-radius:8px;transform:none !important;position:unset !important}.after-drop-popup-drop-element{scale:1.5;border:unset;border-radius:8px;transform:none !important;position:unset !important}@keyframes zoomFadeIn{0%{transform:scale(0.6);opacity:0}100%{transform:scale(1);opacity:1}}.zoom-fade-in{animation:zoomFadeIn 0.8s ease-out forwards}@keyframes zoomFadeOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0.6);opacity:0}}.zoom-fade-out{animation:zoomFadeOut 0.8s ease-in forwards}.slide-numbers{width:70px;height:70px;border:1px solid #f57139;background-color:white;font-weight:500;color:#f57139;font-size:44px;border-radius:40px;display:flex;align-items:center;justify-content:center;font-family:'Baloo Bhai 2', serif}.slide-numbers-bottom{position:absolute;display:flex;justify-content:space-around;align-items:center;bottom:-25px;width:100%;height:50px}.slide-numbers-left{position:absolute;display:flex;flex-direction:column;justify-content:space-around;height:100%;width:50px;left:-25px;bottom:0px}.lido-speak-icon{width:56px;height:56px;position:absolute;top:-25px;right:-25px;z-index:10;background-color:white;border:4px solid #F34D08;border-radius:16px;box-shadow:0px 4px 0px 0px #F34D08;background-size:contain;background-repeat:no-repeat;cursor:pointer}.lido-speak-icon:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px !important}.lido-strong-shake{animation:strongShake 0.3s ease}.lido-scaled-shake{animation:scaledShake 0.6s ease-in-out}.lido-horizontal-shake{animation:horizontalShake 0.6s ease-in-out;border-radius:20px}.lido-vertical-shake{animation:verticalShake 0.6s ease-in-out;border-radius:20px}.lido-diagonal-shake{animation:diagonalShake 0.5s ease-in-out;border-radius:20px;will-change:transform}.lido-glow{animation:glowPulse 1s infinite alternate;transition:opacity 0.5s ease-in-out}.lido-box-highlight{animation:topToPlace 0.3s linear}.lido-display-hiddenvalue{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;font-weight:1000;color:brown;-webkit-text-stroke:2px white;font-family:'Baloo Bhai 2', sans-serif;pointer-events:none}.lido-image-colorize{position:relative;display:inline-block}.lido-image-colorize::after{content:'';position:absolute;inset:0;background:var(--tint-color);mix-blend-mode:multiply;opacity:0.8;pointer-events:none;mask-image:var(--mask-url);mask-size:cover;mask-repeat:no-repeat;mask-position:center}.lido-tts-highlight-overlay{position:fixed;left:0;top:0;pointer-events:none;z-index:9999;background:linear-gradient( 180deg, rgba(255, 235, 59, 0.95), rgba(255, 214, 0, 0.95) );border-radius:6px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.18), inset 0 -1px 0 rgba(255, 255, 255, 0.25);transition:width 25ms ease-out, height 25ms ease-out, opacity 80ms ease-out;opacity:0.95;will-change:transform, width, height;contain:layout paint style}.category-dropped-onCorrect{box-shadow:rgba(129, 193, 39, 1) 0px 8px 8px 0px !important}.category-dropped-onInCorrect{box-shadow:rgba(255, 4, 16, 1) 0px 8px 8px 0px !important}`;
12903
13040
 
12904
- const animationCss = () => `@keyframes rightToPlace{from{transform:translateX(2000px)}to{transform:translateX(0)}}@keyframes topToPlace{from{transform:translateY(-1000px)}to{transform:translateY(0)}}@keyframes bottomToPlace{from{transform:translateY(1000px)}to{transform:translateY(0)}}@keyframes placeToLeft{from{}to{transform:translateX(-2000px)}}@keyframes placeToRight{from{}to{transform:translateX(2000px)}}@keyframes leftToPlace{from{transform:translateX(-2000px)}to{transform:translateX(0)}}@keyframes shake{0%{transform:translateX(0)}10%{transform:translateX(-5px)}20%{transform:translateX(5px)}30%{transform:translateX(-5px)}40%{transform:translateX(5px)}50%{transform:translateX(-5px)}60%{transform:translateX(5px)}70%{transform:translateX(-5px)}80%{transform:translateX(5px)}90%{transform:translateX(-5px)}100%{transform:translateX(0)}}@keyframes fallAndBounce{0%{transform:translateY(-1000px)}25%{transform:translateY(0px)}50%{transform:translateY(-200px)}75%{transform:translateY(0)}90%{transform:translateY(-100px)}100%{transform:translateY(0)}}@keyframes placeToDown{0%{transform:translateY(0)}100%{transform:translateY(1000px)}}@keyframes strongShake{0%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}100%{transform:translateX(0)}}@keyframes scaledShake{0%{transform:scale(1) translateX(0);box-shadow:0 0 0 transparent}20%{transform:scale(1.10) translateX(-12px);box-shadow:0 0 10px red}40%{transform:scale(1.10) translateX(12px);box-shadow:0 0 12px red}60%{transform:scale(1.10) translateX(-8px);box-shadow:0 0 10px red}80%{transform:scale(1.10) translateX(8px);box-shadow:0 0 12px red}100%{transform:scale(1) translateX(0);box-shadow:none}}@keyframes horizontalShake{0%{transform:scale(1) translateX(0);background-color:transparent}20%{transform:translateX(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateX(20px);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateX(-10px);background-color:rgba(255, 0, 0, 0.3)}80%{transform:translateX(10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translateX(0);background-color:transparent}}@keyframes verticalShake{0%{transform:translateY(0);background-color:transparent}20%{transform:translateY(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateY(20px);background-color:rgba(255, 0, 0, 0.2)}80%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.1)}100%{transform:translateY(0);background-color:transparent}}@keyframes diagonalShake{0%{transform:translate(0, 0);background-color:transparent}25%{transform:translate(20px, -20px);background-color:rgba(255, 0, 0, 0.2)}50%{transform:translate(-20px, 20px);background-color:rgba(255, 0, 0, 0.3)}75%{transform:translate(10px, -10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translate(0, 0);background-color:transparent}}@keyframes glowPulse{0%{filter:drop-shadow(0 0 5px yellow) drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 30px orange)}50%{filter:drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 40px yellow) drop-shadow(0 0 50px orange)}100%{filter:drop-shadow(0 0 5px yellow) drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 30px orange)}}@keyframes trace-animation{0%{}100%{width:var(--trace-width, 100px);height:var(--trace-height, 100px)}}`;
13041
+ const animationCss = () => `@keyframes rightToPlace{from{transform:translateX(2000px)}to{transform:translateX(0)}}@keyframes topToPlace{from{transform:translateY(-1000px)}to{transform:translateY(0)}}@keyframes bottomToPlace{from{transform:translateY(1000px)}to{transform:translateY(0)}}@keyframes placeToLeft{from{}to{transform:translateX(-2000px)}}@keyframes placeToRight{from{}to{transform:translateX(2000px)}}@keyframes leftToPlace{from{transform:translateX(-2000px)}to{transform:translateX(0)}}@keyframes shake{0%{transform:translateX(0)}10%{transform:translateX(-5px)}20%{transform:translateX(5px)}30%{transform:translateX(-5px)}40%{transform:translateX(5px)}50%{transform:translateX(-5px)}60%{transform:translateX(5px)}70%{transform:translateX(-5px)}80%{transform:translateX(5px)}90%{transform:translateX(-5px)}100%{transform:translateX(0)}}@keyframes fallAndBounce{0%{transform:translateY(-1000px)}25%{transform:translateY(0px)}50%{transform:translateY(-200px)}75%{transform:translateY(0)}90%{transform:translateY(-100px)}100%{transform:translateY(0)}}@keyframes placeToDown{0%{transform:translateY(0)}100%{transform:translateY(1000px)}}@keyframes strongShake{0%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}100%{transform:translateX(0)}}@keyframes scaledShake{0%{transform:scale(1) translateX(0);box-shadow:0 0 0 transparent}20%{transform:scale(1.10) translateX(-12px);box-shadow:0 0 10px red}40%{transform:scale(1.10) translateX(12px);box-shadow:0 0 12px red}60%{transform:scale(1.10) translateX(-8px);box-shadow:0 0 10px red}80%{transform:scale(1.10) translateX(8px);box-shadow:0 0 12px red}100%{transform:scale(1) translateX(0);box-shadow:none}}@keyframes horizontalShake{0%{transform:scale(1) translateX(0);background-color:transparent}20%{transform:translateX(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateX(20px);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateX(-10px);background-color:rgba(255, 0, 0, 0.3)}80%{transform:translateX(10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translateX(0);background-color:transparent}}@keyframes verticalShake{0%{transform:translateY(0);background-color:transparent}20%{transform:translateY(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateY(20px);background-color:rgba(255, 0, 0, 0.2)}80%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.1)}100%{transform:translateY(0);background-color:transparent}}@keyframes diagonalShake{0%{transform:translate(0, 0);background-color:transparent}25%{transform:translate(20px, -20px);background-color:rgba(255, 0, 0, 0.2)}50%{transform:translate(-20px, 20px);background-color:rgba(255, 0, 0, 0.3)}75%{transform:translate(10px, -10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translate(0, 0);background-color:transparent}}@keyframes glowPulse{0%{filter:drop-shadow(0 0 5px yellow) drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 30px orange)}50%{filter:drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 40px yellow) drop-shadow(0 0 50px orange)}100%{filter:drop-shadow(0 0 5px yellow) drop-shadow(0 0 10px yellow) drop-shadow(0 0 20px yellow) drop-shadow(0 0 30px orange)}}@keyframes trace-animation{0%{}100%{width:var(--trace-width, 100px);height:var(--trace-height, 100px)}}`;
12905
13042
 
12906
13043
  const lidoHomeCss = () => `.lido-snackbar{visibility:visible;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;bottom:30px;left:50%;transform:translateX(-50%);font-size:17px}.lido-dot-container{display:flex;justify-content:space-between;align-items:center;visibility:hidden;position:absolute;left:50%;padding:0 5px;z-index:1;width:100vw;max-width:100vw;box-sizing:border-box;height:0px}.lido-dot{height:18px;width:18px;margin:0 4px;background-color:#bbb;border-radius:50%;display:inline-block;transition:background-color 0.3s;cursor:pointer;z-index:1}.lido-btn-dot-container{flex-shrink:1;flex-grow:1;display:flex;justify-content:center;align-items:center;text-align:center;z-index:1;min-width:0;height:0px}.lido-dot.completed{background-color:grey}.lido-dot.current{background-color:green}.lido-dot:not(.completed):not(.current){background-color:#bbb}#lido-arrow-left,#lido-arrow-right{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:1000;box-shadow:0px 8px 0px 0px #8b310f;background-color:#f34d08;cursor:pointer;visibility:hidden;flex-shrink:0}#lido-arrow-left:active,#lido-arrow-right:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px}.navbar{display:flex;justify-content:center}.lido-exit-button,#main-audio{width:80px;height:80px;z-index:1000;cursor:pointer;background-color:white;display:flex;align-items:center;justify-content:center;border:4px solid #f34d08;border-radius:16px;box-shadow:0px 8px #f34d08;flex-shrink:0;}#main-audio:active,.popup-button:active,.lido-exit-button:active{margin-bottom:-8px;box-shadow:0px 0px 0px 0px !important}.lido-alert-popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:1000}@media (max-width: 768px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0 8px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0 8px}.lido-dot{height:16px;width:16px;margin:0 2.5px}}@media (max-width: 480px){#lido-arrow-left,#lido-arrow-right{width:74px;height:74px;margin:0px 5px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0px 5px}.lido-dot{height:15px;width:15px;margin:0 1.5px}.lido-dot-container{padding:0 3px}}@media (max-width: 375px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 3px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 3px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 2px}}@media (max-width: 320px){#lido-arrow-left,#lido-arrow-right,.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 2px}.lido-dot{height:12px;width:12px;margin:0 0.5px}.lido-dot-container{padding:0 2px}}@media (max-width: 900px) and (orientation: landscape){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 5px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 5px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 5px}}.popup-exit-text{white-space:nowrap;font-size:22px;font-weight:600;margin-top:-8%}.lido-alert-parent{z-index:10000 !important;position:absolute;top:0;left:0}.popup-button{width:80px;height:80px;z-index:1000;cursor:pointer;display:flex;align-items:center;justify-content:center;border:4px solid #F34D08;border-radius:16px;box-shadow:0 8px 0 #F34D08}.nav-for-lanai{position:absolute;top:0%;left:0%;max-width:none;width:100%;height:auto;visibility:visible}`;
12907
13044
 
@@ -13104,8 +13241,8 @@ const LidoHome = class {
13104
13241
  }
13105
13242
  translateHomeText(key) {
13106
13243
  var _a;
13107
- const lang = (_a = this.Lang) === null || _a === void 0 ? void 0 : _a.trim();
13108
- return lang ? instance.getFixedT(lang)(key) : instance.t(key);
13244
+ const lang = ((_a = this.Lang) === null || _a === void 0 ? void 0 : _a.trim()) || instance.language || 'en';
13245
+ return instance.getFixedT(lang)(key);
13109
13246
  }
13110
13247
  onCommonAudioPathChange(path) {
13111
13248
  this.publishCommonAudioPath(path);
@@ -13115,6 +13252,7 @@ const LidoHome = class {
13115
13252
  * between containers and parses the XML data into containers.
13116
13253
  */
13117
13254
  async componentWillLoad() {
13255
+ index$1.resetGoodJobAudioTracking(this.el);
13118
13256
  // Publish the current player's common-audio path before parsing XML so
13119
13257
  // child lido-text components cannot resolve auto-audio against the
13120
13258
  // previous player's global path.
@@ -13211,7 +13349,7 @@ const LidoHome = class {
13211
13349
  }
13212
13350
  // Pure-JS fallback (no wasm asset required)
13213
13351
  try {
13214
- const brotliDecodeModule = await Promise.resolve().then(function () { return require('./decode-BCvdWRyT.js'); }).then(function (n) { return n.decode; });
13352
+ const brotliDecodeModule = await Promise.resolve().then(function () { return require('./decode-CE64w_Pc.js'); }).then(function (n) { return n.decode; });
13215
13353
  const brotliDecompressBuffer = brotliDecodeModule.BrotliDecompressBuffer || ((_a = brotliDecodeModule.default) === null || _a === void 0 ? void 0 : _a.BrotliDecompressBuffer);
13216
13354
  if (typeof brotliDecompressBuffer !== 'function') {
13217
13355
  throw new Error('BrotliDecompressBuffer function not found in brotli/dec/decode');
@@ -13445,10 +13583,7 @@ const LidoHome = class {
13445
13583
  })
13446
13584
  .filter(Boolean);
13447
13585
  if (tagName === 'lido-text' && props.string) {
13448
- props.string = instance.t(props.string);
13449
- }
13450
- if (tagName === 'lido-text' && props.string) {
13451
- props.string = instance.t(props.string);
13586
+ props.string = this.translateHomeText(props.string);
13452
13587
  }
13453
13588
  // Map XML tags to Stencil components
13454
13589
  const componentMapping = {
@@ -13510,7 +13645,7 @@ const LidoHome = class {
13510
13645
  });
13511
13646
  }
13512
13647
  async btnpopup(runId) {
13513
- var _a, _b;
13648
+ var _a, _b, _c;
13514
13649
  const isStale = () => runId !== this.btnpopupRunId;
13515
13650
  const container = document.getElementById(index$1.LidoContainer);
13516
13651
  if (isStale())
@@ -13560,11 +13695,37 @@ const LidoHome = class {
13560
13695
  break;
13561
13696
  }
13562
13697
  }
13698
+ if (index$1.getCancelBtnPopup() || isStale())
13699
+ return;
13700
+ if (templateId === 'flashcardtemplate') {
13701
+ const flashCard = this.el.querySelector('lido-flash-card');
13702
+ await ((_a = flashCard === null || flashCard === void 0 ? void 0 : flashCard.replayGoodJobAudio) === null || _a === void 0 ? void 0 : _a.call(flashCard));
13703
+ if (isStale())
13704
+ return;
13705
+ }
13706
+ if (templateId === 'storyTale') {
13707
+ const pageGoodJob = container.querySelector('#arrow1');
13708
+ if (pageGoodJob) {
13709
+ const originalAudio = pageGoodJob.getAttribute('data-lido-original-audio')
13710
+ || pageGoodJob.getAttribute('audio')
13711
+ || undefined;
13712
+ const localizedAudio = index$1.getGoodJobAudio(pageGoodJob);
13713
+ if (localizedAudio) {
13714
+ if (!pageGoodJob.hasAttribute('data-lido-original-audio') && originalAudio) {
13715
+ pageGoodJob.setAttribute('data-lido-original-audio', originalAudio);
13716
+ }
13717
+ pageGoodJob.setAttribute('audio', localizedAudio);
13718
+ }
13719
+ await index$1.AudioPlayer.getI().play(pageGoodJob, false, undefined, originalAudio);
13720
+ if (isStale())
13721
+ return;
13722
+ }
13723
+ }
13563
13724
  if (isStale())
13564
13725
  return;
13565
13726
  if (this.areAllDropsFilled()) {
13566
13727
  const objectiveString = container['objective'];
13567
- const objectiveArray = (_b = JSON.parse((_a = container.getAttribute(index$1.SelectedValuesKey)) !== null && _a !== void 0 ? _a : '[]')) !== null && _b !== void 0 ? _b : [];
13728
+ const objectiveArray = (_c = JSON.parse((_b = container.getAttribute(index$1.SelectedValuesKey)) !== null && _b !== void 0 ? _b : '[]')) !== null && _c !== void 0 ? _c : [];
13568
13729
  const res = index$1.matchStringPattern(objectiveString, objectiveArray);
13569
13730
  if (res) {
13570
13731
  index$1.triggerNextContainer();
@@ -16945,10 +17106,10 @@ const LidoKeyboard = class {
16945
17106
  const keysArray = this.keys.split(',').map(k => k.trim());
16946
17107
  const container = document.getElementById(index$1.LidoContainer);
16947
17108
  const showCheck = container.getAttribute('show-check') === 'true';
16948
- return (index.h(index.Host, { key: '5773e8189c512e90d63217048f9372d00e4a7fe9', class: "lido-keyboard", style: { width: this.style.width, height: this.style.height, position: 'relative', margin: this.style.margin, zIndex: this.z } }, this.keyboardInput && (index.h("div", { key: '136fa3a2b0459a9a63e14ac8e212997e4bd32224', class: "input-area" }, index.h("input", { key: 'd9a1dc064d615b40b1e0e2b008dbf79ec70eb19b', type: "text", value: this.inputString, class: "input-area", readonly: true }), index.h("lido-text", { key: 'e6c53ea590c607b355d1f57d445d078c0bcf9085', visible: showCheck ? 'true' : 'false', string: "<<", "bg-color": "black", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "100px", height: "70px", type: "click", onClick: () => {
17109
+ return (index.h(index.Host, { key: '4de3b75fa2905744ad610d147d9b4fe9912dd732', class: "lido-keyboard", style: { width: this.style.width, height: this.style.height, position: 'relative', margin: this.style.margin, zIndex: this.z } }, this.keyboardInput && (index.h("div", { key: '7b5d293c52747700cde9c1069cfbbdae065e64f9', class: "input-area" }, index.h("input", { key: '03a91cd87e6bb4f09bf698087258426dd9232f67', type: "text", value: this.inputString, class: "input-area", readonly: true }), index.h("lido-text", { key: 'd30e033a055df52b30b2f2775c2b3410ee37df63', visible: showCheck ? 'true' : 'false', string: "<<", "bg-color": "black", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "100px", height: "70px", type: "click", onClick: () => {
16949
17110
  this.inputString = this.inputString.slice(0, -1);
16950
17111
  this.inputValidation(event);
16951
- } }), index.h("lido-text", { key: '815877bd027aa3540871c511df5937cfb0b6f149', visible: showCheck ? 'true' : 'false', id: "lido-checkButton", string: "Enter", "bg-color": "green", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "150px", height: "70px", type: "click" }))), this.letterLength && (index.h("lido-text", { key: '73c08eac4f9c154f47371e812fb337de26b10691', visible: "true", string: `${this.numberOfClick}/${this.letterLength}`, "font-size": "60px", "font-color": "white", onEntry: "this.position='absolute'; this.right='0'; this.fontWeight='800';", x: "unset" })), index.h("div", { key: '1e7855724f15fdb432320f6186fc356518a29224', class: "keyboard-wrapper", style: {
17112
+ } }), index.h("lido-text", { key: '70d78aed7dedbe7d03a05c13c4c320029280bb03', visible: showCheck ? 'true' : 'false', id: "lido-checkButton", string: "Enter", "bg-color": "green", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "150px", height: "70px", type: "click" }))), this.letterLength && (index.h("lido-text", { key: '19306cd12bd98dc8dc7b54b20bad3f2f0318116f', visible: "true", string: `${this.numberOfClick}/${this.letterLength}`, "font-size": "60px", "font-color": "white", onEntry: "this.position='absolute'; this.right='0'; this.fontWeight='800';", x: "unset" })), index.h("div", { key: '826900d6ba26175eb45d2e7e4c02fccce2004db3', class: "keyboard-wrapper", style: {
16952
17113
  display: 'flex',
16953
17114
  flexWrap: 'wrap',
16954
17115
  justifyContent: 'center',
@@ -17183,7 +17344,7 @@ const LidoMathMatrix = class {
17183
17344
  render() {
17184
17345
  let slotNumber = 1;
17185
17346
  const slotData = this.getSlotData();
17186
- return (index.h(index.Host, { key: '2ef30835855363ba9fc7932122d1d505a451e055', class: "math-matrix", style: {
17347
+ return (index.h(index.Host, { key: '8a17727416da00fda95c401c3a005cdea1e732d0', class: "math-matrix", style: {
17187
17348
  height: this.style.height,
17188
17349
  width: this.style.width,
17189
17350
  z: this.style.z,
@@ -17330,7 +17491,7 @@ const LidoPos = class {
17330
17491
  };
17331
17492
  }
17332
17493
  render() {
17333
- return (index.h(index.Host, { key: '4c417a789cc167f7d701b8469890631f9871fe6f', id: this.id, class: "lido-pos", type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, value: this.value, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: 'd5026f61804b53e63aa1cc6c15b3de91543cf426' })));
17494
+ return (index.h(index.Host, { key: 'cfd38900b31991e89c21a099fc4f91f77663ae94', id: this.id, class: "lido-pos", type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, value: this.value, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: '73f7bfe2d8214693d6f40a4dab6d735906ad4eaa' })));
17334
17495
  }
17335
17496
  get el() { return index.getElement(this); }
17336
17497
  };
@@ -17474,7 +17635,7 @@ const LidoRandom = class {
17474
17635
  backgroundColor: this.bgColor,
17475
17636
  margin: this.margin,
17476
17637
  };
17477
- return (index.h(index.Host, { key: 'e0ed354e54ea3c5112d0e068b2a94356ef437874', class: "lido-random", type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, minDrops: this.minDrops, maxDrops: this.maxDrops, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: 'ed0386cda3ba55d89fb08607775a49a4180f08b3' })));
17638
+ return (index.h(index.Host, { key: 'a4cec45d407b57833a4296a20230717534adf39b', class: "lido-random", type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, minDrops: this.minDrops, maxDrops: this.maxDrops, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, index.h("slot", { key: 'b80726b68b7f1c009f35352b9d05cd573159f87b' })));
17478
17639
  }
17479
17640
  get el() { return index.getElement(this); }
17480
17641
  };
@@ -17561,7 +17722,7 @@ const LidoRoot = class {
17561
17722
  return index.h("div", null, "Error loading XML data. Please check the path or URL.");
17562
17723
  }
17563
17724
  // Once the XML data is loaded, pass it to the `lido-home` component
17564
- return (index.h("lido-home", Object.assign({ showNav: true, activeContainerIndexes: [], initialIndex: this.initialIndex, canplay: this.canplay, xmlData: this.xmlData, baseUrl: this.baseUrl }, (this.zipUrl ? { zipUrl: this.zipUrl } : {}), { exitButtonUrl: this.exitButtonUrl, prevButtonUrl: this.prevButtonUrl, nextButtonUrl: this.nextButtonUrl, speakerButtonUrl: this.speakerButtonUrl })));
17725
+ return (index.h("lido-home", Object.assign({ showNav: true, activeContainerIndexes: [], initialIndex: this.initialIndex, canplay: this.canplay, Lang: this.Lang, xmlData: this.xmlData, baseUrl: this.baseUrl }, (this.zipUrl ? { zipUrl: this.zipUrl } : {}), { exitButtonUrl: this.exitButtonUrl, prevButtonUrl: this.prevButtonUrl, nextButtonUrl: this.nextButtonUrl, speakerButtonUrl: this.speakerButtonUrl })));
17565
17726
  }
17566
17727
  static get assetsDirs() { return ["assets"]; }
17567
17728
  static get watchers() { return {
@@ -17645,13 +17806,13 @@ const LidoRow = class {
17645
17806
  };
17646
17807
  }
17647
17808
  render() {
17648
- return (index.h(index.Host, { key: '30b1857fc65b826cfad9c08f71ea1c2f7cc966e4', class: "lido-row", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }, index.h("slot", { key: '747f20051ad1fd1dd075ba457b612e9d8ef7d27d' })));
17809
+ return (index.h(index.Host, { key: 'c69aea0b1b11d9aec167d1a4376f68073f91ca81', class: "lido-row", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }, index.h("slot", { key: '8756ee0447057cddb949e23decbde5fe4d1d25c8' })));
17649
17810
  }
17650
17811
  get el() { return index.getElement(this); }
17651
17812
  };
17652
17813
  LidoRow.style = lidoRowCss();
17653
17814
 
17654
- const lidoShapeCss = () => `.lido-shape{position:absolute;top:var(--y);left:var(--x);display:var(--display);z-index:var(--z);justify-content:center;align-items:center}.lido-rectangle{border-radius:0}.lido-circle{width:var(--width);height:var(--width);border-radius:50%;background-color:var(--bgColor)}.lido-ellipse{width:var(--width);height:var(--height);border-radius:50%;background-color:var(--bgColor)}.lido-triangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--bgColor);clip-path:polygon(50% 0%, 100% 100%, 0% 100%)}.lido-rightTriangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--bgColor);clip-path:polygon(100% 0%, 100% 100%, 0% 100%)}.lido-leftTriangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--triangleBgColor);clip-path:polygon(0% 0%, 100% 100%, 0% 100%)}.lido-parallelogram{width:var(--paralleWidth);height:var(--paralleHeight);transform:skew(20deg)}.lido-trapezium{width:var(--trapeziumWidth);height:var(--trapeziumHeight);background-color:var(--bgColor);clip-path:polygon( 20% 0%, 80% 0%, 100% 100%, 0% 100% )}.lido-hexagon{width:var(--hexagonWidth);height:var(--hexagonHeight);background-color:var(--bgColor);clip-path:polygon( 25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50% )}.lido-cone{width:var(--coneWidth);height:var(--coneHeight);background-color:var(--bgColor);clip-path:polygon( 15% 10%, 25% 4%, 35% 1%, 50% 0%, 65% 1%, 75% 4%, 85% 10%, 50% 100% )}.lido-star{width:var(--starWidth);height:var(--starHeight);background-color:var(--starBgColor);clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}.lido-pentagon{width:var(--pentagonWidth);height:var(--pentagonHeight);background-color:var(--pentagonBgColor);clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)}.lido-heptagon{width:var(--heptagonWidth);height:var(--heptagonHeight);background-color:var(--heptagonBgColor);clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)}.lido-octagon{width:var(--octagonWidth);height:var(--octagonHeight);background-color:var(--octagonBgColor);clip-path:polygon(25% 0%, 75% 0%, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0% 75%, 0% 25%)}.lido-rhombus{width:var(--rhombusWidth);height:var(--rhombusHeight);background-color:var(--rhombusBgColor);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.lido-heart{height:var(--heartHeight);width:var(--heartWidth);border-image:radial-gradient(var(--heartBgColor) 69%, #0000 70%) 84.5%/50%;clip-path:polygon(-41% 0, 50% 91%, 141% 0)}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(45deg)}.face{position:absolute;width:var(--face-width,150px);height:var(--face-width,150px);background:var(--face-bg-color,150px);box-shadow:inset -20px -20px 40px rgba(0,0,0,0.3)}.front{transform:rotateY( 0deg) translateZ(var(--face-translate, 75px))}.back{transform:rotateY(180deg) translateZ(var(--face-translate, 75px))}.right{transform:rotateY( 90deg) translateZ(var(--face-translate, 75px))}.left{transform:rotateY(-90deg) translateZ(var(--face-translate, 75px))}.top{transform:rotateX( 90deg) translateZ(var(--face-translate, 75px))}.bottom{transform:rotateX(-90deg) translateZ(var(--face-translate, 75px))}.lido-cylinder{width:var(--width);height:var(--height);border-radius:100% / 80px;background:radial-gradient(50% 40px at 50% 40px, #0003 99.99%, #0000 0), radial-gradient(50% 40px at 50% calc(100% - 40px), #fff3 99.99%, #0000 0), red}.lido-sphere{position:relative;width:var(--width);height:var(--width);border-radius:50%;background:radial-gradient(circle at 30% 18%, #22d4ff 0%, #18c2f4 9%, rgba(24, 194, 244, 0.2) 18%, transparent 30%), radial-gradient(circle at 36% 26%, #0f8fff 0%, #0b67e6 30%, #083fbe 62%, #120084 100%);box-shadow:inset -22px -26px 40px rgba(5, 0, 70, 0.38), inset 14px 14px 24px rgba(255, 255, 255, 0.05), 0 4px 2px rgba(0, 0, 0, 0.78);overflow:visible}.lido-sphere::after{content:'';position:absolute;top:50%;left:50%;width:100%;height:16%;border-radius:50%;border-top:2px dashed rgba(0, 0, 0, 0.65);border-bottom:3px solid rgba(0, 0, 0, 0.85);box-sizing:border-box;transform:translate(-50%, -50%);pointer-events:none}`;
17815
+ const lidoShapeCss = () => `.lido-shape{position:absolute;top:var(--y);left:var(--x);display:var(--display);z-index:var(--z);justify-content:center;align-items:center}.lido-rectangle{border-radius:0}.lido-circle{width:var(--width);height:var(--width);border-radius:50%;background-color:var(--bgColor)}.lido-ellipse{width:var(--width);height:var(--height);border-radius:50%;background-color:var(--bgColor)}.lido-triangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--bgColor);clip-path:polygon(50% 0%, 100% 100%, 0% 100%)}.lido-rightTriangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--bgColor);clip-path:polygon(100% 0%, 100% 100%, 0% 100%)}.lido-leftTriangle{width:var(--triangleWidth);height:var(--triangleHeight);background-color:var(--triangleBgColor);clip-path:polygon(0% 0%, 100% 100%, 0% 100%)}.lido-parallelogram{width:var(--paralleWidth);height:var(--paralleHeight);transform:skew(20deg)}.lido-trapezium{width:var(--trapeziumWidth);height:var(--trapeziumHeight);background-color:var(--bgColor);clip-path:polygon( 20% 0%, 80% 0%, 100% 100%, 0% 100% )}.lido-hexagon{width:var(--hexagonWidth);height:var(--hexagonHeight);background-color:var(--bgColor);clip-path:polygon( 25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50% )}.lido-cone{width:var(--coneWidth);height:var(--coneHeight);background-color:var(--bgColor);clip-path:polygon( 15% 10%, 25% 4%, 35% 1%, 50% 0%, 65% 1%, 75% 4%, 85% 10%, 50% 100% )}.lido-star{width:var(--starWidth);height:var(--starHeight);background-color:var(--starBgColor);clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)}.lido-pentagon{width:var(--pentagonWidth);height:var(--pentagonHeight);background-color:var(--pentagonBgColor);clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)}.lido-heptagon{width:var(--heptagonWidth);height:var(--heptagonHeight);background-color:var(--heptagonBgColor);clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)}.lido-octagon{width:var(--octagonWidth);height:var(--octagonHeight);background-color:var(--octagonBgColor);clip-path:polygon(25% 0%, 75% 0%, 100% 25%, 100% 75%, 75% 100%, 25% 100%, 0% 75%, 0% 25%)}.lido-rhombus{width:var(--rhombusWidth);height:var(--rhombusHeight);background-color:var(--rhombusBgColor);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.lido-heart{height:var(--heartHeight);width:var(--heartWidth);border-image:radial-gradient(var(--heartBgColor) 69%, #0000 70%) 84.5%/50%;clip-path:polygon(-41% 0, 50% 91%, 141% 0)}.cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transform:rotateX(-20deg) rotateY(45deg)}.face{position:absolute;width:var(--face-width,150px);height:var(--face-width,150px);background:var(--face-bg-color,150px);box-shadow:inset -20px -20px 40px rgba(0,0,0,0.3)}.front{transform:rotateY( 0deg) translateZ(var(--face-translate, 75px))}.back{transform:rotateY(180deg) translateZ(var(--face-translate, 75px))}.right{transform:rotateY( 90deg) translateZ(var(--face-translate, 75px))}.left{transform:rotateY(-90deg) translateZ(var(--face-translate, 75px))}.top{transform:rotateX( 90deg) translateZ(var(--face-translate, 75px))}.bottom{transform:rotateX(-90deg) translateZ(var(--face-translate, 75px))}.lido-cylinder{width:var(--width);height:var(--height);border-radius:100% / 80px;background:radial-gradient(50% 40px at 50% 40px, #0003 99.99%, #0000 0), radial-gradient(50% 40px at 50% calc(100% - 40px), #fff3 99.99%, #0000 0), red}.lido-sphere{position:relative;width:var(--width);height:var(--width);border-radius:50%;background:radial-gradient(circle at 30% 18%, #22d4ff 0%, #18c2f4 9%, rgba(24, 194, 244, 0.2) 18%, transparent 30%), radial-gradient(circle at 36% 26%, #0f8fff 0%, #0b67e6 30%, #083fbe 62%, #120084 100%);box-shadow:inset -22px -26px 40px rgba(5, 0, 70, 0.38), inset 14px 14px 24px rgba(255, 255, 255, 0.05), 0 4px 2px rgba(0, 0, 0, 0.78);overflow:visible}.lido-sphere::after{content:'';position:absolute;top:50%;left:50%;width:100%;height:16%;border-radius:50%;border-top:2px dashed rgba(0, 0, 0, 0.65);border-bottom:3px solid rgba(0, 0, 0, 0.85);box-sizing:border-box;transform:translate(-50%, -50%);pointer-events:none}`;
17655
17816
 
17656
17817
  const LidoShape = class {
17657
17818
  constructor(hostRef) {
@@ -17803,8 +17964,8 @@ const LidoShape = class {
17803
17964
  backgroundColor: this.shapeType !== 'polygon' ? this.bgColor : 'transparent', // Apply background only if not a polygon
17804
17965
  margin: this.margin,
17805
17966
  };
17806
- return (index.h(index.Host, { key: '27ddc6d8019a8aaed121d5af47ffc6b76dbeda9c', class: `lido-shape ${this.shapeType}`, value: this.value, type: this.type, "tab-index": this.tabIndex, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }, this.shapeType === "lido-cube" &&
17807
- index.h("div", { key: 'e46ef618c7652aa4aee6e1e618be42a6f1a6b654', class: "cube" }, index.h("div", { key: 'af6d6e16ffaeadaff6906e2a927d9dd120bcbced', class: "face top" }), index.h("div", { key: 'dcfefb7a09127f5d5fab9e4538e750bf36f3fb79', class: "face bottom" }), index.h("div", { key: '08d30a512aabb0fdb2fe50f6db375897b02ebde8', class: "face left" }), index.h("div", { key: 'cec476d4b207c936aa71be50457ada4e029d12e8', class: "face right" }), index.h("div", { key: 'f36023469d224c14b9172b215fd7cda57e5144df', class: "face front" }), index.h("div", { key: 'af4df1450a0b0f18c8e50079b45aaaabe49b3b8e', class: "face back" }))));
17967
+ return (index.h(index.Host, { key: '90b323eacac8b702168f612f79000da757109ec1', class: `lido-shape ${this.shapeType}`, value: this.value, type: this.type, "tab-index": this.tabIndex, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }, this.shapeType === "lido-cube" &&
17968
+ index.h("div", { key: '16b4a96f302cd6b1c80023a29253e85fe0937622', class: "cube" }, index.h("div", { key: '9ce4dfa0021b463aa5dba4c0651d144f844c2db0', class: "face top" }), index.h("div", { key: 'f10410ef05cbde0a024ccbdbfb4fb7099c1bd9d3', class: "face bottom" }), index.h("div", { key: '2a08b1857613efd1db596d72a9324ac5b3379628', class: "face left" }), index.h("div", { key: '4922b4b63dc9538e68d143109bfa12782382ee48', class: "face right" }), index.h("div", { key: '983bc6815a3b5e6023d76394e0bdeb12c493b771', class: "face front" }), index.h("div", { key: 'eab0224f427b8a345d3c3285d8d2828b39871eaa', class: "face back" }))));
17808
17969
  }
17809
17970
  get el() { return index.getElement(this); }
17810
17971
  };
@@ -17899,13 +18060,13 @@ const LidoSlideFill = class {
17899
18060
  const id = pathIndex === 1 ? 'glassPath' : pathIndex === 2 ? 'rulerPath' : `path${pathIndex}`;
17900
18061
  return `<path id="${id}"${attrs}>`;
17901
18062
  });
17902
- const clipPathDef = `
17903
- <clipPath id="clipGlass">
17904
- <use xlink:href="#glassPath" />
17905
- </clipPath>
18063
+ const clipPathDef = `
18064
+ <clipPath id="clipGlass">
18065
+ <use xlink:href="#glassPath" />
18066
+ </clipPath>
17906
18067
  `;
17907
- svgText = svgText.replace(/<svg([^>]*)>/, `<svg class="lido-slide-svg"$1>
17908
- ${clipPathDef}
18068
+ svgText = svgText.replace(/<svg([^>]*)>/, `<svg class="lido-slide-svg"$1>
18069
+ ${clipPathDef}
17909
18070
  `);
17910
18071
  svgText = svgText.replace(/<rect([^>]*)\/?>/, `<rect id="fillArea" $1 clip-path="url(#clipGlass)" />`);
17911
18072
  this.svgContent = svgText;
@@ -18030,7 +18191,7 @@ const LidoSlideFill = class {
18030
18191
  }
18031
18192
  }
18032
18193
  render() {
18033
- return (index.h(index.Host, { key: 'cbb9f4087cff87a6aab9d196a968b8965acb79c7', id: this.id, class: "lido-slide-fill", src: this.src, fill: this.fill, fillDirection: this.fillDirection, slider: this.slider, style: this.style, min: this.min, max: this.max, division: this.division, numberType: this.numberType, onEntry: this.onEntry, type: this.type, "disable-speak": this.disableSpeak }, index.h("div", { key: '35b1e30cfccd868de54619b29d89870ca29b1fcc', innerHTML: this.svgContent, class: "lido-svg-element" })));
18194
+ return (index.h(index.Host, { key: 'df8a5474f641fec4d842013a04ef9e3d422a8ab2', id: this.id, class: "lido-slide-fill", src: this.src, fill: this.fill, fillDirection: this.fillDirection, slider: this.slider, style: this.style, min: this.min, max: this.max, division: this.division, numberType: this.numberType, onEntry: this.onEntry, type: this.type, "disable-speak": this.disableSpeak }, index.h("div", { key: 'e7b6bcc17f8caea30b074f24596b6b044833d170', innerHTML: this.svgContent, class: "lido-svg-element" })));
18034
18195
  }
18035
18196
  get el() { return index.getElement(this); }
18036
18197
  static get watchers() { return {
@@ -18319,7 +18480,7 @@ const LidoText = class {
18319
18480
  }
18320
18481
  render() {
18321
18482
  const displayText = instance.t(this.string).replace(/_phonics?/gi, '');
18322
- return (index.h(index.Host, { key: 'f15f324ad2bf6bf540e1b99bebc18aee13e0f76e', class: "lido-text", value: this.value, "required-drops": this.requiredDrops, type: this.type, "tab-index": this.tabIndex, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, minDrops: this.minDrops, maxDrops: this.maxDrops, id: this.id, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, move: this.move, "span-type": this.spanType, "disable-speak": `${this.disableSpeak}` }, this.spanType !== '' ? index.h("div", { class: "lido-text-content" }, " ", displayText) : displayText));
18483
+ return (index.h(index.Host, { key: '4bffbc9cb9963f3b478d9e95a13ef70e83ebf69f', class: "lido-text", value: this.value, "required-drops": this.requiredDrops, type: this.type, "tab-index": this.tabIndex, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, minDrops: this.minDrops, maxDrops: this.maxDrops, id: this.id, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, move: this.move, "span-type": this.spanType, "disable-speak": `${this.disableSpeak}` }, this.spanType !== '' ? index.h("div", { class: "lido-text-content" }, " ", displayText) : displayText));
18323
18484
  }
18324
18485
  get el() { return index.getElement(this); }
18325
18486
  };
@@ -19450,7 +19611,7 @@ const LidoTrace = class {
19450
19611
  };
19451
19612
  }
19452
19613
  render() {
19453
- return (index.h(index.Host, { key: '361e60977f10125a19ce2c3a358c4b450d3f2d6c', class: "lido-trace", id: this.id, audio: this.audio, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, tabindex: this.tabIndex, "disable-speak": this.disableSpeak }, index.h("div", { key: 'f003ed4286f05229490221854c5cba19e7930425', style: this.style, id: "lido-svgContainer" })));
19614
+ return (index.h(index.Host, { key: '07506adee10b4f0348ba7b7c4d0f338d7e61cfd9', class: "lido-trace", id: this.id, audio: this.audio, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, tabindex: this.tabIndex, "disable-speak": this.disableSpeak }, index.h("div", { key: '9b3c311582a7246cded868234a47293ae78a3932', style: this.style, id: "lido-svgContainer" })));
19454
19615
  }
19455
19616
  static get assetsDirs() { return ["assets"]; }
19456
19617
  get el() { return index.getElement(this); }
@@ -19536,7 +19697,7 @@ const LidoWrap = class {
19536
19697
  };
19537
19698
  }
19538
19699
  render() {
19539
- return (index.h(index.Host, { key: '80d8d410ffcc60ca8b70a8d76073f941324d311c', class: "lido-wrap", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, disableSpeak: this.disableSpeak }, index.h("slot", { key: '8b2c0f1bfe3568a72545657814ca457640d2d797' })));
19700
+ return (index.h(index.Host, { key: '8d8ea2a16213d6a54c947d2fa20dd094024d30d1', class: "lido-wrap", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, disableSpeak: this.disableSpeak }, index.h("slot", { key: 'f42ddae95ef36fe6e7a42d2ccfcb58bf09243b08' })));
19540
19701
  }
19541
19702
  get el() { return index.getElement(this); }
19542
19703
  };