lido-player 0.0.2-alpha-58-dev → 0.0.2-alpha-60-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 (153) hide show
  1. package/dist/cjs/index.cjs.js +1 -1
  2. package/dist/cjs/lido-avatar_22.cjs.entry.js +96 -34
  3. package/dist/cjs/lido-player.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-470fe410.js → utils-28faa755.js} +142 -108
  6. package/dist/collection/components/container/lido-container.js +62 -3
  7. package/dist/collection/components/flashCard/lido-flash-card.js +10 -1
  8. package/dist/collection/components/float/lido-float.js +1 -1
  9. package/dist/collection/components/home/lido-home.js +22 -12
  10. package/dist/collection/components/keyboard/lido-keyboard.js +2 -2
  11. package/dist/collection/components/mathMatrix/lido-math-matrix.js +1 -1
  12. package/dist/collection/components/position/lido-pos.js +1 -1
  13. package/dist/collection/components/random/lido-random.js +1 -1
  14. package/dist/collection/components/row/lido-row.js +1 -1
  15. package/dist/collection/components/scale/lido-balance.js +1 -1
  16. package/dist/collection/components/shape/lido-shape.js +2 -2
  17. package/dist/collection/components/slideFill/lido-slide-fill.js +1 -1
  18. package/dist/collection/components/text/lido-text.js +1 -1
  19. package/dist/collection/components/trace/lido-trace.js +18 -7
  20. package/dist/collection/components/wrap/lido-wrap.js +1 -1
  21. package/dist/collection/css/animation.css +17 -0
  22. package/dist/collection/css/index.css +1 -1
  23. package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +3 -3
  24. package/dist/collection/stories/Templates/balancing/balancing.stories.js +1 -1
  25. package/dist/collection/stories/Templates/imageMatch/imageMatch.stories.js +79 -0
  26. package/dist/collection/stories/Templates/matchBox/matchBox2.stories.js +74 -44
  27. package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +4 -4
  28. package/dist/collection/stories/Templates/numberIdentification/numberIdentificationimageTotext.stories.js +91 -0
  29. package/dist/collection/stories/Templates/numberIdentification/numberIdentificationtextTotext.stories.js +84 -0
  30. package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +0 -2
  31. package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +0 -2
  32. package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaMultiOption.stories.js +106 -0
  33. package/dist/collection/stories/Templates/palEgmaCalculateSum/palEgmaSumTogether.stories.js +89 -0
  34. package/dist/collection/stories/Templates/palEgmaPatternMatching/palEgmaPatternMatching.stories.js +86 -0
  35. package/dist/collection/stories/Templates/palEgmaWordProblem/palEgmaWordProblem.stories.js +131 -0
  36. package/dist/collection/stories/Templates/palEgraInventedSpelling/pal_egra_invented_spelling_schema.stories.js +61 -0
  37. package/dist/collection/stories/Templates/palEgraMCQWithImage/palEgraMCQWithImage.stories.js +87 -0
  38. package/dist/collection/stories/Templates/palEgraOptionWithAudio/palEgraOptionWithAudio.stories.js +98 -0
  39. package/dist/collection/stories/Templates/palEgraStoryMaking/pal_egra_story_making.stories.js +72 -0
  40. package/dist/collection/stories/Templates/palEgraTemplate1/palEgraLetterIdentification.stories.js +61 -0
  41. package/dist/collection/stories/Templates/palEgra_OddOneOut/palEgra_oddOneOut.stories.js +60 -0
  42. package/dist/collection/stories/Templates/palEgra_arrange_pictures/palEgra_arrange_pictures.stories.js +78 -0
  43. package/dist/collection/stories/Templates/palEgra_build_word/palEgra_build_word.stories.js +78 -0
  44. package/dist/collection/stories/Templates/palEgra_word_formation/palEgra_WordFormation.stories.js +73 -0
  45. package/dist/collection/stories/Templates/palStorytale/palStorytale.stories.js +35 -0
  46. package/dist/collection/stories/Templates/pictureClues/pictureClues.stories.js +88 -0
  47. package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch1.stories.js +88 -0
  48. package/dist/collection/stories/Templates/pictureWordMatch/pictureWordMatch2.stories.js +66 -0
  49. package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +1 -1
  50. package/dist/collection/stories/Templates/quizMaths/quizMaths.stories.js +7 -7
  51. package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +1 -1
  52. package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +2 -2
  53. package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +2 -2
  54. package/dist/collection/stories/Templates/substraction/substractionWithimg.stories.js +111 -0
  55. package/dist/collection/stories/Templates/substraction/substractionWithoutImg.stories.js +70 -0
  56. package/dist/collection/stories/Templates/total/total.stories.js +2 -0
  57. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithimg.stories.js +76 -0
  58. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithoutimg.stories.js +74 -0
  59. package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +1 -1
  60. package/dist/collection/utils/constants.js +2 -1
  61. package/dist/collection/utils/utils.js +10 -4
  62. package/dist/collection/utils/utilsHandlers/clickHandler.js +2 -0
  63. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +25 -21
  64. package/dist/collection/utils/utilsHandlers/highlightHandler.js +50 -2
  65. package/dist/collection/utils/utilsHandlers/lidoBalanceHandler.js +5 -4
  66. package/dist/components/index.js +1 -1
  67. package/dist/components/lido-avatar.js +1 -1
  68. package/dist/components/lido-balance.js +1 -1
  69. package/dist/components/lido-calculator.js +1 -1
  70. package/dist/components/lido-canvas.js +1 -1
  71. package/dist/components/lido-cell.js +1 -1
  72. package/dist/components/lido-col.js +1 -1
  73. package/dist/components/lido-container.js +1 -1
  74. package/dist/components/lido-flash-card.js +1 -1
  75. package/dist/components/lido-float.js +1 -1
  76. package/dist/components/lido-home.js +1 -1
  77. package/dist/components/lido-image.js +1 -1
  78. package/dist/components/lido-keyboard.js +1 -1
  79. package/dist/components/lido-math-matrix.js +1 -1
  80. package/dist/components/lido-pos.js +1 -1
  81. package/dist/components/lido-random.js +1 -1
  82. package/dist/components/lido-root.js +22 -23
  83. package/dist/components/lido-row.js +1 -1
  84. package/dist/components/lido-shape.js +1 -1
  85. package/dist/components/lido-slide-fill.js +1 -1
  86. package/dist/components/lido-text.js +1 -1
  87. package/dist/components/lido-trace.js +1 -1
  88. package/dist/components/lido-wrap.js +1 -1
  89. package/dist/components/{p-ee4759de.js → p-06cecca5.js} +2 -2
  90. package/dist/components/{p-17cdbc3d.js → p-16604098.js} +1 -1
  91. package/dist/components/{p-6953efe0.js → p-235091a1.js} +141 -109
  92. package/dist/components/{p-bc7835fc.js → p-32c89979.js} +18 -7
  93. package/dist/components/{p-822b692a.js → p-354f7b19.js} +2 -2
  94. package/dist/components/{p-73e3f0f4.js → p-37c86a94.js} +203 -1
  95. package/dist/components/{p-53a7d4cb.js → p-3acada8c.js} +1 -1
  96. package/dist/components/{p-984ef5d1.js → p-3acd9a2e.js} +2 -2
  97. package/dist/components/{p-6f451328.js → p-4d01394c.js} +1 -1
  98. package/dist/components/{p-c62da3ed.js → p-57400ebc.js} +1 -1
  99. package/dist/components/{p-cfde157c.js → p-5e7c6afa.js} +2 -2
  100. package/dist/components/{p-f36d02e9.js → p-74c270d2.js} +4 -4
  101. package/dist/components/{p-9eb8593c.js → p-8a32f7cb.js} +3 -3
  102. package/dist/components/{p-0fa0ada9.js → p-8c0667eb.js} +2 -2
  103. package/dist/components/{p-9c7f08c4.js → p-8f082c62.js} +11 -2
  104. package/dist/components/{p-8c526c86.js → p-93acfbb2.js} +2 -2
  105. package/dist/components/{p-97ddbda4.js → p-a182c9a2.js} +2 -2
  106. package/dist/components/{p-348f95ba.js → p-b151457d.js} +47 -6
  107. package/dist/components/{p-d0c4d5a7.js → p-b867548e.js} +2 -2
  108. package/dist/components/{p-6f91a337.js → p-c90d92db.js} +2 -2
  109. package/dist/components/{p-67d97edc.js → p-db2a05f5.js} +3 -3
  110. package/dist/components/{p-f729ff82.js → p-de45dcab.js} +41 -33
  111. package/dist/esm/index.js +1 -1
  112. package/dist/esm/lido-avatar_22.entry.js +96 -34
  113. package/dist/esm/lido-player.js +1 -1
  114. package/dist/esm/loader.js +1 -1
  115. package/dist/esm/{utils-d0f004f8.js → utils-2edeb213.js} +141 -109
  116. package/dist/lido-player/index.esm.js +1 -1
  117. package/dist/lido-player/lido-player.css +1 -1
  118. package/dist/lido-player/lido-player.esm.js +1 -1
  119. package/dist/lido-player/p-280e3d34.entry.js +1 -0
  120. package/dist/lido-player/{p-bde62361.js → p-add7f36e.js} +2 -2
  121. package/dist/types/components/container/lido-container.d.ts +15 -2
  122. package/dist/types/components/trace/lido-trace.d.ts +3 -3
  123. package/dist/types/components.d.ts +10 -2
  124. package/dist/types/stories/Templates/imageMatch/imageMatch.stories.d.ts +4 -0
  125. package/dist/types/stories/Templates/numberIdentification/numberIdentificationimageTotext.stories.d.ts +4 -0
  126. package/dist/types/stories/Templates/numberIdentification/numberIdentificationtextTotext.stories.d.ts +4 -0
  127. package/dist/types/stories/Templates/palEgmaCalculateSum/palEgmaMultiOption.stories.d.ts +11 -0
  128. package/dist/types/stories/Templates/palEgmaCalculateSum/palEgmaSumTogether.stories.d.ts +12 -0
  129. package/dist/types/stories/Templates/palEgmaPatternMatching/palEgmaPatternMatching.stories.d.ts +4 -0
  130. package/dist/types/stories/Templates/palEgmaWordProblem/palEgmaWordProblem.stories.d.ts +5 -0
  131. package/dist/types/stories/Templates/palEgraInventedSpelling/pal_egra_invented_spelling_schema.stories.d.ts +4 -0
  132. package/dist/types/stories/Templates/palEgraMCQWithImage/palEgraMCQWithImage.stories.d.ts +4 -0
  133. package/dist/types/stories/Templates/palEgraOptionWithAudio/palEgraOptionWithAudio.stories.d.ts +4 -0
  134. package/dist/types/stories/Templates/palEgraStoryMaking/pal_egra_story_making.stories.d.ts +4 -0
  135. package/dist/types/stories/Templates/palEgraTemplate1/palEgraLetterIdentification.stories.d.ts +4 -0
  136. package/dist/types/stories/Templates/palEgra_OddOneOut/palEgra_oddOneOut.stories.d.ts +4 -0
  137. package/dist/types/stories/Templates/palEgra_arrange_pictures/palEgra_arrange_pictures.stories.d.ts +4 -0
  138. package/dist/types/stories/Templates/palEgra_build_word/palEgra_build_word.stories.d.ts +4 -0
  139. package/dist/types/stories/Templates/palEgra_word_formation/palEgra_WordFormation.stories.d.ts +4 -0
  140. package/dist/types/stories/Templates/palStorytale/palStorytale.stories.d.ts +4 -0
  141. package/dist/types/stories/Templates/pictureClues/pictureClues.stories.d.ts +4 -0
  142. package/dist/types/stories/Templates/pictureWordMatch/pictureWordMatch1.stories.d.ts +4 -0
  143. package/dist/types/stories/Templates/pictureWordMatch/pictureWordMatch2.stories.d.ts +4 -0
  144. package/dist/types/stories/Templates/substraction/substractionWithimg.stories.d.ts +4 -0
  145. package/dist/types/stories/Templates/substraction/substractionWithoutImg.stories.d.ts +4 -0
  146. package/dist/types/stories/Templates/wordBuilding/wordBuildingwithimg.stories.d.ts +4 -0
  147. package/dist/types/stories/Templates/wordBuilding/wordBuildingwithoutimg.stories.d.ts +4 -0
  148. package/dist/types/utils/constants.d.ts +9 -1
  149. package/dist/types/utils/utils.d.ts +1 -0
  150. package/dist/types/utils/utilsHandlers/highlightHandler.d.ts +1 -0
  151. package/package.json +1 -1
  152. package/dist/components/p-0e645e5b.js +0 -204
  153. package/dist/lido-player/p-06248bc2.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- import { L as LidoShape$1, d as defineCustomElement$1 } from './p-9eb8593c.js';
