lido-player 0.0.2-beta-15 → 0.0.2-beta-16-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 (73) hide show
  1. package/dist/cjs/{decode-xNTgi2vl.js → decode-C08Ujimj.js} +1 -1
  2. package/dist/cjs/{index-BFTVvr1n.js → index-BkBqiwe8.js} +134 -8
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/lido-avatar_22.cjs.entry.js +52 -29
  5. package/dist/cjs/lido-player.cjs.js +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/calculator/lido-calculator.css +12 -12
  8. package/dist/collection/components/canvas/lido-canvas.css +32 -32
  9. package/dist/collection/components/canvas/lido-canvas.js +1 -1
  10. package/dist/collection/components/cell/lido-cell.js +1 -1
  11. package/dist/collection/components/column/lido-col.js +1 -1
  12. package/dist/collection/components/container/lido-container.js +2 -2
  13. package/dist/collection/components/float/lido-float.js +1 -1
  14. package/dist/collection/components/position/lido-pos.js +1 -1
  15. package/dist/collection/components/row/lido-row.js +1 -1
  16. package/dist/collection/components/slideFill/lido-slide-fill.js +1 -1
  17. package/dist/collection/components/text/lido-text.js +25 -1
  18. package/dist/collection/components/wrap/lido-wrap.js +1 -1
  19. package/dist/collection/utils/constants.js +1 -0
  20. package/dist/collection/utils/utils.js +4 -0
  21. package/dist/collection/utils/utilsHandlers/animationHandler.js +20 -9
  22. package/dist/collection/utils/utilsHandlers/moveHandler.js +111 -0
  23. package/dist/components/index.js +1 -1
  24. package/dist/components/lido-calculator.js +1 -1
  25. package/dist/components/lido-canvas.js +1 -1
  26. package/dist/components/lido-cell.js +1 -1
  27. package/dist/components/lido-col.js +1 -1
  28. package/dist/components/lido-container.js +1 -1
  29. package/dist/components/lido-float.js +1 -1
  30. package/dist/components/lido-home.js +1 -1
  31. package/dist/components/lido-image.js +1 -1
  32. package/dist/components/lido-keyboard.js +1 -1
  33. package/dist/components/lido-pos.js +1 -1
  34. package/dist/components/lido-root.js +1 -1
  35. package/dist/components/lido-row.js +1 -1
  36. package/dist/components/lido-slide-fill.js +1 -1
  37. package/dist/components/lido-text.js +1 -1
  38. package/dist/components/lido-wrap.js +1 -1
  39. package/dist/components/{p-kmKkLN_7.js → p-BE25wHoo.js} +1 -1
  40. package/dist/components/p-BfwUqpXc.js +1 -0
  41. package/dist/components/{p-CDhOF-lb.js → p-Bw-OC9iR.js} +1 -1
  42. package/dist/components/{p-DVn4BL1l.js → p-C2p0KZh4.js} +1 -1
  43. package/dist/components/p-C5jvgiPE.js +1 -0
  44. package/dist/components/{p-CFNRhdZZ.js → p-CPYnt0P-.js} +1 -1
  45. package/dist/components/{p-B8USa8EO.js → p-CS6iRQJh.js} +1 -1
  46. package/dist/components/{p-DflRPD3L.js → p-CyGxEcn7.js} +1 -1
  47. package/dist/components/{p-BP79Al--.js → p-D-IYWSAa.js} +1 -1
  48. package/dist/components/{p-CbZUFX8q.js → p-DGvzMlyn.js} +2 -2
  49. package/dist/components/p-DbR5sNOj.js +1 -0
  50. package/dist/components/{p-D2RiLzSu.js → p-Sl9R-E6h.js} +1 -1
  51. package/dist/components/p-Uluc7jQ7.js +1 -0
  52. package/dist/components/{p-CLX-8DBk.js → p-useuhkjH.js} +1 -1
  53. package/dist/esm/{decode-DyBLrL5N.js → decode-CGJIPA4t.js} +1 -1
  54. package/dist/esm/{index-B7s7KKj1.js → index-C854B63S.js} +134 -8
  55. package/dist/esm/index.js +1 -1
  56. package/dist/esm/lido-avatar_22.entry.js +52 -29
  57. package/dist/esm/lido-player.js +1 -1
  58. package/dist/esm/loader.js +1 -1
  59. package/dist/lido-player/index.esm.js +1 -1
  60. package/dist/lido-player/lido-player.esm.js +1 -1
  61. package/dist/lido-player/{p-Detap4vV.js → p-Bg5mBsd9.js} +1 -1
  62. package/dist/lido-player/p-C4OTDhbr.js +1 -0
  63. package/dist/lido-player/{p-05fff653.entry.js → p-f0e333c6.entry.js} +2 -2
  64. package/dist/types/components/text/lido-text.d.ts +4 -0
  65. package/dist/types/components.d.ts +11 -0
  66. package/dist/types/utils/constants.d.ts +1 -0
  67. package/dist/types/utils/utilsHandlers/moveHandler.d.ts +1 -0
  68. package/package.json +1 -1
  69. package/dist/components/p-BJ4H1UxZ.js +0 -1
  70. package/dist/components/p-BiNO9454.js +0 -1
  71. package/dist/components/p-DH6lvh19.js +0 -1
  72. package/dist/components/p-DbDgJi-A.js +0 -1
  73. package/dist/lido-player/p-CofY42mG.js +0 -1
