UNPKG

@scandit/web-datacapture-core

Version:

Scandit Data Capture SDK for the Web

5 lines 4.76 kB
import {b as b$2}from'./chunk-43NA46NY.js';import {a as a$7}from'./chunk-FFTRSHP6.js';import {b as b$1,a as a$6}from'./chunk-5S537AFM.js';import {a as a$1}from'./chunk-EV4OEANA.js';import {a as a$5}from'./chunk-3A4KLILV.js';import {a as a$3}from'./chunk-MU6SADSF.js';import {a as a$4}from'./chunk-LSZZVJ6B.js';import {a as a$2}from'./chunk-R6E4CT22.js';var a="--view-finder-top",s="--view-finder-bottom",c="--hint-anchor-offset",b="--max-width-fraction",w="--horizontal-margin",h="--max-width-ratio-adjust",$=(l=>(l.Update="hintpresenterupdate",l))($||{});function d(p,l=100){return typeof p=="string"?p.slice(0,l):""}var o=class o extends a$1{constructor(){super();this.onDidToastHideHandler=this.onDidToastHide.bind(this);this.orientationObserver=new b$1;this.onOrientationChangeHandler=a$2(this.onOrientationChange.bind(this),200);let t=this.attachShadow({mode:"open"});t.innerHTML=a$3` <div id="root"> <slot></slot> </div> `,t.append(o.createStyleElement().cloneNode(true)),this.root=t.querySelector("#root");}static createStyleElement(){return a$4`:host{pointer-events:none}:host #root{inset:0;position:absolute;width:100%;${a}:0;${s}:0;${h}:1;z-index:1}::slotted(${b$2.tag}){left:50%;max-width:calc(var(${b})*var(${h})*100% - var(${w}));position:absolute;transform:translate3d(-50%,0,0);width:100%}::slotted(${b$2.tag}.${"aboveViewFinder"}){transform:translate3d(-50%,calc(-100% + var(${a}) - var(${c})),0)}::slotted(${b$2.tag}.${"belowViewFinder"}){transform:translate3d(-50%,calc(var(${s}) + var(${c})),0)}::slotted(${b$2.tag}.${"top"}){top:calc(var(${c}))}::slotted(${b$2.tag}.fitToText){width:fit-content}`}static register(){a$5({[o.tag]:o});}static create(){return o.register(),document.createElement(o.tag)}connectedCallback(){this.orientationObserver.addEventListener(a$6,this.onOrientationChangeHandler),this.orientationObserver.register(),this.addEventListener("didhide",this.onDidToastHideHandler),this._viewFinderRect==null&&(this.root.style.setProperty(a,`${this.root.clientHeight/2}px`),this.root.style.setProperty(s,`${this.root.clientHeight/2+1}px`));}disconnectedCallback(){this.removeEventListener("didhide",this.onDidToastHideHandler);}setViewFinderRect(t){if(t===null){this.root.style.removeProperty(a),this.root.style.removeProperty(s);return}this._viewFinderRect=t;let{origin:{y:e},size:{height:i}}=this._viewFinderRect;this.root.style.setProperty(a,`${e}px`),this.root.style.setProperty(s,`${e+i}px`);}handleMessage(t){let{type:e}=t;switch(e){case "showToast":{this.showToast(t.payload);break}case "hideToast":{this.hideToast(t.payload);break}case "showGuidance":{this.showGuidance(t.payload);break}case "hideGuidance":{this.hideGuidance(t.payload);break}case "startUpdateTimer":{this.startUpdateTimer(t.payload.duration.value);break}case "stopUpdateTimer":{this.stopUpdateTimer();break}}}setHintStyleToToast(t,e){t.textContent=e.text,t.hintStyle=e.hintStyle,t.className="",t.style.setProperty(c,`${t.hintStyle.hintAnchorOffset/16}rem`),t.style.setProperty(b,e.hintStyle.maxWidthFraction.toString()),t.style.setProperty(w,`${e.hintStyle.horizontalMargin/16}rem`),t.classList.add(e.hintStyle.hintAnchor),t.classList.toggle("fitToText",e.hintStyle.fitToText);}onDidToastHide(t){t.stopPropagation(),t.detail.target.remove();}async showToast(t){let e=this.idFromHint(t),i=this.querySelector(`#${e}`);if(i||(i=b$2.create(),i.id=e,this.append(i)),this.setHintStyleToToast(i,t),t.tag==="MoveCloserGuidance"){let r=a$7.create();r.setAttribute("slot","first-child"),i.append(r),i.setAttribute("direction","column");}return i.show()}showToastWithCustomIcon(t,e){let i=this.idFromHint(t),r=this.querySelector(`#${i}`);return r||(r=b$2.create(),r.id=i,this.append(r)),r.customIcon=e,this.setHintStyleToToast(r,t),r.show()}async hideToast(t){let e=this.querySelector(`#${this.idFromHint(t)}`);if(e!=null)return e.hide()}async showGuidance(t){return this.showToast(t)}async hideGuidance(t){return this.hideToast(t)}startUpdateTimer(t){this.intervalId=setInterval(()=>{this.dispatchEvent(new CustomEvent("hintpresenterupdate"));},t);}stopUpdateTimer(){clearInterval(this.intervalId);}idFromHint(t){var e;return btoa([d(t.hintStyle.textColor),d(t.hintStyle.backgroundColor),d(t.hintStyle.hintAnchor),d((e=t.tag)!=null?e:""),d(t.hintStyle.textAlignment)].join("-")).split("+").join("-").split("/").join("_").replace(/=+$/,"")}onOrientationChange(t){let e=1;e=t.detail.value==="landscapeLeft"||t.detail.value==="landscapeRight"?window.innerHeight/window.innerWidth:1,this.root.style.setProperty(h,e.toString()),this._viewFinderRect==null&&(this.root.style.setProperty(a,`${this.root.clientHeight/2}px`),this.root.style.setProperty(s,`${this.root.clientHeight/2+1}px`));}};o.tag="scandit-hints";var S=o;export{$ as a,S as b};