1
+ import { L as LidoShape$1, d as defineCustomElement$1 } from './p-8a32f7cb.js';
2
2
 
3
3
  const LidoShape = LidoShape$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LidoSlideFill$1, d as defineCustomElement$1 } from './p-97ddbda4.js';
1
+ import { L as LidoSlideFill$1, d as defineCustomElement$1 } from './p-a182c9a2.js';
2
2
 
3
3
  const LidoSlideFill = LidoSlideFill$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LidoText$1, d as defineCustomElement$1 } from './p-0e645e5b.js';
1
+ import { L as LidoText$1, d as defineCustomElement$1 } from './p-37c86a94.js';
2
2
 
3
3
  const LidoText = LidoText$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LidoTrace$1, d as defineCustomElement$1 } from './p-bc7835fc.js';
1
+ import { L as LidoTrace$1, d as defineCustomElement$1 } from './p-32c89979.js';
2
2
 
3
3
  const LidoTrace = LidoTrace$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { L as LidoWrap$1, d as defineCustomElement$1 } from './p-cfde157c.js';
1
+ import { L as LidoWrap$1, d as defineCustomElement$1 } from './p-5e7c6afa.js';
2
2
 
3
3
  const LidoWrap = LidoWrap$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, i as initEventsForElement, k as parseProp, h, j as Host } from './p-6953efe0.js';
