@scandit/web-datacapture-core
Version:
Scandit Data Capture SDK for the Web
1 lines • 1.33 kB
JavaScript
var n=class t{constructor(e){this.hexadecimalString=e;}get redComponent(){return this.hexadecimalString.slice(0,2)}get greenComponent(){return this.hexadecimalString.slice(2,4)}get blueComponent(){return this.hexadecimalString.slice(4,6)}get alphaComponent(){return this.hexadecimalString.slice(6,8)}get red(){return t.hexToNumber(this.redComponent)}get green(){return t.hexToNumber(this.greenComponent)}get blue(){return t.hexToNumber(this.blueComponent)}get alpha(){return t.hexToNumber(this.alphaComponent)}static fromHex(e){return new t(t.normalizeHex(e))}static fromRGBA(e,r,i,l=1){let a=[e,r,i,t.normalizeAlpha(l)].reduce((o,u)=>o+t.numberToHex(u),"");return new t(a)}static areEquals(e,r){return e==null||r==null?false:e.hexadecimalString===r.hexadecimalString}static hexToNumber(e){return Number.parseInt(e,16)}static fromJSON(e){return t.fromHex(e)}static numberToHex(e){let i=Math.round(e).toString(16);return i.length===1&&(i=`0${i}`),i.toUpperCase()}static normalizeHex(e){let r=e;return r.startsWith("#")&&(r=r.slice(1)),r.length<6&&(r=[...r].map(i=>i+i).join("")),r.length===6&&(r+="FF"),r.toUpperCase()}static normalizeAlpha(e){return e>0&&e<=1?255*e:e}withAlpha(e){let r=this.hexadecimalString.slice(0,6)+t.numberToHex(t.normalizeAlpha(e));return t.fromHex(r)}toJSON(){return this.hexadecimalString}};export{n as a};