lido-player 0.0.2-alpha-52-dev → 0.0.2-alpha-53-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 (127) hide show
  1. package/dist/cjs/index.cjs.js +1 -1
  2. package/dist/cjs/lido-avatar_22.cjs.entry.js +184 -58
  3. package/dist/cjs/lido-player.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{utils-ce99b0d0.js → utils-3c1ce74e.js} +89 -85
  6. package/dist/collection/components/container/lido-container.js +24 -2
  7. package/dist/collection/components/home/lido-home.css +4 -0
  8. package/dist/collection/components/home/lido-home.js +27 -3
  9. package/dist/collection/components/trace/lido-trace.js +122 -47
  10. package/dist/collection/stories/Templates/Fill-Up/fill-up.stories.js +26 -25
  11. package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +3 -1
  12. package/dist/collection/stories/Templates/RocketGame/rocketGame.stories.js +1 -1
  13. package/dist/collection/stories/Templates/arrangeLetters/arrangeLetters.stories.js +1 -1
  14. package/dist/collection/stories/Templates/balancing/balancing.stories.js +1 -1
  15. package/dist/collection/stories/Templates/blender/blender.stories.js +1 -1
  16. package/dist/collection/stories/Templates/bubbleType/bubbleType.stories.js +1 -1
  17. package/dist/collection/stories/Templates/calculator/calculator.stories.js +1 -1
  18. package/dist/collection/stories/Templates/checker-block/checkerBlock.stories.js +1 -1
  19. package/dist/collection/stories/Templates/checkerBlock/checkerBlock.stories.js +1 -1
  20. package/dist/collection/stories/Templates/create-sentence/createSentence.stories.js +1 -1
  21. package/dist/collection/stories/Templates/fillAnswer/fill-answer.stories.js +1 -1
  22. package/dist/collection/stories/Templates/fillBlank/fill-blank.stories.js +1 -1
  23. package/dist/collection/stories/Templates/foodJar/food-jar.stories.js +1 -1
  24. package/dist/collection/stories/Templates/grid/grid.stories.js +5 -1
  25. package/dist/collection/stories/Templates/gridGame/grid-game.stories.js +1 -1
  26. package/dist/collection/stories/Templates/jumpSentence/jumpSentence.stories.js +4 -2
  27. package/dist/collection/stories/Templates/letterboard/letterboard.stories.js +1 -1
  28. package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +1 -1
  29. package/dist/collection/stories/Templates/multipleOption/mcqWithQuestionImage.stories.js +4 -2
  30. package/dist/collection/stories/Templates/multipleOption/multiple-option.stories.js +1 -1
  31. package/dist/collection/stories/Templates/multiplyBeeds/multiplyBeeds.stories.js +1 -1
  32. package/dist/collection/stories/Templates/nimbleTable/nimbleTable.stories.js +1 -1
  33. package/dist/collection/stories/Templates/numberBoard/numberBoard.stories.js +1 -1
  34. package/dist/collection/stories/Templates/numberBoardTwo/numberBoardTwo.stories.js +1 -1
  35. package/dist/collection/stories/Templates/numberPair/numberPair.stories.js +1 -1
  36. package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +2 -2
  37. package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +2 -2
  38. package/dist/collection/stories/Templates/order-tractor/order-tractor-ascending-order.stories.js +1 -1
  39. package/dist/collection/stories/Templates/order-tractor/order-tractor.stories.js +1 -1
  40. package/dist/collection/stories/Templates/phonic-tractor/phonic-tractor.stories.js +1 -1
  41. package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +5 -1
  42. package/dist/collection/stories/Templates/questionBoard/questionBoard.stories.js +1 -1
  43. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracy.stories.js +1 -1
  44. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWithText.stories.js +1 -1
  45. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWord.stories.js +1 -1
  46. package/dist/collection/stories/Templates/reorder/reorder.stories.js +3 -1
  47. package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +2 -2
  48. package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +6 -6
  49. package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +7 -6
  50. package/dist/collection/stories/Templates/shapePair/shape-pair.stories.js +1 -1
  51. package/dist/collection/stories/Templates/shapeTractor/shape-tractor.stories.js +25 -21
  52. package/dist/collection/stories/Templates/spellDoor/spellDoor.stories.js +1 -1
  53. package/dist/collection/stories/Templates/sumTogether/sumTogether.stories.js +8 -6
  54. package/dist/collection/stories/Templates/total/total.stories.js +1 -1
  55. package/dist/collection/stories/Templates/writeCard/writeCard.stories.js +1 -1
  56. package/dist/collection/stories/Templates/writeLetter/writeLetter.stories.js +2 -2
  57. package/dist/collection/stories/Templates/writeNumber/writeNumber.stories.js +6 -6
  58. package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +1 -1
  59. package/dist/collection/stories/Templates/writeWord/writeWord.stories.js +7 -6
  60. package/dist/collection/utils/utils.js +18 -17
  61. package/dist/collection/utils/utilsHandlers/animationHandler.js +38 -0
  62. package/dist/collection/utils/utilsHandlers/clickHandler.js +5 -1
  63. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +19 -58
  64. package/dist/collection/utils/utilsHandlers/slideHandler.js +7 -6
  65. package/dist/collection/utils/utilsHandlers/sortHandler.js +3 -5
  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 +23 -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-3ce3744c.js → p-004adc43.js} +3 -3
  90. package/dist/components/{p-b2125fc9.js → p-057fb7b8.js} +48 -24
  91. package/dist/components/{p-8f2ed62f.js → p-0733b277.js} +1 -1
  92. package/dist/components/{p-26df0769.js → p-09b3b152.js} +1 -1
  93. package/dist/components/{p-09f1e2d2.js → p-23549651.js} +1 -1
  94. package/dist/components/{p-a516a324.js → p-3e8ae1c5.js} +123 -48
  95. package/dist/components/{p-68112f8c.js → p-3f0e4436.js} +1 -1
  96. package/dist/components/{p-58c67252.js → p-511377d2.js} +89 -86
  97. package/dist/components/{p-3f4d4c0a.js → p-561908ec.js} +1 -1
  98. package/dist/components/{p-5b5f59a8.js → p-567983a9.js} +2 -2
  99. package/dist/components/{p-8a34b98b.js → p-6beee44b.js} +1 -1
  100. package/dist/components/{p-9d34d59d.js → p-71ded596.js} +2 -2
  101. package/dist/components/{p-0fbeb3a1.js → p-73e3f0f4.js} +12 -6
  102. package/dist/components/{p-06171259.js → p-875c1411.js} +1 -1
  103. package/dist/components/{p-0c2aebfb.js → p-8774f517.js} +1 -1
  104. package/dist/components/{p-a2f96840.js → p-90f7dd48.js} +1 -1
  105. package/dist/components/{p-c4abfd0f.js → p-92b9ae9e.js} +1 -1
  106. package/dist/components/{p-00777872.js → p-9ea1a67d.js} +26 -4
  107. package/dist/components/{p-39a2e638.js → p-b3e67e7f.js} +2 -2
  108. package/dist/components/{p-52e77394.js → p-cca545f9.js} +1 -1
  109. package/dist/components/{p-cb56a853.js → p-d2fe2bb6.js} +1 -1
  110. package/dist/components/{p-2d53e1a5.js → p-d568d595.js} +1 -1
  111. package/dist/components/{p-11bf64aa.js → p-df1af62c.js} +1 -1
  112. package/dist/esm/index.js +1 -1
  113. package/dist/esm/lido-avatar_22.entry.js +184 -58
  114. package/dist/esm/lido-player.js +1 -1
  115. package/dist/esm/loader.js +1 -1
  116. package/dist/esm/{utils-107b15a7.js → utils-eefe4a1c.js} +89 -86
  117. package/dist/lido-player/index.esm.js +1 -1
  118. package/dist/lido-player/lido-player.esm.js +1 -1
  119. package/dist/lido-player/p-4d9ad047.entry.js +1 -0
  120. package/dist/lido-player/{p-d1251482.js → p-589fc3b8.js} +2 -2
  121. package/dist/types/components/container/lido-container.d.ts +1 -0
  122. package/dist/types/components/home/lido-home.d.ts +1 -0
  123. package/dist/types/components/trace/lido-trace.d.ts +1 -0
  124. package/dist/types/utils/utils.d.ts +1 -1
  125. package/dist/types/utils/utilsHandlers/animationHandler.d.ts +1 -0
  126. package/package.json +1 -1
  127. package/dist/lido-player/p-606ea279.entry.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const utils = require('./utils-ce99b0d0.js');