1
+ import { p as proxyCustomElement, H, i as initEventsForElement, k as parseProp, h, j as Host } from './p-235091a1.js';
2
2
 
3
3
  const lidoBalanceCss = "#lido-balance{position:relative;height:500px;width:1205px;top:20%;left:-91px;z-index:0}.lido-balance-symbol{position:absolute;top:64%;left:50%;transform:translate(-50%, -50%);font-size:5vw;font-weight:bold;color:black;pointer-events:none;z-index:999}@media (orientation: portrait){.lido-balance-shadow{height:100px;position:absolute;top:80%;left:28%}}@media (orientation: landscape){.lido-balance-shadow{height:100px;position:absolute;top:90%;left:33%}}@media (orientation: portrait){#pivotimg{position:absolute;height:auto;width:23%;bottom:18%;left:38%;z-index:100}}#pivotimg::after{content:\"\";position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);width:120%;height:60px;background-image:url(\"https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/balancing/Shadow.svg\");background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:none;z-index:10}@media (orientation: landscape){#pivotimg{position:absolute;height:auto;width:23%;bottom:8%;left:38%;z-index:100}}.lido-balance .pivot svg{width:100%;height:auto}#scaleimg{position:absolute;width:73%;height:auto;top:61%;left:14%;z-index:90}.lido-balance .scale svg{width:100%;height:auto}@media (orientation: landscape){#handlerimg{position:absolute;width:35%;height:auto;top:49%;left:2%}}@media (orientation:portrait ){#handlerimg{position:absolute;width:35%;height:auto;top:53%;left:2%}}.lido-balance .handler svg{width:100%;height:auto;fill:brown}@media (orientation: landscape){#handimg{position:absolute;width:35%;height:auto;top:49%;right:2%}}@media (orientation:portrait){#handimg{position:absolute;width:35%;height:auto;top:53%;right:2%}}.lido-balance .hand svg{width:100%;height:auto;fill:brown}.pivot svg path:nth-of-type(1){fill:brown}.pivot svg path[d^=\"M78.9414\"]{fill:white}";
4
4
  const LidoBalanceStyle0 = lidoBalanceCss;
@@ -129,7 +129,7 @@ const LidoBalance = /*@__PURE__*/ proxyCustomElement(class LidoBalance extends H
129
129
  };
130
130
  }
131
131
  render() {
132
- return (h(Host, { key: 'd1da72f1bf298dd7c81b0cfefa0e9e563ccbfff1', id: "lido-balance", "bg-color": "red", onEntry: this.onEntry, class: "lido-balance", tilt: this.tilt.toString(), style: this.style, operation: this.operation.toString() }, h("div", { key: '737ab206a5156b402d4477a38567480f10419c14', innerHTML: this.pivotSvg, id: "pivotimg", class: "pivot" }), h("div", { key: '8bc60136950858d5d1b96c38ec4c0635024f8d24', innerHTML: this.scaleSvg, id: "scaleimg", class: "scale", ref: (el) => (this.scaleEl = el) }), h("div", { key: '07049a6b5c8e75d831c9287b2b4a0e633791174b', innerHTML: this.handlerSvg, id: "handlerimg", class: "handler", ref: (el) => (this.leftHandleEl = el) }), h("div", { key: '85361c27b1ab6fcc86969bfc9d4dff1df6040165', innerHTML: this.handlerSvg, id: "handimg", class: "hand", ref: (el) => (this.rightHandleEl = el) }), h("div", { key: 'c4208582bfa1b63e4381d44d9a95e9c537dfbc84', id: "balanceSymbol", class: "lido-balance-symbol", "aria-hidden": !this.showSymbol }, this.showSymbol ? this.balanceSymbol : '')));
132
+ return (h(Host, { key: 'e1cdc8aab0b18f3cc654a52a1e315ba6d708adb3', id: "lido-balance", "bg-color": "red", onEntry: this.onEntry, class: "lido-balance", tilt: this.tilt.toString(), style: this.style, operation: this.operation.toString() }, h("div", { key: '98ed1d2b6eb29e0fcf2ac656f8bb87cbe4420dfa', innerHTML: this.pivotSvg, id: "pivotimg", class: "pivot" }), h("div", { key: '8139021fec3f6d19a8fc711f02dc9e61197e5e5c', innerHTML: this.scaleSvg, id: "scaleimg", class: "scale", ref: (el) => (this.scaleEl = el) }), h("div", { key: '3f7621e16932c862ea50e3ed6e941efb3b77c292', innerHTML: this.handlerSvg, id: "handlerimg", class: "handler", ref: (el) => (this.leftHandleEl = el) }), h("div", { key: '939e0df96916eb3259e6adcefa0c9a786aeccdef', innerHTML: this.handlerSvg, id: "handimg", class: "hand", ref: (el) => (this.rightHandleEl = el) }), h("div", { key: 'c4de234c5058cb5d6bef94b1c75f67ca85ee7fc9', id: "balanceSymbol", class: "lido-balance-symbol", "aria-hidden": !this.showSymbol }, this.showSymbol ? this.balanceSymbol : '')));
133
133
  }
134
134
  get el() { return this; }
135
135
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { c as commonjsGlobal, U as getDefaultExportFromCjs, p as proxyCustomElement, H, d as setVisibilityWithDelay, i as initEventsForElement, V as tinyColor, t as attachSpeakIcon, k as parseProp, e as convertUrlToRelative, h, j as Host } from './p-6953efe0.js';
1
+ import { c as commonjsGlobal, W as getDefaultExportFromCjs, p as proxyCustomElement, H, d as setVisibilityWithDelay, i as initEventsForElement, X as tinyColor, t as attachSpeakIcon, k as parseProp, e as convertUrlToRelative, h, j as Host } from './p-235091a1.js';
2
2
 
