lido-player 0.0.2-alpha-52-dev → 0.0.2-alpha-55-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 (129) hide show
  1. package/dist/cjs/index.cjs.js +1 -1
  2. package/dist/cjs/lido-avatar_22.cjs.entry.js +187 -59
  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-4b44610b.js} +111 -86
  6. package/dist/collection/components/calculator/lido-calculator.js +4 -2
  7. package/dist/collection/components/container/lido-container.js +24 -2
  8. package/dist/collection/components/home/lido-home.css +4 -0
  9. package/dist/collection/components/home/lido-home.js +27 -3
  10. package/dist/collection/components/trace/lido-trace.js +122 -47
  11. package/dist/collection/stories/Templates/Fill-Up/fill-up.stories.js +26 -25
  12. package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +3 -1
  13. package/dist/collection/stories/Templates/RocketGame/rocketGame.stories.js +1 -1
  14. package/dist/collection/stories/Templates/arrangeLetters/arrangeLetters.stories.js +1 -1
  15. package/dist/collection/stories/Templates/balancing/balancing.stories.js +1 -1
  16. package/dist/collection/stories/Templates/blender/blender.stories.js +1 -1
  17. package/dist/collection/stories/Templates/bubbleType/bubbleType.stories.js +1 -1
  18. package/dist/collection/stories/Templates/calculator/calculator.stories.js +1 -1
  19. package/dist/collection/stories/Templates/checker-block/checkerBlock.stories.js +1 -1
  20. package/dist/collection/stories/Templates/checkerBlock/checkerBlock.stories.js +1 -1
  21. package/dist/collection/stories/Templates/create-sentence/createSentence.stories.js +1 -1
  22. package/dist/collection/stories/Templates/fillAnswer/fill-answer.stories.js +1 -1
  23. package/dist/collection/stories/Templates/fillBlank/fill-blank.stories.js +1 -1
  24. package/dist/collection/stories/Templates/foodJar/food-jar.stories.js +1 -1
  25. package/dist/collection/stories/Templates/grid/grid.stories.js +5 -1
  26. package/dist/collection/stories/Templates/gridGame/grid-game.stories.js +1 -1
  27. package/dist/collection/stories/Templates/jumpSentence/jumpSentence.stories.js +4 -2
  28. package/dist/collection/stories/Templates/letterboard/letterboard.stories.js +1 -1
  29. package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +1 -1
  30. package/dist/collection/stories/Templates/multipleOption/mcqWithQuestionImage.stories.js +4 -2
  31. package/dist/collection/stories/Templates/multipleOption/multiple-option.stories.js +1 -1
  32. package/dist/collection/stories/Templates/multiplyBeeds/multiplyBeeds.stories.js +1 -1
  33. package/dist/collection/stories/Templates/nimbleTable/nimbleTable.stories.js +1 -1
  34. package/dist/collection/stories/Templates/numberBoard/numberBoard.stories.js +1 -1
  35. package/dist/collection/stories/Templates/numberBoardTwo/numberBoardTwo.stories.js +1 -1
  36. package/dist/collection/stories/Templates/numberPair/numberPair.stories.js +1 -1
  37. package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +2 -2
  38. package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +2 -2
  39. package/dist/collection/stories/Templates/order-tractor/order-tractor-ascending-order.stories.js +1 -1
  40. package/dist/collection/stories/Templates/order-tractor/order-tractor.stories.js +1 -1
  41. package/dist/collection/stories/Templates/phonic-tractor/phonic-tractor.stories.js +1 -1
  42. package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +5 -1
  43. package/dist/collection/stories/Templates/questionBoard/questionBoard.stories.js +1 -1
  44. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracy.stories.js +1 -1
  45. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWithText.stories.js +1 -1
  46. package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWord.stories.js +1 -1
  47. package/dist/collection/stories/Templates/reorder/reorder.stories.js +3 -1
  48. package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +2 -2
  49. package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +6 -6
  50. package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +7 -6
  51. package/dist/collection/stories/Templates/shapePair/shape-pair.stories.js +1 -1
  52. package/dist/collection/stories/Templates/shapeTractor/shape-tractor.stories.js +25 -21
  53. package/dist/collection/stories/Templates/spellDoor/spellDoor.stories.js +1 -1
  54. package/dist/collection/stories/Templates/sumTogether/sumTogether.stories.js +8 -6
  55. package/dist/collection/stories/Templates/total/total.stories.js +1 -1
  56. package/dist/collection/stories/Templates/writeCard/writeCard.stories.js +1 -1
  57. package/dist/collection/stories/Templates/writeLetter/writeLetter.stories.js +2 -2
  58. package/dist/collection/stories/Templates/writeNumber/writeNumber.stories.js +6 -6
  59. package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +1 -1
  60. package/dist/collection/stories/Templates/writeWord/writeWord.stories.js +7 -6
  61. package/dist/collection/utils/customEvents.js +1 -0
  62. package/dist/collection/utils/utils.js +20 -17
  63. package/dist/collection/utils/utilsHandlers/animationHandler.js +58 -0
  64. package/dist/collection/utils/utilsHandlers/clickHandler.js +5 -1
  65. package/dist/collection/utils/utilsHandlers/dragDropHandler.js +19 -60
  66. package/dist/collection/utils/utilsHandlers/slideHandler.js +7 -6
  67. package/dist/collection/utils/utilsHandlers/sortHandler.js +3 -5
  68. package/dist/components/index.js +1 -1
  69. package/dist/components/lido-avatar.js +1 -1
  70. package/dist/components/lido-balance.js +1 -1
  71. package/dist/components/lido-calculator.js +1 -1
  72. package/dist/components/lido-canvas.js +1 -1
  73. package/dist/components/lido-cell.js +1 -1
  74. package/dist/components/lido-col.js +1 -1
  75. package/dist/components/lido-container.js +1 -1
  76. package/dist/components/lido-flash-card.js +1 -1
  77. package/dist/components/lido-float.js +1 -1
  78. package/dist/components/lido-home.js +1 -1
  79. package/dist/components/lido-image.js +1 -1
  80. package/dist/components/lido-keyboard.js +1 -1
  81. package/dist/components/lido-math-matrix.js +1 -1
  82. package/dist/components/lido-pos.js +1 -1
  83. package/dist/components/lido-random.js +1 -1
  84. package/dist/components/lido-root.js +23 -23
  85. package/dist/components/lido-row.js +1 -1
  86. package/dist/components/lido-shape.js +1 -1
  87. package/dist/components/lido-slide-fill.js +1 -1
  88. package/dist/components/lido-text.js +1 -1
  89. package/dist/components/lido-trace.js +1 -1
  90. package/dist/components/lido-wrap.js +1 -1
  91. package/dist/components/{p-39a2e638.js → p-0be6b5d5.js} +2 -2
  92. package/dist/components/{p-11bf64aa.js → p-2c518dbe.js} +1 -1
  93. package/dist/components/{p-c4abfd0f.js → p-2e023f67.js} +1 -1
  94. package/dist/components/{p-58c67252.js → p-36c2e21a.js} +110 -87
  95. package/dist/components/{p-52e77394.js → p-3fc01453.js} +1 -1
  96. package/dist/components/{p-06171259.js → p-43d79c61.js} +1 -1
  97. package/dist/components/{p-00777872.js → p-5078599e.js} +26 -4
  98. package/dist/components/{p-26df0769.js → p-590ce2c9.js} +1 -1
  99. package/dist/components/{p-5b5f59a8.js → p-67a24ad4.js} +2 -2
  100. package/dist/components/{p-68112f8c.js → p-72d6a594.js} +1 -1
  101. package/dist/components/{p-3ce3744c.js → p-73b2bd74.js} +6 -4
  102. package/dist/components/{p-0fbeb3a1.js → p-73e3f0f4.js} +12 -6
  103. package/dist/components/{p-0c2aebfb.js → p-9acf0fcc.js} +1 -1
  104. package/dist/components/{p-a2f96840.js → p-b095de27.js} +1 -1
  105. package/dist/components/{p-b2125fc9.js → p-b0dbee97.js} +48 -24
  106. package/dist/components/{p-a516a324.js → p-b847f269.js} +123 -48
  107. package/dist/components/{p-9d34d59d.js → p-bc5202db.js} +2 -2
  108. package/dist/components/{p-cb56a853.js → p-c296051d.js} +1 -1
  109. package/dist/components/{p-8a34b98b.js → p-c69ef266.js} +1 -1
  110. package/dist/components/{p-2d53e1a5.js → p-ca8aea4b.js} +1 -1
  111. package/dist/components/{p-3f4d4c0a.js → p-de2193c5.js} +1 -1
  112. package/dist/components/{p-09f1e2d2.js → p-e534ea52.js} +1 -1
  113. package/dist/components/{p-8f2ed62f.js → p-f8c00485.js} +1 -1
  114. package/dist/esm/index.js +1 -1
  115. package/dist/esm/lido-avatar_22.entry.js +187 -59
  116. package/dist/esm/lido-player.js +1 -1
  117. package/dist/esm/loader.js +1 -1
  118. package/dist/esm/{utils-107b15a7.js → utils-ae1eb036.js} +110 -87
  119. package/dist/lido-player/index.esm.js +1 -1
  120. package/dist/lido-player/lido-player.esm.js +1 -1
  121. package/dist/lido-player/{p-d1251482.js → p-a632e2ce.js} +2 -2
  122. package/dist/lido-player/p-f1b879f6.entry.js +1 -0
  123. package/dist/types/components/container/lido-container.d.ts +1 -0
  124. package/dist/types/components/home/lido-home.d.ts +1 -0
  125. package/dist/types/components/trace/lido-trace.d.ts +1 -0
  126. package/dist/types/utils/utils.d.ts +1 -1
  127. package/dist/types/utils/utilsHandlers/animationHandler.d.ts +1 -0
  128. package/package.json +1 -1
  129. package/dist/lido-player/p-606ea279.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, g as getAssetPath, h, H as Host, a as getElement, c as createEvent } from './index-37c2ad2d.js';
