/* Sutton SignWriting Core Module v1.1.0, author: Steve Slevinski, license: MIT */ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});let re={symbol:"S[123][0-9a-f]{2}[0-5][0-9a-f]",coord:"[0-9]{3}x[0-9]{3}",sort:"A",box:"[BLMR]"};re.prefix=`(?:${re.sort}(?:${re.symbol})+)`,re.spatial=`${re.symbol}${re.coord}`,re.signbox=`${re.box}${re.coord}(?:${re.spatial})*`,re.sign=`${re.prefix}?${re.signbox}`,re.term=`${re.prefix}${re.signbox}`;let re$1={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)",zoomsym:"Z[0-9]{2},[0-9]+(?:\\.[0-9]+)?(?:,[0-9]{3}x[0-9]{3})?",classbase:"-?[_a-zA-Z][_a-zA-Z0-9-]{0,100}",id:"[a-zA-Z][_a-zA-Z0-9-]{0,100}"};re$1.colorbase=`(?:${re$1.colorhex}|${re$1.colorname})`,re$1.color=`_${re$1.colorbase}_`,re$1.colors=`_${re$1.colorbase}(?:,${re$1.colorbase})?_`,re$1.background=`G${re$1.color}`,re$1.detail=`D${re$1.colors}`,re$1.detailsym=`D[0-9]{2}${re$1.colors}`,re$1.classes=`${re$1.classbase}(?: ${re$1.classbase})*`,re$1.full=`-(${re$1.colorize})?(${re$1.padding})?(${re$1.background})?(${re$1.detail})?(${re$1.zoom})?(?:-((?:${re$1.detailsym})*)((?:${re$1.zoomsym})*))?(?:-(${re$1.classes})?!(?:(${re$1.id})!)?)?`;const fsw2coord=e=>e.split("x").map(e=>parseInt(e)),parse={symbol:e=>{const r=`^(${re.symbol})(${re.coord})?(${re$1.full})?`,o="string"==typeof e?e.match(new RegExp(r)):void 0;return{symbol:o?o[1]:void 0,coord:o&&o[2]?fsw2coord(o[2]):void 0,style:o?o[3]:void 0}},sign:e=>{const r=`^(${re.prefix})?(${re.signbox})(${re$1.full})?`,o="string"==typeof e?e.match(new RegExp(r)):void 0;return o?{sequence:o[1]?o[1].slice(1).match(/.{6}/g):void 0,box:o[2][0],max:fsw2coord(o[2].slice(1,8)),spatials:o[2].length<9?void 0:o[2].slice(8).match(/(.{13})/g).map(e=>({symbol:e.slice(0,6),coord:[parseInt(e.slice(6,9)),parseInt(e.slice(10,13))]})),style:o[3]}:{}}},kind=[256,895,903],category=[256,517,759,767,877,895,903],group=[256,270,286,324,332,390,420,442,461,501,517,534,554,597,613,648,678,695,725,739,759,767,778,810,827,857,877,886,895,903],ranges={all:[256,907],writing:[256,894],hand:[256,516],movement:[517,758],dynamic:[759,766],head:[767,876],hcenter:[767,876],vcenter:[767,885],trunk:[877,885],limb:[886,894],location:[895,902],punctuation:[903,907]},isType=(e,r)=>{const o=parse.symbol(e);if(o.symbol){const e=parseInt(o.symbol.slice(1,4),16),s=ranges[r];if(s)return s[0]<=e&&s[1]>=e}return!1},colors=["#0000CC","#CC0000","#FF0099","#006600","#000000","#884411","#FF9900"],colorize=e=>{const r=parse.symbol(e);let o="#000000";if(r.symbol){const e=parseInt(r.symbol.slice(1,4),16),s=category.findIndex(r=>r>e);o=colors[s<0?6:s-1]}return o};exports.category=category,exports.colorize=colorize,exports.colors=colors,exports.group=group,exports.isType=isType,exports.kind=kind,exports.parse=parse,exports.ranges=ranges,exports.re=re;