5
+ const utils = require('./utils-3c1ce74e.js');
6
6
  require('./index-baff5c15.js');
7
7
 
8
8
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-baff5c15.js');
6
- const utils = require('./utils-ce99b0d0.js');
6
+ const utils = require('./utils-3c1ce74e.js');
7
7
 
8
8
  var rive = {exports: {}};
9
9
 
@@ -9808,7 +9808,8 @@ const en = {
9808
9808
  "Do you want to exit?": "Do you want to exit?",
9809
9809
  Exit: Exit$5,
9810
9810
  "Continue playing": "Continue playing",
9811
- "Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order"
9811
+ "Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order",
9812
+ "Fill in the blanks": "Fill in the blanks"
9812
9813
  };
9813
9814
 
9814
9815
  const Exit$4 = "Quitter";
@@ -9816,7 +9817,8 @@ const fr = {
9816
9817
  "Do you want to exit?": "Voulez-vous quitter?",
9817
9818
  Exit: Exit$4,
9818
9819
  "Continue playing": "Continuer à jouer",
9819
- "Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné"
9820
+ "Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné",
9821
+ "Fill in the blanks": "Remplissez les blancs"
9820
9822
  };
9821
9823
 
9822
9824
  const Exit$3 = "बाहर निकलें";
@@ -9824,7 +9826,8 @@ const hi = {
9824
9826
  "Do you want to exit?": "क्या आप बाहर निकलना चाहते हैं?",
9825
9827
  Exit: Exit$3,
9826
9828
  "Continue playing": "खेलना जारी रखें",
9827
- "Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें"
9829
+ "Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें",
9830
+ "Fill in the blanks": "रिक्त स्थान भरें"
9828
9831
  };
9829
9832
 
9830
9833
  const Exit$2 = "ನಿರ್ಗಮಿಸು";
@@ -9832,7 +9835,8 @@ const ka = {
9832
9835
  "Do you want to exit?": "ನೀವು ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?",
9833
9836
  Exit: Exit$2,
9834
9837
  "Continue playing": "ಆಟವನ್ನು ಮುಂದುವರಿಸಿ",
9835
- "Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ"
9838
+ "Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ",
9839
+ "Fill in the blanks": "ಖಾಲಿ ಸ್ಥಳಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ"
9836
9840
  };
9837
9841
 
9838
9842
  const Exit$1 = "బయటకు వెళ్ళు";
@@ -9840,7 +9844,8 @@ const te = {
9840
9844
  "Do you want to exit?": "మీరు బయటకు వెళ్లాలనుకుంటున్నారా?",
9841
9845
  Exit: Exit$1,
9842
9846
  "Continue playing": "ఆటను కొనసాగించు",
9843
- "Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి"
9847
+ "Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి",
9848
+ "Fill in the blanks": "ఖాళీలను నింపండి"
9844
9849
  };
9845
9850
 
9846
9851
  const Exit = "Sair";
@@ -9848,7 +9853,8 @@ const port = {
9848
9853
  "Do you want to exit?": "Você deseja sair?",
9849
9854
  Exit: Exit,
9850
9855
  "Continue playing": "Continuar jogando",
9851
- "Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida"
9856
+ "Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida",
9857
+ "Fill in the blanks": "Preencha os espaços em branco"
9852
9858
  };
9853
9859
 
9854
9860
  instance