2
- import { c as commonjsGlobal, s as setVisibilityWithDelay, i as initEventsForElement, a as convertUrlToRelative, R as RiveService, p as parseProp, e as equationCheck, b as storingEachActivityScore, d as executeActions, N as NextContainerKey, h as handlingChildElements, g as attachSpeakIcon, j as calculateScale, k as handleFloatElementPosition, l as handleElementClick, m as dispatchActivityChangeEvent, A as ActivityScoreKey, n as dispatchGameCompletedEvent, o as dispatchGameExitEvent, q as AudioPlayer, r as generateUUIDFallback, t as exitUrl, u as prevUrl, v as nextUrl, w as speakUrl, P as PrevContainerKey, L as LidoContainer$1, x as getCancelBtnPopup, y as triggerPrevcontainer, z as setCancelBtnPopup, B as getDefaultExportFromCjs, C as tinyColor, S as SelectedValuesKey, D as triggerNextContainer, E as DropAction, F as validateObjectiveStatus, G as fraction, T as TraceMode, H as speakIcon, I as fingerUrl } from './utils-107b15a7.js';
2
+ import { c as commonjsGlobal, s as setVisibilityWithDelay, i as initEventsForElement, a as convertUrlToRelative, R as RiveService, p as parseProp, e as equationCheck, b as storingEachActivityScore, d as executeActions, g as calculateScore, N as NextContainerKey, h as handlingChildElements, j as attachSpeakIcon, k as calculateScale, l as handleFloatElementPosition, m as handleElementClick, n as dispatchActivityChangeEvent, A as ActivityScoreKey, o as dispatchGameCompletedEvent, q as dispatchGameExitEvent, r as AudioPlayer, t as generateUUIDFallback, u as exitUrl, v as prevUrl, w as nextUrl, x as speakUrl, P as PrevContainerKey, L as LidoContainer$1, y as getCancelBtnPopup, S as SelectedValuesKey, z as matchStringPattern, B as triggerNextContainer, C as triggerPrevcontainer, D as setCancelBtnPopup, E as getDefaultExportFromCjs, F as tinyColor, G as DropAction, H as validateObjectiveStatus, I as fraction, T as TraceMode, J as speakIcon, K as fingerUrl } from './utils-ae1eb036.js';
3
3
 
