lido-player 0.0.2-alpha-51-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.
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/lido-avatar_22.cjs.entry.js +199 -73
- package/dist/cjs/lido-player.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{utils-dc02d753.js → utils-3c1ce74e.js} +236 -101
- package/dist/collection/components/avatar/lido-avatar.js +1 -1
- package/dist/collection/components/canvas/lido-canvas.css +5 -8
- package/dist/collection/components/canvas/lido-canvas.js +2 -2
- package/dist/collection/components/cell/lido-cell.js +1 -1
- package/dist/collection/components/column/lido-col.js +1 -1
- package/dist/collection/components/container/lido-container.js +24 -2
- package/dist/collection/components/flashCard/lido-flash-card.js +1 -1
- package/dist/collection/components/home/lido-home.css +4 -0
- package/dist/collection/components/home/lido-home.js +27 -3
- package/dist/collection/components/mathMatrix/lido-math-matrix.js +14 -14
- package/dist/collection/components/position/lido-pos.js +1 -1
- package/dist/collection/components/random/lido-random.js +1 -1
- package/dist/collection/components/row/lido-row.js +1 -1
- package/dist/collection/components/shape/lido-shape.js +1 -1
- package/dist/collection/components/trace/lido-trace.js +122 -47
- package/dist/collection/components/wrap/lido-wrap.js +1 -1
- package/dist/collection/stories/Templates/Fill-Up/fill-up.stories.js +26 -25
- package/dist/collection/stories/Templates/LetterPairing/LetterPairing.stories.js +3 -1
- package/dist/collection/stories/Templates/RocketGame/rocketGame.stories.js +1 -1
- package/dist/collection/stories/Templates/arrangeLetters/arrangeLetters.stories.js +1 -1
- package/dist/collection/stories/Templates/balancing/balancing.stories.js +1 -1
- package/dist/collection/stories/Templates/blender/blender.stories.js +100 -0
- package/dist/collection/stories/Templates/bubbleType/bubbleType.stories.js +1 -1
- package/dist/collection/stories/Templates/calculator/calculator.stories.js +6 -2
- package/dist/collection/stories/Templates/checker-block/checkerBlock.stories.js +1 -1
- package/dist/collection/stories/Templates/checkerBlock/checkerBlock.stories.js +1 -1
- package/dist/collection/stories/Templates/create-sentence/createSentence.stories.js +1 -1
- package/dist/collection/stories/Templates/fillAnswer/fill-answer.stories.js +3 -2
- package/dist/collection/stories/Templates/fillBlank/fill-blank.stories.js +1 -1
- package/dist/collection/stories/Templates/foodJar/food-jar.stories.js +3 -1
- package/dist/collection/stories/Templates/grid/grid.stories.js +5 -1
- package/dist/collection/stories/Templates/gridGame/grid-game.stories.js +1 -1
- package/dist/collection/stories/Templates/jumpSentence/jumpSentence.stories.js +4 -2
- package/dist/collection/stories/Templates/letterboard/letterboard.stories.js +1 -1
- package/dist/collection/stories/Templates/matchingCard/matching-card.stories.js +3 -1
- package/dist/collection/stories/Templates/multipleOption/mcqWithQuestionImage.stories.js +4 -2
- package/dist/collection/stories/Templates/multipleOption/multiple-option.stories.js +1 -1
- package/dist/collection/stories/Templates/multiplyBeeds/multiplyBeeds.stories.js +1 -1
- package/dist/collection/stories/Templates/nimbleTable/nimbleTable.stories.js +1 -1
- package/dist/collection/stories/Templates/numberBoard/numberBoard.stories.js +1 -1
- package/dist/collection/stories/Templates/numberBoardTwo/numberBoardTwo.stories.js +6 -4
- package/dist/collection/stories/Templates/numberPair/numberPair.stories.js +1 -1
- package/dist/collection/stories/Templates/openwindow/openwindow.stories.js +2 -2
- package/dist/collection/stories/Templates/openwindow/openwindow2.stories.js +2 -2
- package/dist/collection/stories/Templates/order-tractor/order-tractor-ascending-order.stories.js +14 -13
- package/dist/collection/stories/Templates/order-tractor/order-tractor.stories.js +14 -13
- package/dist/collection/stories/Templates/phonic-tractor/phonic-tractor.stories.js +1 -1
- package/dist/collection/stories/Templates/picturemeaning/pictureMeaningCocos.stories.js +5 -1
- package/dist/collection/stories/Templates/questionBoard/questionBoard.stories.js +1 -1
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracy.stories.js +1 -1
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWithText.stories.js +1 -1
- package/dist/collection/stories/Templates/quizLiteracy/quizLiteracyImageWord.stories.js +1 -1
- package/dist/collection/stories/Templates/reorder/reorder.stories.js +3 -1
- package/dist/collection/stories/Templates/rowBlocks/rowBlocks.stories.js +2 -2
- package/dist/collection/stories/Templates/sequenceBox/sequenceBox1.stories.js +6 -6
- package/dist/collection/stories/Templates/sequenceBox/sequenceBox2.stories.js +7 -6
- package/dist/collection/stories/Templates/shapePair/shape-pair.stories.js +1 -1
- package/dist/collection/stories/Templates/shapeTractor/shape-tractor.stories.js +25 -21
- package/dist/collection/stories/Templates/spellDoor/spellDoor.stories.js +1 -1
- package/dist/collection/stories/Templates/sumTogether/sumTogether.stories.js +8 -6
- package/dist/collection/stories/Templates/total/total.stories.js +1 -1
- package/dist/collection/stories/Templates/writeCard/writeCard.stories.js +1 -1
- package/dist/collection/stories/Templates/writeLetter/writeLetter.stories.js +2 -2
- package/dist/collection/stories/Templates/writeNumber/writeNumber.stories.js +6 -6
- package/dist/collection/stories/Templates/writeSet/writeSet.stories.js +1 -1
- package/dist/collection/stories/Templates/writeWord/writeWord.stories.js +7 -6
- package/dist/collection/utils/utils.js +155 -27
- package/dist/collection/utils/utilsHandlers/animationHandler.js +38 -0
- package/dist/collection/utils/utilsHandlers/clickHandler.js +5 -1
- package/dist/collection/utils/utilsHandlers/dragDropHandler.js +29 -64
- package/dist/collection/utils/utilsHandlers/slideHandler.js +7 -6
- package/dist/collection/utils/utilsHandlers/sortHandler.js +3 -5
- package/dist/components/index.js +1 -1
- package/dist/components/lido-avatar.js +1 -1
- package/dist/components/lido-balance.js +1 -1
- package/dist/components/lido-calculator.js +1 -1
- package/dist/components/lido-canvas.js +2 -2
- package/dist/components/lido-cell.js +1 -1
- package/dist/components/lido-col.js +1 -1
- package/dist/components/lido-container.js +1 -1
- package/dist/components/lido-flash-card.js +1 -1
- package/dist/components/lido-float.js +1 -1
- package/dist/components/lido-home.js +1 -1
- package/dist/components/lido-image.js +1 -1
- package/dist/components/lido-keyboard.js +1 -1
- package/dist/components/lido-math-matrix.js +1 -1
- package/dist/components/lido-pos.js +1 -1
- package/dist/components/lido-random.js +1 -1
- package/dist/components/lido-root.js +23 -23
- package/dist/components/lido-row.js +1 -1
- package/dist/components/lido-shape.js +1 -1
- package/dist/components/lido-slide-fill.js +1 -1
- package/dist/components/lido-text.js +1 -1
- package/dist/components/lido-trace.js +1 -1
- package/dist/components/lido-wrap.js +1 -1
- package/dist/components/{p-56c8f3da.js → p-004adc43.js} +3 -3
- package/dist/components/{p-c8815e84.js → p-057fb7b8.js} +48 -24
- package/dist/components/{p-bb907e43.js → p-0733b277.js} +2 -2
- package/dist/components/{p-6ba0f1af.js → p-09b3b152.js} +1 -1
- package/dist/components/{p-74b90a9c.js → p-23549651.js} +8 -8
- package/dist/components/{p-d7693f47.js → p-3e8ae1c5.js} +123 -48
- package/dist/components/{p-6be6c5eb.js → p-3f0e4436.js} +2 -2
- package/dist/components/{p-d0131159.js → p-511377d2.js} +236 -102
- package/dist/components/{p-a8724f06.js → p-561908ec.js} +2 -2
- package/dist/components/{p-1c84cf65.js → p-567983a9.js} +13 -7
- package/dist/components/{p-b89371ac.js → p-6beee44b.js} +1 -1
- package/dist/components/{p-1f3c2783.js → p-71ded596.js} +2 -2
- package/dist/components/{p-0fbeb3a1.js → p-73e3f0f4.js} +12 -6
- package/dist/components/{p-b7efadad.js → p-875c1411.js} +2 -2
- package/dist/components/{p-4fd6b588.js → p-8774f517.js} +2 -2
- package/dist/components/{p-04e904b5.js → p-90f7dd48.js} +1 -1
- package/dist/components/{p-caa05d1e.js → p-92b9ae9e.js} +2 -2
- package/dist/components/{p-e9548986.js → p-9ea1a67d.js} +26 -4
- package/dist/components/{p-bef96764.js → p-b3e67e7f.js} +2 -2
- package/dist/components/{p-988477ad.js → p-cca545f9.js} +2 -2
- package/dist/components/{p-d3f7d561.js → p-d2fe2bb6.js} +2 -2
- package/dist/components/{p-12432f23.js → p-d568d595.js} +1 -1
- package/dist/components/{p-62d2a5b3.js → p-df1af62c.js} +2 -2
- package/dist/esm/index.js +1 -1
- package/dist/esm/lido-avatar_22.entry.js +199 -73
- package/dist/esm/lido-player.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{utils-b5eb2360.js → utils-eefe4a1c.js} +236 -102
- package/dist/lido-player/index.esm.js +1 -1
- package/dist/lido-player/lido-player.esm.js +1 -1
- package/dist/lido-player/p-4d9ad047.entry.js +1 -0
- package/dist/lido-player/{p-9fd87d44.js → p-589fc3b8.js} +2 -2
- package/dist/types/components/canvas/lido-canvas.d.ts +1 -1
- package/dist/types/components/container/lido-container.d.ts +1 -0
- package/dist/types/components/home/lido-home.d.ts +1 -0
- package/dist/types/components/mathMatrix/lido-math-matrix.d.ts +0 -1
- package/dist/types/components/trace/lido-trace.d.ts +1 -0
- package/dist/types/components.d.ts +0 -6
- package/dist/types/stories/Templates/blender/blender.stories.d.ts +4 -0
- package/dist/types/utils/utils.d.ts +1 -1
- package/dist/types/utils/utilsHandlers/animationHandler.d.ts +1 -0
- package/package.json +1 -1
- package/dist/lido-player/p-e1a9c26f.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
|
|
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, S as SelectedValuesKey, y as matchStringPattern, z as triggerNextContainer, B as triggerPrevcontainer, C as setCancelBtnPopup, D as getDefaultExportFromCjs, E as tinyColor, F as DropAction, G as validateObjectiveStatus, H as fraction, T as TraceMode, I as speakIcon, J as fingerUrl } from './utils-eefe4a1c.js';
|
|
3
3
|
|
|
4
4
|
var rive = {exports: {}};
|
|
5
5
|
|
|
@@ -6586,7 +6586,7 @@ const LidoAvatar = class {
|
|
|
6586
6586
|
display: this.visible ? 'flex' : 'none',
|
|
6587
6587
|
zIndex: this.z,
|
|
6588
6588
|
};
|
|
6589
|
-
return (h(Host, { key: '
|
|
6589
|
+
return (h(Host, { key: '8a31ce98213ff51bf7cfc776690b6770bbeae604', id: this.id, type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, h("canvas", { key: '922568310a3be177e3185f86c54df95d16a0e42b', class: "lido-canvas" })));
|
|
6590
6590
|
}
|
|
6591
6591
|
get el() { return getElement(this); }
|
|
6592
6592
|
};
|
|
@@ -6856,10 +6856,10 @@ const LidoCalculator = class {
|
|
|
6856
6856
|
};
|
|
6857
6857
|
LidoCalculator.style = LidoCalculatorStyle0;
|
|
6858
6858
|
|
|
6859
|
-
const lidoCanvasCss = ":host{display:flex;justify-content:center;align-items:center}.lido-
|
|
6859
|
+
const lidoCanvasCss = ":host{display:flex;justify-content:center;align-items:center}.lido-canvas{background:red;border:2px solid #ccc;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;position:relative}#lido-exit-button{padding:6px 14px;border:none;background:transparent;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;position:relative;top:-43%;left:18%;z-index:10}canvas{touch-action:none;display:block}";
|
|
6860
6860
|
const LidoCanvasStyle0 = lidoCanvasCss;
|
|
6861
6861
|
|
|
6862
|
-
const
|
|
6862
|
+
const LidoCanvas = class {
|
|
6863
6863
|
constructor(hostRef) {
|
|
6864
6864
|
registerInstance(this, hostRef);
|
|
6865
6865
|
// Flag to track drawing state
|
|
@@ -6946,11 +6946,11 @@ const WritingPad = class {
|
|
|
6946
6946
|
this.loadBackground();
|
|
6947
6947
|
}
|
|
6948
6948
|
render() {
|
|
6949
|
-
return (h(Host, { key: '
|
|
6949
|
+
return (h(Host, { key: '6768ff870d132528267f2e824fdc6edf5a5fa2be', id: "lido-canvas", class: "lido-canvas", style: this.style }, h("button", { key: 'ba3d5456edfa4618b6c3f57b97fa18cef45f7ae9', id: "lido-exit-button", onClick: () => this.clearCanvas() }, h("lido-text", { key: '3484c9005819e3d08adf8d36b247d3c45610d0b5', visible: "true", height: "92px", width: "43px", id: "lido-exit-icon", "font-color": "white", onEntry: "this.font-weight='900';", "font-size": "96px", string: 'X' })), h("canvas", { key: 'cd4167cefde8d4cf159779c46283cafbc3b0afcc', id: "lido-canvas", style: { width: this.style.width, height: this.style.height, } })));
|
|
6950
6950
|
}
|
|
6951
6951
|
get el() { return getElement(this); }
|
|
6952
6952
|
};
|
|
6953
|
-
|
|
6953
|
+
LidoCanvas.style = LidoCanvasStyle0;
|
|
6954
6954
|
|
|
6955
6955
|
const lidoCellCss = ".lido-col{top:var(--y, 0);left:var(--x, 0);height:var(--height, 100%);width:var(--width, 100%);background-color:var(--bgColor, #eeeeee);padding:15px;border-radius:10px;display:flex;justify-content:space-around;flex-direction:column;align-items:center}.lido-col>*{}.lido-row{display:flex;justify-content:space-around;align-items:center;}.lido-row>*{}.lido-wrap{display:grid;grid-gap:10px;grid-template-columns:repeat(auto-fill, minmax(186px, auto))}.lido-wrap>*{padding:10px;box-sizing:border-box}.lido-flex{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.lido-pos{top:var(--y, 0);left:var(--x, 0);height:var(--height, 100%);width:var(--width, 100%);background-color:var(--bgColor, #eeeeee);display:flex;justify-content:space-around;flex-direction:column;position:fixed}.lido-pos>*{position:absolute}.lido-random{position:relative;width:100%;height:100%}.lido-random>*{position:absolute}.lido-col::-webkit-scrollbar,.lido-wrap::-webkit-scrollbar,.lido-flex::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.lido-col::-webkit-scrollbar-thumb,.lido-wrap::-webkit-scrollbar-thumb,.lido-flex::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px;border:3px solid transparent;background-clip:content-box}.lido-col::-webkit-scrollbar-track,.lido-wrap::-webkit-scrollbar-track,.lido-flex::-webkit-scrollbar-track{background:#f1f1f1}";
|
|
6956
6956
|
const LidoCellStyle0 = lidoCellCss;
|
|
@@ -7080,7 +7080,7 @@ const LidoCell = class {
|
|
|
7080
7080
|
this.el.className = `lido-${parseProp(this.layout, orientation)}`;
|
|
7081
7081
|
}
|
|
7082
7082
|
render() {
|
|
7083
|
-
return (h(Host, { key: '
|
|
7083
|
+
return (h(Host, { key: '0f7d35324da319917dec546cbb1f25065897bb02', id: this.id, class: "lido-cell", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "flex-direction": this.flexDirection, "disable-speak": this.disableSpeak }, h("slot", { key: '2a337b5fae7641bbe78c5f1aa1c96e12c1281f4a' })));
|
|
7084
7084
|
}
|
|
7085
7085
|
get el() { return getElement(this); }
|
|
7086
7086
|
};
|
|
@@ -7165,7 +7165,7 @@ const LidoCol = class {
|
|
|
7165
7165
|
};
|
|
7166
7166
|
}
|
|
7167
7167
|
render() {
|
|
7168
|
-
return (h(Host, { key: '
|
|
7168
|
+
return (h(Host, { key: '7845d3364dd13cb42959f67610254ee892119c39', id: this.id, class: "lido-col", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, minDrops: this.minDrops, maxDrops: this.maxDrops, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, h("slot", { key: '09a68a30534c5ea83d7166acd720b4b8f23f494e' })));
|
|
7169
7169
|
}
|
|
7170
7170
|
get el() { return getElement(this); }
|
|
7171
7171
|
};
|
|
@@ -9804,7 +9804,8 @@ const en = {
|
|
|
9804
9804
|
"Do you want to exit?": "Do you want to exit?",
|
|
9805
9805
|
Exit: Exit$5,
|
|
9806
9806
|
"Continue playing": "Continue playing",
|
|
9807
|
-
"Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order"
|
|
9807
|
+
"Drop the elements to match the given symbol order": "Drop the elements to match the given symbol order",
|
|
9808
|
+
"Fill in the blanks": "Fill in the blanks"
|
|
9808
9809
|
};
|
|
9809
9810
|
|
|
9810
9811
|
const Exit$4 = "Quitter";
|
|
@@ -9812,7 +9813,8 @@ const fr = {
|
|
|
9812
9813
|
"Do you want to exit?": "Voulez-vous quitter?",
|
|
9813
9814
|
Exit: Exit$4,
|
|
9814
9815
|
"Continue playing": "Continuer à jouer",
|
|
9815
|
-
"Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné"
|
|
9816
|
+
"Drop the elements to match the given symbol order": "Déposez les éléments pour correspondre au symbole donné",
|
|
9817
|
+
"Fill in the blanks": "Remplissez les blancs"
|
|
9816
9818
|
};
|
|
9817
9819
|
|
|
9818
9820
|
const Exit$3 = "बाहर निकलें";
|
|
@@ -9820,7 +9822,8 @@ const hi = {
|
|
|
9820
9822
|
"Do you want to exit?": "क्या आप बाहर निकलना चाहते हैं?",
|
|
9821
9823
|
Exit: Exit$3,
|
|
9822
9824
|
"Continue playing": "खेलना जारी रखें",
|
|
9823
|
-
"Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें"
|
|
9825
|
+
"Drop the elements to match the given symbol order": "दिए गए चिन्ह से मिलाने के लिए तत्वों को ड्रॉप करें",
|
|
9826
|
+
"Fill in the blanks": "रिक्त स्थान भरें"
|
|
9824
9827
|
};
|
|
9825
9828
|
|
|
9826
9829
|
const Exit$2 = "ನಿರ್ಗಮಿಸು";
|
|
@@ -9828,7 +9831,8 @@ const ka = {
|
|
|
9828
9831
|
"Do you want to exit?": "ನೀವು ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?",
|
|
9829
9832
|
Exit: Exit$2,
|
|
9830
9833
|
"Continue playing": "ಆಟವನ್ನು ಮುಂದುವರಿಸಿ",
|
|
9831
|
-
"Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ"
|
|
9834
|
+
"Drop the elements to match the given symbol order": "ನೀಡಿರುವ ಸಂಕೇತಕ್ಕೆ ಹೊಂದುವಂತೆ ಅಂಶಗಳನ್ನು ಬಿಡಿ",
|
|
9835
|
+
"Fill in the blanks": "ಖಾಲಿ ಸ್ಥಳಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ"
|
|
9832
9836
|
};
|
|
9833
9837
|
|
|
9834
9838
|
const Exit$1 = "బయటకు వెళ్ళు";
|
|
@@ -9836,7 +9840,8 @@ const te = {
|
|
|
9836
9840
|
"Do you want to exit?": "మీరు బయటకు వెళ్లాలనుకుంటున్నారా?",
|
|
9837
9841
|
Exit: Exit$1,
|
|
9838
9842
|
"Continue playing": "ఆటను కొనసాగించు",
|
|
9839
|
-
"Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి"
|
|
9843
|
+
"Drop the elements to match the given symbol order": "ఇచ్చిన చిహ్నానికి సరిపడేలా అంశాలను డ్రాప్ చేయండి",
|
|
9844
|
+
"Fill in the blanks": "ఖాళీలను నింపండి"
|
|
9840
9845
|
};
|
|
9841
9846
|
|
|
9842
9847
|
const Exit = "Sair";
|
|
@@ -9844,7 +9849,8 @@ const port = {
|
|
|
9844
9849
|
"Do you want to exit?": "Você deseja sair?",
|
|
9845
9850
|
Exit: Exit,
|
|
9846
9851
|
"Continue playing": "Continuar jogando",
|
|
9847
|
-
"Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida"
|
|
9852
|
+
"Drop the elements to match the given symbol order": "Solte os elementos para corresponder à ordem dos símbolos fornecida",
|
|
9853
|
+
"Fill in the blanks": "Preencha os espaços em branco"
|
|
9848
9854
|
};
|
|
9849
9855
|
|
|
9850
9856
|
instance
|
|
@@ -9964,13 +9970,34 @@ const LidoContainer = class {
|
|
|
9964
9970
|
* @param container The container element to be scaled.
|
|
9965
9971
|
*/
|
|
9966
9972
|
scaleContainer(container) {
|
|
9973
|
+
// Calculate the scale factor based on the closest parent element's width and height (1600x900 reference)
|
|
9974
|
+
const parentElement = this.getClosestParentWithWidth();
|
|
9975
|
+
let scaleFactor = 0;
|
|
9976
|
+
if (parentElement) {
|
|
9977
|
+
const parentWidth = parentElement.clientWidth;
|
|
9978
|
+
const parentHeight = parentElement.clientHeight;
|
|
9979
|
+
const scaleX = parentWidth / 1600;
|
|
9980
|
+
const scaleY = parentHeight / 900;
|
|
9981
|
+
scaleFactor = Math.min(scaleX, scaleY);
|
|
9982
|
+
}
|
|
9967
9983
|
// Center the container and apply scaling
|
|
9968
|
-
container.style.transform = `translate(-50%, -50%) scale(${calculateScale()})`;
|
|
9984
|
+
container.style.transform = `translate(-50%, -50%) scale(${scaleFactor != 0 ? scaleFactor : calculateScale()})`;
|
|
9969
9985
|
container.style.left = '50%';
|
|
9970
9986
|
container.style.top = '50%';
|
|
9971
9987
|
container.style.position = 'absolute'; // Ensure proper positioning
|
|
9972
9988
|
this.screenOrientation();
|
|
9973
9989
|
}
|
|
9990
|
+
// Find and return the nearest parent element that has a measurable (non-zero) width
|
|
9991
|
+
getClosestParentWithWidth() {
|
|
9992
|
+
let parent = this.el.parentElement;
|
|
9993
|
+
while (parent) {
|
|
9994
|
+
if (parent.offsetWidth > 0) {
|
|
9995
|
+
return parent;
|
|
9996
|
+
}
|
|
9997
|
+
parent = parent.parentElement;
|
|
9998
|
+
}
|
|
9999
|
+
return null;
|
|
10000
|
+
}
|
|
9974
10001
|
screenOrientation() {
|
|
9975
10002
|
if (window.innerHeight > window.innerWidth) {
|
|
9976
10003
|
this.el.style.height = '1600px';
|
|
@@ -9999,6 +10026,7 @@ const LidoContainer = class {
|
|
|
9999
10026
|
componentDidLoad() {
|
|
10000
10027
|
this.scaleContainer(this.el);
|
|
10001
10028
|
const backGroundImage = this.bgImage ? convertUrlToRelative(this.bgImage) : '';
|
|
10029
|
+
document.body.style.pointerEvents = 'auto';
|
|
10002
10030
|
document.body.style.backgroundColor = this.bgColor;
|
|
10003
10031
|
document.body.style.backgroundImage = backGroundImage ? `url(${backGroundImage})` : 'none';
|
|
10004
10032
|
document.body.style.backgroundPosition = backGroundImage ? `bottom` : 'none';
|
|
@@ -10032,7 +10060,7 @@ const LidoContainer = class {
|
|
|
10032
10060
|
userSelect: 'none', // Prevent any field selection
|
|
10033
10061
|
};
|
|
10034
10062
|
console.log('🚀 ~ LidoContainer ~ canplay:', this.canplay);
|
|
10035
|
-
return (h(Host, { key: '
|
|
10063
|
+
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
10064
|
}
|
|
10037
10065
|
get el() { return getElement(this); }
|
|
10038
10066
|
static get watchers() { return {
|
|
@@ -10116,7 +10144,7 @@ const LidoFlash = class {
|
|
|
10116
10144
|
}
|
|
10117
10145
|
/* ---------- Render ---------- */
|
|
10118
10146
|
render() {
|
|
10119
|
-
return (h(Host, { key: '
|
|
10147
|
+
return (h(Host, { key: 'b8f000d4e9d04d9954f81dc7e05b109dc16cb223', value: this.value, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, type: this.type, onClick: this.handleFlip, "disable-speak": this.disableSpeak }, h("div", { key: 'cea63b67d1b6a925ab0520eaa7c5166288bcd71e', class: `card ${this.flipped ? 'flipped' : ''}` }, h("div", { key: '3517e09bb91ac4c6fb2c066539f2d4f51436938f', class: "card-face card-front" }, this.front != null ? this.front : h("slot", { name: "front" })), h("div", { key: '5a14a4ab70898852046f1128c99e5a285c1c37f7', class: "card-face card-back" }, this.back != null ? this.back : h("slot", { name: "back" })))));
|
|
10120
10148
|
}
|
|
10121
10149
|
get el() { return getElement(this); }
|
|
10122
10150
|
static get watchers() { return {
|
|
@@ -10196,7 +10224,7 @@ const LidoHomeStyle0 = indexCss;
|
|
|
10196
10224
|
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
10225
|
const LidoHomeStyle1 = animationCss;
|
|
10198
10226
|
|
|
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}";
|
|
10227
|
+
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
10228
|
const LidoHomeStyle2 = lidoHomeCss;
|
|
10201
10229
|
|
|
10202
10230
|
const LidoHome = class {
|
|
@@ -10276,7 +10304,6 @@ const LidoHome = class {
|
|
|
10276
10304
|
rightbtn.style.visibility = 'hidden';
|
|
10277
10305
|
}
|
|
10278
10306
|
else {
|
|
10279
|
-
rightbtn.style.pointerEvents = 'auto';
|
|
10280
10307
|
rightbtn.style.visibility = 'visible';
|
|
10281
10308
|
}
|
|
10282
10309
|
}, 100);
|
|
@@ -10487,6 +10514,9 @@ const LidoHome = class {
|
|
|
10487
10514
|
if (tagName === 'lido-text' && props.string) {
|
|
10488
10515
|
props.string = instance.t(props.string);
|
|
10489
10516
|
}
|
|
10517
|
+
if (tagName === 'lido-text' && props.string) {
|
|
10518
|
+
props.string = instance.t(props.string);
|
|
10519
|
+
}
|
|
10490
10520
|
// Map XML tags to Stencil components
|
|
10491
10521
|
const componentMapping = {
|
|
10492
10522
|
'lido-container': (h("lido-container", Object.assign({}, props, { canplay: this.canplay, baseUrl: this.baseUrl, height: this.height }), children)),
|
|
@@ -10536,6 +10566,16 @@ const LidoHome = class {
|
|
|
10536
10566
|
this.containers = containers;
|
|
10537
10567
|
console.log("container :::", containers);
|
|
10538
10568
|
}
|
|
10569
|
+
areAllDropsFilled() {
|
|
10570
|
+
const drops = Array.from(document.querySelectorAll('[type="drop"]'));
|
|
10571
|
+
const drags = Array.from(document.querySelectorAll('[type="drag"]')).filter(drag => drag.getAttribute('drop-to'));
|
|
10572
|
+
console.log('drops', drops);
|
|
10573
|
+
console.log('drags', drags);
|
|
10574
|
+
return drops.every(drop => {
|
|
10575
|
+
const dropId = drop.id;
|
|
10576
|
+
return drags.some(drag => drag.getAttribute('drop-to') === dropId);
|
|
10577
|
+
});
|
|
10578
|
+
}
|
|
10539
10579
|
async btnpopup() {
|
|
10540
10580
|
setCancelBtnPopup(false);
|
|
10541
10581
|
await AudioPlayer.getI().stop();
|
|
@@ -10555,6 +10595,18 @@ const LidoHome = class {
|
|
|
10555
10595
|
await new Promise(resolve => setTimeout(resolve, 300));
|
|
10556
10596
|
}
|
|
10557
10597
|
}
|
|
10598
|
+
if (this.areAllDropsFilled()) {
|
|
10599
|
+
const objectiveString = container['objective'];
|
|
10600
|
+
const objectiveArray = JSON.parse(localStorage.getItem(SelectedValuesKey) || '[]');
|
|
10601
|
+
const res = matchStringPattern(objectiveString, objectiveArray);
|
|
10602
|
+
console.log('Resultt', res);
|
|
10603
|
+
if (res) {
|
|
10604
|
+
triggerNextContainer();
|
|
10605
|
+
}
|
|
10606
|
+
}
|
|
10607
|
+
else {
|
|
10608
|
+
console.log('Not yet filled ');
|
|
10609
|
+
}
|
|
10558
10610
|
}
|
|
10559
10611
|
scaleNavbarContainer() {
|
|
10560
10612
|
setTimeout(() => {
|
|
@@ -13771,7 +13823,7 @@ const LidoMathMatrix = class {
|
|
|
13771
13823
|
render() {
|
|
13772
13824
|
let slotNumber = 1;
|
|
13773
13825
|
const slotData = this.getSlotData();
|
|
13774
|
-
return (h(Host, { key: '
|
|
13826
|
+
return (h(Host, { key: '8232965fc3fb0b298233d21d7f50412508dc2256', class: "math-matrix", style: {
|
|
13775
13827
|
height: this.style.height,
|
|
13776
13828
|
width: this.style.width,
|
|
13777
13829
|
z: this.style.z,
|
|
@@ -13854,7 +13906,7 @@ const LidoPos = class {
|
|
|
13854
13906
|
};
|
|
13855
13907
|
}
|
|
13856
13908
|
render() {
|
|
13857
|
-
return (h(Host, { key: '
|
|
13909
|
+
return (h(Host, { key: '0eea8147ee3845668e83bed01164dce740aae785', id: this.id, class: "lido-pos", type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, value: this.value, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, h("slot", { key: 'ca9378dc185eeb4d495ab3045d6b17424de908dc' })));
|
|
13858
13910
|
}
|
|
13859
13911
|
get el() { return getElement(this); }
|
|
13860
13912
|
};
|
|
@@ -13935,7 +13987,7 @@ const LidoRandom = class {
|
|
|
13935
13987
|
backgroundColor: this.bgColor,
|
|
13936
13988
|
margin: this.margin,
|
|
13937
13989
|
};
|
|
13938
|
-
return (h(Host, { key: '
|
|
13990
|
+
return (h(Host, { key: 'cc8bb9d31ff6c36201d266f5579288c92c05bf82', class: "lido-random", type: this.type, "tab-index": this.tabIndex, value: this.value, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, minDrops: this.minDrops, maxDrops: this.maxDrops, onInCorrect: this.onInCorrect, onEntry: this.onEntry }, h("slot", { key: 'd91a2403fa78320cbae40456dc0c86b44493bb5a' })));
|
|
13939
13991
|
}
|
|
13940
13992
|
get el() { return getElement(this); }
|
|
13941
13993
|
};
|
|
@@ -14093,7 +14145,7 @@ const LidoRow = class {
|
|
|
14093
14145
|
};
|
|
14094
14146
|
}
|
|
14095
14147
|
render() {
|
|
14096
|
-
return (h(Host, { key: '
|
|
14148
|
+
return (h(Host, { key: '2d2f701dda922276d2485e91f15c8912c90d7b8d', class: "lido-row", type: this.type, "tab-index": this.tabIndex, value: this.value, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, minDrops: this.minDrops, maxDrops: this.maxDrops, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }, h("slot", { key: 'b00002ecc9d5de422094beffc33ae5137b958fa3' })));
|
|
14097
14149
|
}
|
|
14098
14150
|
get el() { return getElement(this); }
|
|
14099
14151
|
};
|
|
@@ -14150,7 +14202,7 @@ const LidoShape = class {
|
|
|
14150
14202
|
backgroundColor: this.shapeType !== 'polygon' ? this.bgColor : 'transparent', // Apply background only if not a polygon
|
|
14151
14203
|
margin: this.margin,
|
|
14152
14204
|
};
|
|
14153
|
-
return (h(Host, { key: '
|
|
14205
|
+
return (h(Host, { key: '7a626d9f00854cf190c08524153086d0e9f139af', class: `lido-shape ${this.shapeType}`, value: this.value, type: this.type, "tab-index": this.tabIndex, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, "disable-speak": this.disableSpeak }));
|
|
14154
14206
|
}
|
|
14155
14207
|
get el() { return getElement(this); }
|
|
14156
14208
|
};
|
|
@@ -14525,6 +14577,7 @@ const LidoTrace = class {
|
|
|
14525
14577
|
this.fileIndex = -1;
|
|
14526
14578
|
this.isDragging = false;
|
|
14527
14579
|
this.activePointerId = null;
|
|
14580
|
+
this.freeTraceUpdateCounter = 0;
|
|
14528
14581
|
this.idleTimer = null;
|
|
14529
14582
|
this.fingerImg = null;
|
|
14530
14583
|
}
|
|
@@ -14541,8 +14594,8 @@ const LidoTrace = class {
|
|
|
14541
14594
|
circle: null,
|
|
14542
14595
|
paths: [],
|
|
14543
14596
|
svg: null,
|
|
14544
|
-
proximityThreshold:
|
|
14545
|
-
freeTraceProximityThreshold:
|
|
14597
|
+
proximityThreshold: 375, // Increased general proximity threshold (was 100)
|
|
14598
|
+
freeTraceProximityThreshold: 350, // Increased proximity for free trace (was 50)
|
|
14546
14599
|
rafId: null,
|
|
14547
14600
|
pointerMoveEvent: null,
|
|
14548
14601
|
activePointerId: null,
|
|
@@ -14878,7 +14931,7 @@ const LidoTrace = class {
|
|
|
14878
14931
|
}
|
|
14879
14932
|
// Modified handlePointerMove function
|
|
14880
14933
|
handlePointerMove(state) {
|
|
14881
|
-
var _a, _b, _c, _d;
|
|
14934
|
+
var _a, _b, _c, _d, _e, _f;
|
|
14882
14935
|
if (!state.isDragging)
|
|
14883
14936
|
return;
|
|
14884
14937
|
if (!state.circle || !state.paths || state.paths.length === 0)
|
|
@@ -14890,6 +14943,15 @@ const LidoTrace = class {
|
|
|
14890
14943
|
x: parseFloat(state.circle.getAttribute('cx')),
|
|
14891
14944
|
y: parseFloat(state.circle.getAttribute('cy')),
|
|
14892
14945
|
};
|
|
14946
|
+
// Only update if pointer moved a minimum distance (to reduce unnecessary updates)
|
|
14947
|
+
const MOVE_THRESHOLD = 1; // px
|
|
14948
|
+
if (state.lastPointerPos) {
|
|
14949
|
+
const dx = pointerPos.x - state.lastPointerPos.x;
|
|
14950
|
+
const dy = pointerPos.y - state.lastPointerPos.y;
|
|
14951
|
+
if (dx * dx + dy * dy < MOVE_THRESHOLD * MOVE_THRESHOLD) {
|
|
14952
|
+
return;
|
|
14953
|
+
}
|
|
14954
|
+
}
|
|
14893
14955
|
const currentPath = state.paths[state.currentPathIndex];
|
|
14894
14956
|
if (!currentPath) {
|
|
14895
14957
|
console.error('No valid path found at the current index');
|
|
@@ -14917,48 +14979,76 @@ const LidoTrace = class {
|
|
|
14917
14979
|
}
|
|
14918
14980
|
// For free trace mode and blind free trace mode, allow free drawing only if within the reduced proximity threshold
|
|
14919
14981
|
if (state.mode === TraceMode.FreeTrace || state.mode === TraceMode.BlindFreeTrace) {
|
|
14982
|
+
// Throttle: Only update every 2nd event (for reducing excessive dom updates)
|
|
14983
|
+
this.freeTraceUpdateCounter = (this.freeTraceUpdateCounter || 0) + 1;
|
|
14984
|
+
if (this.freeTraceUpdateCounter % 2 !== 0) {
|
|
14985
|
+
return;
|
|
14986
|
+
}
|
|
14920
14987
|
// Initialize the currentFreePath array if it's not created
|
|
14921
14988
|
if (!state.currentFreePath) {
|
|
14922
14989
|
state.currentFreePath = [];
|
|
14923
14990
|
}
|
|
14924
|
-
// Create a new
|
|
14991
|
+
// Create a new polyline element if it's the first trace for the current path index
|
|
14925
14992
|
if (!state.currentFreePath[state.currentPathIndex]) {
|
|
14926
|
-
const
|
|
14927
|
-
// newPath.setAttribute('stroke', 'green');
|
|
14993
|
+
const newPolyline = document.createElementNS('http://www.w3.org/2000/svg', 'polyline');
|
|
14928
14994
|
const strokeWidth = state.paths[state.currentPathIndex].style['stroke-width'] || state.paths[state.currentPathIndex].getAttribute('stroke-width');
|
|
14929
|
-
|
|
14930
|
-
|
|
14931
|
-
|
|
14932
|
-
|
|
14933
|
-
|
|
14934
|
-
|
|
14935
|
-
|
|
14936
|
-
|
|
14995
|
+
newPolyline.setAttribute('stroke-width', strokeWidth);
|
|
14996
|
+
newPolyline.setAttribute('fill', 'none');
|
|
14997
|
+
newPolyline.setAttribute('stroke-linecap', 'round');
|
|
14998
|
+
newPolyline.setAttribute('stroke', 'lightgreen');
|
|
14999
|
+
newPolyline.setAttribute('points', `${pointerPos.x},${pointerPos.y}`);
|
|
15000
|
+
(_a = state.svg) === null || _a === void 0 ? void 0 : _a.appendChild(newPolyline);
|
|
15001
|
+
state.currentFreePath[state.currentPathIndex] = newPolyline;
|
|
15002
|
+
// Store points array for this polyline
|
|
15003
|
+
state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
|
|
15004
|
+
state.currentFreePolylinePoints[state.currentPathIndex] = [
|
|
15005
|
+
{ x: pointerPos.x, y: pointerPos.y }
|
|
15006
|
+
];
|
|
14937
15007
|
// Reset lastPointerPos for the new path
|
|
14938
15008
|
state.lastPointerPos = pointerPos;
|
|
15009
|
+
// Add a points counter to limit path growth
|
|
15010
|
+
state.freeTracePointsCount = 1;
|
|
15011
|
+
}
|
|
15012
|
+
// Limit the number of points in the free trace path for performance
|
|
15013
|
+
const MAX_FREE_TRACE_POINTS = 10;
|
|
15014
|
+
state.freeTracePointsCount = (state.freeTracePointsCount || 1) + 1;
|
|
15015
|
+
if (state.freeTracePointsCount > MAX_FREE_TRACE_POINTS) {
|
|
15016
|
+
// If limit reached, skip adding more points
|
|
15017
|
+
return;
|
|
14939
15018
|
}
|
|
14940
|
-
//
|
|
14941
|
-
|
|
14942
|
-
|
|
14943
|
-
|
|
14944
|
-
|
|
14945
|
-
|
|
14946
|
-
const
|
|
14947
|
-
|
|
14948
|
-
state.currentFreePath[state.currentPathIndex].setAttribute('d', updatedPathData);
|
|
15019
|
+
// Add the new point to the polyline's points array
|
|
15020
|
+
state.currentFreePolylinePoints = state.currentFreePolylinePoints || [];
|
|
15021
|
+
let pointsArr = state.currentFreePolylinePoints[state.currentPathIndex] || [];
|
|
15022
|
+
pointsArr.push({ x: pointerPos.x, y: pointerPos.y });
|
|
15023
|
+
state.currentFreePolylinePoints[state.currentPathIndex] = pointsArr;
|
|
15024
|
+
// Update the polyline's points attribute
|
|
15025
|
+
const pointsStr = pointsArr.map(pt => `${pt.x},${pt.y}`).join(' ');
|
|
15026
|
+
state.currentFreePath[state.currentPathIndex].setAttribute('points', pointsStr);
|
|
14949
15027
|
// Move the draggable circle with the freehand trace
|
|
14950
15028
|
state.circle.setAttribute('cx', pointerPos.x.toString());
|
|
14951
15029
|
state.circle.setAttribute('cy', pointerPos.y.toString());
|
|
14952
|
-
//
|
|
14953
|
-
(_b = state.svg) === null || _b === void 0 ? void 0 : _b.
|
|
15030
|
+
// Only re-append if not already children list
|
|
15031
|
+
const childNodes = (_b = state.svg) === null || _b === void 0 ? void 0 : _b.childNodes;
|
|
15032
|
+
let circleFound = false;
|
|
15033
|
+
for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
|
|
15034
|
+
const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
|
|
15035
|
+
if (child && child.tagName === 'circle') {
|
|
15036
|
+
circleFound = true;
|
|
15037
|
+
break; // No need to continue once found
|
|
15038
|
+
}
|
|
15039
|
+
}
|
|
15040
|
+
// If not found, append the circle
|
|
15041
|
+
if (!circleFound && state.circle) {
|
|
15042
|
+
(_c = state.svg) === null || _c === void 0 ? void 0 : _c.appendChild(state.circle);
|
|
15043
|
+
}
|
|
14954
15044
|
// Update the last pointer position
|
|
14955
15045
|
state.lastPointerPos = pointerPos;
|
|
14956
|
-
|
|
14957
|
-
|
|
14958
|
-
// If close to the end of the path, move to the next path
|
|
14959
|
-
if (distanceToEnd < 5) {
|
|
15046
|
+
// For polyline, estimate the end by number of points (not path length)
|
|
15047
|
+
if (pointsArr.length >= MAX_FREE_TRACE_POINTS) {
|
|
14960
15048
|
this.moveToNextPath(state);
|
|
14961
15049
|
state.currentFreePath[state.currentPathIndex] = null; // Reset free path for next path
|
|
15050
|
+
state.currentFreePolylinePoints[state.currentPathIndex] = [];
|
|
15051
|
+
state.freeTracePointsCount = 0;
|
|
14962
15052
|
}
|
|
14963
15053
|
// this.resetIdleTimer(state); // ← keep timer alive
|
|
14964
15054
|
return; // Exit early since we're in free trace or blind free trace mode
|
|
@@ -14966,24 +15056,57 @@ const LidoTrace = class {
|
|
|
14966
15056
|
// In normal modes, allow movement and drawing only within the general proximity threshold
|
|
14967
15057
|
if (state.isDragging && closestPoint.length >= state.lastLength) {
|
|
14968
15058
|
state.lastLength = closestPoint.length;
|
|
14969
|
-
|
|
14970
|
-
|
|
14971
|
-
|
|
14972
|
-
|
|
14973
|
-
|
|
14974
|
-
|
|
14975
|
-
|
|
14976
|
-
|
|
14977
|
-
|
|
14978
|
-
|
|
14979
|
-
|
|
14980
|
-
|
|
14981
|
-
|
|
15059
|
+
// Only update the circle if it moved enough
|
|
15060
|
+
if (Math.abs(closestPoint.x - circlePos.x) > MOVE_THRESHOLD || Math.abs(closestPoint.y - circlePos.y) > MOVE_THRESHOLD) {
|
|
15061
|
+
state.circle.setAttribute('cx', closestPoint.x.toString());
|
|
15062
|
+
state.circle.setAttribute('cy', closestPoint.y.toString());
|
|
15063
|
+
}
|
|
15064
|
+
// Only re-append if not already children list
|
|
15065
|
+
const childNodes = (_d = state.svg) === null || _d === void 0 ? void 0 : _d.childNodes;
|
|
15066
|
+
let circleFound = false;
|
|
15067
|
+
for (let i = 0; i < ((childNodes === null || childNodes === void 0 ? void 0 : childNodes.length) || 0); i++) {
|
|
15068
|
+
const child = childNodes === null || childNodes === void 0 ? void 0 : childNodes.item(i);
|
|
15069
|
+
if (child && child.tagName === 'circle') {
|
|
15070
|
+
circleFound = true;
|
|
15071
|
+
break; // No need to continue once found
|
|
15072
|
+
}
|
|
15073
|
+
}
|
|
15074
|
+
// If not found, append the circle
|
|
15075
|
+
if (!circleFound && state.circle) {
|
|
15076
|
+
(_e = state.svg) === null || _e === void 0 ? void 0 : _e.appendChild(state.circle);
|
|
15077
|
+
}
|
|
15078
|
+
(_f = currentPath.greenPath) === null || _f === void 0 ? void 0 : _f.setAttribute('stroke-dashoffset', (state.totalPathLength - state.lastLength).toString());
|
|
15079
|
+
// Completion logic for closed paths: only allow completion if almost all points are traced
|
|
15080
|
+
const COMPLETION_THRESHOLD = 0.90; // 90% of the path must be traced
|
|
15081
|
+
let percentComplete = state.lastLength / state.totalPathLength;
|
|
15082
|
+
let startPoint = currentPath.getPointAtLength(0);
|
|
15083
|
+
let endPoint = currentPath.getPointAtLength(currentPath.getTotalLength());
|
|
15084
|
+
let pathIsClosed = this.getDistanceSquared(startPoint, endPoint) < 200; // threshold for overlap
|
|
15085
|
+
if (pathIsClosed && state.totalPathLength > 50) {
|
|
15086
|
+
if (percentComplete >= COMPLETION_THRESHOLD) {
|
|
15087
|
+
if (state.currentPathIndex < state.paths.length - 1) {
|
|
15088
|
+
this.moveToNextPath(state);
|
|
15089
|
+
}
|
|
15090
|
+
else if (state.currentPathIndex === state.paths.length - 1) {
|
|
15091
|
+
this.moveToNextContainer();
|
|
15092
|
+
}
|
|
15093
|
+
}
|
|
15094
|
+
}
|
|
15095
|
+
else {
|
|
15096
|
+
// For open paths, allow completion if near the end
|
|
15097
|
+
if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex < state.paths.length - 1) {
|
|
15098
|
+
this.moveToNextPath(state);
|
|
15099
|
+
}
|
|
15100
|
+
else if (state.totalPathLength - 1 - state.lastLength < 5 && state.currentPathIndex === state.paths.length - 1) {
|
|
15101
|
+
this.moveToNextContainer();
|
|
15102
|
+
}
|
|
15103
|
+
}
|
|
14982
15104
|
}
|
|
14983
15105
|
// this.resetIdleTimer(state); // ← keep timer alive
|
|
14984
15106
|
}
|
|
14985
15107
|
// Move to the next container after completing the current SVG
|
|
14986
15108
|
async moveToNextContainer() {
|
|
15109
|
+
this.isDragging = false;
|
|
14987
15110
|
if (this.moving)
|
|
14988
15111
|
return; // Prevent multiple calls
|
|
14989
15112
|
this.moving = true; // Set moving to true to prevent re-entrance
|
|
@@ -15002,9 +15125,12 @@ const LidoTrace = class {
|
|
|
15002
15125
|
this.moving = false;
|
|
15003
15126
|
return;
|
|
15004
15127
|
}
|
|
15128
|
+
console.log('onCorrect:', this.onCorrect);
|
|
15129
|
+
console.log('el :', this.el);
|
|
15005
15130
|
if (this.el && this.onCorrect) {
|
|
15006
15131
|
await executeActions(this.onCorrect, this.el);
|
|
15007
15132
|
}
|
|
15133
|
+
console.log('All SVGs completed, hiding component.');
|
|
15008
15134
|
triggerNextContainer();
|
|
15009
15135
|
}
|
|
15010
15136
|
// Get the pointer position relative to the SVG
|
|
@@ -15022,13 +15148,13 @@ const LidoTrace = class {
|
|
|
15022
15148
|
const dy = p1.y - p2.y;
|
|
15023
15149
|
return dx * dx + dy * dy;
|
|
15024
15150
|
}
|
|
15025
|
-
// Find the closest point on the given path to the specified point using two-pass sampling
|
|
15151
|
+
// Find the closest point on the given path to the specified point using two-pass sampling (optimized)
|
|
15026
15152
|
getClosestPointOnPath(pathNode, point) {
|
|
15027
15153
|
const pathLength = pathNode.getTotalLength();
|
|
15028
15154
|
let closestPoint = { x: 0, y: 0, length: 0 };
|
|
15029
15155
|
let minDistanceSquared = Infinity;
|
|
15030
|
-
//
|
|
15031
|
-
const coarseStep =
|
|
15156
|
+
// Optimized: Increase coarse steps for better performance
|
|
15157
|
+
const coarseStep = 40; // was 20
|
|
15032
15158
|
let coarseClosestPoint = { x: 0, y: 0, length: 0 };
|
|
15033
15159
|
let coarseMinDistanceSquared = Infinity;
|
|
15034
15160
|
for (let i = 0; i <= pathLength; i += coarseStep) {
|
|
@@ -15044,7 +15170,7 @@ const LidoTrace = class {
|
|
|
15044
15170
|
}
|
|
15045
15171
|
}
|
|
15046
15172
|
// Second pass: fine sampling around coarseClosestPoint
|
|
15047
|
-
const fineStep =
|
|
15173
|
+
const fineStep = 6; // was 2
|
|
15048
15174
|
const searchStart = Math.max(coarseClosestPoint.length - coarseStep, 0);
|
|
15049
15175
|
const searchEnd = Math.min(coarseClosestPoint.length + coarseStep, pathLength);
|
|
15050
15176
|
for (let i = searchStart; i <= searchEnd; i += fineStep) {
|
|
@@ -15204,7 +15330,7 @@ const LidoTrace = class {
|
|
|
15204
15330
|
};
|
|
15205
15331
|
}
|
|
15206
15332
|
render() {
|
|
15207
|
-
return (h(Host, { key: '
|
|
15333
|
+
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
15334
|
}
|
|
15209
15335
|
static get assetsDirs() { return ["svg", "images"]; }
|
|
15210
15336
|
get el() { return getElement(this); }
|
|
@@ -15292,10 +15418,10 @@ const LidoWrap = class {
|
|
|
15292
15418
|
};
|
|
15293
15419
|
}
|
|
15294
15420
|
render() {
|
|
15295
|
-
return (h(Host, { key: '
|
|
15421
|
+
return (h(Host, { key: '50bc5770105477d0ef7cb080957c8d00198c8b09', class: "lido-wrap", value: this.value, type: this.type, "tab-index": this.tabIndex, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, audio: this.audio, minDrops: this.minDrops, maxDrops: this.maxDrops, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, disableSpeak: this.disableSpeak }, h("slot", { key: 'fcd1f5801e34171d1925e39f6c543f229a5d42bd' })));
|
|
15296
15422
|
}
|
|
15297
15423
|
get el() { return getElement(this); }
|
|
15298
15424
|
};
|
|
15299
15425
|
LidoWrap.style = LidoWrapStyle0;
|
|
15300
15426
|
|
|
15301
|
-
export { LidoAvatar as lido_avatar, LidoBalance as lido_balance, LidoCalculator as lido_calculator,
|
|
15427
|
+
export { LidoAvatar as lido_avatar, LidoBalance as lido_balance, LidoCalculator as lido_calculator, LidoCanvas as lido_canvas, LidoCell as lido_cell, LidoCol as lido_col, LidoContainer as lido_container, LidoFlash as lido_flash_card, LidoFloat as lido_float, LidoHome as lido_home, LidoImage as lido_image, LidoKeyboard as lido_keyboard, LidoMathMatrix as lido_math_matrix, LidoPos as lido_pos, LidoRandom as lido_random, LidoRoot as lido_root, LidoRow as lido_row, LidoShape as lido_shape, LidoSlideFill as lido_slide_fill, LidoText as lido_text, LidoTrace as lido_trace, LidoWrap as lido_wrap };
|