UNPKG

@sutton-signwriting/sgnw-components

Version:

a javascript package of web components for use with the SignWriting script.

4 lines 3.6 kB
/*! * The Sutton SignWriting Web Components */ import{l as t,m as o}from"./p-BAJUTSOF.js";var e,s={exports:{}},n=(e||(e=1,function(t){let o={colorize:"C",colorhex:"(?:[0-9a-fA-F]{3}){1,2}",colorname:"[a-zA-Z]+",padding:"P[0-9]{2}",zoom:"Z(?:[0-9]+(?:\\.[0-9]+)?|x)",classbase:"-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}",id:"[a-zA-Z][_a-zA-Z0-9-]{0,100}"};o.colorbase=`(?:${o.colorhex}|${o.colorname})`,o.color=`_${o.colorbase}_`,o.colors=`_${o.colorbase}(?:,${o.colorbase})?_`,o.background=`G${o.color}`,o.detail=`D${o.colors}`,o.detailsym=`D[0-9]{2}${o.colors}`,o.classes=`${o.classbase}(?: ${o.classbase})*`,o.full=`-(${o.colorize})?(${o.padding})?(${o.background})?(${o.detail})?(${o.zoom})?(?:-((?:${o.detailsym})*))?(?:-(${o.classes})?!(?:(${o.id})!)?)?`;const e=t=>(new RegExp(`^${o.colorhex}$`).test(t)?"#":"")+t,s=t=>"string"!=typeof t?[0,0,0]:t.replace(/rgba?\((.+?)\)/gi,((t,o)=>o)).split(",").map(Number),n=t=>t.slice(0,3).map((t=>t.toString(16).padStart(2,"0"))).join("");t.compose=t=>{if("object"!=typeof t||null===t)return;let e="-";e+=t.colorize?"C":"";const s=parseInt(t.padding);e+=!s||s<=0||s>99?"":"P"+(s>9?s:"0"+s);const n=t.background&&"string"==typeof t.background?t.background.match(o.colorbase)[0]:void 0;e+=n?"G_"+n+"_":"";const r=t.detail&&t.detail[0]&&"string"==typeof t.detail[0]?t.detail[0].match(o.colorbase)[0]:void 0,i=t.detail&&t.detail[1]&&"string"==typeof t.detail[1]?t.detail[1].match(o.colorbase)[0]:void 0;r&&(e+="D_"+r,i&&(e+=","+i),e+="_");const a="x"===t.zoom?"x":parseFloat(t.zoom);e+=!a||a<=0?"":"Z"+a;let c="";const d=t.detailsym&&Array.isArray(t.detailsym)?t.detailsym.map((t=>{const e=parseInt(t.index);if(!e||e<=0||e>99)return"";let s="D"+(e>9?e:"0"+e);const n=t.detail&&t.detail[0]?t.detail[0].match(o.colorbase)[0]:void 0,r=t.detail&&t.detail[1]?t.detail[1].match(o.colorbase)[0]:void 0;return n&&(s+="_"+n,r&&(s+=","+r),s+="_"),s})):[];c+=d.join("");let p="";const l=t.classes&&"string"==typeof t.classes?t.classes.match(o.classes)[0]:void 0;p+=l||"";const $=t.id&&"string"==typeof t.id?t.id.match(o.id)[0]:void 0;return p+=l||$?"!":"",p+=$?$+"!":"",e+(c||p?"-"+c:"")+(p?"-"+p:"")},t.merge=(t,o)=>{"object"!=typeof t&&(t={}),"object"!=typeof o&&(o={});const e="zoom"in t?"x"===t.zoom?1:t.zoom:1,s="zoom"in o?"x"===o.zoom?1:o.zoom:1;return{...t,...o,zoom:e*s}},t.parse=t=>{const s=("string"==typeof t?t.match(new RegExp(`^${o.full}`)):[])||[];return n={colorize:s[1]?!!s[1]:void 0,padding:s[2]?parseInt(s[2].slice(1)):void 0,background:s[3]?e(s[3].slice(2,-1)):void 0,detail:s[4]?s[4].slice(2,-1).split(",").map(e):void 0,zoom:s[5]?"Zx"===s[5]?"x":parseFloat(s[5].slice(1)):void 0,detailsym:s[6]?s[6].match(new RegExp(o.detailsym,"g")).map((t=>{const o=t.split("_"),s=o[1].split(",").map(e);return{index:parseInt(o[0].slice(1)),detail:s}})):void 0,classes:s[7]?s[7]:void 0,id:s[8]?s[8]:void 0},Object.fromEntries(Object.entries(n).filter((([t,o])=>void 0!==o)));var n},t.re=o,t.rgb2hex=(t,o=0)=>{const e=s(t);return 4==e.length&&e[3]<=o?"transparent":n(e)},t.rgba2hex=(t,o)=>{const e=s(o),r=s(t),i=4==r.length?r[3]:1;return 0==i?"transparent":n(r.map(((t,o)=>parseInt((1-i)*e[o]+i*t))))},Object.defineProperty(t,"__esModule",{value:!0})}(s.exports)),s.exports);class r{constructor(e,s){this.el=e,this.component=s,this.handleColorChange=o=>{"color"!=o.propertyName&&"background-color"!=o.propertyName||t(this.component)},this.stopThemeWatch=o((()=>t(this.component))),this.el.addEventListener("transitionend",this.handleColorChange)}dispose(){this.stopThemeWatch(),this.el.removeEventListener("transitionend",this.handleColorChange)}}export{r as C,n as s}