4
4
  var rive = {exports: {}};
5
5
 
@@ -6831,10 +6831,12 @@ const LidoCalculator = class {
6831
6831
  await executeActions(onCorrect, container);
6832
6832
  if (onCorrect.includes('scrollCellAfterEquationSolved')) {
6833
6833
  if (this.objective.length === 0) {
6834
+ calculateScore();
6834
6835
  window.dispatchEvent(new CustomEvent(NextContainerKey));
6835
6836
  }
6836
6837
  }
6837
6838
  else {
6839
+ calculateScore();
6838
6840
  window.dispatchEvent(new CustomEvent(NextContainerKey));
6839
6841
  }
6840
6842
  }
@@ -6847,7 +6849,7 @@ const LidoCalculator = class {
6847
6849
  }
6848
6850
  render() {
6849
6851
  const numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '←', '0', 'OK'];
6850
- return (h(Host, { key: 'de394a3b14826c7fb6d6cf33fbbf1726238cbe3b', onEntry: this.onEntry, id: "lidoCalculator", style: { width: this.width, height: this.height, backgroundColor: this.bgColor, left: this.x, top: this.y } }, h("lido-cell", { key: '6dbc01d1032553ba6376d60d451b546851f5ebed', visible: "true", height: "94px", width: "60px" }, h("lido-text", { key: '353396c173bbdeb5f2fbb235e54fa900d2d0b771', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "176%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, h("img", { key: '083b53c01a3d7bfff1c39a408ed064fd18d3e8a3', src: this.penIcon, alt: "pen", style: { width: '100%', height: '100%' } }))), h("div", { key: 'b0936ba134feda621d5f0f26b7de70db51f56cf8', class: "lido-calculator-displayParent" }, h("div", { key: '35507ac35c70c4bf515c904a402e5312dafeffc3', class: "lido-calculator-display" }, this.displayValue)), h("div", { key: 'd7412b0d4c8971aa09d9ca22ee8d25f2773cd2c8', class: "lido-calculator-buttons" }, numbers.map((num, i) => (h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
6852
+ return (h(Host, { key: '394177b08965252a6008cce3284475c6176eca3d', onEntry: this.onEntry, id: "lidoCalculator", style: { width: this.width, height: this.height, backgroundColor: this.bgColor, left: this.x, top: this.y } }, h("lido-cell", { key: '1c79a951e666ad4171b686400f0ba391783e693f', visible: "true", height: "94px", width: "60px" }, h("lido-text", { key: '70da4a0990c7ae72367f8d61026c1d4e6f682d48', visible: "true", id: "lido-calculator-penIcon", type: "click", height: "80px", x: "176%", width: "89px", onEntry: "this.position='relative';", class: "top-icon" }, h("img", { key: 'c510e7f1cc6ec5d34683030fff988054ac721225', src: this.penIcon, alt: "pen", style: { width: '100%', height: '100%' } }))), h("div", { key: '790d7bd307e296cc8e05e29705ebf4bfdda49906', class: "lido-calculator-displayParent" }, h("div", { key: 'f0195ce772bffdee06483da524f8a392dffdde38', class: "lido-calculator-display" }, this.displayValue)), h("div", { key: '00fda79dab52a801acafe6006db0dd50923ea74b', class: "lido-calculator-buttons" }, numbers.map((num, i) => (h("lido-text", { id: `btn-${i}`, string: num, visible: "true", type: "click", class: {
6851
6853
  'lido-calculator-btn-special': num === '←' || num === 'OK',
6852
6854
  'lido-calculator-btn-default': num !== '←' && num !== 'OK'
6853
6855
  }, onClick: () => this.handleClick(num) }))))));
@@ -9804,7 +9806,8 @@ const en = {
9804
9806
  "Do you want to exit?": "Do you want to exit?",
9805
9807
  Exit: Exit$5,
9806
9808
  "Continue playing": "Continue playing",
9807
- "Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order"
9809
+ "Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order",
9810
+ "Fill in the blanks": "Fill in the blanks"
9808
9811
  };
9809
9812
 
9810
9813
  const Exit$4 = "Quitter";
@@ -9812,7 +9815,8 @@ const fr = {
9812
9815
  "Do you want to exit?": "Voulez-vous quitter?",
9813
9816
  Exit: Exit$4,
9814
9817
  "Continue playing": "Continuer à jouer",
9815
- "Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné"
9818
+ "Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné",
9819
+ "Fill in the blanks": "Remplissez les blancs"
9816
9820
  };
9817
9821
 
9818
9822
  const Exit$3 = "बाहर निकलें";
@@ -9820,7 +9824,8 @@ const hi = {
9820
9824
  "Do you want to exit?": "क्या आप बाहर निकलना चाहते हैं?",
9821
9825
  Exit: Exit$3,
9822
9826
  "Continue playing": "खेलना जारी रखें",
9823
- "Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें"
9827
+ "Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें",
9828
+ "Fill in the blanks": "रिक्त स्थान भरें"
9824
9829
  };
9825
9830
 
9826
9831
  const Exit$2 = "ನಿರ್ಗಮಿಸು";
@@ -9828,7 +9833,8 @@ const ka = {
9828
9833
  "Do you want to exit?": "ನೀವು ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?",
9829
9834
  Exit: Exit$2,
9830
9835
  "Continue playing": "ಆಟವನ್ನು ಮುಂದುವರಿಸಿ",
9831
- "Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ"
9836
+ "Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ",
9837
+ "Fill in the blanks": "ಖಾಲಿ ಸ್ಥಳಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ"
9832
9838
  };
9833
9839
 
9834
9840
  const Exit$1 = "బయటకు వెళ్ళు";
@@ -9836,7 +9842,8 @@ const te = {
9836
9842
  "Do you want to exit?": "మీరు బయటకు వెళ్లాలనుకుంటున్నారా?",
9837
9843
  Exit: Exit$1,
9838
9844
  "Continue playing": "ఆటను కొనసాగించు",
9839
- "Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి"
9845
+ "Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి",
9846
+ "Fill in the blanks": "ఖాళీలను నింపండి"
9840
9847
  };
9841
9848
 
9842
9849
  const Exit = "Sair";
@@ -9844,7 +9851,8 @@ const port = {
9844
9851
  "Do you want to exit?": "Você deseja sair?",
9845
9852
  Exit: Exit,
9846
9853
  "Continue playing": "Continuar jogando",
9847
- "Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida"
9854
+ "Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida",
9855
+ "Fill in the blanks": "Preencha os espaços em branco"
9848
9856
  };
9849
9857
 
9850
9858
  instance
@@ -9964,13 +9972,34 @@ const LidoContainer = class {
9964
9972
  * @param container The container element to be scaled.
9965
9973
  */
9966
9974
  scaleContainer(container) {
9975
+ // Calculate the scale factor based on the closest parent element's width and height (1600x900 reference)
9976
+ const parentElement = this.getClosestParentWithWidth();
9977
+ let scaleFactor = 0;
9978
+ if (parentElement) {
9979
+ const parentWidth = parentElement.clientWidth;
9980
+ const parentHeight = parentElement.clientHeight;
9981
+ const scaleX = parentWidth / 1600;
9982
+ const scaleY = parentHeight / 900;
9983
+ scaleFactor = Math.min(scaleX, scaleY);
9984
+ }
9967
9985
  // Center the container and apply scaling
9968
- container.style.transform = `translate(-50%, -50%) scale(${calculateScale()})`;
9986
+ container.style.transform = `translate(-50%, -50%) scale(${scaleFactor != 0 ? scaleFactor : calculateScale()})`;
9969
9987
  container.style.left = '50%';
9970
9988
  container.style.top = '50%';
9971
9989
  container.style.position = 'absolute'; // Ensure proper positioning
9972
9990
  this.screenOrientation();
9973
9991
  }
9992
+ // Find and return the nearest parent element that has a measurable (non-zero) width
9993
+ getClosestParentWithWidth() {
9994
+ let parent = this.el.parentElement;
9995
+ while (parent) {
9996
+ if (parent.offsetWidth > 0) {
9997
+ return parent;
9998
+ }
9999
+ parent = parent.parentElement;
10000
+ }
10001
+ return null;
10002
+ }
9974
10003
  screenOrientation() {
9975
10004
  if (window.innerHeight > window.innerWidth) {
9976
10005
  this.el.style.height = '1600px';
@@ -9999,6 +10028,7 @@ const LidoContainer = class {
9999
10028
  componentDidLoad() {
10000
10029
  this.scaleContainer(this.el);
10001
10030
  const backGroundImage = this.bgImage ? convertUrlToRelative(this.bgImage) : '';
10031
+ document.body.style.pointerEvents = 'auto';
10002
10032
  document.body.style.backgroundColor = this.bgColor;
10003
10033
  document.body.style.backgroundImage = backGroundImage ? `url(${backGroundImage})` : 'none';
10004
10034
  document.body.style.backgroundPosition = backGroundImage ? `bottom` : 'none';
@@ -10032,7 +10062,7 @@ const LidoContainer = class {
10032
10062
  userSelect: 'none', // Prevent any field selection
10033
10063
  };
10034
10064
  console.log('🚀 ~ LidoContainer ~ canplay:', this.canplay);
10035
- return (h(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 }, h("slot", { key: 'b82aff47d621fc4f9d6abe5b7add974853f69219' })));
10065
+ return (h(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 }, h("slot", { key: '59d66b47f4749a99ece4da48dbaebaf720cb0b2b' })));
10036
10066
  }
10037
10067
  get el() { return getElement(this); }
10038
10068
  static get watchers() { return {
@@ -10196,7 +10226,7 @@ const LidoHomeStyle0 = indexCss;
10196
10226
  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)}}";
10197
10227
  const LidoHomeStyle1 = animationCss;
10198
10228
 
10199
- 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}";
10229
+ 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}";
10200
10230
  const LidoHomeStyle2 = lidoHomeCss;
10201
10231
 
10202
10232
  const LidoHome = class {
@@ -10276,7 +10306,6 @@ const LidoHome = class {
10276
10306
  rightbtn.style.visibility = 'hidden';
10277
10307
  }
10278
10308
  else {
10279
- rightbtn.style.pointerEvents = 'auto';
10280
10309
  rightbtn.style.visibility = 'visible';
10281
10310
  }
10282
10311
  }, 100);
@@ -10487,6 +10516,9 @@ const LidoHome = class {
10487
10516
  if (tagName === 'lido-text' && props.string) {
10488
10517
  props.string = instance.t(props.string);
10489
10518
  }
10519
+ if (tagName === 'lido-text' && props.string) {
10520
+ props.string = instance.t(props.string);
10521
+ }
10490
10522
  // Map XML tags to Stencil components
10491
10523
  const componentMapping = {
10492
10524
  'lido-container': (h("lido-container", Object.assign({}, props, { canplay: this.canplay, baseUrl: this.baseUrl, height: this.height }), children)),
@@ -10536,6 +10568,16 @@ const LidoHome = class {
10536
10568
  this.containers = containers;
10537
10569
  console.log("container :::", containers);
10538
10570
  }
10571
+ areAllDropsFilled() {
10572
+ const drops = Array.from(document.querySelectorAll('[type="drop"]'));
10573
+ const drags = Array.from(document.querySelectorAll('[type="drag"]')).filter(drag => drag.getAttribute('drop-to'));
10574
+ console.log('drops', drops);
10575
+ console.log('drags', drags);
10576
+ return drops.every(drop => {
10577
+ const dropId = drop.id;
10578
+ return drags.some(drag => drag.getAttribute('drop-to') === dropId);
10579
+ });
10580
+ }
10539
10581
  async btnpopup() {
10540
10582
  setCancelBtnPopup(false);
10541
10583
  await AudioPlayer.getI().stop();
@@ -10555,6 +10597,18 @@ const LidoHome = class {
10555
10597
  await new Promise(resolve => setTimeout(resolve, 300));
10556
10598
  }
10557
10599
  }
10600
+ if (this.areAllDropsFilled()) {
10601
+ const objectiveString = container['objective'];
10602
+ const objectiveArray = JSON.parse(localStorage.getItem(SelectedValuesKey) || '[]');
10603
+ const res = matchStringPattern(objectiveString, objectiveArray);
10604
+ console.log('Resultt', res);
10605
+ if (res) {
10606
+ triggerNextContainer();
10607
+ }
10608
+ }
10609
+ else {
10610
+ console.log('Not yet filled ');
10611
+ }
10558
10612
  }
10559
10613
  scaleNavbarContainer() {
10560
10614
  setTimeout(() => {
@@ -14525,6 +14579,7 @@ const LidoTrace = class {
14525
14579
  this.fileIndex = -1;
14526
14580
  this.isDragging = false;
14527
14581
  this.activePointerId = null;
14582
+ this.freeTraceUpdateCounter = 0;
14528
14583
  this.idleTimer = null;
14529
14584
  this.fingerImg = null;
14530
14585
  }
@@ -14541,8 +14596,8 @@ const LidoTrace = class {
14541
14596
  circle: null,
14542
14597
  paths: [],
14543
14598
  svg: null,
14544
- proximityThreshold: 100, // General proximity threshold
14545
- freeTraceProximityThreshold: 50, // Reduced proximity threshold for free trace
14599
+ proximityThreshold: 375, // Increased general proximity threshold (was 100)
14600
+ freeTraceProximityThreshold: 350, // Increased proximity for free trace (was 50)
14546
14601
  rafId: null,
14547
14602
  pointerMoveEvent: null,
14548
14603
  activePointerId: null,
@@ -14878,7 +14933,7 @@ const LidoTrace = class {
14878
14933
  }
14879
14934
  // Modified handlePointerMove function
14880
14935
  handlePointerMove(state) {
14881
- var _a, _b, _c, _d;
14936
+ var _a, _b, _c, _d, _e, _f;
14882
14937
  if (!state.isDragging)
14883
14938
  return;
14884
14939
  if (!state.circle || !state.paths || state.paths.length === 0)
@@ -14890,6 +14945,15 @@ const LidoTrace = class {
14890
14945
  x: parseFloat(state.circle.getAttribute('cx')),
14891
14946
  y: parseFloat(state.circle.getAttribute('cy')),
14892
14947
  };
14948
+ // Only update if pointer moved a minimum distance (to reduce unnecessary updates)
14949
+ const MOVE_THRESHOLD = 1; // px
14950
+ if (state.lastPointerPos) {
14951
+ const dx = pointerPos.x - state.lastPointerPos.x;
14952
+ const dy = pointerPos.y - state.lastPointerPos.y;
14953
+ if (dx * dx + dy * dy < MOVE_THRESHOLD * MOVE_THRESHOLD) {
14954
+ return;
14955
+ }
14956
+ }
14893
14957
  const currentPath = state.paths[state.currentPathIndex];
14894
14958
  if (!currentPath) {
14895
14959
  console.error('No valid path found at the current index');
@@ -14917,48 +14981,76 @@ const LidoTrace = class {
14917
14981
  }
14918
14982
  // For free trace mode and blind free trace mode, allow free drawing only if within the reduced proximity threshold
14919
14983
  if (state.mode === TraceMode.FreeTrace || state.mode === TraceMode.BlindFreeTrace) {
14984
+ // Throttle: Only update every 2nd event (for reducing excessive dom updates)
14985
+ this.freeTraceUpdateCounter = (this.freeTraceUpdateCounter || 0) + 1;
14986
+ if (this.freeTraceUpdateCounter % 2 !== 0) {
14987
+ return;
14988
+ }
14920
14989
  // Initialize the currentFreePath array if it's not created
14921
14990
  if (!state.currentFreePath) {
14922
14991
  state.currentFreePath = [];
14923
14992
  }
14924
- // Create a new path element if it's the first trace for the current path index
14993
+ // Create a new polyline element if it's the first trace for the current path index
14925
14994
  if (!state.currentFreePath[state.currentPathIndex]) {
14926
- const newPath = document.createElementNS('http://www.w3.org/2000/svg', 'path');
14927
- // newPath.setAttribute('stroke', 'green');
14995
+ const newPolyline = document.createElementNS('http://www.w3.org/2000/svg', 'polyline');
14928
14996
  const strokeWidth = state.paths[state.currentPathIndex].style['stroke-width'] || state.paths[state.currentPathIndex].getAttribute('stroke-width');
14929
- newPath.setAttribute('stroke-width', strokeWidth);
14930
- newPath.setAttribute('fill', 'none');
14931
- newPath.setAttribute('stroke-linecap', 'round');
14932
- newPath.setAttribute('stroke', 'lightgreen');
14933
- // Start the new path at the current pointer position
14934
- newPath.setAttribute('d', `M${pointerPos.x},${pointerPos.y}`);
14935
- (_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(newPath);
14936
- state.currentFreePath[state.currentPathIndex] = newPath;
14997
+ newPolyline.setAttribute('stroke-width', strokeWidth);
14998
+ newPolyline.setAttribute('fill', 'none');
14999
+ newPolyline.setAttribute('stroke-linecap', 'round');
15000
+ newPolyline.setAttribute('stroke', 'lightgreen');
15001
+ newPolyline.setAttribute('points', `${pointerPos.x},${pointerPos.y}`);
15002
+ (_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(newPolyline);
15003
+ state.currentFreePath[state.currentPathIndex] = newPolyline;
15004
+ // Store points array for this polyline
15005
+ state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
15006
+ state.currentFreePolylinePoints[state.currentPathIndex] = [
15007
+ { x: pointerPos.x, y: pointerPos.y }
15008
+ ];
14937
15009
  // Reset lastPointerPos for the new path
14938
15010
  state.lastPointerPos = pointerPos;
15011
+ // Add a points counter to limit path growth
15012
+ state.freeTracePointsCount = 1;
15013
+ }
15014
+ // Limit the number of points in the free trace path for performance
15015
+ const MAX_FREE_TRACE_POINTS = 10;
15016
+ state.freeTracePointsCount = (state.freeTracePointsCount || 1) + 1;
15017
+ if (state.freeTracePointsCount > MAX_FREE_TRACE_POINTS) {
15018
+ // If limit reached, skip adding more points
15019
+ return;
14939
15020
  }
14940
- // Get the previous position to draw a smooth curve
14941
- const previousPos = state.lastPointerPos || pointerPos;
14942
- // Create a quadratic curve from the previous point to the current point
14943
- const newPathData = state.currentFreePath[state.currentPathIndex].getAttribute('d');
14944
- const midPointX = (previousPos.x + pointerPos.x) / 2;
14945
- const midPointY = (previousPos.y + pointerPos.y) / 2;
14946
- const updatedPathData = `${newPathData} Q ${previousPos.x},${previousPos.y} ${midPointX},${midPointY}`;
14947
- // Update the path's 'd' attribute with the new curve
14948
- state.currentFreePath[state.currentPathIndex].setAttribute('d', updatedPathData);
15021
+ // Add the new point to the polyline's points array
15022
+ state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
15023
+ let pointsArr = state.currentFreePolylinePoints[state.currentPathIndex] || [];
15024
+ pointsArr.push({ x: pointerPos.x, y: pointerPos.y });
15025
+ state.currentFreePolylinePoints[state.currentPathIndex] = pointsArr;
15026
+ // Update the polyline's points attribute
15027
+ const pointsStr = pointsArr.map(pt => `${pt.x},${pt.y}`).join(' ');
15028
+ state.currentFreePath[state.currentPathIndex].setAttribute('points', pointsStr);
14949
15029
  // Move the draggable circle with the freehand trace
14950
15030
  state.circle.setAttribute('cx', pointerPos.x.toString());
14951
15031
  state.circle.setAttribute('cy', pointerPos.y.toString());
14952
- // Make sure the red dot (circle) is always on top
14953
- (_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
15032
+ // Only re-append if not already children list
15033
+ const childNodes = (_b = state.svg) === null || _b === void 0 ? void 0 : _b.childNodes;
15034
+ let circleFound = false;
15035
+ for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
15036
+ const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
15037
+ if (child && child.tagName === 'circle') {
15038
+ circleFound = true;
15039
+ break; // No need to continue once found
15040
+ }
15041
+ }
15042
+ // If not found, append the circle
15043
+ if (!circleFound && state.circle) {
15044
+ (_c = state.svg) === null || _c === void 0 ? void 0 : _c.appendChild(state.circle);
15045
+ }
14954
15046
  // Update the last pointer position
14955
15047
  state.lastPointerPos = pointerPos;
14956
- const currentPathLength = currentPath.getTotalLength();
14957
- const distanceToEnd = currentPathLength - closestPoint.length;
14958
- // If close to the end of the path, move to the next path
14959
- if (distanceToEnd < 5) {
15048
+ // For polyline, estimate the end by number of points (not path length)
15049
+ if (pointsArr.length >= MAX_FREE_TRACE_POINTS) {
14960
15050
  this.moveToNextPath(state);
14961
15051
  state.currentFreePath[state.currentPathIndex] = null; // Reset free path for next path
15052
+ state.currentFreePolylinePoints[state.currentPathIndex] = [];
15053
+ state.freeTracePointsCount = 0;
14962
15054
  }
14963
15055
  // this.resetIdleTimer(state); // ← keep timer alive
14964
15056
  return; // Exit early since we're in free trace or blind free trace mode
@@ -14966,24 +15058,57 @@ const LidoTrace = class {
14966
15058
  // In normal modes, allow movement and drawing only within the general proximity threshold
14967
15059
  if (state.isDragging && closestPoint.length >= state.lastLength) {
14968
15060
  state.lastLength = closestPoint.length;
14969
- state.circle.setAttribute('cx', closestPoint.x.toString());
14970
- state.circle.setAttribute('cy', closestPoint.y.toString());
14971
- // Make sure the red dot (circle) is always on top
14972
- (_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
14973
- (_d = currentPath.greenPath) === null || _d === void 0 ? void 0 : _d.setAttribute('stroke-dashoffset', (state.totalPathLength - state.lastLength).toString());
14974
- }
14975
- // Check if the current path is completed
14976
- if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex < state.paths.length - 1) {
14977
- this.moveToNextPath(state);
14978
- }
14979
- else if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex === state.paths.length - 1) {
14980
- // this.loadAnotherSVG(state, true);
14981
- this.moveToNextContainer();
15061
+ // Only update the circle if it moved enough
15062
+ if (Math.abs(closestPoint.x - circlePos.x) > MOVE_THRESHOLD || Math.abs(closestPoint.y - circlePos.y) > MOVE_THRESHOLD) {
15063
+ state.circle.setAttribute('cx', closestPoint.x.toString());
15064
+ state.circle.setAttribute('cy', closestPoint.y.toString());
15065
+ }
15066
+ // Only re-append if not already children list
15067
+ const childNodes = (_d = state.svg) === null || _d === void 0 ? void 0 : _d.childNodes;
15068
+ let circleFound = false;
15069
+ for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
15070
+ const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
15071
+ if (child && child.tagName === 'circle') {
15072
+ circleFound = true;
15073
+ break; // No need to continue once found
15074
+ }
15075
+ }
15076
+ // If not found, append the circle
15077
+ if (!circleFound && state.circle) {
15078
+ (_e = state.svg) === null || _e === void 0 ? void 0 : _e.appendChild(state.circle);
15079
+ }
15080
+ (_f = currentPath.greenPath) === null || _f === void 0 ? void 0 : _f.setAttribute('stroke-dashoffset', (state.totalPathLength - state.lastLength).toString());
15081
+ // Completion logic for closed paths: only allow completion if almost all points are traced
15082
+ const COMPLETION_THRESHOLD = 0.90; // 90% of the path must be traced
15083
+ let percentComplete = state.lastLength / state.totalPathLength;
15084
+ let startPoint = currentPath.getPointAtLength(0);
15085
+ let endPoint = currentPath.getPointAtLength(currentPath.getTotalLength());
15086
+ let pathIsClosed = this.getDistanceSquared(startPoint, endPoint) < 200; // threshold for overlap
15087
+ if (pathIsClosed && state.totalPathLength > 50) {
15088
+ if (percentComplete >= COMPLETION_THRESHOLD) {
15089
+ if (state.currentPathIndex < state.paths.length - 1) {
15090
+ this.moveToNextPath(state);
15091
+ }
15092
+ else if (state.currentPathIndex === state.paths.length - 1) {
15093
+ this.moveToNextContainer();
15094
+ }
15095
+ }
15096
+ }
15097
+ else {
15098
+ // For open paths, allow completion if near the end
15099
+ if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex < state.paths.length - 1) {
15100
+ this.moveToNextPath(state);
15101
+ }
15102
+ else if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex === state.paths.length - 1) {
15103
+ this.moveToNextContainer();
15104
+ }
15105
+ }
14982
15106
  }
14983
15107
  // this.resetIdleTimer(state); // ← keep timer alive
14984
15108
  }
14985
15109
  // Move to the next container after completing the current SVG
14986
15110
  async moveToNextContainer() {
15111
+ this.isDragging = false;
14987
15112
  if (this.moving)
14988
15113
  return; // Prevent multiple calls
14989
15114
  this.moving = true; // Set moving to true to prevent re-entrance
@@ -15002,9 +15127,12 @@ const LidoTrace = class {
15002
15127
  this.moving = false;
15003
15128
  return;
15004
15129
  }
15130
+ console.log('onCorrect:', this.onCorrect);
15131
+ console.log('el :', this.el);
15005
15132
  if (this.el && this.onCorrect) {
15006
15133
  await executeActions(this.onCorrect, this.el);
15007
15134
  }
15135
+ console.log('All SVGs completed, hiding component.');
15008
15136
  triggerNextContainer();
15009
15137
  }
15010
15138
  // Get the pointer position relative to the SVG
@@ -15022,13 +15150,13 @@ const LidoTrace = class {
15022
15150
  const dy = p1.y - p2.y;
15023
15151
  return dx * dx + dy * dy;
15024
15152
  }
15025
- // Find the closest point on the given path to the specified point using two-pass sampling
15153
+ // Find the closest point on the given path to the specified point using two-pass sampling (optimized)
15026
15154
  getClosestPointOnPath(pathNode, point) {
15027
15155
  const pathLength = pathNode.getTotalLength();
15028
15156
  let closestPoint = { x: 0, y: 0, length: 0 };
15029
15157
  let minDistanceSquared = Infinity;
15030
- // First pass: coarse sampling
15031
- const coarseStep = 20; // Increased step for better performance
15158
+ // Optimized: Increase coarse steps for better performance
15159
+ const coarseStep = 40; // was 20
15032
15160
  let coarseClosestPoint = { x: 0, y: 0, length: 0 };
15033
15161
  let coarseMinDistanceSquared = Infinity;
15034
15162
  for (let i = 0; i <= pathLength; i += coarseStep) {
@@ -15044,7 +15172,7 @@ const LidoTrace = class {
15044
15172
  }
15045
15173
  }
15046
15174
  // Second pass: fine sampling around coarseClosestPoint
15047
- const fineStep = 2; // Increased step to reduce computations
15175
+ const fineStep = 6; // was 2
15048
15176
  const searchStart = Math.max(coarseClosestPoint.length - coarseStep, 0);
15049
15177
  const searchEnd = Math.min(coarseClosestPoint.length + coarseStep, pathLength);
15050
15178
  for (let i = searchStart; i <= searchEnd; i += fineStep) {
@@ -15204,7 +15332,7 @@ const LidoTrace = class {
15204
15332
  };
15205
15333
  }
15206
15334
  render() {
15207
- return (h(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 }, h("div", { key: '9c97878119641e2efc26fa7d711c7639276417ac', style: this.style, id: "lido-svgContainer" })));
15335
+ return (h(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 }, h("div", { key: '4fddd90d12251c4020006690f8c769ab452c8f6a', style: this.style, id: "lido-svgContainer" })));
15208
15336
  }
15209
15337
  static get assetsDirs() { return ["svg", "images"]; }
15210
15338
  get el() { return getElement(this); }
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy(JSON.parse("[[\"lido-avatar_22\",[[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);
19
+ return bootstrapLazy(JSON.parse("[[\"lido-avatar_22\",[[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);
20
20
  });