3
3
  var lib = {exports: {}};
4
4
 
@@ -1385,6 +1385,7 @@ const DropTimeAttr = 'drop-time';
1385
1385
  const LidoContainer = 'lido-container';
1386
1386
  const LIDO_COMMON_AUDIO_PATH = '__LIDO_COMMON_AUDIO_PATH__';
1387
1387
  const LIDO_COMMON_AUDIO_READY_EVENT = 'lidoCommonAudioPathReady';
1388
+ const TemplateID = 'template-id';
1388
1389
  var TraceMode;
1389
1390
  (function (TraceMode) {
1390
1391
  TraceMode["NoFlow"] = "noFlow";
@@ -1416,7 +1417,7 @@ var DropAction;
1416
1417
  const exitUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Navbar-buttons/Close.svg';
1417
1418
  const prevUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Navbar-buttons/Previous.svg';
1418
1419
  const nextUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Navbar-buttons/Next.svg';
1419
- const speakUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Navbar-buttons/Audio%20icon.svg';
1420
+ const speakUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/Navbar-buttons/audio.png';
1420
1421
  const fingerUrl = 'https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/trace/Tracing-hand.svg';
1421
1422
 
1422
1423
  function dispatchCustomEvent(eventName, detail) {
@@ -1543,64 +1544,6 @@ var unwrapErr = (result) => {
1543
1544
  }
1544
1545
  };
1545
1546
 
1546
- function removeHighlight(element) {
1547
- element.classList.remove('highlight');
1548
- element.ariaPressed = 'false';
1549
- }
1550
- // Function to highlight the speaking element
1551
- function highlightSpeakingElement(element) {
1552
- if (!element)
1553
- return;
1554
- // Add a custom class for highlighting
1555
- element.classList.add('speaking-highlight');
1556
- // Inject keyframe animation and class styles into the document's head if it doesn't already exist
1557
- const styleId = '#speaking-highlight-style';
1558
- if (!document.querySelector(styleId)) {
1559
- const style = document.createElement('style');
1560
- style.id = styleId;
1561
- style.innerHTML = `
1562
- .speaking-highlight {
1563
- --base-transform: ${element.style.transform};
1564
- box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
1565
- // border: 3px solid green !important;
1566
- // transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
1567
- // transform: scale(1.05); /* Subtle scale effect to pop the element */
1568
- // animation: pulseEffect 1.5s infinite; /* Pulsing animation */
1569
-
1570
- }
1571
-
1572
- @keyframes pulseEffect {
1573
- 0% {
1574
- box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
1575
- // transform: var(--base-transform) scale(1.05);
1576
- // background-color: #FFFF0B;
1577
- }
1578
- 50% {
1579
- box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
1580
- // transform: var(--base-transform) scale(1.1);
1581
- // background-color: #FFFF0B;
1582
- }
1583
- 100% {
1584
- box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
1585
- // transform: var(--base-transform) scale(1.05);
1586
- // background-color: #FFFF0B;
1587
- }
1588
- }
1589
- `;
1590
- document.head.appendChild(style);
1591
- }
1592
- }
1593
- // Function to stop highlighting
1594
- function stopHighlightForSpeakingElement(element) {
1595
- if (!element)
1596
- return;
1597
- // Remove the custom class for highlighting
1598
- element.classList.remove('speaking-highlight');
1599
- // Remove inline styles
1600
- // element.style.boxShadow = '';
1601
- // element.style.border = '';
1602
- }
1603
-
1604
1547
  function updateBalanceOnDrop(dragElement, dropElement) {
1605
1548
  const balanceEl = document.querySelector('lido-balance');
1606
1549
  if (!balanceEl)
@@ -1616,7 +1559,7 @@ function updateBalanceOnDrop(dragElement, dropElement) {
1616
1559
  }
1617
1560
  function calculateValue(elements, operation) {
1618
1561
  if (elements.length === 0)
1619
- return null;
1562
+ return 0;
1620
1563
  if (operation === "count") {
1621
1564
  return elements.length;
1622
1565
  }
@@ -1648,15 +1591,18 @@ function calculateValue(elements, operation) {
1648
1591
  }
1649
1592
  }
1650
1593
  function balanceResult(container, objectiveString) {
1594
+ var _a, _b, _c, _d, _e, _f;
1651
1595
  const additionalCheck = container.getAttribute('equationCheck');
1652
1596
  if (!additionalCheck)
1653
1597
  return false;
1654
1598
  const balanceEl = document.querySelector('lido-balance');
1655
1599
  if (!balanceEl)
1656
1600
  return false;
1657
- const leftVal = balanceEl.leftVal;
1658
- const rightVal = balanceEl.rightVal;
1659
- if (leftVal == null || rightVal == null) {
1601
+ const leftVal = Number((_c = (_a = balanceEl.leftVal) !== null && _a !== void 0 ? _a : (_b = balanceEl.dataset) === null || _b === void 0 ? void 0 : _b.leftVal) !== null && _c !== void 0 ? _c : 0);
1602
+ const rightVal = Number((_f = (_d = balanceEl.rightVal) !== null && _d !== void 0 ? _d : (_e = balanceEl.dataset) === null || _e === void 0 ? void 0 : _e.rightVal) !== null && _f !== void 0 ? _f : 0);
1603
+ const hasLeft = !isNaN(leftVal);
1604
+ const hasRight = !isNaN(rightVal);
1605
+ if (!hasLeft || !hasRight) {
1660
1606
  return false;
1661
1607
  }
1662
1608
  const symbol = leftVal > rightVal ? '>' : leftVal < rightVal ? '<' : '=';
@@ -1927,20 +1873,14 @@ function enableDraggingWithScaling(element) {
1927
1873
  const storedTabIndexes = Object.keys(dropObject).map(Number);
1928
1874
  if (storedTabIndexes.includes(JSON.parse(otherElement.getAttribute('tab-index')))) {
1929
1875
  if (!(((_a = element.getAttribute('dropAttr')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === DropMode.Diagonal)) {
1930
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
1931
- otherElement.style.border = ''; // Reset border
1932
- otherElement.style.backgroundColor = 'transparent'; // Reset background color
1933
- }
1876
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
1934
1877
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
1935
1878
  otherElement.style.opacity = '0';
1936
1879
  }
1937
1880
  }
1938
1881
  }
1939
1882
  else {
1940
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
1941
- otherElement.style.border = ''; // Reset border
1942
- otherElement.style.backgroundColor = ''; // Reset background color
1943
- }
1883
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
1944
1884
  if (otherElement.tagName.toLowerCase() === 'lido-image' || 'lido-cell') {
1945
1885
  otherElement.style.opacity = '1';
1946
1886
  }
@@ -1948,10 +1888,7 @@ function enableDraggingWithScaling(element) {
1948
1888
  });
1949
1889
  // Apply styles only to the most overlapped element
1950
1890
  if (mostOverlappedElement) {
1951
- if (mostOverlappedElement.tagName.toLowerCase() === 'lido-text') {
1952
- mostOverlappedElement.style.border = '2px dashed #ff0000'; // Red dashed border
1953
- mostOverlappedElement.style.backgroundColor = 'rgba(255, 0, 0, 0.1)'; // Light red background
1954
- }
1891
+ if (mostOverlappedElement.tagName.toLowerCase() === 'lido-text') ;
1955
1892
  else {
1956
1893
  if (!document.getElementById('unitsDrop') || !document.getElementById('tensDrop') || !document.getElementById('hundredsDrop')) {
1957
1894
  mostOverlappedElement.style.opacity = '0.3';
@@ -1987,10 +1924,7 @@ function enableDraggingWithScaling(element) {
1987
1924
  const storedTabIndexes = Object.keys(dropObject).map(Number);
1988
1925
  if (storedTabIndexes.includes(JSON.parse(otherElement.getAttribute('tab-index')))) {
1989
1926
  if (!(((_a = element.getAttribute('dropAttr')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === DropMode.Diagonal)) {
1990
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
1991
- otherElement.style.border = ''; // Reset border
1992
- otherElement.style.backgroundColor = 'transparent'; // Reset background color
1993
- }
1927
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
1994
1928
  else if (otherElement.tagName.toLowerCase() === 'lido-image') {
1995
1929
  otherElement.style.opacity = '0';
1996
1930
  }
@@ -2000,10 +1934,7 @@ function enableDraggingWithScaling(element) {
2000
1934
  }
2001
1935
  }
2002
1936
  else {
2003
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
2004
- otherElement.style.border = ''; // Reset border
2005
- otherElement.style.backgroundColor = ''; // Reset background color
2006
- }
1937
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
2007
1938
  if (otherElement.tagName.toLowerCase() === 'lido-image' || 'lido-cell') {
2008
1939
  otherElement.style.opacity = '1';
2009
1940
  }
@@ -2151,6 +2082,7 @@ function handleResetDragElement(dragElement, dropElement, dropHasDrag, selectedV
2151
2082
  let prevDropItem = Object.values(dropHasDrag).find(item => document.getElementById(item.drop) === currentDrop);
2152
2083
  if (prevDropItem) {
2153
2084
  prevDropItem.isFull = false;
2085
+ highlightElement();
2154
2086
  // container.setAttribute(DropHasDrag, JSON.stringify(dropHasDrag));
2155
2087
  const dropEl = document.getElementById(prevDropItem.drop);
2156
2088
  if (dropEl) {
@@ -2182,9 +2114,7 @@ function handleResetDragElement(dragElement, dropElement, dropHasDrag, selectedV
2182
2114
  const storedTabIndexes = Object.keys(dropObject).map(Number);
2183
2115
  if (storedTabIndexes.includes(JSON.parse(otherElement.getAttribute('tab-index')))) {
2184
2116
  if (!(((_a = otherElement.getAttribute('dropAttr')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === DropMode.Diagonal)) {
2185
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
2186
- otherElement.style.backgroundColor = 'transparent'; // Reset background color
2187
- }
2117
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
2188
2118
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
2189
2119
  otherElement.style.opacity = '0';
2190
2120
  otherElement.style.backgroundColor = 'transparent';
@@ -2192,9 +2122,7 @@ function handleResetDragElement(dragElement, dropElement, dropHasDrag, selectedV
2192
2122
  }
2193
2123
  }
2194
2124
  else {
2195
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
2196
- otherElement.style.backgroundColor = 'transparent'; // Reset background color
2197
- }
2125
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
2198
2126
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
2199
2127
  otherElement.style.opacity = '1';
2200
2128
  otherElement.style.backgroundColor = 'transparent';
@@ -2202,6 +2130,7 @@ function handleResetDragElement(dragElement, dropElement, dropHasDrag, selectedV
2202
2130
  }
2203
2131
  });
2204
2132
  handleShowCheck();
2133
+ highlightElement();
2205
2134
  }
2206
2135
  async function onElementDropComplete(dragElement, dropElement) {
2207
2136
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -2210,7 +2139,6 @@ async function onElementDropComplete(dragElement, dropElement) {
2210
2139
  const dragSelectedData = JSON.stringify(buildDragSelectedMapFromDOM());
2211
2140
  const dropSelectedDataobject = buildDragSelectedMapFromDOM();
2212
2141
  JSON.stringify(dropSelectedDataobject);
2213
- console.log("dragggedddd elem", { value: dragElement.getAttribute("value") });
2214
2142
  let dropHasDrag = buildDropHasDragFromDOM();
2215
2143
  if (!dropElement) {
2216
2144
  handleResetDragElement(dragElement, dropElement, dropHasDrag, selectedValueData, dragSelectedData);
@@ -2315,6 +2243,7 @@ async function onElementDropComplete(dragElement, dropElement) {
2315
2243
  if (isAllowOnlyOneDrop && isisFull) {
2316
2244
  isisFull.isFull = true;
2317
2245
  dropElement.setAttribute('is-full', 'true');
2246
+ highlightElement();
2318
2247
  }
2319
2248
  else {
2320
2249
  console.warn('No matching drop item found for', dropElement);
@@ -2358,20 +2287,14 @@ async function onElementDropComplete(dragElement, dropElement) {
2358
2287
  const storedTabIndexes = Object.keys(dropObject).map(Number);
2359
2288
  if (storedTabIndexes.includes(JSON.parse(otherElement.getAttribute('tab-index')))) {
2360
2289
  if (!(((_a = otherElement.getAttribute('dropAttr')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === DropMode.Diagonal)) {
2361
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
2362
- otherElement.style.border = ''; // Reset border
2363
- otherElement.style.backgroundColor = 'transparent'; // Reset background color
2364
- }
2290
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
2365
2291
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
2366
2292
  otherElement.style.opacity = '0';
2367
2293
  }
2368
2294
  }
2369
2295
  }
2370
2296
  else {
2371
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
2372
- otherElement.style.border = ''; // Reset border
2373
- otherElement.style.backgroundColor = ''; // Reset background color
2374
- }
2297
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
2375
2298
  if (otherElement.tagName.toLowerCase() === 'lido-image' || 'lido-cell') {
2376
2299
  otherElement.style.opacity = '1';
2377
2300
  }
@@ -2430,6 +2353,7 @@ async function onElementDropComplete(dragElement, dropElement) {
2430
2353
  dragElement.style.opacity = '1';
2431
2354
  const allDropElements = document.querySelectorAll('.drop-element');
2432
2355
  allDropElements.forEach(el => updateDropBorder(el));
2356
+ highlightElement();
2433
2357
  await onActivityComplete(dragElement, dropElement);
2434
2358
  }
2435
2359
  function updateDropBorder(element) {
@@ -2447,6 +2371,7 @@ function updateDropBorder(element) {
2447
2371
  if (dragSelectedElements.length > 0) {
2448
2372
  element.classList.add('filled');
2449
2373
  element.classList.remove('empty');
2374
+ element.classList.remove('highlight-element');
2450
2375
  }
2451
2376
  else {
2452
2377
  if (!element.classList.contains('math-matrix')) {
@@ -2492,10 +2417,10 @@ async function onClickDropOrDragElement(element, type) {
2492
2417
  `;
2493
2418
  document.head.appendChild(style);
2494
2419
  }
2495
- element === null || element === void 0 ? void 0 : element.classList.add('highlight');
2420
+ element === null || element === void 0 ? void 0 : element.classList.add('highlight-element');
2496
2421
  element.ariaPressed = 'true';
2497
- const selectedDropElement = type === 'drop' ? element : document.querySelector("[type='drop'].highlight");
2498
- const selectedDragElement = type === 'drag' ? element : document.querySelector("[type='drag'].highlight");
2422
+ const selectedDropElement = type === 'drop' ? element : document.querySelector("[type='drop'].highlight-element");
2423
+ const selectedDragElement = type === 'drag' ? element : document.querySelector("[type='drag'].highlight-element");
2499
2424
  if (!selectedDropElement) {
2500
2425
  onClickDragElement(element);
2501
2426
  }
@@ -2604,6 +2529,110 @@ const reduceSizeToOriginal = () => {
2604
2529
  });
2605
2530
  };
2606
2531
 
2532
+ function removeHighlight(element) {
2533
+ element.classList.remove('highlight-element');
2534
+ element.ariaPressed = 'false';
2535
+ }
2536
+ // Function to highlight the speaking element
2537
+ function highlightSpeakingElement(element) {
2538
+ if (!element)
2539
+ return;
2540
+ // Add a custom class for highlighting
2541
+ element.classList.add('speaking-highlight');
2542
+ // Inject keyframe animation and class styles into the document's head if it doesn't already exist
2543
+ const styleId = '#speaking-highlight-style';
2544
+ if (!document.querySelector(styleId)) {
2545
+ const style = document.createElement('style');
2546
+ style.id = styleId;
2547
+ style.innerHTML = `
2548
+ .speaking-highlight {
2549
+ --base-transform: ${element.style.transform};
2550
+ box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9) !important; /* Stronger orange glow effect */
2551
+ // border: 3px solid green !important;
2552
+ // transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
2553
+ // transform: scale(1.05); /* Subtle scale effect to pop the element */
2554
+ // animation: pulseEffect 1.5s infinite; /* Pulsing animation */
2555
+
2556
+ }
2557
+
2558
+ @keyframes pulseEffect {
2559
+ 0% {
2560
+ box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
2561
+ // transform: var(--base-transform) scale(1.05);
2562
+ // background-color: #FFFF0B;
2563
+ }
2564
+ 50% {
2565
+ box-shadow: 0 0 30px 15px rgba(255, 165, 0, 1);
2566
+ // transform: var(--base-transform) scale(1.1);
2567
+ // background-color: #FFFF0B;
2568
+ }
2569
+ 100% {
2570
+ box-shadow: 0 0 20px 10px rgba(255, 165, 0, 0.9);
2571
+ // transform: var(--base-transform) scale(1.05);
2572
+ // background-color: #FFFF0B;
2573
+ }
2574
+ }
2575
+ `;
2576
+ document.head.appendChild(style);
2577
+ }
2578
+ }
2579
+ // Function to stop highlighting
2580
+ function stopHighlightForSpeakingElement(element) {
2581
+ if (!element)
2582
+ return;
2583
+ // Remove the custom class for highlighting
2584
+ element.classList.remove('speaking-highlight');
2585
+ // Remove inline styles
2586
+ // element.style.boxShadow = '';
2587
+ // element.style.border = '';
2588
+ }
2589
+ function highlightElement() {
2590
+ const container = document.querySelector(LidoContainer);
2591
+ if (!container)
2592
+ return;
2593
+ const dropElements = buildDropHasDragFromDOM();
2594
+ let firstFalse = Object.values(dropElements).find(item => !item.isFull);
2595
+ if (firstFalse) {
2596
+ const dropEls = container.querySelectorAll(`[type="drop"]`);
2597
+ dropEls.forEach(dropEl => {
2598
+ dropEl.classList.remove('highlight-element');
2599
+ });
2600
+ const dropEle = container.querySelector(`#${firstFalse.drop}`);
2601
+ if (dropEle) {
2602
+ dropEle.classList.add('highlight-element');
2603
+ }
2604
+ // Highlight corresponding drag elements if mistakes are more than 2
2605
+ const dragElements = container.querySelectorAll(`[type="drag"]`);
2606
+ if (countOfMistakes > 2 && container.getAttribute("is-continue-on-correct") === "true") {
2607
+ dragElements.forEach(dragEl => {
2608
+ dragEl.classList.remove('highlight-element');
2609
+ if (dragEl.getAttribute('value') === dropEle.getAttribute('value')) {
2610
+ dragEl.classList.add('highlight-element');
2611
+ dragEl.classList.remove('drag-element');
2612
+ }
2613
+ });
2614
+ }
2615
+ else {
2616
+ dragElements.forEach(dragEl => {
2617
+ dragEl.classList.remove('highlight-element');
2618
+ dragEl.classList.add('drag-element');
2619
+ });
2620
+ }
2621
+ }
2622
+ else {
2623
+ if (countOfMistakes <= 2 || container.getAttribute("is-continue-on-correct") === "false")
2624
+ return;
2625
+ const clickTemplate = container.querySelectorAll("[type='click']");
2626
+ clickTemplate.forEach(clickEl => {
2627
+ if (clickEl.getAttribute('value') === container.getAttribute('objective')) {
2628
+ if (!clickEl.classList.contains('highlight-element')) {
2629
+ clickEl.classList.add('highlight-element');
2630
+ }
2631
+ }
2632
+ });
2633
+ }
2634
+ }
2635
+
2607
2636
  class AudioPlayer {
2608
2637
  constructor() {
2609
2638
  this.audioElement = document.createElement('audio');
@@ -4687,6 +4716,7 @@ function addClickListenerForClickType(element) {
4687
4716
  if (!isInsideCalculator) {
4688
4717
  storingEachActivityScore(isCorrect);
4689
4718
  }
4719
+ highlightElement();
4690
4720
  handleShowCheck();
4691
4721
  return;
4692
4722
  }
@@ -70045,7 +70075,7 @@ const initEventsForElement = async (element, type) => {
70045
70075
  const executeActions = async (actionsString, thisElement, element) => {
70046
70076
  var _a, _b, _c, _d, _e, _f, _g;
70047
70077
  const actions = parseActions(actionsString);
70048
- body.style.pointerEvents = 'none';
70078
+ // body.style.pointerEvents = 'none';
70049
70079
  for (let i = 0; i < actions.length; i++) {
70050
70080
  const action = actions[i];
70051
70081
  const queriedElement = document.querySelector(action.actor);
@@ -70489,12 +70519,16 @@ const countPatternWords = (pattern) => {
70489
70519
  }
70490
70520
  return wordCount;
70491
70521
  };
70522
+ let countOfMistakes = 0;
70492
70523
  const storingEachActivityScore = (flag) => {
70493
70524
  if (flag) {
70494
70525
  gameScore.rightMoves += 1;
70526
+ countOfMistakes = 0;
70527
+ highlightElement();
70495
70528
  }
70496
70529
  else {
70497
70530
  gameScore.wrongMoves += 1;
70531
+ countOfMistakes += 1;
70498
70532
  }
70499
70533
  console.log('Right Moves : ', gameScore.rightMoves);
70500
70534
  console.log('Wrong Moves : ', gameScore.wrongMoves);
@@ -70540,9 +70574,7 @@ async function onActivityComplete(dragElement, dropElement) {
70540
70574
  const storedTabIndexes = Object.keys(dragScore).map(Number);
70541
70575
  if (storedTabIndexes.includes(JSON.parse(otherElement.getAttribute('tab-index')))) {
70542
70576
  if (!(((_a = otherElement.getAttribute('dropAttr')) === null || _a === void 0 ? void 0 : _a.toLowerCase()) === DropMode.Diagonal)) {
70543
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
70544
- otherElement.style.backgroundColor = 'transparent'; // Reset background color**
70545
- }
70577
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
70546
70578
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
70547
70579
  otherElement.style.opacity = '0';
70548
70580
  otherElement.style.backgroundColor = 'transparent';
@@ -70550,9 +70582,7 @@ async function onActivityComplete(dragElement, dropElement) {
70550
70582
  }
70551
70583
  }
70552
70584
  else {
70553
- if (otherElement.tagName.toLowerCase() === 'lido-text') {
70554
- otherElement.style.backgroundColor = 'transparent'; // Reset background color**********
70555
- }
70585
+ if (otherElement.tagName.toLowerCase() === 'lido-text') ;
70556
70586
  if (otherElement.tagName.toLowerCase() === 'lido-image') {
70557
70587
  otherElement.style.opacity = '1';
70558
70588
  otherElement.style.backgroundColor = 'transparent';
@@ -70678,8 +70708,10 @@ const validateObjectiveStatus = async () => {
70678
70708
  }
70679
70709
  else {
70680
70710
  const isContinueOnCorrect = container.getAttribute('is-continue-on-correct') === 'true';
70711
+ const onCorrect = container.getAttribute('onCorrect');
70681
70712
  if (!isContinueOnCorrect) {
70682
70713
  await calculateScore();
70714
+ await executeActions(onCorrect, container);
70683
70715
  triggerNextContainer();
70684
70716
  }
70685
70717
  else {
@@ -71344,4 +71376,4 @@ const updateCalculatorAnswer = (el) => {
71344
71376
  el.setAttribute('string', value);
71345
71377
  };
71346
71378
 
71347
- export { fingerUrl as $, ActivityScoreKey as A, dispatchGameExitEvent as B, AudioPlayer as C, generateUUIDFallback as D, exitUrl as E, prevUrl as F, nextUrl as G, H, speakUrl as I, LidoContainer as J, getCancelBtnPopup as K, LIDO_COMMON_AUDIO_READY_EVENT as L, matchStringPattern as M, NextContainerKey as N, triggerNextContainer as O, PrevContainerKey as P, triggerPrevcontainer as Q, RiveService as R, SelectedValuesKey as S, setCancelBtnPopup as T, getDefaultExportFromCjs as U, tinyColor as V, DropAction as W, validateObjectiveStatus as X, fraction as Y, TraceMode as Z, speakIcon as _, setNonce as a, setPlatformOptions as b, commonjsGlobal as c, setVisibilityWithDelay as d, convertUrlToRelative as e, format as f, getAssetPath$1 as g, h, initEventsForElement as i, Host as j, parseProp as k, createEvent as l, equationCheck as m, storingEachActivityScore as n, executeActions as o, proxyCustomElement as p, calculateScore as q, handlingChildElements as r, setAssetPath as s, attachSpeakIcon as t, LIDO_COMMON_AUDIO_PATH as u, calculateScale as v, handleFloatElementPosition as w, handleElementClick as x, dispatchActivityChangeEvent as y, dispatchGameCompletedEvent as z };
71379
+ export { TraceMode as $, ActivityScoreKey as A, dispatchGameCompletedEvent as B, dispatchGameExitEvent as C, AudioPlayer as D, generateUUIDFallback as E, exitUrl as F, prevUrl as G, H, nextUrl as I, speakUrl as J, LidoContainer as K, LIDO_COMMON_AUDIO_READY_EVENT as L, getCancelBtnPopup as M, NextContainerKey as N, matchStringPattern as O, PrevContainerKey as P, triggerNextContainer as Q, RiveService as R, SelectedValuesKey as S, TemplateID as T, triggerPrevcontainer as U, setCancelBtnPopup as V, getDefaultExportFromCjs as W, tinyColor as X, DropAction as Y, validateObjectiveStatus as Z, fraction as _, setNonce as a, speakIcon as a0, fingerUrl as a1, setPlatformOptions as b, commonjsGlobal as c, setVisibilityWithDelay as d, convertUrlToRelative as e, format as f, getAssetPath$1 as g, h, initEventsForElement as i, Host as j, parseProp as k, createEvent as l, equationCheck as m, storingEachActivityScore as n, executeActions as o, proxyCustomElement as p, calculateScore as q, handlingChildElements as r, setAssetPath as s, attachSpeakIcon as t, LIDO_COMMON_AUDIO_PATH as u, calculateScale as v, highlightElement as w, handleFloatElementPosition as x, handleElementClick as y, dispatchActivityChangeEvent as z };
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, Z as TraceMode, e as convertUrlToRelative, d as setVisibilityWithDelay, _ as speakIcon, n as storingEachActivityScore, o as executeActions, q as calculateScore, O as triggerNextContainer, J as LidoContainer, k as parseProp, h, j as Host, $ as fingerUrl } from './p-6953efe0.js';
1
+ import { p as proxyCustomElement, H, $ as TraceMode, e as convertUrlToRelative, d as setVisibilityWithDelay, a0 as speakIcon, n as storingEachActivityScore, o as executeActions, q as calculateScore, Q as triggerNextContainer, K as LidoContainer, k as parseProp, h, j as Host, a1 as fingerUrl } from './p-235091a1.js';
2
2
 
3
3
  const lidoTraceCss = ":host{display:block;position:relative}#lido-svgContainer{display:flex;justify-content:center;align-items:center;overflow:hidden}svg{width:100%;height:100%;touch-action:none}#lido-draggableCircle{cursor:pointer;fill:#CF1565;transition:fill 0.2s, r 0.2s}.lido-blindTracing{stroke:none !important}.lido-blindFreeTrace{stroke:none !important}.lido-hovered{cursor:grab;fill:darkred}#lido-controls{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:10px;background-color:#f0f0f0;border-top:1px solid #ccc}button{padding:10px;font-size:16px}@media (max-width: 600px){button{padding:8px;font-size:14px}}.lido-trace-path-green{}.lido-flow-indicator{stroke:blue;stroke-width:2;stroke-dasharray:6, 6;fill:none}.lido-trace{height:700px;width:700px;z-index:1;justify-items:center;align-content:center}.trace-animate{animation:trace-bounce 0.5s}@keyframes trace-bounce{0%{transform:scale(1)}30%{transform:scale(1.05)}60%{transform:scale(0.95)}100%{transform:scale(1)}}";
4
4
  const LidoTraceStyle0 = lidoTraceCss;
@@ -332,7 +332,7 @@ const LidoTrace = /*@__PURE__*/ proxyCustomElement(class LidoTrace extends H {
332
332
  circle.setAttribute('cx', firstPathStart.x.toString());
333
333
  circle.setAttribute('cy', firstPathStart.y.toString());
334
334
  circle.setAttribute('r', `calc(20)`); // Radius of the draggable circle
335
- circle.setAttribute('fill', '#CF1565'); // fill the color for the circle
335
+ circle.setAttribute('fill', '#CF1565'); // fill the color for the circle
336
336
  (_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(circle);
337
337
  state.circle = circle;
338
338
  this.resetIdleTimer(state); // ← start idle timer once the SVG is ready
@@ -460,9 +460,7 @@ const LidoTrace = /*@__PURE__*/ proxyCustomElement(class LidoTrace extends H {
460
460
  state.currentFreePath[state.currentPathIndex] = newPolyline;
461
461
  // Store points array for this polyline
462
462
  state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
463
- state.currentFreePolylinePoints[state.currentPathIndex] = [
464
- { x: pointerPos.x, y: pointerPos.y }
465
- ];
463
+ state.currentFreePolylinePoints[state.currentPathIndex] = [{ x: pointerPos.x, y: pointerPos.y }];
466
464
  // Reset lastPointerPos for the new path
467
465
  state.lastPointerPos = pointerPos;
468
466
  // Add a points counter to limit path growth
@@ -633,6 +631,8 @@ const LidoTrace = /*@__PURE__*/ proxyCustomElement(class LidoTrace extends H {
633
631
  await new Promise(resolve => setTimeout(resolve, delay));
634
632
  this.currentSvgIndex++;
635
633
  await this.initializeSVG();
634
+ const svgContainer = document.getElementById('lido-svgContainer');
635
+ svgContainer.style.visibility = 'visible';
636
636
  this.moving = false;
637
637
  return;
638
638
  }
@@ -807,7 +807,18 @@ const LidoTrace = /*@__PURE__*/ proxyCustomElement(class LidoTrace extends H {
807
807
  // Highlight the current letter keeping the previous ones highlighted
808
808
  const letter = letters[index];
809
809
  if (letter) {
810
- letter.classList.add('letter-highlight');
810
+ const svgContainer = traceElement.querySelector('#lido-svgContainer');
811
+ await executeActions("this.alignMatch='true';", textElem, svgContainer);
812
+ svgContainer.style.animation = 'trace-animation 0.4s forwards';
813
+ svgContainer.style.setProperty('--trace-width', `${letter.offsetWidth - 5}px`);
814
+ svgContainer.style.setProperty('--trace-height', `${letter.offsetHeight - 5}px`);
815
+ await executeActions("this.alignMatch='true';", letter, svgContainer);
816
+ setTimeout(() => {
817
+ letter.classList.add('letter-highlight');
818
+ svgContainer.style.transform = '';
819
+ svgContainer.style.animation = '';
820
+ svgContainer.style.visibility = 'hidden';
821
+ }, 500);
811
822
  if (this.audioUrls[this.currentSvgIndex]) {
812
823
  console.log('Playing audio:', this.audioUrls[this.currentSvgIndex]);
813
824
  const audio = new Audio(convertUrlToRelative(this.audioUrls[this.currentSvgIndex]));
@@ -842,7 +853,7 @@ const LidoTrace = /*@__PURE__*/ proxyCustomElement(class LidoTrace extends H {
842
853
  };
843
854
  }
844
855
  render() {
845
- return (h(Host, { key: 'aef0bf373de0c1d6ac49e7782838d9679c2b093f', 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 }, h("div", { key: 'f5223ad78568213f7965b3ea7eeb56b1b965fe78', style: this.style, id: "lido-svgContainer" })));
856
+ return (h(Host, { key: 'b3efc3effa7fbfdb85af80103e2c04689bdd4ef7', 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 }, h("div", { key: 'b5a5ac42a3417441940de75cd4e2dfdbe1dc7c47', style: this.style, id: "lido-svgContainer" })));
846
857
  }
847
858
  static get assetsDirs() { return ["svg", "images"]; }
848
859
  get el() { return this; }
@@ -1,5 +1,5 @@
1
- import { p as proxyCustomElement, H, k as parseProp, h, j as Host } from './p-6953efe0.js';
2
- import { d as defineCustomElement$1 } from './p-0e645e5b.js';
1
+ import { p as proxyCustomElement, H, k as parseProp, h, j as Host } from './p-235091a1.js';
2
+ import { d as defineCustomElement$1 } from './p-37c86a94.js';
3
3
 
4
4
  const lidoCanvasCss = ":host{display:flex;justify-content:center;align-items:center}.lido-canvas{background:red;border:2px solid #ccc;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;position:relative}#lido-exit-button{padding:6px 14px;border:none;background:transparent;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;position:relative;top:-43%;left:18%;z-index:10}canvas{touch-action:none;display:block}";
5
5
  const LidoCanvasStyle0 = lidoCanvasCss;