@@ -0,0 +1 @@
1
+ import{t,p as i,H as e,k as s,i as o,u as a,v as l,a as d,h as n,b as h}from"./index.js";const r=i(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.id="",this.value="",this.z="0",this.tabIndex=0,this.visible=!1,this.onEntry="",this.delayVisible="",this.floatDirection="bottomToTop",this.handleWindowResize=()=>this.updateStyles(),this.handleWindowLoad=()=>this.updateStyles()}componentDidLoad(){s(this.el,this.delayVisible),o(this.el,this.type),this.initializeFloatElement()}componentWillLoad(){this.updateStyles(),window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad)}disconnectedCallback(){window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad)}initializeFloatElement(){let t=0;Array.from(this.el.children).forEach((i=>{const e=i;e.style.visibility="hidden",setTimeout((()=>{e.style.visibility="visible",a(e)}),t),t+=1e3,i.addEventListener("click",(()=>{l(e)}))}))}updateStyles(){const t=window.innerHeight>window.innerWidth?"portrait":"landscape";this.style={height:"leftToRight"!==this.floatDirection?"100%":d(this.height,t),width:"leftToRight"===this.floatDirection?"100%":d(this.width,t),backgroundColor:d(this.bgColor,t),zIndex:this.z,display:this.visible?"flex":"none"}}render(){return n(h,{key:"c461f1142dd6addd9ceb41ade183b044b875681f",class:"lido-float","float-direction":this.floatDirection,id:this.id,"tab-index":this.tabIndex,style:this.style,onEntry:this.onEntry},n("slot",{key:"240439bfda6a9e4e2d67e6ae2b5c878d99e632b3"}))}get el(){return this}static get style(){return".lido-float{position:relative}.lido-float>*{position:absolute;cursor:pointer}@keyframes float-up{from{top:var(--el-top)}to{top:-500px}}#removeShadow{box-shadow:unset !important}@keyframes float-lr{from{right:var(--el-left)}to{right:-500px}}"}},[260,"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]}]);function c(){"undefined"!=typeof customElements&&["lido-float"].forEach((i=>{"lido-float"===i&&(customElements.get(t(i))||customElements.define(t(i),r))}))}c();export{r as L,c as d}
@@ -1 +1 @@
1
- import{t as i,p as t,H as s,c as e,k as n,i as h,a as l,z as a,h as o,b as r}from"./index.js";const d=t(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.id="lido-slide-fill",this.padding="",this.borderRadius="0px",this.numberType="integer",this.min=0,this.division=5,this.max=10,this.type="",this.onEntry="",this.svgContent="",this.handleWindowResize=()=>this.updateStyles(),this.handleWindowLoad=()=>this.updateStyles(),this.delayVisible="",this.disableSpeak=!1,this.originalHeight=null,this.originalY=null}async componentWillLoad(){await this.renderSVG(),this.updateStyles(),window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad)}disconnectedCallback(){window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad)}async onSrcChange(){await this.renderSVG(),this.onPropChange()}async renderSVG(){const i=await fetch(e(this.src));if(i.ok){let t=await i.text(),s=0;t=t.replace(/<path([^>]*)>/g,((i,t)=>(s++,`<path id="${1===s?"glassPath":2===s?"rulerPath":`path${s}`}"${t}>`))),t=t.replace(/<svg([^>]*)>/,'<svg class="lido-slide-svg"$1>\n \n <clipPath id="clipGlass">\n <use xlink:href="#glassPath" />\n </clipPath>\n \n '),t=t.replace(/<rect([^>]*)\/?>/,'<rect id="fillArea" $1 clip-path="url(#clipGlass)" />'),this.svgContent=t}}componentDidLoad(){n(this.el,this.delayVisible),h(this.el,this.type),this.updateFill(),this.addRulerNumbers()}updateStyles(){const i=window.innerHeight>window.innerWidth?"portrait":"landscape";this.style={height:l(this.height,i),width:l(this.width,i),backgroundColor:l(this.bgColor,i),top:l(this.y,i),left:l(this.x,i),zIndex:this.z,display:l(`${this.visible}`,i)?"flex":"none",alignItems:"center",justifyContent:"center",margin:l(this.margin,i),padding:l(this.padding,i),borderRadius:this.borderRadius}}onPropChange(){this.updateFill(),this.addRulerNumbers()}updateFill(){var i;const t=null===(i=this.el.querySelector(".lido-svg-element"))||void 0===i?void 0:i.querySelector("svg");if(!t)return;const s=t.querySelector("#fillArea");if(!s)return;const e=this.fillDirection;let n,h;"vertical"===this.fillDirection?(null!==this.originalHeight&&null!==this.originalY||(this.originalHeight=+s.getAttribute("height")||100,this.originalY=+s.getAttribute("y")||0),n=this.originalHeight,h=this.originalY):(null!==this.originalHeight&&null!==this.originalY||(this.originalHeight=+s.getAttribute("width")||100,this.originalY=+s.getAttribute("x")||0),n=this.originalHeight,h=this.originalY);const l=n,a=h;let o=0;if("string"==typeof this.fill){const i=this.fill.match(/^(\d+(?:\.\d+)?)%$/);if(i)o=Math.min(Math.max(parseFloat(i[1])/100,0),1);else{const i=this.fill.match(/^(\d+(?:\.\d+)?)$/);i&&(o=Math.min(Math.max(parseFloat(i[1])/100,0),1))}}const r=l*o,d="vertical"===e?a+(l-r):a;"vertical"===e?(s.setAttribute("height",r.toString()),s.setAttribute("y",d.toString())):(s.setAttribute("width",r.toString()),s.setAttribute("x","0"))}addRulerNumbers(){var i;const t=null===(i=this.el.querySelector(".lido-svg-element"))||void 0===i?void 0:i.querySelector("svg");if(!t)return;const s=t.querySelector("#rulerPath");if(!s)return;t.querySelectorAll(".ruler-number").forEach((i=>i.remove()));const e=this.division,n=e+1,h=s.getTotalLength(),l=(this.max-this.min)/e;for(let i=0;i<n;i++){let n=0;"vertical"===this.fillDirection?n=this.max-i*l:"horizontal"===this.fillDirection&&(n=this.min+i*l);const o=s.getPointAtLength(h/e*i),r=document.createElementNS("http://www.w3.org/2000/svg","text"),d=a(n/this.max);n="integer"===this.numberType?Math.round(n):"decimal"===this.numberType?parseFloat(n.toFixed(1)):d.toFraction(!0),r.classList.add("ruler-number"),r.setAttribute("x",o.x.toString()),r.setAttribute("y",(o.y+15).toString()),r.setAttribute("text-anchor","end"),r.setAttribute("font-size","40"),r.setAttribute("fill","#333"),r.textContent=n.toString(),t.appendChild(r)}}render(){return o(r,{key:"1293c37a88f56ed8a66355d8eff64ce6bc932d00",id:this.id,class:"lido-slide-fill",src:this.src,fill:this.fill,fillDirection:this.fillDirection,slider:this.slider,style:this.style,min:this.min,max:this.max,division:this.division,numberType:this.numberType,onEntry:this.onEntry,type:this.type,"disable-speak":this.disableSpeak},o("div",{key:"4a6ad5d37c061fa057af4633acca3efee6a1439a",innerHTML:this.svgContent,class:"lido-svg-element"}))}get el(){return this}static get watchers(){return{src:[{onSrcChange:0}],fill:[{onPropChange:0}],division:[{onPropChange:0}],fillDirection:[{onPropChange:0}],numberType:[{onPropChange:0}],min:[{onPropChange:0}],max:[{onPropChange:0}]}}static get style(){return".lido-svg-element,.lido-slide-svg{width:100%;height:100%}"}},[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]},void 0,{src:[{onSrcChange:0}],fill:[{onPropChange:0}],division:[{onPropChange:0}],fillDirection:[{onPropChange:0}],numberType:[{onPropChange:0}],min:[{onPropChange:0}],max:[{onPropChange:0}]}]);function c(){"undefined"!=typeof customElements&&["lido-slide-fill"].forEach((t=>{"lido-slide-fill"===t&&(customElements.get(i(t))||customElements.define(i(t),d))}))}c();export{d as L,c as d}
1
+ import{t as i,p as t,H as s,c as e,k as n,i as h,a as l,z as o,h as a,b as r}from"./index.js";const d=t(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.id="lido-slide-fill",this.padding="",this.borderRadius="0px",this.numberType="integer",this.min=0,this.division=5,this.max=10,this.type="",this.onEntry="",this.svgContent="",this.handleWindowResize=()=>this.updateStyles(),this.handleWindowLoad=()=>this.updateStyles(),this.delayVisible="",this.disableSpeak=!1,this.originalHeight=null,this.originalY=null}async componentWillLoad(){await this.renderSVG(),this.updateStyles(),window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad)}disconnectedCallback(){window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad)}async onSrcChange(){await this.renderSVG(),this.onPropChange()}async renderSVG(){const i=await fetch(e(this.src));if(i.ok){let t=await i.text(),s=0;t=t.replace(/<path([^>]*)>/g,((i,t)=>(s++,`<path id="${1===s?"glassPath":2===s?"rulerPath":`path${s}`}"${t}>`))),t=t.replace(/<svg([^>]*)>/,'<svg class="lido-slide-svg"$1>\n \n <clipPath id="clipGlass">\n <use xlink:href="#glassPath" />\n </clipPath>\n \n '),t=t.replace(/<rect([^>]*)\/?>/,'<rect id="fillArea" $1 clip-path="url(#clipGlass)" />'),this.svgContent=t}}componentDidLoad(){n(this.el,this.delayVisible),h(this.el,this.type),this.updateFill(),this.addRulerNumbers()}updateStyles(){const i=window.innerHeight>window.innerWidth?"portrait":"landscape";this.style={height:l(this.height,i),width:l(this.width,i),backgroundColor:l(this.bgColor,i),top:l(this.y,i),left:l(this.x,i),zIndex:this.z,display:l(`${this.visible}`,i)?"flex":"none",alignItems:"center",justifyContent:"center",margin:l(this.margin,i),padding:l(this.padding,i),borderRadius:this.borderRadius}}onPropChange(){this.updateFill(),this.addRulerNumbers()}updateFill(){var i;const t=null===(i=this.el.querySelector(".lido-svg-element"))||void 0===i?void 0:i.querySelector("svg");if(!t)return;const s=t.querySelector("#fillArea");if(!s)return;const e=this.fillDirection;let n,h;"vertical"===this.fillDirection?(null!==this.originalHeight&&null!==this.originalY||(this.originalHeight=+s.getAttribute("height")||100,this.originalY=+s.getAttribute("y")||0),n=this.originalHeight,h=this.originalY):(null!==this.originalHeight&&null!==this.originalY||(this.originalHeight=+s.getAttribute("width")||100,this.originalY=+s.getAttribute("x")||0),n=this.originalHeight,h=this.originalY);const l=n,o=h;let a=0;if("string"==typeof this.fill){const i=this.fill.match(/^(\d+(?:\.\d+)?)%$/);if(i)a=Math.min(Math.max(parseFloat(i[1])/100,0),1);else{const i=this.fill.match(/^(\d+(?:\.\d+)?)$/);i&&(a=Math.min(Math.max(parseFloat(i[1])/100,0),1))}}const r=l*a,d="vertical"===e?o+(l-r):o;"vertical"===e?(s.setAttribute("height",r.toString()),s.setAttribute("y",d.toString())):(s.setAttribute("width",r.toString()),s.setAttribute("x","0"))}addRulerNumbers(){var i;const t=null===(i=this.el.querySelector(".lido-svg-element"))||void 0===i?void 0:i.querySelector("svg");if(!t)return;const s=t.querySelector("#rulerPath");if(!s)return;t.querySelectorAll(".ruler-number").forEach((i=>i.remove()));const e=this.division,n=e+1,h=s.getTotalLength(),l=(this.max-this.min)/e;for(let i=0;i<n;i++){let n=0;"vertical"===this.fillDirection?n=this.max-i*l:"horizontal"===this.fillDirection&&(n=this.min+i*l);const a=s.getPointAtLength(h/e*i),r=document.createElementNS("http://www.w3.org/2000/svg","text"),d=o(n/this.max);n="integer"===this.numberType?Math.round(n):"decimal"===this.numberType?parseFloat(n.toFixed(1)):d.toFraction(!0),r.classList.add("ruler-number"),r.setAttribute("x",a.x.toString()),r.setAttribute("y",(a.y+15).toString()),r.setAttribute("text-anchor","end"),r.setAttribute("font-size","40"),r.setAttribute("fill","#333"),r.textContent=n.toString(),t.appendChild(r)}}render(){return a(r,{key:"a19d35ba055a5ed9ab38adb02f37c9cb634c272d",id:this.id,class:"lido-slide-fill",src:this.src,fill:this.fill,fillDirection:this.fillDirection,slider:this.slider,style:this.style,min:this.min,max:this.max,division:this.division,numberType:this.numberType,onEntry:this.onEntry,type:this.type,"disable-speak":this.disableSpeak},a("div",{key:"987f42b3c213f570714b2ddf600243e83c3b12ad",innerHTML:this.svgContent,class:"lido-svg-element"}))}get el(){return this}static get watchers(){return{src:[{onSrcChange:0}],fill:[{onPropChange:0}],division:[{onPropChange:0}],fillDirection:[{onPropChange:0}],numberType:[{onPropChange:0}],min:[{onPropChange:0}],max:[{onPropChange:0}]}}static get style(){return".lido-svg-element,.lido-slide-svg{width:100%;height:100%}"}},[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]},void 0,{src:[{onSrcChange:0}],fill:[{onPropChange:0}],division:[{onPropChange:0}],fillDirection:[{onPropChange:0}],numberType:[{onPropChange:0}],min:[{onPropChange:0}],max:[{onPropChange:0}]}]);function c(){"undefined"!=typeof customElements&&["lido-slide-fill"].forEach((t=>{"lido-slide-fill"===t&&(customElements.get(i(t))||customElements.define(i(t),d))}))}c();export{d as L,c as d}
@@ -0,0 +1 @@
1
+ import{t,p as e,H as i,L as a,T as o,n,c as r,i as s,o as l,q as u,h,b as d,r as c}from"./index.js";import{d as g,i as m}from"./p-C2p0KZh4.js";const p=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.Lang="",this.showDropBorder=!0,this.appendToDropOnCompletion=!1,this.id="",this.objective="",this.customStyle="",this.value="",this.height="auto",this.width="auto",this.ariaLabel="auto",this.ariaHidden="",this.x="0px",this.y="0px",this.z="0",this.bgColor="",this.bgImage="",this.type="",this.tabIndex=0,this.visible=!1,this.audio="",this.onTouch="",this.onInCorrect="",this.onCorrect="",this.onEntry="",this.canplay=!0,this.showCheck=!1,this.isContinueOnCorrect=!1,this.isAllowOnlyCorrect=!1,this.baseUrl="",this.margin="",this.showPrevButton="false",this.showNextButton="false",this.delayVisible="",this.disableSpeak=!1,this.templateId="",this.highlightWordByWord=!1,this.instructName="",this.speakFlag=!1,this.handleWindowResize=()=>this.scaleContainer(this.el),this.handleWindowLoad=()=>this.scaleContainer(this.el)}cleanupInteractionHandlers(){this.el.querySelectorAll('[type="drag"], [type="slide"], [move="true"]').forEach((t=>{t.dispatchEvent(new Event(a))}))}languageChanged(t){const e=t||this.resolveLanguage();this.updateChildTextLanguage(e)}componentWillLoad(){const t=this.resolveLanguage();this.updateChildTextLanguage(t),this.resolveInstructionAudio()}resolveInstructionAudio(){var t;this.instructName=null!==(t={flashcard:"instruction.flashcards",mcq:"instruction.mcq",tracing:"instruction.tracing",dragAndDrop:"instruction.dragAndDrop",arrangeLetters:"arrangeLetters",balancing:"balancing",balloonPop:"balloonPop",blender:"blender",bubbleType:"bubbleType",calculator:"calculator",categorize:"categorize",checkerBlocks:"checkerBlocks",createSentence:"createSentence",fillAnswer:"fillAnswer",fillBlank:"fillBlank",fillUp:"fillUp",flashcardtemplate:"flashcard",foodJar:"foodJar",grid:"grid",imageMatchWithQuestionImageAndMultiOption:"imageMatchWithQuestionImageAndMultiOption",inventedSpelling:"inventedSpelling",jumpSentence:"jumpSentence",letterBoard:"letterBoard",letterIdentification:"letterIdentification",letterPairing:"letterPairing",makeSentence:"makeSentence",matchingCard:"matchingCard",multiplyBeeds:"multiplyBeeds",nimbleTable:"nimbleTable",numberBoardOneTwo:"numberBoardOneTwo",numberPair:"numberPair",openWindow:"openWindow",orderTractor:"orderTractor",phonicTractor:"phonicTractor",pictureMeaningCocos:"pictureMeaningCocos",pictureWordMatch1:"pictureWordMatch1",pictureWordMatch2:"pictureWordMatch2",puzzleGame:"puzzleGame",questionBoard:"questionBoard",quizLiteracySentenceSentence:"quizLiteracySentenceSentence",quizLiteracySoundOnlyImage:"quizLiteracySoundOnlyImage",quizLiteracySoundOnlySentence:"quizLiteracySoundOnlySentence",quizLiteracySoundOnlyWord:"quizLiteracySoundonlyWord",quizLiteracyAndShapes1:"quizLiteracyAndShapes1",quizLiteracyImageWithText:"quizLiteracyImageWithText",quizliteracyImageWord:"quizliteracyImageWord",quizMathBiggerAndSmaller:"quizMathBiggerAndSmaller",quizMathBiggestAndSmallest:"quizMathBiggestAndSmallest",quizmathCustomNumberMagnitude:"quizmathCustomNumberMagnitude",quizMathHowMany:"quizMathHowMany",quizmathMissingnumberDrag:"quizmathMissingnumberDrag",quizMathNumberIdentification:"quizMathNumberIdentification",quizMathOperationWithobjects:"quizMathOperationWithobjects",quizMathoperationWithoutObjects:"quizMathoperationWithoutObjects",quizMathRecognizeNumber:"quizMathRecognizeNumber",quizMathShapes:"quizMathShapes",reorder:"reorder",rocketGame:"rocketGame",rowBlock:"rowBlock",sequenceBox1:"sequenceBox1",shapeTractor:"shapeTractor",spellDoor:"spellDoor",storyMaking:"storyMaking",storyTale:"storyTale",sumTogether:"sumTogether",tag:"tag",total:"total",writeCard:"writeCard",writeLetter:"writeLetter",writeNumber:"writeNumber",writeSet:"writeSet",writeWord:"writeWord",numberIdentification:"numberIdentification",wordBuildingWithAndWithoutImage:"wordBuildingWithAndWithoutImage",subsWithAndWithoutImage:"subsWithAndWithoutImage",sentenceMatchTemplate:"sentenceMatch",pictureClues:"pictureClues",palEgmaCalculateSumAndSumTogether:"palEgmaCalculateSumAndSumTogether",palEgmaPatternMatching:"palEgmaPatternMatchingAudio",palEgmaWordProblem:"palEgmaWordProblem",palEgraArrangePictures:"palEgraArrangePicturesAudio",palEgraBuildWord:"palEgraBuildWordAudio",palEgraMCQWithImage:"palEgraMCQWithImage",palEgraOddOneOut:"palEgraOddOneOutAudio",palEgraOptionWithAudio:"palEgraOptionWithAudio",palEgraWordFormation:"palEgraWordFormationAudio",palEgraWordMatch:"palEgraWordMatch",substractionWithImage:"substractionWithImageAudio",substractionWithoutImage:"substractionWithoutImageAudio",numberIdentificationWithImage:"numberIdentificationWithImageAudio",numberIdentificationWithoutImage:"numberIdentificationWithoutImageAudio",wordBuildingWithImage:"wordBuildingWithImageAudio",wordBuildingWithoutImage:"wordBuildingWithoutImageAudio",pictureWordMatchMultipleImages:"pictureWordMatchMultipleImagesAudio",pictureWordMatchSingleImage:"pictureWordMatchSingleImageAudio",sentenceMatch:"sentenceMatchAudio",imageMatch:"imageMatchAudio",palStoryTale:"palStoryTaleAudio",palEgmaWordProblemDragnDrop:"palEgmaWordProblemDragnDropAudio",palEgmaWordProblemClick:"palEgmaWordProblemClickAudio",palInventedSpelling:"palInventedSpellingAudio",palLetterIdentification:"palLetterIdentificationAudio",palStoryMaking:"palStoryMakingAudio",palegmasumtogether:"palegmasumtogetherAudio",palegmamultioption:"palegmamultioptionAudio",palegraoptionaudio:"palegraoptionAudio",palegrawordmatch:"palegrawordmatchAudio",palegramcqimages:"palegramcqimagesAudio",drawShape:"drawshape",drawshape:"drawshape"}[this.templateId])&&void 0!==t?t:"";const e=document.querySelector("lido-home");if(!e)return;const i=e.getAttribute(o)||"";this.speakFlag=i.includes(this.templateId),this.speakFlag||e.setAttribute(o,[i,this.templateId].filter(Boolean).join(","))}resolveLanguage(){var t,e;const i=this.el.closest("lido-root"),a=(null==i?void 0:i.Lang)||"";if(null==a?void 0:a.trim())return a;if(null===(t=this.Lang)||void 0===t?void 0:t.trim())return this.Lang;const o=this.el.getAttribute("Lang");return(null==o?void 0:o.trim())?o:null===(e=this.el.textContent)||void 0===e?void 0:e.trim()}convertToPixels(t,e=document.body){if(!t)return 0;if(t.endsWith("px"))return parseFloat(t);const i=document.createElement("div");i.style.position="absolute",i.style.visibility="hidden",i.style.height=t,e.appendChild(i);const a=i.offsetHeight;return e.removeChild(i),a}scaleContainer(t){const e=this.getClosestParentWithWidth();let i=0;e&&(i=Math.min(e.clientWidth/1600,e.clientHeight/900)),t.style.transform=`translate(-50%, -50%) scale(${0!=i?i:n()})`,t.style.left="50%",t.style.top="50%",t.style.position="absolute",this.screenOrientation()}getClosestParentWithWidth(){let t=this.el.parentElement;for(;t;){if(t.offsetWidth>0)return t;t=t.parentElement}return null}screenOrientation(){window.innerHeight>window.innerWidth?(this.el.style.height="1600px",this.el.style.width="900px"):(this.el.style.height="900px",this.el.style.width="1600px")}updateChildTextLanguage(t){const e=t||m.language||"en";m.changeLanguage(e),this.el.querySelectorAll("lido-text").forEach((t=>{t.Lang=e,t.dispatchEvent(new CustomEvent("languageChanged",{bubbles:!0}))}))}componentDidLoad(){this.scaleContainer(this.el);const t=this.bgImage?r(this.bgImage):"",e=this.el.closest("lido-standalone"),i="true"===(null==e?void 0:e.getAttribute("bg-image"))?e:document.body;if(i.style.backgroundColor=this.bgColor,i.style.backgroundImage=t?`url(${t})`:"none",i.style.backgroundPosition=t?"bottom":"none",document.body.style.pointerEvents="auto",window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad),this.templateId?setTimeout((()=>{this.el.setAttribute("onEntry",`${this.templateId}.speak='${!this.speakFlag}'; `+this.el.getAttribute("onEntry")),s(this.el,this.type)}),100):s(this.el,this.type),this.customStyle){const t=document.createElement("style");t.innerHTML=this.customStyle,document.head.appendChild(t)}const a=this.resolveLanguage();this.updateChildTextLanguage(a),setTimeout((()=>{l()}),100),c(),u.getI().start()}disconnectedCallback(){this.cleanupInteractionHandlers(),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad),document.body.style.backgroundColor="",document.body.style.backgroundImage="",c(),u.getI().stop()}render(){return h(d,{key:"1862e30fedda58726edc107f81fae1f63e96d009",id:"lido-container",Lang:this.Lang,"tab-index":0,class:"lido-container",objective:this.objective,baseUrl:this.baseUrl,style:{backgroundColor:this.bgColor,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",margin:this.margin,userSelect:"none"},"aria-label":this.ariaLabel,"aria-hidden":this.ariaHidden,onTouch:this.onTouch,onInCorrect:this.onInCorrect,onCorrect:this.onCorrect,onEntry:this.onEntry,"show-check":`${this.showCheck}`,"is-continue-on-correct":`${this.isContinueOnCorrect}`,"is-allow-only-correct":`${this.isAllowOnlyCorrect}`,canplay:`${this.canplay}`,appendToDropOnCompletion:`${this.appendToDropOnCompletion}`,"show-prev-button":`${this.showPrevButton}`,"show-next-button":`${this.showNextButton}`,"show-drop-border":`${this.showDropBorder}`,"bg-image":this.bgImage,"exit-button-url":this.exitButtonUrl,"prev-button-url":this.prevButtonUrl,"next-button-url":this.nextButtonUrl,"speaker-button-url":this.speakerButtonUrl,"disable-speak":`${this.disableSpeak}`,"template-id":this.templateId,audio:this.audio,"highlight-word-by-word":`${this.highlightWordByWord}`},h("lido-text",{key:"86fd014a61ba9cba6d67e2d921b2d8a8a289dbc7",visible:"false",id:this.templateId,audio:"",string:this.instructName}),h("slot",{key:"c3128ea2164892757b32cb076d717436947f9a4c"}))}get el(){return this}static get watchers(){return{Lang:[{languageChanged:0}]}}static get style(){return".lido-container{position:relative;height:100%;width:100%;background-color:var(--bgColor, transparent);display:flex;flex-direction:column;justify-content:center;align-items:center}"}},[260,"lido-container",{Lang:[1,"lang"],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"],templateId:[1,"template-id"],highlightWordByWord:[4,"highlight-word-by-word"],instructName:[32],speakFlag:[32]},void 0,{Lang:[{languageChanged:0}]}]);function b(){"undefined"!=typeof customElements&&["lido-container","lido-text"].forEach((e=>{switch(e){case"lido-container":customElements.get(t(e))||customElements.define(t(e),p);break;case"lido-text":customElements.get(t(e))||g()}}))}b();export{p as L,b as d}
@@ -1 +1 @@
1
- import{t as i,p as t,H as s,i as e,l as o,m as n,a,h,b as d}from"./index.js";const r=t(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.showSpeakIcon=!1,this.minDrops=1,this.maxDrops=1,this.style={},this.handleWindowResize=()=>this.updateStyles(),this.handleWindowLoad=()=>this.updateStyles(),this.margin="",this.disableSpeak=!1}componentDidLoad(){e(this.el,this.type),o(this.el,this.minLength,this.maxLength,this.childElementsLength),this.showSpeakIcon&&n(this.el)}componentWillLoad(){this.updateStyles(),window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad)}disconnectedCallback(){window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad)}updateStyles(){const i=window.innerHeight>window.innerWidth?"portrait":"landscape";this.style={height:a(this.height,i),width:a(this.width,i),backgroundColor:a(this.bgColor,i),top:a(this.y,i),left:a(this.x,i),zIndex:this.z,display:this.visible?this.display?a(this.display,i):"flex":"none",flexDirection:this.direction?a(this.direction,i):"row",gridTemplateColumns:this.display&&"grid"===a(this.display,i)?"repeat(auto-fill, minmax(186px, auto))":void 0,gap:this.display&&"grid"===a(this.display,i)?"20px":void 0,margin:a(this.margin,i)}}render(){return h(d,{key:"d6ad19979d6cf5c02d1980418782f969def9765d",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:"2411f3960437cc90bb0578eba08df15eaa905206"}))}get el(){return this}static get style(){return".lido-row{display:flex;justify-content:space-around;align-items:center;}.lido-row>*{}"}},[260,"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]}]);function l(){"undefined"!=typeof customElements&&["lido-row"].forEach((t=>{"lido-row"===t&&(customElements.get(i(t))||customElements.define(i(t),r))}))}l();export{r as L,l as d}
1
+ import{t as i,p as t,H as s,i as e,l as o,m as n,a,h,b as d}from"./index.js";const r=t(class extends s{constructor(i){super(),!1!==i&&this.__registerHost(),this.showSpeakIcon=!1,this.minDrops=1,this.maxDrops=1,this.style={},this.handleWindowResize=()=>this.updateStyles(),this.handleWindowLoad=()=>this.updateStyles(),this.margin="",this.disableSpeak=!1}componentDidLoad(){e(this.el,this.type),o(this.el,this.minLength,this.maxLength,this.childElementsLength),this.showSpeakIcon&&n(this.el)}componentWillLoad(){this.updateStyles(),window.addEventListener("resize",this.handleWindowResize),window.addEventListener("load",this.handleWindowLoad)}disconnectedCallback(){window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("load",this.handleWindowLoad)}updateStyles(){const i=window.innerHeight>window.innerWidth?"portrait":"landscape";this.style={height:a(this.height,i),width:a(this.width,i),backgroundColor:a(this.bgColor,i),top:a(this.y,i),left:a(this.x,i),zIndex:this.z,display:this.visible?this.display?a(this.display,i):"flex":"none",flexDirection:this.direction?a(this.direction,i):"row",gridTemplateColumns:this.display&&"grid"===a(this.display,i)?"repeat(auto-fill, minmax(186px, auto))":void 0,gap:this.display&&"grid"===a(this.display,i)?"20px":void 0,margin:a(this.margin,i)}}render(){return h(d,{key:"c69aea0b1b11d9aec167d1a4376f68073f91ca81",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:"8756ee0447057cddb949e23decbde5fe4d1d25c8"}))}get el(){return this}static get style(){return".lido-row{display:flex;justify-content:space-around;align-items:center;}.lido-row>*{}"}},[260,"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]}]);function l(){"undefined"!=typeof customElements&&["lido-row"].forEach((t=>{"lido-row"===t&&(customElements.get(i(t))||customElements.define(i(t),r))}))}l();export{r as L,l as d}
@@ -1,4 +1,4 @@
1
- import { g as getDefaultExportFromCjs } from './index-B7s7KKj1.js';
1
+ import { g as getDefaultExportFromCjs } from './index-C854B63S.js';
2
2
 
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -2,6 +2,7 @@ import { d as getAssetPath } from './index-Dq-Z8Dx0.js';
2
2
 
3
3
  const DragMapKey = 'lidoDragMap';
4
4
  const SelectedValuesKey = 'lidoSelectedValues';
5
+ const AnimationVanishedValuesKey = 'data-animation-vanished-values';
5
6
  const ActivityScoreKey = 'lidoActivityScore';
6
7
  const ActivityEndKey = 'lidoActivityEnd';
7
8
  const LessonEndKey = 'lidoLessonEnd';
@@ -258,11 +259,20 @@ function balanceResult(container, objectiveString) {
258
259
  return res;
259
260
  }
260
261
 
261
- const tempVanishedValues = [];
262
+ const readVanishedValues = (container) => {
263
+ var _a;
264
+ try {
265
+ const values = JSON.parse((_a = container.getAttribute(AnimationVanishedValuesKey)) !== null && _a !== void 0 ? _a : '[]');
266
+ return Array.isArray(values) ? values : [];
267
+ }
268
+ catch (_b) {
269
+ return [];
270
+ }
271
+ };
262
272
  function dragDropAnimation(container, dragElement, dropElement) {
263
273
  container.style.pointerEvents = "none";
264
274
  setTimeout(async () => {
265
- var _a, _b, _c;
275
+ var _a, _b;
266
276
  const div = document.createElement('div');
267
277
  container.append(div);
268
278
  div.classList.add('after-drop-popup-container');
@@ -271,10 +281,11 @@ function dragDropAnimation(container, dragElement, dropElement) {
271
281
  const allDragElements = container.querySelectorAll('[type="drag"]');
272
282
  const dragParents = Array.from(allDragElements).map(el => el.parentElement);
273
283
  const allSameParent = dragParents.every(parent => parent === dragElement.parentElement);
274
- JSON.parse((_a = container.getAttribute(SelectedValuesKey)) !== null && _a !== void 0 ? _a : '[]');
275
- const vanishedValue = (_b = dragElement.getAttribute('value')) !== null && _b !== void 0 ? _b : (_c = dragElement.textContent) === null || _c === void 0 ? void 0 : _c.trim();
284
+ const vanishedValues = readVanishedValues(container);
285
+ const vanishedValue = (_a = dragElement.getAttribute('value')) !== null && _a !== void 0 ? _a : (_b = dragElement.textContent) === null || _b === void 0 ? void 0 : _b.trim();
276
286
  if (vanishedValue) {
277
- tempVanishedValues.push(vanishedValue);
287
+ vanishedValues.push(vanishedValue);
288
+ container.setAttribute(AnimationVanishedValuesKey, JSON.stringify(vanishedValues));
278
289
  }
279
290
  // Remove from old parents
280
291
  if (allSameParent) {
@@ -292,9 +303,10 @@ function dragDropAnimation(container, dragElement, dropElement) {
292
303
  div.appendChild(dropElement);
293
304
  dropElement.classList.remove('empty');
294
305
  const objective = container.getAttribute('objective');
306
+ const normalizedVanishedValues = vanishedValues.map(v => v.trim()).sort().join(',');
307
+ const normalizedObjective = objective === null || objective === void 0 ? void 0 : objective.split(',').map(v => v.trim()).sort().join(',');
295
308
  const isObjectiveComplete = !!objective &&
296
- tempVanishedValues.map(v => v.trim()).sort().join(',') ===
297
- objective.split(',').map(v => v.trim()).sort().join(',');
309
+ normalizedVanishedValues === normalizedObjective;
298
310
  if (dropElement.getAttribute('type') === 'drop') {
299
311
  const dropOnCorrect = dropElement.getAttribute('onCorrect') || '';
300
312
  await executeActions(dropOnCorrect, dropElement, dragElement);
@@ -313,7 +325,7 @@ function dragDropAnimation(container, dragElement, dropElement) {
313
325
  if (isObjectiveComplete) {
314
326
  calculateScore();
315
327
  triggerNextContainer();
316
- tempVanishedValues.length = 0;
328
+ container.removeAttribute(AnimationVanishedValuesKey);
317
329
  }
318
330
  }, 800); // match animation duration
319
331
  }, 250);
@@ -2593,6 +2605,117 @@ const slideCompleted = (slideElement) => {
2593
2605
  }
2594
2606
  };
2595
2607
 
2608
+ const getContainerScale = (container) => {
2609
+ const transform = window.getComputedStyle(container).transform;
2610
+ if (!transform || transform === 'none')
2611
+ return 1;
2612
+ const matrix = new DOMMatrixReadOnly(transform);
2613
+ return matrix.a || 1;
2614
+ };
2615
+ const readPixelPosition = (value, fallback) => {
2616
+ const parsed = parseFloat(value);
2617
+ return Number.isFinite(parsed) ? parsed : fallback;
2618
+ };
2619
+ const getParentContainer = (element) => {
2620
+ var _a;
2621
+ return (_a = element.closest('lido-container')) !== null && _a !== void 0 ? _a : document.getElementById(LidoContainer);
2622
+ };
2623
+ function enableFreeMove(element) {
2624
+ var _a;
2625
+ const moveElement = element;
2626
+ (_a = moveElement.__lidoMoveCleanup) === null || _a === void 0 ? void 0 : _a.call(moveElement);
2627
+ const container = getParentContainer(element);
2628
+ if (!container)
2629
+ return;
2630
+ let isMoving = false;
2631
+ let didMove = false;
2632
+ let startX = 0;
2633
+ let startY = 0;
2634
+ let initialLeft = 0;
2635
+ let initialTop = 0;
2636
+ const onStart = (event) => {
2637
+ if (container.getAttribute('canplay') !== 'false')
2638
+ return;
2639
+ const point = event instanceof MouseEvent ? event : event.touches[0];
2640
+ if (!point)
2641
+ return;
2642
+ const computedStyle = window.getComputedStyle(element);
2643
+ if (computedStyle.position === 'static') {
2644
+ element.style.position = 'absolute';
2645
+ }
2646
+ isMoving = true;
2647
+ didMove = false;
2648
+ startX = point.clientX;
2649
+ startY = point.clientY;
2650
+ initialLeft = readPixelPosition(element.style.left || computedStyle.left, element.offsetLeft);
2651
+ initialTop = readPixelPosition(element.style.top || computedStyle.top, element.offsetTop);
2652
+ element.style.cursor = 'grabbing';
2653
+ element.style.transition = 'none';
2654
+ element.style.zIndex = element.style.zIndex || element.getAttribute('z') || '1';
2655
+ document.addEventListener('mousemove', onMove);
2656
+ document.addEventListener('mouseup', onEnd);
2657
+ document.addEventListener('touchmove', onMove, { passive: false });
2658
+ document.addEventListener('touchend', onEnd);
2659
+ };
2660
+ const onMove = (event) => {
2661
+ if (!isMoving)
2662
+ return;
2663
+ if (event.cancelable)
2664
+ event.preventDefault();
2665
+ const point = event instanceof MouseEvent ? event : event.touches[0];
2666
+ if (!point)
2667
+ return;
2668
+ didMove = true;
2669
+ const scale = getContainerScale(container);
2670
+ const nextLeft = initialLeft + (point.clientX - startX) / scale;
2671
+ const nextTop = initialTop + (point.clientY - startY) / scale;
2672
+ element.style.left = `${nextLeft}px`;
2673
+ element.style.top = `${nextTop}px`;
2674
+ };
2675
+ const removeDocumentListeners = () => {
2676
+ document.removeEventListener('mousemove', onMove);
2677
+ document.removeEventListener('mouseup', onEnd);
2678
+ document.removeEventListener('touchmove', onMove);
2679
+ document.removeEventListener('touchend', onEnd);
2680
+ };
2681
+ const onEnd = () => {
2682
+ if (!isMoving)
2683
+ return;
2684
+ isMoving = false;
2685
+ removeDocumentListeners();
2686
+ element.style.cursor = 'move';
2687
+ if (!didMove)
2688
+ return;
2689
+ element.setAttribute('x', element.style.left);
2690
+ element.setAttribute('y', element.style.top);
2691
+ };
2692
+ const preventMovedClick = (event) => {
2693
+ if (!didMove)
2694
+ return;
2695
+ event.preventDefault();
2696
+ event.stopPropagation();
2697
+ didMove = false;
2698
+ };
2699
+ const cleanup = () => {
2700
+ isMoving = false;
2701
+ removeDocumentListeners();
2702
+ element.removeEventListener('mousedown', onStart);
2703
+ element.removeEventListener('touchstart', onStart);
2704
+ element.removeEventListener('click', preventMovedClick, true);
2705
+ element.removeEventListener(LIDO_INTERACTION_CLEANUP_EVENT, cleanup);
2706
+ if (moveElement.__lidoMoveCleanup === cleanup) {
2707
+ delete moveElement.__lidoMoveCleanup;
2708
+ }
2709
+ };
2710
+ moveElement.__lidoMoveCleanup = cleanup;
2711
+ element.style.cursor = 'move';
2712
+ element.style.touchAction = 'none';
2713
+ element.addEventListener('mousedown', onStart);
2714
+ element.addEventListener('touchstart', onStart);
2715
+ element.addEventListener('click', preventMovedClick, true);
2716
+ element.addEventListener(LIDO_INTERACTION_CLEANUP_EVENT, cleanup);
2717
+ }
2718
+
2596
2719
  // This file is autogenerated. It's used to publish ESM to npm.
2597
2720
  function _typeof$1(obj) {
2598
2721
  "@babel/helpers - typeof";
@@ -72422,6 +72545,9 @@ const initEventsForElement = async (element, type) => {
72422
72545
  }
72423
72546
  const onEntry = element.getAttribute('onEntry');
72424
72547
  await executeActions(onEntry, element);
72548
+ if (element.getAttribute('move') === 'true') {
72549
+ enableFreeMove(element);
72550
+ }
72425
72551
  switch (type) {
72426
72552
  case 'drag': {
72427
72553
  enableDraggingWithScaling(element);
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { $ as format } from './index-B7s7KKj1.js';
1
+ export { $ as format } from './index-C854B63S.js';
2
2
  import './index-Dq-Z8Dx0.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement, c as createEvent, d as getAssetPath } from './index-Dq-Z8Dx0.js';
2
- import { R as RiveService, s as setVisibilityWithDelay, i as initEventsForElement, c as convertUrlToRelative, p as parseProp, e as equationCheck, S as SelectedValuesKey, a as storingEachActivityScore, A as AudioPlayer, b as executeActions, d as calculateScore, t as triggerNextContainer, C as CalculatorOk, h as handlingChildElements, f as attachSpeakIcon, L as LIDO_INTERACTION_CLEANUP_EVENT, T as TemplateID, j as calculateScale, k as highlightElement, l as Timer, r as resetFloatState, m as handleFloatElementPosition, n as handleElementClick, o as commonjsGlobal, g as getDefaultExportFromCjs, q as generateUUIDFallback, u as ActivityScoreKey, v as dispatchActivityChangeEvent, G as GameScore, w as dispatchGameExitEvent, x as speakUrl, y as nextUrl, z as prevUrl, B as exitUrl, N as NextContainerKey, P as PrevContainerKey, D as LIDO_COMMON_AUDIO_PATH, E as LidoContainer$1, F as getCancelBtnPopup, H as matchStringPattern, I as triggerPrevcontainer, J as setActiveZipAssets, K as clearActiveZipAssets, M as setCancelBtnPopup, O as tinycolor, Q as stopHighlightForSpeakingElement, U as DropAction, V as validateObjectiveStatus, W as fraction, X as LIDO_COMMON_AUDIO_READY_EVENT, Y as TraceMode, Z as speakIcon, _ as fingerUrl } from './index-B7s7KKj1.js';
2
+ import { R as RiveService, s as setVisibilityWithDelay, i as initEventsForElement, c as convertUrlToRelative, p as parseProp, e as equationCheck, S as SelectedValuesKey, a as storingEachActivityScore, A as AudioPlayer, b as executeActions, d as calculateScore, t as triggerNextContainer, C as CalculatorOk, h as handlingChildElements, f as attachSpeakIcon, L as LIDO_INTERACTION_CLEANUP_EVENT, T as TemplateID, j as calculateScale, k as highlightElement, l as Timer, r as resetFloatState, m as handleFloatElementPosition, n as handleElementClick, o as commonjsGlobal, g as getDefaultExportFromCjs, q as generateUUIDFallback, u as ActivityScoreKey, v as dispatchActivityChangeEvent, G as GameScore, w as dispatchGameExitEvent, x as speakUrl, y as nextUrl, z as prevUrl, B as exitUrl, N as NextContainerKey, P as PrevContainerKey, D as LIDO_COMMON_AUDIO_PATH, E as LidoContainer$1, F as getCancelBtnPopup, H as matchStringPattern, I as triggerPrevcontainer, J as setActiveZipAssets, K as clearActiveZipAssets, M as setCancelBtnPopup, O as tinycolor, Q as stopHighlightForSpeakingElement, U as DropAction, V as validateObjectiveStatus, W as fraction, X as LIDO_COMMON_AUDIO_READY_EVENT, Y as TraceMode, Z as speakIcon, _ as fingerUrl } from './index-C854B63S.js';
3
3
 
4
4
  var rive$1 = {exports: {}};
5
5
 
@@ -8687,7 +8687,7 @@ const LidoCanvas = class {
8687
8687
  this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
8688
8688
  }
8689
8689
  render() {
8690
- return (h(Host, { key: 'ebf767a3c0cf33104428fba8fe21be6e76fa44c2', id: "lido-canvas", class: "lido-canvas", style: this.style }, h("button", { key: 'e5f247157140b9038d7b207bf71bba0b5e05978c', id: "lido-exit-button", onClick: () => this.clearCanvas() }), h("canvas", { key: 'ac5cbd11a9bd0bb22ac88ca7781994ce52309d52', id: "lido-canvas" })));
8690
+ return (h(Host, { key: '6bb47f06656ce667d23236e9f3c3a8f383885a43', id: "lido-canvas", class: "lido-canvas", style: this.style }, h("button", { key: 'fd0d1217bda63071fbf6496c2538c2a944b14181', id: "lido-exit-button", onClick: () => this.clearCanvas() }), h("canvas", { key: 'ed0333972bb7ce0fc4e14c81bb466ea895ce65e0', id: "lido-canvas" })));
8691
8691
  }
8692
8692
  get el() { return getElement(this); }
8693
8693
  };
@@ -8946,7 +8946,7 @@ const LidoCell = class {
8946
8946
  this.el.className = `lido-${parseProp(this.layout, orientation)}`;
8947
8947
  }
8948
8948
  render() {
8949
- return (h(Host, { key: '98b1531fb9231062fa8a07cfa0e364e63a7d4829', 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: 'd223539fc21f45c0dc87c179e58f2dd689fa9276' })));
8949
+ return (h(Host, { key: '73bdf9dd33fdd8322c35465de011697da112193a', 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: '6e9d4507b36716f04853d39ef66015441782aa88' })));
8950
8950
  }
8951
8951
  get el() { return getElement(this); }
8952
8952
  };
@@ -9024,7 +9024,7 @@ const LidoCol = class {
9024
9024
  };
9025
9025
  }
9026
9026
  render() {
9027
- return (h(Host, { key: 'cf619b69e4616e83c163479a224ad86079afa927', 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: '2af707c5e7ec75db20c8d7c9cf05c2af9508a590' })));
9027
+ return (h(Host, { key: '334206d6054442fec787cfb479a68ae164404730', 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: '590cd219bc5a02e6b96eafe108fb8b310daf941d' })));
9028
9028
  }
9029
9029
  get el() { return getElement(this); }
9030
9030
  };
