lido-player 0.0.2-alpha-79 → 0.0.2-alpha-81

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 (77) hide show
  1. package/dist/cjs/{decode-deq4aiWl.js → decode-0PH42AW4.js} +1 -1
  2. package/dist/cjs/{index-7Dh-uOww.js → index-BrME-8br.js} +15 -24
  3. package/dist/cjs/{index-DCqhhVJB.js → index-w6fx6vpR.js} +99 -16
  4. package/dist/cjs/index.cjs.js +2 -2
  5. package/dist/cjs/lido-avatar_22.cjs.entry.js +60 -28
  6. package/dist/cjs/lido-player.cjs.js +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/collection/collection-manifest.json +1 -2
  9. package/dist/collection/components/calculator/lido-calculator.css +2 -2
  10. package/dist/collection/components/calculator/lido-calculator.js +2 -1
  11. package/dist/collection/components/container/lido-container.js +11 -1
  12. package/dist/collection/components/home/lido-home.js +2 -1
  13. package/dist/collection/components/keyboard/lido-keyboard.js +7 -5
  14. package/dist/collection/components/root/lido-root.js +5 -5
  15. package/dist/collection/stories/Templates/numberIdentification/numberIdentificationimageTotext.stories.js +5 -5
  16. package/dist/collection/stories/Templates/palEgmaPatternMatching/palEgmaPatternMatching.stories.js +1 -1
  17. package/dist/collection/stories/Templates/palEgraTemplate1/palEgraLetterIdentification.stories.js +12 -12
  18. package/dist/collection/stories/Templates/substraction/substractionWithimg.stories.js +4 -4
  19. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithimg.stories.js +1 -1
  20. package/dist/collection/stories/Templates/wordBuilding/wordBuildingwithoutimg.stories.js +1 -1
  21. package/dist/collection/utils/audioPlayer.js +2 -1
  22. package/dist/collection/utils/customEvents.js +1 -1
  23. package/dist/collection/utils/utils.js +6 -0
  24. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +4 -0
  25. package/dist/collection/utils/utilsHandlers/floatHandler.js +80 -10
  26. package/dist/components/index.js +1 -1
  27. package/dist/components/lido-avatar.js +1 -1
  28. package/dist/components/lido-calculator.js +1 -1
  29. package/dist/components/lido-canvas.js +1 -1
  30. package/dist/components/lido-container.js +1 -1
  31. package/dist/components/lido-float.js +1 -1
  32. package/dist/components/lido-home.js +1 -1
  33. package/dist/components/lido-image.js +1 -1
  34. package/dist/components/lido-keyboard.js +1 -1
  35. package/dist/components/lido-math-matrix.js +1 -1
  36. package/dist/components/lido-root.js +1 -1
  37. package/dist/components/lido-slide-fill.js +1 -1
  38. package/dist/components/lido-text.js +1 -1
  39. package/dist/components/lido-trace.js +1 -1
  40. package/dist/components/{p-BoNAwWsD.js → p-BP8urjEF.js} +1 -1
  41. package/dist/components/p-BVjY66wd.js +1 -0
  42. package/dist/components/{p-DbC47BiF.js → p-BdmwURgL.js} +1 -1
  43. package/dist/components/p-C3bRDkyM.js +1 -0
  44. package/dist/components/p-C8ULK0LU.js +1 -0
  45. package/dist/components/{p-6DsBZAwT.js → p-CFm5fhyW.js} +1 -1
  46. package/dist/components/{p-VKK_CdF_.js → p-D03VKJGo.js} +1 -1
  47. package/dist/components/{p-DGZVyMvW.js → p-DABXleaM.js} +1 -1
  48. package/dist/components/p-DAqk_XiT.js +1 -0
  49. package/dist/components/{p-DimQN2SE.js → p-DBU82Fut.js} +1 -1
  50. package/dist/components/{p-CRHXBDd9.js → p-DYpqQhET.js} +1 -1
  51. package/dist/components/p-LgJCQnOa.js +1 -0
  52. package/dist/components/{p-DJmFOzKq.js → p-h00cfB-n.js} +1 -1
  53. package/dist/esm/{decode-DWaAeRuK.js → decode-DwCqjXLP.js} +1 -1
  54. package/dist/esm/{index-DlDAkUXz.js → index-DAh1LwaF.js} +99 -17
  55. package/dist/esm/{index-CBmYf7sZ.js → index-DoO-CWOR.js} +15 -24
  56. package/dist/esm/index.js +2 -2
  57. package/dist/esm/lido-avatar_22.entry.js +60 -28
  58. package/dist/esm/lido-player.js +3 -3
  59. package/dist/esm/loader.js +2 -2
  60. package/dist/lido-player/index.esm.js +1 -1
  61. package/dist/lido-player/lido-player.esm.js +1 -1
  62. package/dist/lido-player/p-6124e90a.entry.js +1 -0
  63. package/dist/lido-player/p-DoO-CWOR.js +2 -0
  64. package/dist/lido-player/{p-CINWIpuJ.js → p-RzQkY9NF.js} +1 -1
  65. package/dist/lido-player/p-naxQyzHQ.js +1 -0
  66. package/dist/types/stencil-public-runtime.d.ts +1 -3
  67. package/dist/types/utils/constants.d.ts +7 -0
  68. package/dist/types/utils/utilsHandlers/floatHandler.d.ts +1 -0
  69. package/package.json +1 -1
  70. package/dist/components/p-Bs7wJ4Lj.js +0 -1
  71. package/dist/components/p-Bv06SP2E.js +0 -1
  72. package/dist/components/p-C75ihiHN.js +0 -1
  73. package/dist/components/p-CumdMqv4.js +0 -1
  74. package/dist/components/p-UCKWWpdi.js +0 -1
  75. package/dist/lido-player/p-CBmYf7sZ.js +0 -2
  76. package/dist/lido-player/p-ZysqB6UH.js +0 -1
  77. package/dist/lido-player/p-c60c12cd.entry.js +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DCqhhVJB.js');
3
+ var index = require('./index-w6fx6vpR.js');
4
4
 