@@ -9968,13 +9974,34 @@ const LidoContainer = class {
9968
9974
  * @param container The container element to be scaled.
9969
9975
  */
9970
9976
  scaleContainer(container) {
9977
+ // Calculate the scale factor based on the closest parent element's width and height (1600x900 reference)
9978
+ const parentElement = this.getClosestParentWithWidth();
9979
+ let scaleFactor = 0;
9980
+ if (parentElement) {
9981
+ const parentWidth = parentElement.clientWidth;
9982
+ const parentHeight = parentElement.clientHeight;
9983
+ const scaleX = parentWidth / 1600;
9984
+ const scaleY = parentHeight / 900;
9985
+ scaleFactor = Math.min(scaleX, scaleY);
9986
+ }
9971
9987
  // Center the container and apply scaling
9972
- container.style.transform = `translate(-50%, -50%) scale(${utils.calculateScale()})`;
9988
+ container.style.transform = `translate(-50%, -50%) scale(${scaleFactor != 0 ? scaleFactor : utils.calculateScale()})`;
9973
9989
  container.style.left = '50%';
9974
9990
  container.style.top = '50%';
9975
9991
  container.style.position = 'absolute'; // Ensure proper positioning
9976
9992
  this.screenOrientation();
9977
9993
  }
9994
+ // Find and return the nearest parent element that has a measurable (non-zero) width
9995
+ getClosestParentWithWidth() {
9996
+ let parent = this.el.parentElement;
9997
+ while (parent) {
9998
+ if (parent.offsetWidth > 0) {
9999
+ return parent;
10000
+ }
10001
+ parent = parent.parentElement;
10002
+ }
10003
+ return null;
10004
+ }
9978
10005
  screenOrientation() {
9979
10006
  if (window.innerHeight > window.innerWidth) {
9980
10007
  this.el.style.height = '1600px';
@@ -10003,6 +10030,7 @@ const LidoContainer = class {
10003
10030
  componentDidLoad() {
10004
10031
  this.scaleContainer(this.el);
10005
10032
  const backGroundImage = this.bgImage ? utils.convertUrlToRelative(this.bgImage) : '';
10033
+ document.body.style.pointerEvents = 'auto';
10006
10034
  document.body.style.backgroundColor = this.bgColor;
10007
10035
  document.body.style.backgroundImage = backGroundImage ? `url(${backGroundImage})` : 'none';
10008
10036
  document.body.style.backgroundPosition = backGroundImage ? `bottom` : 'none';
@@ -10036,7 +10064,7 @@ const LidoContainer = class {
10036
10064
  userSelect: 'none', // Prevent any field selection
10037
10065
  };
10038
10066
  console.log('🚀 ~ LidoContainer ~ canplay:', this.canplay);
10039
- return (index.h(index.Host, { key: '5d7f2f02c5a231a18897942ea0d2f3a200efa502', id: "lido-container", locale: this.locale, "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 }, index.h("slot", { key: 'b82aff47d621fc4f9d6abe5b7add974853f69219' })));
10067
+ return (index.h(index.Host, { key: '338ef0be8cc9d052764785ce9314254be7c8a7f8', id: "lido-container", locale: this.locale, "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 }, index.h("slot", { key: '59d66b47f4749a99ece4da48dbaebaf720cb0b2b' })));
10040
10068
  }
10041
10069
  get el() { return index.getElement(this); }
10042
10070
  static get watchers() { return {
@@ -10200,7 +10228,7 @@ const LidoHomeStyle0 = indexCss;
10200
10228
  const animationCss = "@keyframes rightToPlace{from{transform:translateX(2000px)}to{transform:translateX(0)}}@keyframes topToPlace{from{transform:translateY(-1000px)}to{transform:translateY(0)}}@keyframes bottomToPlace{from{transform:translateY(1000px)}to{transform:translateY(0)}}@keyframes placeToLeft{from{}to{transform:translateX(-2000px)}}@keyframes leftToPlace{from{transform:translateX(-2000px)}to{transform:translateX(0)}}@keyframes shake{0%{transform:translateX(0)}10%{transform:translateX(-5px)}20%{transform:translateX(5px)}30%{transform:translateX(-5px)}40%{transform:translateX(5px)}50%{transform:translateX(-5px)}60%{transform:translateX(5px)}70%{transform:translateX(-5px)}80%{transform:translateX(5px)}90%{transform:translateX(-5px)}100%{transform:translateX(0)}}@keyframes fallAndBounce{0%{transform:translateY(-1000px)}25%{transform:translateY(0px)}50%{transform:translateY(-200px)}75%{transform:translateY(0)}90%{transform:translateY(-100px)}100%{transform:translateY(0)}}@keyframes placeToDown{0%{transform:translateY(0)}100%{transform:translateY(1000px)}}@keyframes strongShake{0%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}100%{transform:translateX(0)}}@keyframes scaledShake{0%{transform:scale(1) translateX(0);box-shadow:0 0 0 transparent}20%{transform:scale(1.10) translateX(-12px);box-shadow:0 0 10px red}40%{transform:scale(1.10) translateX(12px);box-shadow:0 0 12px red}60%{transform:scale(1.10) translateX(-8px);box-shadow:0 0 10px red}80%{transform:scale(1.10) translateX(8px);box-shadow:0 0 12px red}100%{transform:scale(1) translateX(0);box-shadow:none}}@keyframes horizontalShake{0%{transform:scale(1) translateX(0);background-color:transparent}20%{transform:translateX(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateX(20px);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateX(-10px);background-color:rgba(255, 0, 0, 0.3)}80%{transform:translateX(10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translateX(0);background-color:transparent}}@keyframes verticalShake{0%{transform:translateY(0);background-color:transparent}20%{transform:translateY(-20px);background-color:rgba(255, 0, 0, 0.2)}40%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.4)}60%{transform:translateY(20px);background-color:rgba(255, 0, 0, 0.2)}80%{transform:translateY(0);background-color:rgba(255, 0, 0, 0.1)}100%{transform:translateY(0);background-color:transparent}}@keyframes diagonalShake{0%{transform:translate(0, 0);background-color:transparent}25%{transform:translate(20px, -20px);background-color:rgba(255, 0, 0, 0.2)}50%{transform:translate(-20px, 20px);background-color:rgba(255, 0, 0, 0.3)}75%{transform:translate(10px, -10px);background-color:rgba(255, 0, 0, 0.2)}100%{transform:translate(0, 0);background-color:transparent}}@keyframes glowPulse{0%{filter:drop-shadow(0 0 5px yellow)\r\n drop-shadow(0 0 10px yellow)\r\n drop-shadow(0 0 20px yellow)\r\n drop-shadow(0 0 30px orange)}50%{filter:drop-shadow(0 0 10px yellow)\r\n drop-shadow(0 0 20px yellow)\r\n drop-shadow(0 0 40px yellow)\r\n drop-shadow(0 0 50px orange)}100%{filter:drop-shadow(0 0 5px yellow)\r\n drop-shadow(0 0 10px yellow)\r\n drop-shadow(0 0 20px yellow)\r\n drop-shadow(0 0 30px orange)}}";
10201
10229
  const LidoHomeStyle1 = animationCss;
10202
10230
 
10203
- const lidoHomeCss = ".lido-snackbar{visibility:visible;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;bottom:30px;left:50%;transform:translateX(-50%);font-size:17px}.lido-dot-container{display:flex;justify-content:space-between;align-items:center;visibility:hidden;position:absolute;left:50%;padding:0 5px;z-index:1;width:100vw;max-width:100vw;box-sizing:border-box;height:0px}.lido-dot{height:18px;width:18px;margin:0 4px;background-color:#bbb;border-radius:50%;display:inline-block;transition:background-color 0.3s;cursor:pointer;z-index:1}.lido-btn-dot-container{flex-shrink:1;flex-grow:1;display:flex;justify-content:center;align-items:center;text-align:center;z-index:1;min-width:0;height:0px}.lido-dot.completed{background-color:grey}.lido-dot.current{background-color:green}.lido-dot:not(.completed):not(.current){background-color:#bbb}#lido-arrow-left,#lido-arrow-right{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:1000;box-shadow:0px 8px 0px 0px #8b310f;background-color:#f34d08;cursor:pointer;visibility:hidden;flex-shrink:0}#lido-arrow-left:active,#lido-arrow-right:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px}.navbar{display:flex;justify-content:center}.lido-exit-button,#main-audio{width:80px;height:80px;z-index:1000;cursor:pointer;background-color:white;display:flex;align-items:center;justify-content:center;border:4px solid #f34d08;border-radius:16px;box-shadow:0px 8px #f34d08;flex-shrink:0;}#main-audio:active,.popup-button:active .lido-exit-button:active{margin-bottom:-8px;box-shadow:0px 0px 0px 0px !important}.lido-alert-popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:1000}@media (max-width: 768px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0 8px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0 8px}.lido-dot{height:16px;width:16px;margin:0 2.5px}}@media (max-width: 480px){#lido-arrow-left,#lido-arrow-right{width:74px;height:74px;margin:0px 5px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0px 5px}.lido-dot{height:15px;width:15px;margin:0 1.5px}.lido-dot-container{padding:0 3px}}@media (max-width: 375px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 3px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 3px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 2px}}@media (max-width: 320px){#lido-arrow-left,#lido-arrow-right,.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 2px}.lido-dot{height:12px;width:12px;margin:0 0.5px}.lido-dot-container{padding:0 2px}}@media (max-width: 900px) and (orientation: landscape){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 5px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 5px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 5px}}.popup-exit-text{white-space:nowrap;font-size:22px;font-weight:600;margin-top:-8%}.lido-alert-parent{z-index:10000 !important;position:absolute;top:0;left:0}.popup-button{width:80px;height:80px;z-index:1000;cursor:pointer;display:flex;align-items:center;justify-content:center;border:4px solid #F34D08;border-radius:16px;box-shadow:0 8px 0 #F34D08}.nav-for-lanai{position:absolute;top:0%;left:0%;max-width:none;width:100%;height:auto;visibility:visible}";
10231
+ const lidoHomeCss = ".lido-snackbar{visibility:visible;min-width:250px;background-color:#333;color:#fff;text-align:center;border-radius:2px;padding:16px;position:fixed;z-index:1;bottom:30px;left:50%;transform:translateX(-50%);font-size:17px}.lido-dot-container{display:flex;justify-content:space-between;align-items:center;visibility:hidden;position:absolute;left:50%;padding:0 5px;z-index:1;width:100vw;max-width:100vw;box-sizing:border-box;height:0px}.lido-dot{height:18px;width:18px;margin:0 4px;background-color:#bbb;border-radius:50%;display:inline-block;transition:background-color 0.3s;cursor:pointer;z-index:1}.lido-btn-dot-container{flex-shrink:1;flex-grow:1;display:flex;justify-content:center;align-items:center;text-align:center;z-index:1;min-width:0;height:0px}.lido-dot.completed{background-color:grey}.lido-dot.current{background-color:green}.lido-dot:not(.completed):not(.current){background-color:#bbb}#lido-arrow-left,#lido-arrow-right{width:88px;height:88px;display:flex;align-items:center;justify-content:center;border-radius:12px;z-index:1000;box-shadow:0px 8px 0px 0px #8b310f;background-color:#f34d08;cursor:pointer;visibility:hidden;flex-shrink:0}#lido-arrow-left:active,#lido-arrow-right:active{transform:translateY(8px);box-shadow:0px 0px 0px 0px}.navbar{display:flex;justify-content:center}.lido-exit-button,#main-audio{width:80px;height:80px;z-index:1000;cursor:pointer;background-color:white;display:flex;align-items:center;justify-content:center;border:4px solid #f34d08;border-radius:16px;box-shadow:0px 8px #f34d08;flex-shrink:0;}#main-audio:active,.popup-button:active .lido-exit-button:active{margin-bottom:-8px;box-shadow:0px 0px 0px 0px !important}.lido-alert-popup{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:1000}@media (max-width: 768px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0 8px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0 8px}.lido-dot{height:16px;width:16px;margin:0 2.5px}}@media (max-width: 480px){#lido-arrow-left,#lido-arrow-right{width:74px;height:74px;margin:0px 5px}.lido-exit-button,#main-audio{width:65px;height:65px;margin:0px 5px}.lido-dot{height:15px;width:15px;margin:0 1.5px}.lido-dot-container{padding:0 3px}}@media (max-width: 375px){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 3px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 3px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 2px}}@media (max-width: 320px){#lido-arrow-left,#lido-arrow-right,.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 2px}.lido-dot{height:12px;width:12px;margin:0 0.5px}.lido-dot-container{padding:0 2px}}@media (max-width: 900px) and (orientation: landscape){#lido-arrow-left,#lido-arrow-right{width:70px;height:70px;margin:0px 5px}.lido-exit-button,#main-audio{width:70px;height:70px;margin:0px 5px}.lido-dot{height:14px;width:14px;margin:0 1px}.lido-dot-container{padding:0 5px}}.popup-exit-text{white-space:nowrap;font-size:22px;font-weight:600;margin-top:-8%}.lido-alert-parent{z-index:10000 !important;position:absolute;top:0;left:0}.popup-button{width:80px;height:80px;z-index:1000;cursor:pointer;display:flex;align-items:center;justify-content:center;border:4px solid #F34D08;border-radius:16px;box-shadow:0 8px 0 #F34D08}.nav-for-lanai{position:absolute;top:0%;left:0%;max-width:none;width:100%;height:auto;visibility:visible}.parent_dots{pointer-events:none}";
10204
10232
  const LidoHomeStyle2 = lidoHomeCss;
10205
10233
 
10206
10234
  const LidoHome = class {
@@ -10280,7 +10308,6 @@ const LidoHome = class {
10280
10308
  rightbtn.style.visibility = 'hidden';
10281
10309
  }
10282
10310
  else {
10283
- rightbtn.style.pointerEvents = 'auto';
10284
10311
  rightbtn.style.visibility = 'visible';
10285
10312
  }
10286
10313
  }, 100);
@@ -10491,6 +10518,9 @@ const LidoHome = class {
10491
10518
  if (tagName === 'lido-text' && props.string) {
10492
10519
  props.string = instance.t(props.string);
10493
10520
  }
10521
+ if (tagName === 'lido-text' && props.string) {
10522
+ props.string = instance.t(props.string);
10523
+ }
10494
10524
  // Map XML tags to Stencil components
10495
10525
  const componentMapping = {
10496
10526
  'lido-container': (index.h("lido-container", Object.assign({}, props, { canplay: this.canplay, baseUrl: this.baseUrl, height: this.height }), children)),
@@ -10540,6 +10570,16 @@ const LidoHome = class {
10540
10570
  this.containers = containers;
10541
10571
  console.log("container :::", containers);
10542
10572
  }
10573
+ areAllDropsFilled() {
10574
+ const drops = Array.from(document.querySelectorAll('[type="drop"]'));
10575
+ const drags = Array.from(document.querySelectorAll('[type="drag"]')).filter(drag => drag.getAttribute('drop-to'));
10576
+ console.log('drops', drops);
10577
+ console.log('drags', drags);
10578
+ return drops.every(drop => {
10579
+ const dropId = drop.id;
10580
+ return drags.some(drag => drag.getAttribute('drop-to') === dropId);
10581
+ });
10582
+ }
10543
10583
  async btnpopup() {
10544
10584
  utils.setCancelBtnPopup(false);
10545
10585
  await utils.AudioPlayer.getI().stop();
@@ -10559,6 +10599,18 @@ const LidoHome = class {
10559
10599
  await new Promise(resolve => setTimeout(resolve, 300));
10560
10600
  }
10561
10601
  }
10602
+ if (this.areAllDropsFilled()) {
10603
+ const objectiveString = container['objective'];
10604
+ const objectiveArray = JSON.parse(localStorage.getItem(utils.SelectedValuesKey) || '[]');
10605
+ const res = utils.matchStringPattern(objectiveString, objectiveArray);
10606
+ console.log('Resultt', res);
10607
+ if (res) {
10608
+ utils.triggerNextContainer();
10609
+ }
10610
+ }
10611
+ else {
10612
+ console.log('Not yet filled ');
10613
+ }
10562
10614
  }
10563
10615
  scaleNavbarContainer() {
10564
10616
  setTimeout(() => {
@@ -14529,6 +14581,7 @@ const LidoTrace = class {
14529
14581
  this.fileIndex = -1;
14530
14582
  this.isDragging = false;
14531
14583
  this.activePointerId = null;
14584
+ this.freeTraceUpdateCounter = 0;
14532
14585
  this.idleTimer = null;
14533
14586
  this.fingerImg = null;
14534
14587
  }
@@ -14545,8 +14598,8 @@ const LidoTrace = class {
14545
14598
  circle: null,
14546
14599
  paths: [],
14547
14600
  svg: null,
14548
- proximityThreshold: 100, // General proximity threshold
14549
- freeTraceProximityThreshold: 50, // Reduced proximity threshold for free trace
14601
+ proximityThreshold: 375, // Increased general proximity threshold (was 100)
14602
+ freeTraceProximityThreshold: 350, // Increased proximity for free trace (was 50)
14550
14603
  rafId: null,
14551
14604
  pointerMoveEvent: null,
14552
14605
  activePointerId: null,
@@ -14882,7 +14935,7 @@ const LidoTrace = class {
14882
14935
  }
14883
14936
  // Modified handlePointerMove function
14884
14937
  handlePointerMove(state) {
14885
- var _a, _b, _c, _d;
14938
+ var _a, _b, _c, _d, _e, _f;
14886
14939
  if (!state.isDragging)
14887
14940
  return;
14888
14941
  if (!state.circle || !state.paths || state.paths.length === 0)
@@ -14894,6 +14947,15 @@ const LidoTrace = class {
14894
14947
  x: parseFloat(state.circle.getAttribute('cx')),
14895
14948
  y: parseFloat(state.circle.getAttribute('cy')),
14896
14949
  };
14950
+ // Only update if pointer moved a minimum distance (to reduce unnecessary updates)
14951
+ const MOVE_THRESHOLD = 1; // px
14952
+ if (state.lastPointerPos) {
14953
+ const dx = pointerPos.x - state.lastPointerPos.x;
14954
+ const dy = pointerPos.y - state.lastPointerPos.y;
14955
+ if (dx * dx + dy * dy < MOVE_THRESHOLD * MOVE_THRESHOLD) {
14956
+ return;
14957
+ }
14958
+ }
14897
14959
  const currentPath = state.paths[state.currentPathIndex];
14898
14960
  if (!currentPath) {
14899
14961
  console.error('No valid path found at the current index');
@@ -14921,48 +14983,76 @@ const LidoTrace = class {
14921
14983
  }
14922
14984
  // For free trace mode and blind free trace mode, allow free drawing only if within the reduced proximity threshold
14923
14985
  if (state.mode === utils.TraceMode.FreeTrace || state.mode === utils.TraceMode.BlindFreeTrace) {
14986
+ // Throttle: Only update every 2nd event (for reducing excessive dom updates)
14987
+ this.freeTraceUpdateCounter = (this.freeTraceUpdateCounter || 0) + 1;
14988
+ if (this.freeTraceUpdateCounter % 2 !== 0) {
14989
+ return;
14990
+ }
14924
14991
  // Initialize the currentFreePath array if it's not created
14925
14992
  if (!state.currentFreePath) {
14926
14993
  state.currentFreePath = [];
14927
14994
  }
14928
- // Create a new path element if it's the first trace for the current path index
14995
+ // Create a new polyline element if it's the first trace for the current path index
14929
14996
  if (!state.currentFreePath[state.currentPathIndex]) {
14930
- const newPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');
14931
- // newPath.setAttribute('stroke', 'green');
14997
+ const newPolyline = document.createElementNS('http://www.w3.org/2000/svg', 'polyline');
14932
14998
  const strokeWidth = state.paths[state.currentPathIndex].style['stroke-width'] || state.paths[state.currentPathIndex].getAttribute('stroke-width');
14933
- newPath.setAttribute('stroke-width', strokeWidth);
14934
- newPath.setAttribute('fill', 'none');
14935
- newPath.setAttribute('stroke-linecap', 'round');
14936
- newPath.setAttribute('stroke', 'lightgreen');
14937
- // Start the new path at the current pointer position
14938
- newPath.setAttribute('d', `M${pointerPos.x},${pointerPos.y}`);
14939
- (_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(newPath);
14940
- state.currentFreePath[state.currentPathIndex] = newPath;
14999
+ newPolyline.setAttribute('stroke-width', strokeWidth);
15000
+ newPolyline.setAttribute('fill', 'none');
15001
+ newPolyline.setAttribute('stroke-linecap', 'round');
15002
+ newPolyline.setAttribute('stroke', 'lightgreen');
15003
+ newPolyline.setAttribute('points', `${pointerPos.x},${pointerPos.y}`);
15004
+ (_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(newPolyline);
15005
+ state.currentFreePath[state.currentPathIndex] = newPolyline;
15006
+ // Store points array for this polyline
15007
+ state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
15008
+ state.currentFreePolylinePoints[state.currentPathIndex] = [
15009
+ { x: pointerPos.x, y: pointerPos.y }
15010
+ ];
14941
15011
  // Reset lastPointerPos for the new path
14942
15012
  state.lastPointerPos = pointerPos;
15013
+ // Add a points counter to limit path growth
15014
+ state.freeTracePointsCount = 1;
15015
+ }
15016
+ // Limit the number of points in the free trace path for performance
15017
+ const MAX_FREE_TRACE_POINTS = 10;
15018
+ state.freeTracePointsCount = (state.freeTracePointsCount || 1) + 1;
15019
+ if (state.freeTracePointsCount > MAX_FREE_TRACE_POINTS) {
15020
+ // If limit reached, skip adding more points
15021
+ return;
14943
15022
  }
14944
- // Get the previous position to draw a smooth curve
14945
- const previousPos = state.lastPointerPos || pointerPos;
14946
- // Create a quadratic curve from the previous point to the current point
14947
- const newPathData = state.currentFreePath[state.currentPathIndex].getAttribute('d');
14948
- const midPointX = (previousPos.x + pointerPos.x) / 2;
14949
- const midPointY = (previousPos.y + pointerPos.y) / 2;
14950
- const updatedPathData = `${newPathData} Q ${previousPos.x},${previousPos.y} ${midPointX},${midPointY}`;
14951
- // Update the path's 'd' attribute with the new curve
14952
- state.currentFreePath[state.currentPathIndex].setAttribute('d', updatedPathData);
15023
+ // Add the new point to the polyline's points array
15024
+ state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
15025
+ let pointsArr = state.currentFreePolylinePoints[state.currentPathIndex] || [];
15026
+ pointsArr.push({ x: pointerPos.x, y: pointerPos.y });
15027
+ state.currentFreePolylinePoints[state.currentPathIndex] = pointsArr;
15028
+ // Update the polyline's points attribute
15029
+ const pointsStr = pointsArr.map(pt => `${pt.x},${pt.y}`).join(' ');
15030
+ state.currentFreePath[state.currentPathIndex].setAttribute('points', pointsStr);
14953
15031
  // Move the draggable circle with the freehand trace
14954
15032
  state.circle.setAttribute('cx', pointerPos.x.toString());
14955
15033
  state.circle.setAttribute('cy', pointerPos.y.toString());
14956
- // Make sure the red dot (circle) is always on top
14957
- (_b = state.svg) === null || _b === void 0 ? void 0 : _b.appendChild(state.circle); // This moves the circle to the last child, making it the topmost
15034
+ // Only re-append if not already children list
15035
+ const childNodes = (_b = state.svg) === null || _b === void 0 ? void 0 : _b.childNodes;
15036
+ let circleFound = false;
15037
+ for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
15038
+ const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
15039
+ if (child && child.tagName === 'circle') {
15040
+ circleFound = true;
15041
+ break; // No need to continue once found
15042
+ }
15043
+ }
15044
+ // If not found, append the circle
15045
+ if (!circleFound && state.circle) {
15046
+ (_c = state.svg) === null || _c === void 0 ? void 0 : _c.appendChild(state.circle);
15047
+ }
14958
15048
  // Update the last pointer position
14959
15049
  state.lastPointerPos = pointerPos;
14960
- const currentPathLength = currentPath.getTotalLength();
14961
- const distanceToEnd = currentPathLength - closestPoint.length;
14962
- // If close to the end of the path, move to the next path
14963
- if (distanceToEnd < 5) {
15050
+ // For polyline, estimate the end by number of points (not path length)
15051
+ if (pointsArr.length >= MAX_FREE_TRACE_POINTS) {
14964
15052
  this.moveToNextPath(state);
14965
15053
  state.currentFreePath[state.currentPathIndex] = null; // Reset free path for next path
15054
+ state.currentFreePolylinePoints[state.currentPathIndex] = [];
15055
+ state.freeTracePointsCount = 0;
14966
15056
  }
14967
15057
  // this.resetIdleTimer(state); // ← keep timer alive
14968
15058
  return; // Exit early since we're in free trace or blind free trace mode
@@ -14970,24 +15060,57 @@ const LidoTrace = class {
14970
15060
  // In normal modes, allow movement and drawing only within the general proximity threshold
14971
15061
  if (state.isDragging && closestPoint.length >= state.lastLength) {
14972
15062
  state.lastLength = closestPoint.length;
14973
- state.circle.setAttribute('cx', closestPoint.x.toString());
14974
- state.circle.setAttribute('cy', closestPoint.y.toString());
14975
- // Make sure the red dot (circle) is always on top
14976
- (_c = state.svg) === null || _c === void 0 ? void 0 : _c.appendChild(state.circle); // This moves the circle to the last child, making it the topmost
14977
- (_d = currentPath.greenPath) === null || _d === void 0 ? void 0 : _d.setAttribute('stroke-dashoffset', (state.totalPathLength - state.lastLength).toString());
14978
- }
14979
- // Check if the current path is completed
14980
- if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex < state.paths.length - 1) {
14981
- this.moveToNextPath(state);
14982
- }
14983
- else if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex === state.paths.length - 1) {
14984
- // this.loadAnotherSVG(state, true);
14985
- this.moveToNextContainer();
15063
+ // Only update the circle if it moved enough
15064
+ if (Math.abs(closestPoint.x - circlePos.x) > MOVE_THRESHOLD || Math.abs(closestPoint.y - circlePos.y) > MOVE_THRESHOLD) {
15065
+ state.circle.setAttribute('cx', closestPoint.x.toString());
15066
+ state.circle.setAttribute('cy', closestPoint.y.toString());
15067
+ }
15068
+ // Only re-append if not already children list
15069
+ const childNodes = (_d = state.svg) === null || _d === void 0 ? void 0 : _d.childNodes;
15070
+ let circleFound = false;
15071
+ for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
15072
+ const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
15073
+ if (child && child.tagName === 'circle') {
15074
+ circleFound = true;
15075
+ break; // No need to continue once found
15076
+ }
15077
+ }
15078
+ // If not found, append the circle
15079
+ if (!circleFound && state.circle) {
15080
+ (_e = state.svg) === null || _e === void 0 ? void 0 : _e.appendChild(state.circle);
15081
+ }
15082
+ (_f = currentPath.greenPath) === null || _f === void 0 ? void 0 : _f.setAttribute('stroke-dashoffset', (state.totalPathLength - state.lastLength).toString());
15083
+ // Completion logic for closed paths: only allow completion if almost all points are traced
15084
+ const COMPLETION_THRESHOLD = 0.90; // 90% of the path must be traced
15085
+ let percentComplete = state.lastLength / state.totalPathLength;
15086
+ let startPoint = currentPath.getPointAtLength(0);
15087
+ let endPoint = currentPath.getPointAtLength(currentPath.getTotalLength());
15088
+ let pathIsClosed = this.getDistanceSquared(startPoint, endPoint) < 200; // threshold for overlap
15089
+ if (pathIsClosed && state.totalPathLength > 50) {
15090
+ if (percentComplete >= COMPLETION_THRESHOLD) {
15091
+ if (state.currentPathIndex < state.paths.length - 1) {
15092
+ this.moveToNextPath(state);
15093
+ }
15094
+ else if (state.currentPathIndex === state.paths.length - 1) {
15095
+ this.moveToNextContainer();
15096
+ }
15097
+ }
15098
+ }
15099
+ else {
15100
+ // For open paths, allow completion if near the end
15101
+ if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex < state.paths.length - 1) {
15102
+ this.moveToNextPath(state);
15103
+ }
15104
+ else if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex === state.paths.length - 1) {
15105
+ this.moveToNextContainer();
15106
+ }
15107
+ }
14986
15108
  }
14987
15109
  // this.resetIdleTimer(state); // ← keep timer alive
14988
15110
  }
14989
15111
  // Move to the next container after completing the current SVG
14990
15112
  async moveToNextContainer() {
15113
+ this.isDragging = false;
14991
15114
  if (this.moving)
14992
15115
  return; // Prevent multiple calls
14993
15116
  this.moving = true; // Set moving to true to prevent re-entrance
@@ -15006,9 +15129,12 @@ const LidoTrace = class {
15006
15129
  this.moving = false;
15007
15130
  return;
15008
15131
  }
15132
+ console.log('onCorrect:', this.onCorrect);
15133
+ console.log('el :', this.el);
15009
15134
  if (this.el && this.onCorrect) {
15010
15135
  await utils.executeActions(this.onCorrect, this.el);
15011
15136
  }
15137
+ console.log('All SVGs completed, hiding component.');
15012
15138
  utils.triggerNextContainer();
15013
15139
  }
15014
15140
  // Get the pointer position relative to the SVG
@@ -15026,13 +15152,13 @@ const LidoTrace = class {
15026
15152
  const dy = p1.y - p2.y;
15027
15153
  return dx * dx + dy * dy;
15028
15154
  }
15029
- // Find the closest point on the given path to the specified point using two-pass sampling
15155
+ // Find the closest point on the given path to the specified point using two-pass sampling (optimized)
15030
15156
  getClosestPointOnPath(pathNode, point) {
15031
15157
  const pathLength = pathNode.getTotalLength();
15032
15158
  let closestPoint = { x: 0, y: 0, length: 0 };
15033
15159
  let minDistanceSquared = Infinity;
15034
- // First pass: coarse sampling
15035
- const coarseStep = 20; // Increased step for better performance
15160
+ // Optimized: Increase coarse steps for better performance
15161
+ const coarseStep = 40; // was 20
15036
15162
  let coarseClosestPoint = { x: 0, y: 0, length: 0 };
15037
15163
  let coarseMinDistanceSquared = Infinity;
15038
15164
  for (let i = 0; i <= pathLength; i += coarseStep) {
@@ -15048,7 +15174,7 @@ const LidoTrace = class {
15048
15174
  }
15049
15175
  }
15050
15176
  // Second pass: fine sampling around coarseClosestPoint
15051
- const fineStep = 2; // Increased step to reduce computations
15177
+ const fineStep = 6; // was 2
15052
15178
  const searchStart = Math.max(coarseClosestPoint.length - coarseStep, 0);
15053
15179
  const searchEnd = Math.min(coarseClosestPoint.length + coarseStep, pathLength);
15054
15180
  for (let i = searchStart; i <= searchEnd; i += fineStep) {
@@ -15208,7 +15334,7 @@ const LidoTrace = class {
15208
15334
  };
15209
15335
  }
15210
15336
  render() {
15211
- return (index.h(index.Host, { key: '204d2999e3d6f0c36c991566e19608870e287d7a', class: "lido-trace", id: this.id, audio: this.audio, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, tabindex: this.tabIndex, "disable-speak": this.disableSpeak }, index.h("div", { key: '9c97878119641e2efc26fa7d711c7639276417ac', style: this.style, id: "lido-svgContainer" })));
15337
+ return (index.h(index.Host, { key: '3f12119394502b6750874aaa50f43bf42e9f63cc', class: "lido-trace", id: this.id, audio: this.audio, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, tabindex: this.tabIndex, "disable-speak": this.disableSpeak }, index.h("div", { key: '4fddd90d12251c4020006690f8c769ab452c8f6a', style: this.style, id: "lido-svgContainer" })));
15212
15338
  }
15213
15339
  static get assetsDirs() { return ["svg", "images"]; }
15214
15340
  get el() { return index.getElement(this); }
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy(JSON.parse("[[\"lido-avatar_22.cjs\",[[0,\"lido-root\",{\"locale\":[1],\"xmlPath\":[1,\"xml-path\"],\"initialIndex\":[2,\"initial-index\"],\"margin\":[1],\"canplay\":[4],\"baseUrl\":[1,\"base-url\"],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"xmlData\":[32]},null,{\"locale\":[\"onLangChange\"]}],[0,\"lido-home\",{\"showNav\":[4,\"show-nav\"],\"activeContainerIndexes\":[16],\"locale\":[1],\"xmlData\":[1,\"xml-data\"],\"initialIndex\":[2,\"initial-index\"],\"canplay\":[4],\"baseUrl\":[1,\"base-url\"],\"height\":[1],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"avatarUrl\":[1,\"avatar-url\"],\"uuid\":[1],\"navBarIcons\":[32],\"currentContainerIndex\":[32],\"exitFlag\":[32],\"containers\":[32],\"showDotsandbtn\":[32]},null,{\"locale\":[\"onLangChange\"],\"xmlData\":[\"onXmlDataChange\"]}],[0,\"lido-calculator\",{\"width\":[1],\"visible\":[8],\"height\":[1],\"objective\":[1],\"onEntry\":[1,\"on-entry\"],\"x\":[1],\"y\":[1],\"bgColor\":[1,\"bg-color\"],\"penIcon\":[1,\"pen-icon\"],\"displayValue\":[32],\"style\":[32]}],[1,\"lido-canvas\",{\"bgImage\":[1,\"bg-image\"],\"width\":[1],\"height\":[1],\"x\":[1],\"y\":[1],\"onEntry\":[1,\"on-entry\"],\"style\":[32]}],[0,\"lido-keyboard\",{\"keys\":[1],\"width\":[1],\"height\":[1],\"fontSize\":[1,\"font-size\"],\"fontColor\":[1,\"font-color\"],\"fontFamily\":[1,\"font-family\"],\"gap\":[1],\"bgColor\":[1,\"bg-color\"],\"borderRadius\":[1,\"border-radius\"],\"y\":[1],\"x\":[1],\"z\":[1],\"margin\":[1],\"padding\":[1],\"visible\":[1],\"onEntry\":[1,\"on-entry\"],\"type\":[1],\"keyboardInput\":[4,\"keyboard-input\"],\"columns\":[1],\"letterLength\":[2,\"letter-length\"],\"disableSpeak\":[4,\"disable-speak\"],\"numberOfClick\":[32],\"inputString\":[32],\"style\":[32]}],[0,\"lido-avatar\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"src\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"delayVisible\":[1,\"delay-visible\"]}],[0,\"lido-balance\",{\"pivotimage\":[1],\"scaleimage\":[1],\"handlerimage\":[1],\"fill\":[1],\"tilt\":[2],\"maxTilt\":[2,\"max-tilt\"],\"onEntry\":[1,\"on-entry\"],\"height\":[1],\"width\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"visible\":[8],\"margin\":[1],\"padding\":[1],\"balanceSymbol\":[1537,\"balance-symbol\"],\"showSymbol\":[1540,\"show-symbol\"],\"operation\":[1],\"pivotSvg\":[32],\"scaleSvg\":[32],\"handlerSvg\":[32],\"style\":[32],\"tiltf\":[32],\"leftVal\":[32],\"rightVal\":[32],\"revealSymbol\":[64],\"hideSymbol\":[64],\"updateTilt\":[64]},null,{\"tilt\":[\"tiltChanged\"]}],[4,\"lido-col\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"direction\":[1],\"borderImage\":[1,\"border-image\"],\"boxShadow\":[1,\"box-shadow\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"style\":[32]}],[4,\"lido-container\",{\"locale\":[1],\"showDropBorder\":[4,\"show-drop-border\"],\"appendToDropOnCompletion\":[4,\"append-to-drop-on-completion\"],\"id\":[1],\"objective\":[1],\"customStyle\":[1,\"custom-style\"],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"bgImage\":[1,\"bg-image\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"canplay\":[4],\"showCheck\":[4,\"show-check\"],\"isContinueOnCorrect\":[4,\"is-continue-on-correct\"],\"isAllowOnlyCorrect\":[4,\"is-allow-only-correct\"],\"baseUrl\":[1,\"base-url\"],\"margin\":[1],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"showPrevButton\":[1,\"show-prev-button\"],\"showNextButton\":[1,\"show-next-button\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"]},null,{\"locale\":[\"languageChanged\"]}],[4,\"lido-flash-card\",{\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"direction\":[1],\"display\":[1],\"front\":[8],\"back\":[8],\"flipped\":[1540],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"delayVisible\":[1,\"delay-visible\"],\"style\":[32]},null,{\"flipped\":[\"handleFlippedChange\"]}],[4,\"lido-float\",{\"id\":[1],\"value\":[1],\"z\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"onEntry\":[1,\"on-entry\"],\"width\":[1],\"height\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"delayVisible\":[1,\"delay-visible\"],\"floatDirection\":[1,\"float-direction\"],\"style\":[32]}],[0,\"lido-image\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"src\":[1],\"isSlice\":[1,\"is-slice\"],\"sliceWidth\":[1,\"slice-width\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"padding\":[1],\"filter\":[1],\"borderRadius\":[1,\"border-radius\"],\"transform\":[1],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-math-matrix\",{\"rows\":[1],\"cols\":[1],\"defualtFill\":[1538,\"defualt-fill\"],\"leftIndex\":[4,\"left-index\"],\"topIndex\":[4,\"top-index\"],\"bottomIndex\":[4,\"bottom-index\"],\"clickable\":[4],\"activeOnlyVisible\":[4,\"active-only-visible\"],\"matrixImage\":[1,\"matrix-image\"],\"activeBgColor\":[1537,\"active-bg-color\"],\"deactiveBgColor\":[1537,\"deactive-bg-color\"],\"border\":[1537],\"height\":[1537],\"width\":[1537],\"borderRadius\":[1,\"border-radius\"],\"z\":[1],\"margin\":[1],\"padding\":[1],\"visible\":[1],\"text\":[1],\"type\":[1],\"value\":[1],\"tabIndex\":[2,\"tab-index\"],\"x\":[1],\"y\":[1],\"fontColor\":[1,\"font-color\"],\"onCorrect\":[1,\"on-correct\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onEntry\":[1,\"on-entry\"],\"previousFilledSlot\":[32],\"previousFilledSlotElement\":[32],\"style\":[32]}],[4,\"lido-pos\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"style\":[32]}],[4,\"lido-random\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1]}],[4,\"lido-row\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"direction\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"display\":[1],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-shape\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"shapeType\":[1,\"shape-type\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"]}],[0,\"lido-slide-fill\",{\"id\":[1],\"width\":[1],\"height\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"visible\":[8],\"margin\":[1],\"padding\":[1],\"borderRadius\":[1,\"border-radius\"],\"fill\":[1],\"numberType\":[1,\"number-type\"],\"min\":[2],\"division\":[2],\"max\":[2],\"slider\":[4],\"src\":[1],\"fillDirection\":[1,\"fill-direction\"],\"type\":[1],\"onEntry\":[1,\"on-entry\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"svgContent\":[32],\"style\":[32]},null,{\"src\":[\"onSrcChange\"],\"fill\":[\"onPropChange\"],\"division\":[\"onPropChange\"],\"fillDirection\":[\"onPropChange\"],\"numberType\":[\"onPropChange\"],\"min\":[\"onPropChange\"],\"max\":[\"onPropChange\"]}],[0,\"lido-trace\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"svgSource\":[1,\"svg-source\"],\"value\":[1],\"height\":[1],\"width\":[1],\"audio\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"tabIndex\":[2,\"tab-index\"],\"mode\":[1],\"fingerHintUrl\":[1,\"finger-hint-url\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"highlightTextId\":[1,\"highlight-text-id\"],\"animationTrace\":[4,\"animation-trace\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"svgUrls\":[32],\"audioUrls\":[32],\"currentSvgIndex\":[32],\"moving\":[32],\"style\":[32],\"fileIndex\":[32],\"isDragging\":[32],\"activePointerId\":[32],\"idleTimer\":[32],\"fingerImg\":[32]},null,{\"svgSource\":[\"initializeSVG\"],\"mode\":[\"initializeSVG\"]}],[4,\"lido-wrap\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"flex\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[4,\"lido-cell\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"scrollbarWidth\":[1,\"scrollbar-width\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"gap\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[1],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"layout\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"padding\":[1],\"alignItems\":[1,\"align-items\"],\"borderRadius\":[1,\"border-radius\"],\"flexDirection\":[1,\"flex-direction\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-text\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"string\":[1],\"fontFamily\":[1,\"font-family\"],\"fontSize\":[1,\"font-size\"],\"fontColor\":[1,\"font-color\"],\"highlightWhileSpeaking\":[4,\"highlight-while-speaking\"],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"borderImage\":[1,\"border-image\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"onEntry\":[1,\"on-entry\"],\"margin\":[1],\"padding\":[1],\"borderRadius\":[1,\"border-radius\"],\"spanType\":[1,\"span-type\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}]]]]"), options);
22
+ return index.bootstrapLazy(JSON.parse("[[\"lido-avatar_22.cjs\",[[0,\"lido-root\",{\"locale\":[1],\"xmlPath\":[1,\"xml-path\"],\"initialIndex\":[2,\"initial-index\"],\"margin\":[1],\"canplay\":[4],\"baseUrl\":[1,\"base-url\"],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"xmlData\":[32]},null,{\"locale\":[\"onLangChange\"]}],[0,\"lido-home\",{\"showNav\":[4,\"show-nav\"],\"activeContainerIndexes\":[16],\"locale\":[1],\"xmlData\":[1,\"xml-data\"],\"initialIndex\":[2,\"initial-index\"],\"canplay\":[4],\"baseUrl\":[1,\"base-url\"],\"height\":[1],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"avatarUrl\":[1,\"avatar-url\"],\"uuid\":[1],\"navBarIcons\":[32],\"currentContainerIndex\":[32],\"exitFlag\":[32],\"containers\":[32],\"showDotsandbtn\":[32]},null,{\"locale\":[\"onLangChange\"],\"xmlData\":[\"onXmlDataChange\"]}],[0,\"lido-calculator\",{\"width\":[1],\"visible\":[8],\"height\":[1],\"objective\":[1],\"onEntry\":[1,\"on-entry\"],\"x\":[1],\"y\":[1],\"bgColor\":[1,\"bg-color\"],\"penIcon\":[1,\"pen-icon\"],\"displayValue\":[32],\"style\":[32]}],[1,\"lido-canvas\",{\"bgImage\":[1,\"bg-image\"],\"width\":[1],\"height\":[1],\"x\":[1],\"y\":[1],\"onEntry\":[1,\"on-entry\"],\"style\":[32]}],[0,\"lido-keyboard\",{\"keys\":[1],\"width\":[1],\"height\":[1],\"fontSize\":[1,\"font-size\"],\"fontColor\":[1,\"font-color\"],\"fontFamily\":[1,\"font-family\"],\"gap\":[1],\"bgColor\":[1,\"bg-color\"],\"borderRadius\":[1,\"border-radius\"],\"y\":[1],\"x\":[1],\"z\":[1],\"margin\":[1],\"padding\":[1],\"visible\":[1],\"onEntry\":[1,\"on-entry\"],\"type\":[1],\"keyboardInput\":[4,\"keyboard-input\"],\"columns\":[1],\"letterLength\":[2,\"letter-length\"],\"disableSpeak\":[4,\"disable-speak\"],\"numberOfClick\":[32],\"inputString\":[32],\"style\":[32]}],[0,\"lido-avatar\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"src\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"delayVisible\":[1,\"delay-visible\"]}],[0,\"lido-balance\",{\"pivotimage\":[1],\"scaleimage\":[1],\"handlerimage\":[1],\"fill\":[1],\"tilt\":[2],\"maxTilt\":[2,\"max-tilt\"],\"onEntry\":[1,\"on-entry\"],\"height\":[1],\"width\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"visible\":[8],\"margin\":[1],\"padding\":[1],\"balanceSymbol\":[1537,\"balance-symbol\"],\"showSymbol\":[1540,\"show-symbol\"],\"operation\":[1],\"pivotSvg\":[32],\"scaleSvg\":[32],\"handlerSvg\":[32],\"style\":[32],\"tiltf\":[32],\"leftVal\":[32],\"rightVal\":[32],\"revealSymbol\":[64],\"hideSymbol\":[64],\"updateTilt\":[64]},null,{\"tilt\":[\"tiltChanged\"]}],[4,\"lido-col\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"direction\":[1],\"borderImage\":[1,\"border-image\"],\"boxShadow\":[1,\"box-shadow\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"style\":[32]}],[4,\"lido-container\",{\"locale\":[1],\"showDropBorder\":[4,\"show-drop-border\"],\"appendToDropOnCompletion\":[4,\"append-to-drop-on-completion\"],\"id\":[1],\"objective\":[1],\"customStyle\":[1,\"custom-style\"],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"bgImage\":[1,\"bg-image\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"canplay\":[4],\"showCheck\":[4,\"show-check\"],\"isContinueOnCorrect\":[4,\"is-continue-on-correct\"],\"isAllowOnlyCorrect\":[4,\"is-allow-only-correct\"],\"baseUrl\":[1,\"base-url\"],\"margin\":[1],\"exitButtonUrl\":[1,\"exit-button-url\"],\"prevButtonUrl\":[1,\"prev-button-url\"],\"nextButtonUrl\":[1,\"next-button-url\"],\"speakerButtonUrl\":[1,\"speaker-button-url\"],\"showPrevButton\":[1,\"show-prev-button\"],\"showNextButton\":[1,\"show-next-button\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"]},null,{\"locale\":[\"languageChanged\"]}],[4,\"lido-flash-card\",{\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"direction\":[1],\"display\":[1],\"front\":[8],\"back\":[8],\"flipped\":[1540],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"delayVisible\":[1,\"delay-visible\"],\"style\":[32]},null,{\"flipped\":[\"handleFlippedChange\"]}],[4,\"lido-float\",{\"id\":[1],\"value\":[1],\"z\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"onEntry\":[1,\"on-entry\"],\"width\":[1],\"height\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"delayVisible\":[1,\"delay-visible\"],\"floatDirection\":[1,\"float-direction\"],\"style\":[32]}],[0,\"lido-image\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"src\":[1],\"isSlice\":[1,\"is-slice\"],\"sliceWidth\":[1,\"slice-width\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"padding\":[1],\"filter\":[1],\"borderRadius\":[1,\"border-radius\"],\"transform\":[1],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-math-matrix\",{\"rows\":[1],\"cols\":[1],\"defualtFill\":[1538,\"defualt-fill\"],\"leftIndex\":[4,\"left-index\"],\"topIndex\":[4,\"top-index\"],\"bottomIndex\":[4,\"bottom-index\"],\"clickable\":[4],\"activeOnlyVisible\":[4,\"active-only-visible\"],\"matrixImage\":[1,\"matrix-image\"],\"activeBgColor\":[1537,\"active-bg-color\"],\"deactiveBgColor\":[1537,\"deactive-bg-color\"],\"border\":[1537],\"height\":[1537],\"width\":[1537],\"borderRadius\":[1,\"border-radius\"],\"z\":[1],\"margin\":[1],\"padding\":[1],\"visible\":[1],\"text\":[1],\"type\":[1],\"value\":[1],\"tabIndex\":[2,\"tab-index\"],\"x\":[1],\"y\":[1],\"fontColor\":[1,\"font-color\"],\"onCorrect\":[1,\"on-correct\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onEntry\":[1,\"on-entry\"],\"previousFilledSlot\":[32],\"previousFilledSlotElement\":[32],\"style\":[32]}],[4,\"lido-pos\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"style\":[32]}],[4,\"lido-random\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1]}],[4,\"lido-row\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"direction\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"display\":[1],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-shape\",{\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"shapeType\":[1,\"shape-type\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"]}],[0,\"lido-slide-fill\",{\"id\":[1],\"width\":[1],\"height\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"visible\":[8],\"margin\":[1],\"padding\":[1],\"borderRadius\":[1,\"border-radius\"],\"fill\":[1],\"numberType\":[1,\"number-type\"],\"min\":[2],\"division\":[2],\"max\":[2],\"slider\":[4],\"src\":[1],\"fillDirection\":[1,\"fill-direction\"],\"type\":[1],\"onEntry\":[1,\"on-entry\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"svgContent\":[32],\"style\":[32]},null,{\"src\":[\"onSrcChange\"],\"fill\":[\"onPropChange\"],\"division\":[\"onPropChange\"],\"fillDirection\":[\"onPropChange\"],\"numberType\":[\"onPropChange\"],\"min\":[\"onPropChange\"],\"max\":[\"onPropChange\"]}],[0,\"lido-trace\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"svgSource\":[1,\"svg-source\"],\"value\":[1],\"height\":[1],\"width\":[1],\"audio\":[1],\"x\":[1],\"y\":[1],\"z\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"tabIndex\":[2,\"tab-index\"],\"mode\":[1],\"fingerHintUrl\":[1,\"finger-hint-url\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"highlightTextId\":[1,\"highlight-text-id\"],\"animationTrace\":[4,\"animation-trace\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"svgUrls\":[32],\"audioUrls\":[32],\"currentSvgIndex\":[32],\"moving\":[32],\"style\":[32],\"fileIndex\":[32],\"isDragging\":[32],\"activePointerId\":[32],\"freeTraceUpdateCounter\":[32],\"idleTimer\":[32],\"fingerImg\":[32]},null,{\"svgSource\":[\"initializeSVG\"],\"mode\":[\"initializeSVG\"]}],[4,\"lido-wrap\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[4],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"flex\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[4,\"lido-cell\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"scrollbarWidth\":[1,\"scrollbar-width\"],\"id\":[1],\"value\":[1],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"gap\":[1],\"bgColor\":[1,\"bg-color\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[1],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"onEntry\":[1,\"on-entry\"],\"childElementsLength\":[2,\"child-elements-length\"],\"minLength\":[2,\"min-length\"],\"maxLength\":[2,\"max-length\"],\"layout\":[1],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"margin\":[1],\"padding\":[1],\"alignItems\":[1,\"align-items\"],\"borderRadius\":[1,\"border-radius\"],\"flexDirection\":[1,\"flex-direction\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}],[0,\"lido-text\",{\"showSpeakIcon\":[4,\"show-speak-icon\"],\"id\":[1],\"value\":[1],\"string\":[1],\"fontFamily\":[1,\"font-family\"],\"fontSize\":[1,\"font-size\"],\"fontColor\":[1,\"font-color\"],\"highlightWhileSpeaking\":[4,\"highlight-while-speaking\"],\"height\":[1],\"width\":[1],\"ariaLabel\":[1,\"aria-label\"],\"ariaHidden\":[1,\"aria-hidden\"],\"x\":[1],\"y\":[1],\"z\":[1],\"bgColor\":[1,\"bg-color\"],\"borderImage\":[1,\"border-image\"],\"type\":[1],\"tabIndex\":[2,\"tab-index\"],\"visible\":[8],\"audio\":[1],\"onTouch\":[1,\"on-touch\"],\"onInCorrect\":[1,\"on-in-correct\"],\"onCorrect\":[1,\"on-correct\"],\"minDrops\":[2,\"min-drops\"],\"maxDrops\":[2,\"max-drops\"],\"onEntry\":[1,\"on-entry\"],\"margin\":[1],\"padding\":[1],\"borderRadius\":[1,\"border-radius\"],\"spanType\":[1,\"span-type\"],\"delayVisible\":[1,\"delay-visible\"],\"disableSpeak\":[4,\"disable-speak\"],\"style\":[32]}]]]]"), options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;