@@ -12069,7 +12069,7 @@ const LidoContainer = class {
12069
12069
  this.handleWindowLoad = () => this.scaleContainer(this.el);
12070
12070
  }
12071
12071
  cleanupInteractionHandlers() {
12072
- this.el.querySelectorAll('[type="drag"], [type="slide"]').forEach(element => {
12072
+ this.el.querySelectorAll('[type="drag"], [type="slide"], [move="true"]').forEach(element => {
12073
12073
  element.dispatchEvent(new Event(LIDO_INTERACTION_CLEANUP_EVENT));
12074
12074
  });
12075
12075
  }
@@ -12350,7 +12350,7 @@ const LidoContainer = class {
12350
12350
  margin: this.margin,
12351
12351
  userSelect: 'none', // Prevent any field selection
12352
12352
  };
12353
- return (h(Host, { key: '104e6cc49ab78121a9b7e9939e5def1952567a53', id: "lido-container", Lang: this.Lang, "tab-index": 0, class: "lido-container", objective: this.objective, baseUrl: this.baseUrl, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, onTouch: this.onTouch, onInCorrect: this.onInCorrect, onCorrect: this.onCorrect, onEntry: this.onEntry, "show-check": `${this.showCheck}`, "is-continue-on-correct": `${this.isContinueOnCorrect}`, "is-allow-only-correct": `${this.isAllowOnlyCorrect}`, canplay: `${this.canplay}`, appendToDropOnCompletion: `${this.appendToDropOnCompletion}`, "show-prev-button": `${this.showPrevButton}`, "show-next-button": `${this.showNextButton}`, "show-drop-border": `${this.showDropBorder}`, "bg-image": this.bgImage, "exit-button-url": this.exitButtonUrl, "prev-button-url": this.prevButtonUrl, "next-button-url": this.nextButtonUrl, "speaker-button-url": this.speakerButtonUrl, "disable-speak": `${this.disableSpeak}`, "template-id": this.templateId, audio: this.audio, "highlight-word-by-word": `${this.highlightWordByWord}` }, h("lido-text", { key: 'ec5e3d78fbf2b8a0cf4b6f918b41c22dc18b2484', visible: "false", id: this.templateId, audio: "", string: this.instructName }), h("slot", { key: '384172d5224ae11a20983cda82a3761da456ba2a' })));
12353
+ return (h(Host, { key: '1862e30fedda58726edc107f81fae1f63e96d009', id: "lido-container", Lang: this.Lang, "tab-index": 0, class: "lido-container", objective: this.objective, baseUrl: this.baseUrl, style: style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, onTouch: this.onTouch, onInCorrect: this.onInCorrect, onCorrect: this.onCorrect, onEntry: this.onEntry, "show-check": `${this.showCheck}`, "is-continue-on-correct": `${this.isContinueOnCorrect}`, "is-allow-only-correct": `${this.isAllowOnlyCorrect}`, canplay: `${this.canplay}`, appendToDropOnCompletion: `${this.appendToDropOnCompletion}`, "show-prev-button": `${this.showPrevButton}`, "show-next-button": `${this.showNextButton}`, "show-drop-border": `${this.showDropBorder}`, "bg-image": this.bgImage, "exit-button-url": this.exitButtonUrl, "prev-button-url": this.prevButtonUrl, "next-button-url": this.nextButtonUrl, "speaker-button-url": this.speakerButtonUrl, "disable-speak": `${this.disableSpeak}`, "template-id": this.templateId, audio: this.audio, "highlight-word-by-word": `${this.highlightWordByWord}` }, h("lido-text", { key: '86fd014a61ba9cba6d67e2d921b2d8a8a289dbc7', visible: "false", id: this.templateId, audio: "", string: this.instructName }), h("slot", { key: 'c3128ea2164892757b32cb076d717436947f9a4c' })));
12354
12354
  }
12355
12355
  get el() { return getElement(this); }
12356
12356
  static get watchers() { return {
@@ -12604,7 +12604,7 @@ const LidoFloat = class {
12604
12604
  };
12605
12605
  }
12606
12606
  render() {
12607
- return (h(Host, { key: '5b047b9480951c7741fc20cd7dada79da3cb8bc3', class: "lido-float", "float-direction": this.floatDirection, id: this.id, "tab-index": this.tabIndex, style: this.style, onEntry: this.onEntry }, h("slot", { key: '4d200251a291484f06f6bc7179c4ac61b8193fc8' })));
12607
+ return (h(Host, { key: 'c461f1142dd6addd9ceb41ade183b044b875681f', class: "lido-float", "float-direction": this.floatDirection, id: this.id, "tab-index": this.tabIndex, style: this.style, onEntry: this.onEntry }, h("slot", { key: '240439bfda6a9e4e2d67e6ae2b5c878d99e632b3' })));
12608
12608
  }
12609
12609
  get el() { return getElement(this); }
12610
12610
  };
@@ -12950,7 +12950,7 @@ const LidoHome = class {
12950
12950
  }
12951
12951
  // Pure-JS fallback (no wasm asset required)
12952
12952
  try {
12953
- const brotliDecodeModule = await import('./decode-DyBLrL5N.js').then(function (n) { return n.d; });
12953
+ const brotliDecodeModule = await import('./decode-CGJIPA4t.js').then(function (n) { return n.d; });
12954
12954
  const brotliDecompressBuffer = brotliDecodeModule.BrotliDecompressBuffer || ((_a = brotliDecodeModule.default) === null || _a === void 0 ? void 0 : _a.BrotliDecompressBuffer);
12955
12955
  if (typeof brotliDecompressBuffer !== 'function') {
12956
12956
  throw new Error('BrotliDecompressBuffer function not found in brotli/dec/decode');
@@ -13557,7 +13557,8 @@ function requireRgbColor () {
13557
13557
  Object.defineProperty(rgbColor, "__esModule", { value: true });
13558
13558
  rgbColor.RgbColor = void 0;
13559
13559
  class RgbColor {
13560
- constructor(rgb = [0, 0, 0]) {
13560
+ constructor(rgb = [0, 0, 0], roundChannels = false) {
13561
+ this.roundChannels = roundChannels;
13561
13562
  this.r = this.clamp(rgb[0]);
13562
13563
  this.g = this.clamp(rgb[1]);
13563
13564
  this.b = this.clamp(rgb[2]);
@@ -13569,7 +13570,7 @@ function requireRgbColor () {
13569
13570
  else if (value < 0) {
13570
13571
  value = 0;
13571
13572
  }
13572
- return value;
13573
+ return this.roundChannels ? Math.round(value) : value;
13573
13574
  }
13574
13575
  setRgb(r, g, b) {
13575
13576
  this.r = this.clamp(r);
@@ -13662,6 +13663,7 @@ function requireRgbToFilterWorker () {
13662
13663
  constructor(targetRgbColor, addSheen) {
13663
13664
  this.targetRgbColor = targetRgbColor;
13664
13665
  this.reusedRgbColor = new rgbColor_1.RgbColor();
13666
+ this.reusedRoundedRgbColor = new rgbColor_1.RgbColor([0, 0, 0], true);
13665
13667
  this.addSheen = addSheen;
13666
13668
  }
13667
13669
  static fmt(filters, idx, multiplier = 1) {
@@ -13673,17 +13675,30 @@ function requireRgbToFilterWorker () {
13673
13675
  // eslint-disable-next-line max-len
13674
13676
  return `${prefix}invert(${RgbToFilterWorker.fmt(filters, 0)}%) sepia(${RgbToFilterWorker.fmt(filters, 1)}%) saturate(${RgbToFilterWorker.fmt(filters, 2)}%) hue-rotate(${RgbToFilterWorker.fmt(filters, 3, 3.6)}deg) brightness(${RgbToFilterWorker.fmt(filters, 4)}%) contrast(${RgbToFilterWorker.fmt(filters, 5)}%)`;
13675
13677
  }
13678
+ applyFilters(color, filters, hueRotateDegrees) {
13679
+ color.setRgb(0, 0, 0);
13680
+ color.invert(filters[0] / 100);
13681
+ color.sepia(filters[1] / 100);
13682
+ color.saturate(filters[2] / 100);
13683
+ color.hueRotate(hueRotateDegrees);
13684
+ color.brightness(filters[4] / 100);
13685
+ color.contrast(filters[5] / 100);
13686
+ return (Math.abs(color.r - this.targetRgbColor.r) +
13687
+ Math.abs(color.g - this.targetRgbColor.g) +
13688
+ Math.abs(color.b - this.targetRgbColor.b));
13689
+ }
13676
13690
  loss(filters) {
13677
- this.reusedRgbColor.setRgb(0, 0, 0);
13678
- this.reusedRgbColor.invert(filters[0] / 100);
13679
- this.reusedRgbColor.sepia(filters[1] / 100);
13680
- this.reusedRgbColor.saturate(filters[2] / 100);
13681
- this.reusedRgbColor.hueRotate(filters[3] * 3.6);
13682
- this.reusedRgbColor.brightness(filters[4] / 100);
13683
- this.reusedRgbColor.contrast(filters[5] / 100);
13684
- return (Math.abs(this.reusedRgbColor.r - this.targetRgbColor.r) +
13685
- Math.abs(this.reusedRgbColor.g - this.targetRgbColor.g) +
13686
- Math.abs(this.reusedRgbColor.b - this.targetRgbColor.b));
13691
+ return this.applyFilters(this.reusedRgbColor, filters, filters[3] * 3.6);
13692
+ }
13693
+ // candidates are accepted on the loss of the filter as it will be serialized to CSS (rounded parameters),
13694
+ // evaluated under both fractional and per-stage 8-bit channel precision - browsers differ in intermediate
13695
+ // precision, so a candidate is only as good as its worst rendering model
13696
+ serializedLoss(filters) {
13697
+ const serialized = filters.map((_, idx) => RgbToFilterWorker.fmt(filters, idx));
13698
+ const hueRotateDegrees = RgbToFilterWorker.fmt(filters, 3, 3.6);
13699
+ const fractionalLoss = this.applyFilters(this.reusedRgbColor, serialized, hueRotateDegrees);
13700
+ const roundedLoss = this.applyFilters(this.reusedRoundedRgbColor, serialized, hueRotateDegrees);
13701
+ return Math.max(fractionalLoss, roundedLoss);
13687
13702
  }
13688
13703
  static fixSpsa(value, idx) {
13689
13704
  let max = 100;
@@ -13730,7 +13745,8 @@ function requireRgbToFilterWorker () {
13730
13745
  const ak = a[i] / Math.pow(A + k + 1, alpha);
13731
13746
  values[i] = RgbToFilterWorker.fixSpsa(values[i] - ak * g, i);
13732
13747
  }
13733
- const loss = this.loss(values);
13748
+ // gradient estimation above stays on the smooth fractional loss - acceptance uses the serialized score
13749
+ const loss = this.serializedLoss(values);
13734
13750
  if (loss < bestLoss) {
13735
13751
  best = values.slice(0);
13736
13752
  bestLoss = loss;
@@ -15290,10 +15306,13 @@ function requireShared () {
15290
15306
  return canvasElement;
15291
15307
  }
15292
15308
  async function createImage() {
15309
+ // the load event must be awaited as some browsers (Firefox) report 0 width/height until the data URL
15310
+ // is decoded, which would create a 0-sized canvas and cause getImageData to throw an IndexSizeError
15293
15311
  const imageElement = new Image();
15294
- imageElement.src = base64EncodedDataURL;
15295
- return new Promise((resolve) => {
15296
- setTimeout(() => resolve(imageElement));
15312
+ return new Promise((resolve, reject) => {
15313
+ imageElement.onload = () => resolve(imageElement);
15314
+ imageElement.onerror = () => reject(new Error('Failed to load the SVG image data URL'));
15315
+ imageElement.src = base64EncodedDataURL;
15297
15316
  });
15298
15317
  }
15299
15318
  const imageElement = await createImage();
@@ -17041,7 +17060,7 @@ const LidoPos = class {
17041
17060
  };
17042
17061
  }
17043
17062
  render() {
17044
- return (h(Host, { key: '6fe74859974f9ef71853a7cae126cc04108fcf75', 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: 'fab9cfb298d95a5899cadfa330ef44ba6057c5ad' })));
17063
+ return (h(Host, { key: 'cfd38900b31991e89c21a099fc4f91f77663ae94', 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: '73f7bfe2d8214693d6f40a4dab6d735906ad4eaa' })));
17045
17064
  }
17046
17065
  get el() { return getElement(this); }
17047
17066
  };
@@ -17356,7 +17375,7 @@ const LidoRow = class {
17356
17375
  };
17357
17376
  }
17358
17377
  render() {
17359
- return (h(Host, { key: 'd6ad19979d6cf5c02d1980418782f969def9765d', 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: '2411f3960437cc90bb0578eba08df15eaa905206' })));
17378
+ return (h(Host, { key: 'c69aea0b1b11d9aec167d1a4376f68073f91ca81', 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: '8756ee0447057cddb949e23decbde5fe4d1d25c8' })));
17360
17379
  }
17361
17380
  get el() { return getElement(this); }
17362
17381
  };
@@ -17741,7 +17760,7 @@ const LidoSlideFill = class {
17741
17760
  }
17742
17761
  }
17743
17762
  render() {
17744
- return (h(Host, { key: '1293c37a88f56ed8a66355d8eff64ce6bc932d00', id: this.id, class: "lido-slide-fill", src: this.src, fill: this.fill, fillDirection: this.fillDirection, slider: this.slider, style: this.style, min: this.min, max: this.max, division: this.division, numberType: this.numberType, onEntry: this.onEntry, type: this.type, "disable-speak": this.disableSpeak }, h("div", { key: '4a6ad5d37c061fa057af4633acca3efee6a1439a', innerHTML: this.svgContent, class: "lido-svg-element" })));
17763
+ return (h(Host, { key: 'a19d35ba055a5ed9ab38adb02f37c9cb634c272d', id: this.id, class: "lido-slide-fill", src: this.src, fill: this.fill, fillDirection: this.fillDirection, slider: this.slider, style: this.style, min: this.min, max: this.max, division: this.division, numberType: this.numberType, onEntry: this.onEntry, type: this.type, "disable-speak": this.disableSpeak }, h("div", { key: '987f42b3c213f570714b2ddf600243e83c3b12ad', innerHTML: this.svgContent, class: "lido-svg-element" })));
17745
17764
  }
17746
17765
  get el() { return getElement(this); }
17747
17766
  static get watchers() { return {
@@ -17823,6 +17842,10 @@ const LidoText = class {
17823
17842
  * The ARIA hidden attribute of the container. Used for accessibility to hide the element.
17824
17843
  */
17825
17844
  this.ariaHidden = '';
17845
+ /**
17846
+ * Allows the text element to be freely moved by pointer/touch and persists the final x/y attributes.
17847
+ */
17848
+ this.move = 'false';
17826
17849
  /**
17827
17850
  * X-axis (horizontal) position of the text component (CSS value, e.g., '10px', '5vw').
17828
17851
  */
@@ -18020,7 +18043,7 @@ const LidoText = class {
18020
18043
  }
18021
18044
  }
18022
18045
  render() {
18023
- return (h(Host, { key: 'e1ca534d9823a8b967c9d8c51d4aebd4706004e7', class: "lido-text", value: this.value, type: this.type, "tab-index": this.tabIndex, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, minDrops: this.minDrops, maxDrops: this.maxDrops, id: this.id, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, "span-type": this.spanType, "disable-speak": `${this.disableSpeak}` }, this.spanType !== '' ? h("div", { class: "lido-text-content" }, " ", instance.t(this.string)) : instance.t(this.string)));
18046
+ return (h(Host, { key: '30e77a008aba08f90f88541574f70588bb8a2cd6', class: "lido-text", value: this.value, type: this.type, "tab-index": this.tabIndex, audio: this.audio, onTouch: this.onTouch, onCorrect: this.onCorrect, onInCorrect: this.onInCorrect, onEntry: this.onEntry, minDrops: this.minDrops, maxDrops: this.maxDrops, id: this.id, style: this.style, "aria-label": this.ariaLabel, "aria-hidden": this.ariaHidden, move: this.move, "span-type": this.spanType, "disable-speak": `${this.disableSpeak}` }, this.spanType !== '' ? h("div", { class: "lido-text-content" }, " ", instance.t(this.string)) : instance.t(this.string)));
18024
18047
  }
18025
18048
  get el() { return getElement(this); }
18026
18049
  };
@@ -19160,7 +19183,7 @@ const LidoWrap = class {
19160
19183
  };
19161
19184
  }
19162
19185
  render() {
19163
- return (h(Host, { key: 'c209fed0cad8eb46d43fc9ec54822eef228c4321', 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: '83ff04e7488aa185c1711de212eecc75b1aa9861' })));
19186
+ return (h(Host, { key: '58b1e37a1787349d3ccd2bc6952d94a7d945e234', 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: '44389fcc3d2e86faf291b74bfe50b55d467a7278' })));
19164
19187
  }
19165
19188
  get el() { return getElement(this); }
19166
19189
  };