5
5
  function _mergeNamespaces(n, m) {
6
6
  m.forEach(function (e) {
@@ -25,22 +25,9 @@ const globalScripts = () => {};
25
25
  const globalStyles = "@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@400..800&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Baloo+Bhai+2:wght@400..800&display=swap'); 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-image:url(\"https://aeakbcdznktpsbrfsgys.supabase.co/storage/v1/object/public/template-assets/template/audioIcon.png\");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;pointer-events:none;z-index:9999;background:linear-gradient(\r\n 180deg,\r\n rgba(255, 235, 59, 0.95),\r\n rgba(255, 214, 0, 0.95)\r\n );border-radius:6px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.18),\r\n inset 0 -1px 0 rgba(255, 255, 255, 0.25);transition:left 55ms linear,\r\n top 55ms linear,\r\n width 55ms ease-out,\r\n height 55ms ease-out,\r\n opacity 80ms ease-out;opacity:0.95;will-change:transform, width, height}";
26
26
 
27
27
  /*
28
- Stencil Client Platform v4.43.2 | MIT Licensed | https://stenciljs.com
28
+ Stencil Client Platform v4.43.0 | MIT Licensed | https://stenciljs.com
29
29
  */
30
30
 
31
-
32
- // src/utils/get-prop-descriptor.ts
33
- function getPropertyDescriptor(obj, memberName, getOnly) {
34
- const stopAt = typeof HTMLElement !== "undefined" ? HTMLElement.prototype : null;
35
- while (obj && obj !== stopAt) {
36
- const desc = Object.getOwnPropertyDescriptor(obj, memberName);
37
- if (desc && (!getOnly || desc.get)) return desc;
38
- obj = Object.getPrototypeOf(obj);
39
- }
40
- return void 0;
41
- }
42
-
43
- // src/utils/es2022-rewire-class-members.ts
44
31
  var reWireGetterSetter = (instance, hostRef) => {
45
32
  var _a;
46
33
  const cmpMeta = hostRef.$cmpMeta$;
@@ -48,7 +35,7 @@ var reWireGetterSetter = (instance, hostRef) => {
48
35
  members.map(([memberName, [memberFlags]]) => {
49
36
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
50
37
  const ogValue = instance[memberName];
51
- const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName, true) || Object.getOwnPropertyDescriptor(instance, memberName);
38
+ const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName);
52
39
  if (ogDescriptor) {
53
40
  Object.defineProperty(instance, memberName, {
54
41
  get() {
@@ -61,14 +48,18 @@ var reWireGetterSetter = (instance, hostRef) => {
61
48
  enumerable: true
62
49
  });
63
50
  }
64
- if (hostRef.$instanceValues$.has(memberName)) {
65
- instance[memberName] = hostRef.$instanceValues$.get(memberName);
66
- } else if (ogValue !== void 0) {
67
- instance[memberName] = ogValue;
68
- }
51
+ instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue;
69
52
  }
70
53
  });
71
54
  };
55
+ function getPropertyDescriptor(obj, memberName) {
56
+ while (obj) {
57
+ const desc = Object.getOwnPropertyDescriptor(obj, memberName);
58
+ if (desc == null ? void 0 : desc.get) return desc;
59
+ obj = Object.getPrototypeOf(obj);
60
+ }
61
+ return void 0;
62
+ }
72
63
 
73
64
  // src/client/client-host-ref.ts
74
65
  var getHostRef = (ref) => {
@@ -452,7 +443,7 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
452
443
  }
453
444
  } else {
454
445
  const existingStyleContainer = styleContainerNode.querySelector("style");
455
- if (existingStyleContainer && true) {
446
+ if (existingStyleContainer) {
456
447
  existingStyleContainer.textContent = style + existingStyleContainer.textContent;
457
448
  } else {
458
449
  styleContainerNode.prepend(styleElm);
@@ -730,7 +721,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
730
721
  return;
731
722
  } else {
732
723
  const isComplex = isComplexType(newValue);
733
- if ((isProp || isComplex && newValue !== null) && !isSvg) {
724
+ if ((isProp || isComplex && newValue !== null) && true) {
734
725
  try {
735
726
  if (!elm.tagName.includes("-")) {
736
727
  const n = newValue == null ? "" : newValue;
@@ -1594,7 +1585,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1594
1585
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1595
1586
  members.map(([memberName, [memberFlags]]) => {
1596
1587
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1597
- const { get: origGetter, set: origSetter } = getPropertyDescriptor(prototype, memberName) || {};
1588
+ const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(prototype, memberName) || {};
1598
1589
  if (origGetter) cmpMeta.$members$[memberName][0] |= 2048 /* Getter */;
1599
1590
  if (origSetter) cmpMeta.$members$[memberName][0] |= 4096 /* Setter */;
1600
1591
  if (flags & 1 /* isElementConstructor */ || !origGetter) {
@@ -1856,7 +1847,7 @@ var connectedCallback = (elm) => {
1856
1847
  }
1857
1848
  if (cmpMeta.$members$) {
1858
1849
  Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
1859
- if (memberFlags & 31 /* Prop */ && Object.prototype.hasOwnProperty.call(elm, memberName)) {
1850
+ if (memberFlags & 31 /* Prop */ && memberName in elm && elm[memberName] !== Object.prototype[memberName]) {
1860
1851
  const value = elm[memberName];
1861
1852
  delete elm[memberName];
1862
1853
  elm[memberName] = value;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./index-7Dh-uOww.js');
3
+ var index$1 = require('./index-BrME-8br.js');
4
4
 
5
5
  const DragMapKey = 'lidoDragMap';
6
6
  const SelectedValuesKey = 'lidoSelectedValues';
@@ -117,7 +117,7 @@ function dispatchActivityEndEvent(totalIndex, currentIndex, score, rightMoves, w
117
117
  dispatchCustomEvent(ActivityEndKey, { currentIndex, totalIndex, score, rightMoves, wrongMoves, timeSpentForActivity });
118
118
  }
119
119
  function dispatchLessonEndEvent(totalIndex, rightMoves, wrongMoves, finalScore, timeSpendForLesson) {
120
- dispatchCustomEvent(LessonEndKey, { totalIndex, rightMoves, wrongMoves, finalScore, timeSpendForLesson });
120
+ dispatchCustomEvent(LessonEndKey, { totalIndex, rightMoves, wrongMoves, finalScore, score: finalScore, timeSpendForLesson });
121
121
  }
122
122
  function dispatchNextContainerEvent() {
123
123
  dispatchCustomEvent(NextContainerKey, {});
@@ -343,6 +343,8 @@ function enableDraggingWithScaling(element) {
343
343
  handlingElementFlexibleWidth(element, 'drag');
344
344
  const onStart = (event) => {
345
345
  var _a, _b;
346
+ if (container && container.getAttribute("game-completed") === "true")
347
+ return;
346
348
  console.log("moving start");
347
349
  if (isDraggingDisabled) {
348
350
  isDragging = false;
@@ -605,6 +607,8 @@ function enableDraggingWithScaling(element) {
605
607
  element.addEventListener('click', ev => {
606
608
  if (isClicked) {
607
609
  console.log("clicked drag elkement");
610
+ if (container && container.getAttribute("game-completed") === "true")
611
+ return;
608
612
  onClickDropOrDragElement(element, 'drag');
609
613
  }
610
614
  });
@@ -1328,6 +1332,7 @@ class AudioPlayer {
1328
1332
  return el.closest('lido-text');
1329
1333
  }
1330
1334
  async play(targetElement) {
1335
+ console.log("iiiiiiiii");
1331
1336
  // Stop any currently playing audio first if target element has audio given
1332
1337
  try {
1333
1338
  await AudioPlayer.getI().stop();
@@ -1373,7 +1378,7 @@ class AudioPlayer {
1373
1378
  this.audioElement.src = audioUrl;
1374
1379
  console.log('🚀 Playing audio:', this.audioElement.src);
1375
1380
  try {
1376
- setDraggingDisabled(true);
1381
+ // setDraggingDisabled(true);
1377
1382
  const language = container.getAttribute('Lang') || 'en';
1378
1383
  const profile = LANGUAGE_PROFILES[language] || LANGUAGE_PROFILES[language.split('-')[0]] || LANGUAGE_PROFILES['en'];
1379
1384
  let timeline = [];
@@ -7195,7 +7200,7 @@ var tanh$2 = Math.tanh || function (x) {
7195
7200
  function copysign(x, y) {
7196
7201
  var signx = true ;
7197
7202
  var signy = y > 0 ? true : y < 0 ? false : 1 / y === Infinity;
7198
- return signx ^ signy ? -x : x;
7203
+ return signx ^ signy ? -6.283185307179586 : x;
7199
7204
  }
7200
7205
  function _toNumberOrThrow(value, onError) {
7201
7206
  if (isNumber(value)) {
@@ -7818,7 +7823,7 @@ var EXP_LIMIT = 9e15, // 0 to 9e15
7818
7823
 
7819
7824
  // The minimum exponent value, beneath which underflow to zero occurs.
7820
7825
  // JavaScript numbers: -324 (5e-324)
7821
- minE: -EXP_LIMIT, // -1 to -EXP_LIMIT
7826
+ minE: -9e15, // -1 to -EXP_LIMIT
7822
7827
 
7823
7828
  // The maximum exponent value, above which overflow to Infinity occurs.
7824
7829
  // JavaScript numbers: 308 (1.7976931348623157e+308)
@@ -11944,10 +11949,10 @@ function config(obj) {
11944
11949
  ps = [
11945
11950
  'precision', 1, MAX_DIGITS,
11946
11951
  'rounding', 0, 8,
11947
- 'toExpNeg', -EXP_LIMIT, 0,
11952
+ 'toExpNeg', -9e15, 0,
11948
11953
  'toExpPos', 0, EXP_LIMIT,
11949
11954
  'maxE', 0, EXP_LIMIT,
11950
- 'minE', -EXP_LIMIT, 0,
11955
+ 'minE', -9e15, 0,
11951
11956
  'modulo', 0, 9
11952
11957
  ];
11953
11958
 
@@ -71467,8 +71472,11 @@ async function handleElementClick(element) {
71467
71472
  if (fillValue === 100 && !fillCompleted) {
71468
71473
  fillCompleted = true;
71469
71474
  container.style.pointerEvents = 'none';
71470
- triggerNextContainer();
71471
- calculateScore();
71475
+ if (!container.getAttribute('game-completed') || container.getAttribute('game-completed') === 'false' || container.getAttribute('game-completed') === null || container.getAttribute('game-completed') === undefined || container.getAttribute('game-completed') === '') {
71476
+ container.setAttribute('game-completed', 'true');
71477
+ triggerNextContainer();
71478
+ calculateScore();
71479
+ }
71472
71480
  }
71473
71481
  else {
71474
71482
  fillCompleted = false;
@@ -71479,40 +71487,107 @@ async function handleElementClick(element) {
71479
71487
  await executeActions(onInCorrect, container);
71480
71488
  }
71481
71489
  }
71490
+ let floatDelay = 0;
71491
+ const laneNextStartAtMs = [];
71492
+ const BUBBLE_VERTICAL_GAP = 12;
71493
+ const BUBBLE_TIME_GAP_SECONDS = 0.5;
71494
+ function getEarliestLaneIndex(laneCount) {
71495
+ let laneIndex = 0;
71496
+ let earliestTime = Number.POSITIVE_INFINITY;
71497
+ // Find the lane that becomes available the earliest.
71498
+ for (let i = 0; i < laneCount; i++) {
71499
+ const laneTime = laneNextStartAtMs[i] || 0;
71500
+ if (laneTime < earliestTime) {
71501
+ earliestTime = laneTime;
71502
+ laneIndex = i;
71503
+ }
71504
+ }
71505
+ return laneIndex;
71506
+ }
71507
+ function resetFloatState() {
71508
+ // Reset all module-level float state so a fresh screen starts from initial behavior.
71509
+ fillCompleted = false;
71510
+ floatDelay = 0;
71511
+ laneNextStartAtMs.length = 0;
71512
+ }
71482
71513
  function handleFloatElementPosition(element) {
71514
+ // Step 1: Resolve the main game container.
71483
71515
  const container = document.getElementById(LidoContainer);
71484
71516
  if (!container) {
71485
71517
  console.error(`No container found with id: lido-container`);
71486
71518
  return;
71487
71519
  }
71520
+ // Step 2: Stop speaking highlight before repositioning.
71488
71521
  stopHighlightForSpeakingElement(element);
71522
+ // Step 3: Resolve the float area that owns moving elements.
71489
71523
  const floatContainer = container.querySelector('.lido-float');
71490
71524
  if (!floatContainer)
71491
71525
  return;
71526
+ // Step 4: Read movement direction from the container.
71492
71527
  const direction = floatContainer.getAttribute('float-direction') || 'bottomToTop';
71528
+ // Step 5: Generate a random delay used by the vertical float mode.
71493
71529
  const delay = Math.random() * 5;
71494
71530
  // const isFirstEntry = element.getAttribute('data-entry') !== 'true';
71495
71531
  // if (isFirstEntry) {
71496
71532
  // element.setAttribute('data-entry', 'true');
71497
71533
  // entryValue += 10;
71498
71534
  // }
71535
+ // Step 6: Ensure element is absolutely positioned for animation.
71499
71536
  element.style.position = 'absolute';
71500
71537
  if (direction === 'leftToRight') {
71538
+ // Step 7: Prepare horizontal floating setup.
71501
71539
  const containerHeight = floatContainer.offsetHeight;
71502
71540
  // Add class for bubble elements to identify them later for input matching and scoring
71503
71541
  element.classList.add("bubble-element");
71504
- element.style.left = 'unset';
71505
- element.style.right = `${window.innerWidth + document.body.getBoundingClientRect().width}px`;
71506
- // element.style.top = isFirstEntry ? `${entryValue}%` : `${Math.floor(Math.random() * (containerHeight - element.clientHeight))}px`;
71507
- element.style.top = `${Math.floor(Math.random() * (containerHeight - element.clientHeight))}px`;
71508
- // const duration = 15 + Math.random() * 15;
71542
+ element.style.left = `unset`;
71543
+ element.style.right = `${(1600 - window.innerWidth) + window.innerWidth + element.offsetWidth}px`;
71544
+ // Step 8: Split available height into lanes with a vertical gap.
71545
+ const laneHeight = Math.max(1, element.clientHeight + BUBBLE_VERTICAL_GAP);
71546
+ const laneCount = Math.max(1, Math.floor(containerHeight / laneHeight));
71547
+ // Keep lane timer array length in sync with current lane count.
71548
+ if (laneNextStartAtMs.length > laneCount) {
71549
+ laneNextStartAtMs.length = laneCount;
71550
+ }
71551
+ // Step 9: Find all lanes that are currently free.
71552
+ const now = performance.now();
71553
+ const availableLaneIndexes = [];
71554
+ for (let i = 0; i < laneCount; i++) {
71555
+ const laneReadyAt = laneNextStartAtMs[i] || 0;
71556
+ if (laneReadyAt <= now) {
71557
+ availableLaneIndexes.push(i);
71558
+ }
71559
+ }
71560
+ // Step 10: Choose a random free lane, else fallback to earliest available lane.
71561
+ let laneIndex = 0;
71562
+ if (availableLaneIndexes.length > 0) {
71563
+ const randomAvailableIndex = Math.floor(Math.random() * availableLaneIndexes.length);
71564
+ laneIndex = availableLaneIndexes[randomAvailableIndex];
71565
+ }
71566
+ else {
71567
+ laneIndex = getEarliestLaneIndex(laneCount);
71568
+ }
71569
+ // Step 11: Convert lane index to top position.
71570
+ const resolvedLaneIndex = laneIndex !== null && laneIndex !== void 0 ? laneIndex : 0;
71571
+ const maxTop = Math.max(0, containerHeight - element.clientHeight);
71572
+ const laneStep = laneCount > 1 ? maxTop / (laneCount - 1) : 0;
71573
+ element.style.top = `${Math.round(resolvedLaneIndex * laneStep)}px`;
71574
+ // Step 12: Set animation start position and compute spacing delay.
71509
71575
  element.style.setProperty('--el-left', element.style.right);
71510
- element.style.animation = `float-lr 15s linear ${delay}s`;
71576
+ const timePerElement = element.offsetWidth / (container.offsetWidth / 60);
71577
+ const laneReadyAt = laneNextStartAtMs[resolvedLaneIndex] || 0;
71578
+ const laneDelaySeconds = Math.max(0, (laneReadyAt - now) / 1000);
71579
+ const appliedDelay = Math.max(floatDelay, laneDelaySeconds);
71580
+ // Step 13: Start horizontal animation and reserve lane time to avoid overlap.
71581
+ element.style.animation = `float-lr 40s linear ${appliedDelay}s`;
71582
+ laneNextStartAtMs[resolvedLaneIndex] = now + (appliedDelay + timePerElement + BUBBLE_TIME_GAP_SECONDS) * 1000;
71583
+ // Step 14: Reset legacy delay after applying once.
71584
+ floatDelay = 0;
71511
71585
  }
71512
71586
  else {
71587
+ // Step 7 (vertical mode): pick a random x-position in container.
71513
71588
  const containerWidth = floatContainer.offsetWidth;
71514
- // element.style.left = isFirstEntry ? `${entryValue}%` : `${Math.floor(Math.random() * (containerWidth - element.clientWidth))}px`;
71515
71589
  element.style.left = `${Math.floor(Math.random() * (containerWidth - element.clientWidth))}px`;
71590
+ // Step 8 (vertical mode): place below viewport and animate upward.
71516
71591
  const startTop = document.body.offsetHeight + element.offsetHeight * (1 / calculateScale());
71517
71592
  element.style.top = `${startTop}px`;
71518
71593
  const duration = 5 + Math.random() * 5;
@@ -71520,6 +71595,7 @@ function handleFloatElementPosition(element) {
71520
71595
  element.style.animation = `float-up ${duration}s linear ${delay}s`;
71521
71596
  element.id = 'removeShadow';
71522
71597
  }
71598
+ // Step 15: Requeue the same element once current animation finishes.
71523
71599
  element.addEventListener('animationend', () => {
71524
71600
  element.style.animation = 'none';
71525
71601
  handleFloatElementPosition(element);
@@ -72593,6 +72669,12 @@ async function onActivityComplete(dragElement, dropElement) {
72593
72669
  await executeActions(onCorrect, dropElement, dragElement);
72594
72670
  }
72595
72671
  }
72672
+ else {
72673
+ const onInCorrect = dropElement.getAttribute('onInCorrect');
72674
+ if (onInCorrect) {
72675
+ await executeActions(onInCorrect, dropElement, dragElement);
72676
+ }
72677
+ }
72596
72678
  }
72597
72679
  let dragScore = buildDragSelectedMapFromDOM();
72598
72680
  const sortedValues = getSortedValuesArrayFromMap(dragScore);
@@ -73472,6 +73554,7 @@ exports.matchStringPattern = matchStringPattern;
73472
73554
  exports.nextUrl = nextUrl;
73473
73555
  exports.parseProp = parseProp;
73474
73556
  exports.prevUrl = prevUrl;
73557
+ exports.resetFloatState = resetFloatState;
73475
73558
  exports.setCancelBtnPopup = setCancelBtnPopup;
73476
73559
  exports.setVisibilityWithDelay = setVisibilityWithDelay;
73477
73560
  exports.speakIcon = speakIcon;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DCqhhVJB.js');
4
- require('./index-7Dh-uOww.js');
3
+ var index = require('./index-w6fx6vpR.js');
4
+ require('./index-BrME-8br.js');
5
5
 
6
6
 
7
7
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-7Dh-uOww.js');
4
- var index$1 = require('./index-DCqhhVJB.js');
3
+ var index = require('./index-BrME-8br.js');
4
+ var index$1 = require('./index-w6fx6vpR.js');
5
5
 
6
6
  var rive$1 = {exports: {}};
7
7
 
@@ -8510,7 +8510,7 @@ const LidoBalance = class {
8510
8510
  };
8511
8511
  LidoBalance.style = lidoBalanceCss();
8512
8512
 
8513
- const lidoCalculatorCss = () => `#lidoCalculator{border-radius:19px;border:5px solid #029A9A;position:relative;display:flex;flex-direction:column;padding:2%;box-sizing:border-box}.lido-calculator-btn-special{background-color:#014D4D !important;--btn-shadow-color:#0a2f2f !important}.lido-calculator-btn-default{background-color:#029A9A !important;color:#000;--btn-shadow-color:#0f4242 !important}#lido-calculator-penIcon{--btn-bg-color:#FB7038 !important;--btn-shadow-px:0 8px 0 !important;--btn-shadow-color:#D74B12 !important;border-radius:5px !important}.lido-calculator-displayParent{width:89%;height:107px;background-color:rgb(68, 186, 186);border-radius:5px;margin:14px auto 17px auto;overflow:hidden;display:flex;align-items:end}.lido-calculator-display{width:97%;height:94px;background:#029A9A;color:#fff;text-align:right;display:flex;justify-content:flex-end;align-items:center;font-size:72px;font-weight:700;font-family:'Baloo Bhai 2', serif;border-radius:5px 0px 0px 5px;box-sizing:border-box;margin:0 0px -6px auto}.lido-calculator-buttons{flex:1;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;gap:0%;width:100%;justify-items:center;align-items:center;position:relative;top:-1%}.lido-calculator-buttons lido-text{display:flex !important;justify-content:center;align-items:center;width:96px !important;height:80px !important;font-size:72px !important;font-weight:700 !important;color:#fff;border-radius:5px !important;cursor:pointer;text-align:center;line-height:1;box-sizing:border-box;transition:transform 0.1s}.lido-calculator-buttons lido-text:active{transform:scale(0.95)}`;
8513
+ const lidoCalculatorCss = () => `#lidoCalculator{border-radius:19px;border:5px solid #029A9A;position:relative;display:flex;flex-direction:column;padding:2%;box-sizing:border-box}.lido-calculator-btn-special{background-color:#014D4D !important;--btn-shadow-color:#0a2f2f !important}.lido-calculator-btn-default{--btn-bg-color:#029A9A !important;--btn-shadow-color:#0f4242 !important;color:#000}#lido-calculator-penIcon{--btn-bg-color:#FB7038 !important;--btn-shadow-px:0 8px 0 !important;--btn-shadow-color:#D74B12 !important;border-radius:5px !important}.lido-calculator-displayParent{width:89%;height:107px;background-color:rgb(68, 186, 186);border-radius:5px;margin:14px auto 17px auto;overflow:hidden;display:flex;align-items:end}.lido-calculator-display{width:97%;height:94px;background:#029A9A;color:#fff;text-align:right;display:flex;justify-content:flex-end;align-items:center;font-size:72px;font-weight:700;font-family:'Baloo Bhai 2', serif;border-radius:5px 0px 0px 5px;box-sizing:border-box;margin:0 0px -6px auto}.lido-calculator-buttons{flex:1;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;gap:0%;width:100%;justify-items:center;align-items:center;position:relative;top:-1%}.lido-calculator-buttons lido-text{display:flex !important;justify-content:center;align-items:center;width:96px !important;height:80px !important;font-size:72px !important;font-weight:700 !important;color:#fff;border-radius:5px !important;cursor:pointer;text-align:center;line-height:1;box-sizing:border-box;transition:transform 0.1s}.lido-calculator-buttons lido-text:active{transform:scale(0.95)}`;
8514
8514
 
8515
8515
  const LidoCalculator = class {
8516
8516
  constructor(hostRef) {
@@ -8648,13 +8648,14 @@ const LidoCalculator = class {
8648
8648
  else {
8649
8649
  await index$1.executeActions(onInCorrect, container);
8650
8650
  }
8651
+ index$1.calculateScore();
8651
8652
  index$1.triggerNextContainer();
8652
8653
  }
8653
8654
  okbtn.style.pointerEvents = 'auto'; // Re-enable OK button after processing
8654
8655
  }
8655
8656
  render() {
8656
8657
  const numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '←', '0', 'OK'];
8657
- return (index.h(index.Host, { key: 'e37b659e48048b18812f385db123c208eabe6ba4', 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: 'fb41e56bd1414869fa21e0460dd6e64945aeee82', visible: "true", height: "94px", width: "60px" }, index.h("lido-text", { key: '4330873be32fbdc2236397240c5930bb1a1b395e', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "176%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, index.h("img", { key: 'b5f6b05debf1f641047b7021d0c08cdc628cea8d', src: this.penIcon, alt: "pen", style: { width: '100%', height: '100%' } }))), index.h("div", { key: '125dca5b401eb78f51653867ff248b68997ade2c', class: "lido-calculator-displayParent" }, index.h("div", { key: '2fa29f9cab7d3a82cd0efe752d02d76c02f56f65', class: "lido-calculator-display" }, this.displayValue)), index.h("div", { key: '30f9819671255c7a98f5137882b1c06bd75663e0', class: "lido-calculator-buttons" }, numbers.map((num, i) => (index.h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
8658
+ return (index.h(index.Host, { key: 'd56a56430ec3f306c30690fe344bda299572f318', 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: 'c21c852b8adc4189c94de004e6fc75a105c32b0d', visible: "true", height: "94px", width: "60px" }, index.h("lido-text", { key: 'fad33b9b6f7e49c25f1718ab2ce99b4099b79b0c', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "176%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, index.h("img", { key: '808789d669b3193897492aad4e262e6a9434844c', src: this.penIcon, alt: "pen", style: { width: '100%', height: '100%' } }))), index.h("div", { key: '77228682dfdb471786fb61127d5cadae82863bd1', class: "lido-calculator-displayParent" }, index.h("div", { key: '7ffba1a00290ee9a876dd5e75f02a20e2e55826e', class: "lido-calculator-display" }, this.displayValue)), index.h("div", { key: '5e47ed161e4bdaf8f71380b02ed42ead77ba565a', class: "lido-calculator-buttons" }, numbers.map((num, i) => (index.h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
8658
8659
  'lido-calculator-btn-special': num === '←' || num === 'OK',
8659
8660
  'lido-calculator-btn-default': num !== '←' && num !== 'OK'
8660
8661
  }, onClick: () => this.handleClick(num) }))))));
@@ -9285,7 +9286,7 @@ const deepFind = (obj, path, keySeparator = '.') => {
9285
9286
  }
9286
9287
  return current;
9287
9288
  };
9288
- const getCleanedCode = code => code?.replace(/_/g, '-');
9289
+ const getCleanedCode = code => code?.replace('_', '-');
9289
9290
 
9290
9291
  const consoleLogger = {
9291
9292
  type: 'logger',
@@ -10794,21 +10795,13 @@ const bindMemberFunctions = inst => {
10794
10795
  }
10795
10796
  });
10796
10797
  };
10797
- const SUPPORT_NOTICE_KEY = '__i18next_supportNoticeShown';
10798
- const getSupportNoticeShown = () => typeof globalThis !== 'undefined' && !!globalThis[SUPPORT_NOTICE_KEY];
10799
- const setSupportNoticeShown = () => {
10800
- if (typeof globalThis !== 'undefined') globalThis[SUPPORT_NOTICE_KEY] = true;
10801
- };
10798
+ let supportNoticeShown = false;
10802
10799
  const usesLocize = inst => {
10803
10800
  if (inst?.modules?.backend?.name?.indexOf('Locize') > 0) return true;
10804
10801
  if (inst?.modules?.backend?.constructor?.name?.indexOf('Locize') > 0) return true;
10805
10802
  if (inst?.options?.backend?.backends) {
10806
10803
  if (inst.options.backend.backends.some(b => b?.name?.indexOf('Locize') > 0 || b?.constructor?.name?.indexOf('Locize') > 0)) return true;
10807
10804
  }
10808
- if (inst?.options?.backend?.projectId) return true;
10809
- if (inst?.options?.backend?.backendOptions) {
10810
- if (inst.options.backend.backendOptions.some(b => b?.projectId)) return true;
10811
- }
10812
10805
  return false;
10813
10806
  };
10814
10807
  class I18n extends EventEmitter {
@@ -10863,9 +10856,9 @@ class I18n extends EventEmitter {
10863
10856
  if (typeof this.options.overloadTranslationOptionHandler !== 'function') {
10864
10857
  this.options.overloadTranslationOptionHandler = defOpts.overloadTranslationOptionHandler;
10865
10858
  }
10866
- if (this.options.showSupportNotice !== false && !usesLocize(this) && !getSupportNoticeShown()) {
10859
+ if (this.options.showSupportNotice !== false && !usesLocize(this) && !supportNoticeShown) {
10867
10860
  if (typeof console !== 'undefined' && typeof console.info !== 'undefined') console.info('🌐 i18next is maintained with support from Locize — consider powering your project with managed localization (AI, CDN, integrations): https://locize.com 💙');
10868
- setSupportNoticeShown();
10861
+ supportNoticeShown = true;
10869
10862
  }
10870
10863
  const createClassOnDemand = ClassOrObject => {
10871
10864
  if (!ClassOrObject) return null;
@@ -11921,10 +11914,37 @@ var port = {
11921
11914
  };
11922
11915
 
11923
11916
  const instruction = {
11924
- dragAndDrop: "वस्तू योग्य ठिकाणी ओढून आणि सोडून जुळवा.",
11925
- mcq: "दिलेल्या पर्यायांमधून योग्य उत्तर निवडा.",
11926
- tracing: "रेषेचा काळजीपूर्वक मागोवा घेत आकृती काढा.",
11927
- flashcards: "तुमचे शिक्षण मजबूत करण्यासाठी फ्लॅशकार्ड्स पाहा."
11917
+ dragAndDrop: "Match the items by dragging and dropping them into the correct places.",
11918
+ mcq: "Select the correct answer from the options provided.",
11919
+ tracing: "Trace the shape by following the outline carefully.",
11920
+ flashcards: "Review the flashcards to reinforce your learning.",
11921
+ substractionWithImage: "substractionWithImageMaAudio ",
11922
+ substractionWithoutImage: "substractionWithoutImageMaAudio",
11923
+ numberIdentificationWithImage: "numberIdentificationWithImageMaAudio",
11924
+ numberIdentificationWithoutImage: "numberIdentificationWithoutImageMaAudio",
11925
+ wordBuildingWithImage: "wordBuildingWithImageMaAudio",
11926
+ wordBuildingWithoutImage: "wordBuildingWithoutImageMaAudio",
11927
+ pictureClues: "pictureCluesMaAudio",
11928
+ pictureWordMatchMultipleImages: "pictureWordMatchMultipleImagesMaAudio",
11929
+ pictureWordMatchSingleImage: "pictureWordMatchSingleImageMaAudio",
11930
+ sentenceMatch: "sentenceMatchMaAudio",
11931
+ imageMatch: "imageMatchMaAudio",
11932
+ palStoryTale: "palStoryTaleMaAudio",
11933
+ palEgmaPatternMatching: "palEgmaPatternMatchingMaAudio",
11934
+ palEgmaWordProblemDragnDrop: "palEgmaWordProblemDragnDropMaAudio",
11935
+ palEgmaWordProblemClick: "palEgmaWordProblemClickMaAudio",
11936
+ palEgraOddOneOut: "palEgraOddOneOutMaAudio",
11937
+ palEgraArrangePictures: "palEgraArrangePicturesMaAudio",
11938
+ palEgraBuildWord: "palEgraBuildWordMaAudio",
11939
+ palEgraWordFormation: "palEgraWordFormationMaAudio",
11940
+ palInventedSpelling: "palInventedSpellingMaAudio",
11941
+ palLetterIdentification: "palLetterIdentificationMaAudio",
11942
+ palStoryMaking: "palStoryMakingMaAudio",
11943
+ palegmasumtogether: "palegmasumtogetherMaAudio",
11944
+ palegmamultioption: "palegmamultioptionMaAudio",
11945
+ palegraoptionaudio: "palegraoptionaudioMaAudio",
11946
+ palegrawordmatch: "palegrawordmatchMaAudio",
11947
+ palegramcqimages: "palegramcqimagesMaAudio"
11928
11948
  };
11929
11949
  var ma = {
11930
11950
  instruction: instruction
@@ -12134,6 +12154,7 @@ const LidoContainer = class {
12134
12154
  "balancing": "balancing" /* templateAudio.balancing */,
12135
12155
  "balloonPop": "balloonPop" /* templateAudio.balloonPop */,
12136
12156
  "blender": "blender" /* templateAudio.blender */,
12157
+ "bubbleType": "bubbleType" /* templateAudio.bubbleType */,
12137
12158
  "calculator": "calculator" /* templateAudio.calculator */,
12138
12159
  "categorize": "categorize" /* templateAudio.categorize */,
12139
12160
  "checkerBlocks": "checkerBlocks" /* templateAudio.checkerBlocks */,
@@ -12152,6 +12173,7 @@ const LidoContainer = class {
12152
12173
  "letterPairing": "letterPairing" /* templateAudio.letterPairing */,
12153
12174
  "makeSentence": "makeSentence" /* templateAudio.makeSentence */,
12154
12175
  "matchingCard": "matchingCard" /* templateAudio.matchingCard */,
12176
+ "multiplyBeeds": "multiplyBeeds" /* templateAudio.multiplyBeeds */,
12155
12177
  "nimbleTable": "nimbleTable" /* templateAudio.nimbleTable */,
12156
12178
  "numberBoardOneTwo": "numberBoardOneTwo" /* templateAudio.numberBoardOneTwo */,
12157
12179
  "numberPair": "numberPair" /* templateAudio.numberPair */,
@@ -12163,6 +12185,10 @@ const LidoContainer = class {
12163
12185
  "pictureWordMatch2": "pictureWordMatch2" /* templateAudio.pictureWordMatch2 */,
12164
12186
  "puzzleGame": "puzzleGame" /* templateAudio.puzzleGame */,
12165
12187
  "questionBoard": "questionBoard" /* templateAudio.questionBoard */,
12188
+ "quizLiteracySentenceSentence": "quizLiteracySentenceSentence" /* templateAudio.quizLiteracySentenceSentence */,
12189
+ "quizLiteracySoundOnlyImage": "quizLiteracySoundOnlyImage" /* templateAudio.quizLiteracySoundOnlyImage */,
12190
+ "quizLiteracySoundOnlySentence": "quizLiteracySoundOnlySentence" /* templateAudio.quizLiteracySoundOnlySentence */,
12191
+ "quizLiteracySoundOnlyWord": "quizLiteracySoundonlyWord" /* templateAudio.quizLiteracySoundOnlyWord */,
12166
12192
  "quizLiteracyAndShapes1": "quizLiteracyAndShapes1" /* templateAudio.quizLiteracyAndShapes1 */,
12167
12193
  "quizLiteracyImageWithText": "quizLiteracyImageWithText" /* templateAudio.quizLiteracyImageWithText */,
12168
12194
  "quizliteracyImageWord": "quizliteracyImageWord" /* templateAudio.quizliteracyImageWord */,
@@ -12187,6 +12213,7 @@ const LidoContainer = class {
12187
12213
  "sumTogether": "sumTogether" /* templateAudio.sumTogether */,
12188
12214
  "tag": "tag" /* templateAudio.tag */,
12189
12215
  "total": "total" /* templateAudio.total */,
12216
+ "writeCard": "writeCard" /* templateAudio.writeCard */,
12190
12217
  "writeLetter": "writeLetter" /* templateAudio.writeLetter */,
12191
12218
  "writeNumber": "writeNumber" /* templateAudio.writeNumber */,
12192
12219
  "writeSet": "writeSet" /* templateAudio.writeSet */,
@@ -12339,6 +12366,7 @@ const LidoContainer = class {
12339
12366
  setTimeout(() => {
12340
12367
  index$1.highlightElement();
12341
12368
  }, 100);
12369
+ index$1.resetFloatState();
12342
12370
  index$1.Timer.getI().start();
12343
12371
  }
12344
12372
  disconnectedCallback() {
@@ -12346,6 +12374,7 @@ const LidoContainer = class {
12346
12374
  window.removeEventListener('load', () => this.scaleContainer(this.el));
12347
12375
  document.body.style.backgroundColor = '';
12348
12376
  document.body.style.backgroundImage = '';
12377
+ index$1.resetFloatState();
12349
12378
  index$1.Timer.getI().stop();
12350
12379
  }
12351
12380
  render() {
@@ -12360,7 +12389,7 @@ const LidoContainer = class {
12360
12389
  userSelect: 'none', // Prevent any field selection
12361
12390
  };
12362
12391
  console.log('🚀 ~ LidoContainer ~ canplay:', this.canplay);
12363
- return (index.h(index.Host, { key: 'e674ddcd603c141bd7420cd05e87a0bbf5b435a3', 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: '9e2e323c8d48eb74d6ba11574457364ac0b0d46a', visible: "false", id: this.templateId, audio: "", string: this.instructName }), index.h("slot", { key: '4b01fbd31d2d5a324799815b9e82749cd4dc4ab7' })));
12392
+ return (index.h(index.Host, { key: '251a6c4300e30a424f5bcf6099ee0f1252267de6', 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: '0ae4e3e6cc9d82969e396f0af924630565fa548b', visible: "false", id: this.templateId, audio: "", string: this.instructName }), index.h("slot", { key: 'e93ea96beb6733bf8d8f0e7c2ff11a7f2cda09a8' })));
12364
12393
  }
12365
12394
  get el() { return index.getElement(this); }
12366
12395
  static get watchers() { return {
@@ -12884,7 +12913,7 @@ const LidoHome = class {
12884
12913
  }
12885
12914
  // Pure-JS fallback (no wasm asset required)
12886
12915
  try {
12887
- const brotliDecodeModule = await Promise.resolve().then(function () { return require('./decode-deq4aiWl.js'); }).then(function (n) { return n.decode; });
12916
+ const brotliDecodeModule = await Promise.resolve().then(function () { return require('./decode-0PH42AW4.js'); }).then(function (n) { return n.decode; });
12888
12917
  const brotliDecompressBuffer = brotliDecodeModule.BrotliDecompressBuffer ||
12889
12918
  ((_a = brotliDecodeModule.default) === null || _a === void 0 ? void 0 : _a.BrotliDecompressBuffer);
12890
12919
  if (typeof brotliDecompressBuffer !== 'function') {
@@ -13132,6 +13161,7 @@ const LidoHome = class {
13132
13161
  });
13133
13162
  }
13134
13163
  async btnpopup() {
13164
+ var _a, _b;
13135
13165
  index$1.setCancelBtnPopup(false);
13136
13166
  await index$1.AudioPlayer.getI().stop();
13137
13167
  const container = document.getElementById(index$1.LidoContainer);
@@ -13161,7 +13191,7 @@ const LidoHome = class {
13161
13191
  }
13162
13192
  if (this.areAllDropsFilled()) {
13163
13193
  const objectiveString = container['objective'];
13164
- const objectiveArray = JSON.parse(localStorage.getItem(index$1.SelectedValuesKey) || '[]');
13194
+ const objectiveArray = (_b = JSON.parse((_a = container.getAttribute(index$1.SelectedValuesKey)) !== null && _a !== void 0 ? _a : '[]')) !== null && _b !== void 0 ? _b : [];
13165
13195
  const res = index$1.matchStringPattern(objectiveString, objectiveArray);
13166
13196
  console.log('Resultt', res);
13167
13197
  if (res) {
@@ -16401,9 +16431,11 @@ const LidoKeyboard = class {
16401
16431
  return element;
16402
16432
  });
16403
16433
  const bodyRect = document.body.getBoundingClientRect();
16404
- const elemRect = matchedBubble.getBoundingClientRect();
16405
- // Ciheck if the matched bubble is overlapping with the target area (you can define the target area as needed, here we use the entire viewport)
16406
- isOverlapping = elemRect.left < bodyRect.right && elemRect.right > bodyRect.left && elemRect.top < bodyRect.bottom && elemRect.bottom > bodyRect.top;
16434
+ if (matchedBubble) {
16435
+ const elemRect = matchedBubble.getBoundingClientRect();
16436
+ // Ciheck if the matched bubble is overlapping with the target area (you can define the target area as needed, here we use the entire viewport)
16437
+ isOverlapping = matchedBubble && elemRect.left < bodyRect.right && elemRect.right > bodyRect.left && elemRect.top < bodyRect.bottom && elemRect.bottom > bodyRect.top;
16438
+ }
16407
16439
  if (matchedBubble && isOverlapping) {
16408
16440
  // If full word completed
16409
16441
  if (this.inputString.toLowerCase() === matchedBubble.getAttribute('value').toLowerCase()) {
@@ -16486,10 +16518,10 @@ const LidoKeyboard = class {
16486
16518
  const keysArray = this.keys.split(',').map(k => k.trim());
16487
16519
  const container = document.getElementById(index$1.LidoContainer);
16488
16520
  const showCheck = container.getAttribute('show-check') === 'true';
16489
- return (index.h(index.Host, { key: '0d05d0c728277cb017348ba2d2ae3948cf2bab55', 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: '14a518c62f6d08a4f151862ee62164bb2855e663', class: "input-area" }, index.h("input", { key: '10eeaea092ff52f34f305228cdc3b5a0dfff444d', type: "text", value: this.inputString, class: "input-area", readonly: true }), index.h("lido-text", { key: '13773d7c06178fecd4de0f5e5913c0596a7c8870', visible: showCheck ? 'true' : 'false', string: "<<", "bg-color": "black", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "100px", height: "70px", type: "click", onClick: () => {
16521
+ return (index.h(index.Host, { key: '643b539177765041a7e4876af27a8e0c55d03d2c', 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: 'e97e5e1a3da2c4507d9a5aec81eabd8fb6ad6062', class: "input-area" }, index.h("input", { key: 'facb33b4135c62429b1738aa6d6a8e096a1823c0', type: "text", value: this.inputString, class: "input-area", readonly: true }), index.h("lido-text", { key: '227b199cf1fe5928c975143b268f2dcb6334ad30', visible: showCheck ? 'true' : 'false', string: "<<", "bg-color": "black", "font-color": "white", "border-radius": "20px", "font-size": "30px", width: "100px", height: "70px", type: "click", onClick: () => {
16490
16522
  this.inputString = this.inputString.slice(0, -1);
16491
16523
  this.inputValidation(event);
16492
- } }), index.h("lido-text", { key: 'f430668be25e241f8047f66024d823c91aa07dea', 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: 'e885f754dc148709506a3f5273c9a29a1746fad9', 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: '402251e518990c9ef768aaac13e93476a12cad06', class: "keyboard-wrapper", style: {
16524
+ } }), index.h("lido-text", { key: '460428fd44dcc1f3faa40d5c0caa19edfc341289', 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: '58f45bc2581856fe4a624e5cccef9bffdb56af24', 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: '4a894c0cb918fda4db76e3b61840fe6e73579794', class: "keyboard-wrapper", style: {
16493
16525
  display: 'flex',
16494
16526
  flexWrap: 'wrap',
16495
16527
  justifyContent: 'center',
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-7Dh-uOww.js');
3
+ var index = require('./index-BrME-8br.js');
4
4
 
5
5
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
6
6
  /*
7
- Stencil Client Patch Browser v4.43.2 | MIT Licensed | https://stenciljs.com
7
+ Stencil Client Patch Browser v4.43.0 | MIT Licensed | https://stenciljs.com
8
8
  */
9
9
 
10
10
  var patchBrowser = () => {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-7Dh-uOww.js');
3
+ var index = require('./index-BrME-8br.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;