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.
- package/dist/cjs/{decode-xNTgi2vl.js → decode-C08Ujimj.js} +1 -1
- package/dist/cjs/{index-BFTVvr1n.js → index-BkBqiwe8.js} +134 -8
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/lido-avatar_22.cjs.entry.js +52 -29
- package/dist/cjs/lido-player.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/calculator/lido-calculator.css +12 -12
- package/dist/collection/components/canvas/lido-canvas.css +32 -32
- package/dist/collection/components/canvas/lido-canvas.js +1 -1
- 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 +2 -2
- package/dist/collection/components/float/lido-float.js +1 -1
- package/dist/collection/components/position/lido-pos.js +1 -1
- package/dist/collection/components/row/lido-row.js +1 -1
- package/dist/collection/components/slideFill/lido-slide-fill.js +1 -1
- package/dist/collection/components/text/lido-text.js +25 -1
- package/dist/collection/components/wrap/lido-wrap.js +1 -1
- package/dist/collection/utils/constants.js +1 -0
- package/dist/collection/utils/utils.js +4 -0
- package/dist/collection/utils/utilsHandlers/animationHandler.js +20 -9
- package/dist/collection/utils/utilsHandlers/moveHandler.js +111 -0
- package/dist/components/index.js +1 -1
- package/dist/components/lido-calculator.js +1 -1
- package/dist/components/lido-canvas.js +1 -1
- 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-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-pos.js +1 -1
- package/dist/components/lido-root.js +1 -1
- package/dist/components/lido-row.js +1 -1
- package/dist/components/lido-slide-fill.js +1 -1
- package/dist/components/lido-text.js +1 -1
- package/dist/components/lido-wrap.js +1 -1
- package/dist/components/{p-kmKkLN_7.js → p-BE25wHoo.js} +1 -1
- package/dist/components/p-BfwUqpXc.js +1 -0
- package/dist/components/{p-CDhOF-lb.js → p-Bw-OC9iR.js} +1 -1
- package/dist/components/{p-DVn4BL1l.js → p-C2p0KZh4.js} +1 -1
- package/dist/components/p-C5jvgiPE.js +1 -0
- package/dist/components/{p-CFNRhdZZ.js → p-CPYnt0P-.js} +1 -1
- package/dist/components/{p-B8USa8EO.js → p-CS6iRQJh.js} +1 -1
- package/dist/components/{p-DflRPD3L.js → p-CyGxEcn7.js} +1 -1
- package/dist/components/{p-BP79Al--.js → p-D-IYWSAa.js} +1 -1
- package/dist/components/{p-CbZUFX8q.js → p-DGvzMlyn.js} +2 -2
- package/dist/components/p-DbR5sNOj.js +1 -0
- package/dist/components/{p-D2RiLzSu.js → p-Sl9R-E6h.js} +1 -1
- package/dist/components/p-Uluc7jQ7.js +1 -0
- package/dist/components/{p-CLX-8DBk.js → p-useuhkjH.js} +1 -1
- package/dist/esm/{decode-DyBLrL5N.js → decode-CGJIPA4t.js} +1 -1
- package/dist/esm/{index-B7s7KKj1.js → index-C854B63S.js} +134 -8
- package/dist/esm/index.js +1 -1
- package/dist/esm/lido-avatar_22.entry.js +52 -29
- package/dist/esm/lido-player.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lido-player/index.esm.js +1 -1
- package/dist/lido-player/lido-player.esm.js +1 -1
- package/dist/lido-player/{p-Detap4vV.js → p-Bg5mBsd9.js} +1 -1
- package/dist/lido-player/p-C4OTDhbr.js +1 -0
- package/dist/lido-player/{p-05fff653.entry.js → p-f0e333c6.entry.js} +2 -2
- package/dist/types/components/text/lido-text.d.ts +4 -0
- package/dist/types/components.d.ts +11 -0
- package/dist/types/utils/constants.d.ts +1 -0
- package/dist/types/utils/utilsHandlers/moveHandler.d.ts +1 -0
- package/package.json +1 -1
- package/dist/components/p-BJ4H1UxZ.js +0 -1
- package/dist/components/p-BiNO9454.js +0 -1
- package/dist/components/p-DH6lvh19.js +0 -1
- package/dist/components/p-DbDgJi-A.js +0 -1
- 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
|
|
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:"
|
|
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}
|
|
@@ -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
|
|
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
|
|
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
|
-
|
|
275
|
-
const vanishedValue = (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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-
|
|
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
|
|
13678
|
-
|
|
13679
|
-
|
|
13680
|
-
|
|
13681
|
-
|
|
13682
|
-
|
|
13683
|
-
|
|
13684
|
-
|
|
13685
|
-
|
|
13686
|
-
|
|
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
|
-
|
|
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
|
-
|
|
15295
|
-
|
|
15296
|
-
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
};
|