UNPKG

@sutton-signwriting/sgnw-components

Version:

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

4 lines 3.64 kB
/*! * The Sutton SignWriting Web Components */ import{forceUpdate as t}from"@stencil/core/internal/client";import{d as o}from"./global.js";var e,n={exports:{}},s=(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,n=t=>"string"!=typeof t?[0,0,0]:t.replace(/rgba?\((.+?)\)/gi,((t,o)=>o)).split(",").map(Number),s=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 n=parseInt(t.padding);e+=!n||n<=0||n>99?"":"P"+(n>9?n:"0"+n);const s=t.background&&"string"==typeof t.background?t.background.match(o.colorbase)[0]:void 0;e+=s?"G_"+s+"_":"";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 n="D"+(e>9?e:"0"+e);const s=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 s&&(n+="_"+s,r&&(n+=","+r),n+="_"),n})):[];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,n="zoom"in o?"x"===o.zoom?1:o.zoom:1;return{...t,...o,zoom:e*n}},t.parse=t=>{const n=("string"==typeof t?t.match(new RegExp(`^${o.full}`)):[])||[];return s={colorize:n[1]?!!n[1]:void 0,padding:n[2]?parseInt(n[2].slice(1)):void 0,background:n[3]?e(n[3].slice(2,-1)):void 0,detail:n[4]?n[4].slice(2,-1).split(",").map(e):void 0,zoom:n[5]?"Zx"===n[5]?"x":parseFloat(n[5].slice(1)):void 0,detailsym:n[6]?n[6].match(new RegExp(o.detailsym,"g")).map((t=>{const o=t.split("_"),n=o[1].split(",").map(e);return{index:parseInt(o[0].slice(1)),detail:n}})):void 0,classes:n[7]?n[7]:void 0,id:n[8]?n[8]:void 0},Object.fromEntries(Object.entries(s).filter((([t,o])=>void 0!==o)));var s},t.re=o,t.rgb2hex=(t,o=0)=>{const e=n(t);return 4==e.length&&e[3]<=o?"transparent":s(e)},t.rgba2hex=(t,o)=>{const e=n(o),r=n(t),i=4==r.length?r[3]:1;return 0==i?"transparent":s(r.map(((t,o)=>parseInt((1-i)*e[o]+i*t))))},Object.defineProperty(t,"__esModule",{value:!0})}(n.exports)),n.exports);class r{constructor(e,n){this.el=e,this.component=n,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,s}