@scandit/web-datacapture-barcode
Version:
Scandit Data Capture SDK for the Web
1 lines • 2.84 kB
JavaScript
import{Color as e}from"@scandit/web-datacapture-core";import{ScanditHTMLElement as t,css as n,defineCustomElements as r,html as i}from"@scandit/web-datacapture-core/build/js/private/utils/index.js";import{gray900 as a}from"@scandit/web-datacapture-core/build/js/private/ui/colors.js";var o=class o extends t{constructor(){super(),this.isLeftIconTappable=!0,this.isRightIconTappable=!0;let e=this.attachShadow({mode:`open`});e.innerHTML=i`<div class="container"><slot name="left-barcode-icon"></slot><div class="text"></div><slot name="right-barcode-icon"></slot></div>`,e.append(o.createStyleElement().cloneNode(!0)),this.textElement=e.querySelector(`.text`),this.containerElement=e.querySelector(`.container`)}set rightIcon(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`[slot='right-barcode-icon']`);(n==null?void 0:n.assignedSlot)!==e&&(n&&e==null&&n.remove(),e&&(e.slot=`right-barcode-icon`,this.append(e)))}get rightIcon(){var e;return(((e=this.shadowRoot)==null||(e=e.querySelector(`slot[name='right-barcode-icon']`))==null?void 0:e.assignedElements())??[])[0]}set leftIcon(e){var t;let n=(t=this.shadowRoot)==null?void 0:t.querySelector(`[slot='left-barcode-icon']`);(n==null?void 0:n.assignedSlot)!==e&&(n&&e==null&&n.remove(),e&&(e.slot=`left-barcode-icon`,this.append(e)))}get leftIcon(){var e;return(((e=this.shadowRoot)==null||(e=e.querySelector(`slot[name='left-barcode-icon']`))==null?void 0:e.assignedElements())??[])[0]}get text(){return this.textElement.textContent??``}set text(e){this.textElement.textContent=e}get textSize(){return Number.parseInt(this.style.getPropertyValue(`--text-size`),10)}set textSize(e){this.style.setProperty(`--text-size`,`${e}px`)}get textAlignment(){return this.containerElement.getAttribute(`text-alignment`)??`center`}set textAlignment(e){this.containerElement.setAttribute(`text-alignment`,e)}get textColor(){let t=this.style.getPropertyValue(`--text-color`);return t===``?e.fromRGBA(0,0,0,1):e.fromHex(t)}set textColor(e){this.style.setProperty(`--text-color`,`#${e.toJSON()}`)}static create(){return o.register(),document.createElement(o.tag)}static register(){r({[o.tag]:o})}static createStyleElement(){return n`:host{--text-color:#${a.toJSON()};--text-size:14px}.container{align-items:center;display:flex;font-size:var(--text-size);gap:.75rem;justify-content:center;padding:1rem 1rem 0}.container .text{color:var(--text-color)}.container[text-alignment=start]{justify-content:flex-start}.container[text-alignment=center]{justify-content:center}.container[text-alignment=end]{justify-content:flex-end}.container[text-alignment=start] .text{text-align:start}.container[text-alignment=center] .text{text-align:center}.container[text-alignment=end] .text{text-align:end}`}};o.tag=`scandit-barcode-ar-info-annotation-body`;export{o as BarcodeArInfoAnnotationBodyComponent};