@bagelink/vue 1.4.34 → 1.4.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/chunk-CsX-DzYB.cjs +1 -0
  2. package/dist/components/Icon.vue.d.ts +16 -0
  3. package/dist/components/Icon.vue.d.ts.map +1 -0
  4. package/dist/components/calendar/views/CalendarPopover.vue.d.ts +2 -2
  5. package/dist/components/calendar/views/CalendarPopover.vue.d.ts.map +1 -1
  6. package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
  7. package/dist/components/form/BglFieldSet.vue.d.ts +25 -0
  8. package/dist/components/form/BglFieldSet.vue.d.ts.map +1 -0
  9. package/dist/components/form/inputs/DateInput.vue.d.ts +1 -1
  10. package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/DatePicker.vue.d.ts +1 -1
  12. package/dist/components/form/inputs/DatePicker.vue.d.ts.map +1 -1
  13. package/dist/components/index.d.ts +0 -1
  14. package/dist/components/index.d.ts.map +1 -1
  15. package/dist/components/layout/Layout.vue.d.ts +1 -1
  16. package/dist/components/layout/Layout.vue.d.ts.map +1 -1
  17. package/dist/composables/useExcel.d.ts.map +1 -1
  18. package/dist/editor-BpbYtUrx.js +2 -0
  19. package/dist/editor-COZLUDwR.cjs +1 -0
  20. package/dist/editor-CogxCqoB.cjs +3 -0
  21. package/dist/editor-CtWHU9QA.js +1 -0
  22. package/dist/editor-DDp0A6Ty.cjs +1 -0
  23. package/dist/editor-DQOZvXuf.cjs +1 -0
  24. package/dist/editor-Dk9B96i8.cjs +2 -0
  25. package/dist/editor-Dpod7RSB.js +1 -0
  26. package/dist/editor-UnqmwfaW.js +2 -0
  27. package/dist/editor-fhxKzja8.cjs +2 -0
  28. package/dist/editor-mLVzxfYa.js +2 -0
  29. package/dist/editor-smCr3pmQ.cjs +1 -0
  30. package/dist/editor-sxMLITHI.js +1 -0
  31. package/dist/iconify-0J3vK-m1.cjs +1693 -0
  32. package/dist/iconify-Bc1B42Ak.cjs +1771 -0
  33. package/dist/iconify-BiLGk5km.js +1693 -0
  34. package/dist/iconify-DVnNdzog.js +1771 -0
  35. package/dist/index.cjs +28 -40100
  36. package/dist/index.mjs +28 -40100
  37. package/dist/style.css +2 -18528
  38. package/dist/types/timeago.d.ts +23 -0
  39. package/dist/types/timeago.d.ts.map +1 -0
  40. package/dist/vue3-charts.esm-CkXK48ud.js +54 -0
  41. package/dist/vue3-charts.esm-uVj96p6_.cjs +54 -0
  42. package/package.json +3 -11
  43. package/src/components/index.ts +0 -1
  44. package/src/composables/useExcel.ts +15 -1
  45. package/src/styles/layout.css +94 -94
  46. package/src/styles/mobilLayout.css +95 -95
  47. package/vite.config.ts +2 -1
  48. package/dist/components/Carousel2.vue.d.ts +0 -89
  49. package/dist/components/Carousel2.vue.d.ts.map +0 -1
  50. package/src/components/dashboard/Lineart.vue +0 -212
  51. package/src/components/dashboard/index.ts +0 -1
@@ -0,0 +1,54 @@
1
+ const require_chunk=require(`./chunk-CsX-DzYB.cjs`),vue=require_chunk.__toESM(require(`vue`));function _isPlaceholder(a){return typeof a==`object`&&!!a&&a[`@@functional/placeholder`]===!0}function _curry1(fn){return function f1(a){return arguments.length===0||_isPlaceholder(a)?f1:fn.apply(this,arguments)}}function _curry2(fn){return function f2(a,b){switch(arguments.length){case 0:return f2;case 1:return _isPlaceholder(a)?f2:_curry1(function(_b){return fn(a,_b)});default:return _isPlaceholder(a)&&_isPlaceholder(b)?f2:_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b)}):fn(a,b)}}}function _arity(n,fn){switch(n){case 0:return function(){return fn.apply(this,arguments)};case 1:return function(a0){return fn.apply(this,arguments)};case 2:return function(a0,a1){return fn.apply(this,arguments)};case 3:return function(a0,a1,a2){return fn.apply(this,arguments)};case 4:return function(a0,a1,a2,a3){return fn.apply(this,arguments)};case 5:return function(a0,a1,a2,a3,a4){return fn.apply(this,arguments)};case 6:return function(a0,a1,a2,a3,a4,a5){return fn.apply(this,arguments)};case 7:return function(a0,a1,a2,a3,a4,a5,a6){return fn.apply(this,arguments)};case 8:return function(a0,a1,a2,a3,a4,a5,a6,a7){return fn.apply(this,arguments)};case 9:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8){return fn.apply(this,arguments)};case 10:return function(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9){return fn.apply(this,arguments)};default:throw Error(`First argument to _arity must be a non-negative integer no greater than ten`)}}function _curryN(length,received,fn){return function(){for(var combined=[],argsIdx=0,left$1=length,combinedIdx=0;combinedIdx<received.length||argsIdx<arguments.length;){var result;combinedIdx<received.length&&(!_isPlaceholder(received[combinedIdx])||argsIdx>=arguments.length)?result=received[combinedIdx]:(result=arguments[argsIdx],argsIdx+=1),combined[combinedIdx]=result,_isPlaceholder(result)||--left$1,combinedIdx+=1}return left$1<=0?fn.apply(this,combined):_arity(left$1,_curryN(length,combined,fn))}}var curryN=_curry2(function(length,fn){return length===1?_curry1(fn):_arity(length,_curryN(length,[],fn))});function _curry3(fn){return function f3(a,b,c){switch(arguments.length){case 0:return f3;case 1:return _isPlaceholder(a)?f3:_curry2(function(_b,_c){return fn(a,_b,_c)});case 2:return _isPlaceholder(a)&&_isPlaceholder(b)?f3:_isPlaceholder(a)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_curry1(function(_c){return fn(a,b,_c)});default:return _isPlaceholder(a)&&_isPlaceholder(b)&&_isPlaceholder(c)?f3:_isPlaceholder(a)&&_isPlaceholder(b)?_curry2(function(_a,_b){return fn(_a,_b,c)}):_isPlaceholder(a)&&_isPlaceholder(c)?_curry2(function(_a,_c){return fn(_a,b,_c)}):_isPlaceholder(b)&&_isPlaceholder(c)?_curry2(function(_b,_c){return fn(a,_b,_c)}):_isPlaceholder(a)?_curry1(function(_a){return fn(_a,b,c)}):_isPlaceholder(b)?_curry1(function(_b){return fn(a,_b,c)}):_isPlaceholder(c)?_curry1(function(_c){return fn(a,b,_c)}):fn(a,b,c)}}}var _isArray=Array.isArray||function(val){return val!=null&&val.length>=0&&Object.prototype.toString.call(val)===`[object Array]`};function _isTransformer(obj){return obj!=null&&typeof obj[`@@transducer/step`]==`function`}function _dispatchable(methodNames,transducerCreator,fn){return function(){if(arguments.length===0)return fn();var obj=arguments[arguments.length-1];if(!_isArray(obj)){for(var idx=0;idx<methodNames.length;){if(typeof obj[methodNames[idx]]==`function`)return obj[methodNames[idx]].apply(obj,Array.prototype.slice.call(arguments,0,-1));idx+=1}if(_isTransformer(obj)){var transducer=transducerCreator.apply(null,Array.prototype.slice.call(arguments,0,-1));return transducer(obj)}}return fn.apply(this,arguments)}}var _xfBase={init:function(){return this.xf[`@@transducer/init`]()},result:function(result){return this.xf[`@@transducer/result`](result)}};function _map(fn,functor){for(var idx=0,len=functor.length,result=Array(len);idx<len;)result[idx]=fn(functor[idx]),idx+=1;return result}function _isString(x$1){return Object.prototype.toString.call(x$1)===`[object String]`}var _isArrayLike=_curry1(function(x$1){return _isArray(x$1)?!0:!x$1||typeof x$1!=`object`||_isString(x$1)?!1:x$1.length===0?!0:x$1.length>0?x$1.hasOwnProperty(0)&&x$1.hasOwnProperty(x$1.length-1):!1}),XWrap=function(){function XWrap$1(fn){this.f=fn}return XWrap$1.prototype[`@@transducer/init`]=function(){throw Error(`init not implemented on XWrap`)},XWrap$1.prototype[`@@transducer/result`]=function(acc){return acc},XWrap$1.prototype[`@@transducer/step`]=function(acc,x$1){return this.f(acc,x$1)},XWrap$1}();function _xwrap(fn){return new XWrap(fn)}var bind=_curry2(function(fn,thisObj){return _arity(fn.length,function(){return fn.apply(thisObj,arguments)})});function _arrayReduce(xf,acc,list){for(var idx=0,len=list.length;idx<len;){if(acc=xf[`@@transducer/step`](acc,list[idx]),acc&&acc[`@@transducer/reduced`]){acc=acc[`@@transducer/value`];break}idx+=1}return xf[`@@transducer/result`](acc)}function _iterableReduce(xf,acc,iter){for(var step=iter.next();!step.done;){if(acc=xf[`@@transducer/step`](acc,step.value),acc&&acc[`@@transducer/reduced`]){acc=acc[`@@transducer/value`];break}step=iter.next()}return xf[`@@transducer/result`](acc)}function _methodReduce(xf,acc,obj,methodName){return xf[`@@transducer/result`](obj[methodName](bind(xf[`@@transducer/step`],xf),acc))}var symIterator=typeof Symbol<`u`?Symbol.iterator:`@@iterator`;function _reduce(fn,acc,list){if(typeof fn==`function`&&(fn=_xwrap(fn)),_isArrayLike(list))return _arrayReduce(fn,acc,list);if(typeof list[`fantasy-land/reduce`]==`function`)return _methodReduce(fn,acc,list,`fantasy-land/reduce`);if(list[symIterator]!=null)return _iterableReduce(fn,acc,list[symIterator]());if(typeof list.next==`function`)return _iterableReduce(fn,acc,list);if(typeof list.reduce==`function`)return _methodReduce(fn,acc,list,`reduce`);throw TypeError(`reduce: list must be array or iterable`)}var XMap=function(){function XMap$1(f,xf){this.xf=xf,this.f=f}return XMap$1.prototype[`@@transducer/init`]=_xfBase.init,XMap$1.prototype[`@@transducer/result`]=_xfBase.result,XMap$1.prototype[`@@transducer/step`]=function(result,input){return this.xf[`@@transducer/step`](result,this.f(input))},XMap$1}(),_xmap=_curry2(function(f,xf){return new XMap(f,xf)});function _has(prop$2,obj){return Object.prototype.hasOwnProperty.call(obj,prop$2)}var toString$1=Object.prototype.toString,_isArguments=function(){return toString$1.call(arguments)===`[object Arguments]`?function(x$1){return toString$1.call(x$1)===`[object Arguments]`}:function(x$1){return _has(`callee`,x$1)}}(),hasEnumBug=!{toString:null}.propertyIsEnumerable(`toString`),nonEnumerableProps=[`constructor`,`valueOf`,`isPrototypeOf`,`toString`,`propertyIsEnumerable`,`hasOwnProperty`,`toLocaleString`],hasArgsEnumBug=function(){return arguments.propertyIsEnumerable(`length`)}(),contains=function(list,item){for(var idx=0;idx<list.length;){if(list[idx]===item)return!0;idx+=1}return!1},keys=typeof Object.keys==`function`&&!hasArgsEnumBug?_curry1(function(obj){return Object(obj)===obj?Object.keys(obj):[]}):_curry1(function(obj){if(Object(obj)!==obj)return[];var prop$2,nIdx,ks=[],checkArgsLength=hasArgsEnumBug&&_isArguments(obj);for(prop$2 in obj)_has(prop$2,obj)&&(!checkArgsLength||prop$2!==`length`)&&(ks[ks.length]=prop$2);if(hasEnumBug)for(nIdx=nonEnumerableProps.length-1;nIdx>=0;)prop$2=nonEnumerableProps[nIdx],_has(prop$2,obj)&&!contains(ks,prop$2)&&(ks[ks.length]=prop$2),--nIdx;return ks}),map$1=_curry2(_dispatchable([`fantasy-land/map`,`map`],_xmap,function(fn,functor){switch(Object.prototype.toString.call(functor)){case`[object Function]`:return curryN(functor.length,function(){return fn.call(this,functor.apply(this,arguments))});case`[object Object]`:return _reduce(function(acc,key){return acc[key]=fn(functor[key]),acc},{},keys(functor));default:return _map(fn,functor)}})),map$2=map$1,_isInteger=Number.isInteger||function(n){return n<<0===n},nth=_curry2(function(offset,list){var idx=offset<0?list.length+offset:offset;return _isString(list)?list.charAt(idx):list[idx]}),nth$1=nth,prop=_curry2(function(p,obj){if(obj!=null)return _isInteger(p)?nth$1(p,obj):obj[p]}),prop$1=prop,reduce=_curry3(_reduce),reduce$1=reduce,values=_curry1(function(obj){for(var props=keys(obj),len=props.length,vals=[],idx=0;idx<len;)vals[idx]=obj[props[idx]],idx+=1;return vals}),values$1=values;function _isFunction(x$1){var type$1=Object.prototype.toString.call(x$1);return type$1===`[object Function]`||type$1===`[object AsyncFunction]`||type$1===`[object GeneratorFunction]`||type$1===`[object AsyncGeneratorFunction]`}var type=_curry1(function(val){return val===null?`Null`:val===void 0?`Undefined`:Object.prototype.toString.call(val).slice(8,-1)});function _pipe(f,g){return function(){return g.call(this,f.apply(this,arguments))}}function _checkForMethod(methodname,fn){return function(){var length=arguments.length;if(length===0)return fn();var obj=arguments[length-1];return _isArray(obj)||typeof obj[methodname]!=`function`?fn.apply(this,arguments):obj[methodname].apply(obj,Array.prototype.slice.call(arguments,0,length-1))}}var slice=_curry3(_checkForMethod(`slice`,function(fromIndex,toIndex,list){return Array.prototype.slice.call(list,fromIndex,toIndex)})),tail=_curry1(_checkForMethod(`tail`,slice(1,1/0))),tail$1=tail;function pipe(){if(arguments.length===0)throw Error(`pipe requires at least one argument`);return _arity(arguments[0].length,reduce$1(_pipe,arguments[0],tail$1(arguments)))}function _arrayFromIterator(iter){for(var list=[],next;!(next=iter.next()).done;)list.push(next.value);return list}function _includesWith(pred,x$1,list){for(var idx=0,len=list.length;idx<len;){if(pred(x$1,list[idx]))return!0;idx+=1}return!1}function _functionName(f){var match=String(f).match(/^function (\w*)/);return match==null?``:match[1]}function _objectIs(a,b){return a===b?a!==0||1/a==1/b:a!==a&&b!==b}var _objectIs$1=typeof Object.is==`function`?Object.is:_objectIs;function _uniqContentEquals(aIterator,bIterator,stackA,stackB){var a=_arrayFromIterator(aIterator),b=_arrayFromIterator(bIterator);function eq(_a,_b){return _equals(_a,_b,stackA.slice(),stackB.slice())}return!_includesWith(function(b$1,aItem){return!_includesWith(eq,aItem,b$1)},b,a)}function _equals(a,b,stackA,stackB){if(_objectIs$1(a,b))return!0;var typeA=type(a);if(typeA!==type(b))return!1;if(typeof a[`fantasy-land/equals`]==`function`||typeof b[`fantasy-land/equals`]==`function`)return typeof a[`fantasy-land/equals`]==`function`&&a[`fantasy-land/equals`](b)&&typeof b[`fantasy-land/equals`]==`function`&&b[`fantasy-land/equals`](a);if(typeof a.equals==`function`||typeof b.equals==`function`)return typeof a.equals==`function`&&a.equals(b)&&typeof b.equals==`function`&&b.equals(a);switch(typeA){case`Arguments`:case`Array`:case`Object`:if(typeof a.constructor==`function`&&_functionName(a.constructor)===`Promise`)return a===b;break;case`Boolean`:case`Number`:case`String`:if(!(typeof a==typeof b&&_objectIs$1(a.valueOf(),b.valueOf())))return!1;break;case`Date`:if(!_objectIs$1(a.valueOf(),b.valueOf()))return!1;break;case`Error`:return a.name===b.name&&a.message===b.message;case`RegExp`:if(!(a.source===b.source&&a.global===b.global&&a.ignoreCase===b.ignoreCase&&a.multiline===b.multiline&&a.sticky===b.sticky&&a.unicode===b.unicode))return!1;break}for(var idx=stackA.length-1;idx>=0;){if(stackA[idx]===a)return stackB[idx]===b;--idx}switch(typeA){case`Map`:return a.size===b.size?_uniqContentEquals(a.entries(),b.entries(),stackA.concat([a]),stackB.concat([b])):!1;case`Set`:return a.size===b.size?_uniqContentEquals(a.values(),b.values(),stackA.concat([a]),stackB.concat([b])):!1;case`Arguments`:case`Array`:case`Object`:case`Boolean`:case`Number`:case`String`:case`Date`:case`Error`:case`RegExp`:case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:case`Int16Array`:case`Uint16Array`:case`Int32Array`:case`Uint32Array`:case`Float32Array`:case`Float64Array`:case`ArrayBuffer`:break;default:return!1}var keysA=keys(a);if(keysA.length!==keys(b).length)return!1;var extendedStackA=stackA.concat([a]),extendedStackB=stackB.concat([b]);for(idx=keysA.length-1;idx>=0;){var key=keysA[idx];if(!(_has(key,b)&&_equals(b[key],a[key],extendedStackA,extendedStackB)))return!1;--idx}return!0}var equals=_curry2(function(a,b){return _equals(a,b,[],[])});function _indexOf(list,a,idx){var inf,item;if(typeof list.indexOf==`function`)switch(typeof a){case`number`:if(a===0){for(inf=1/a;idx<list.length;){if(item=list[idx],item===0&&1/item===inf)return idx;idx+=1}return-1}else if(a!==a){for(;idx<list.length;){if(item=list[idx],typeof item==`number`&&item!==item)return idx;idx+=1}return-1}return list.indexOf(a,idx);case`string`:case`boolean`:case`function`:case`undefined`:return list.indexOf(a,idx);case`object`:if(a===null)return list.indexOf(a,idx)}for(;idx<list.length;){if(equals(list[idx],a))return idx;idx+=1}return-1}function _includes(a,list){return _indexOf(list,a,0)>=0}function _quote(s){var escaped=s.replace(/\\/g,`\\\\`).replace(/[\b]/g,`\\b`).replace(/\f/g,`\\f`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/\t/g,`\\t`).replace(/\v/g,`\\v`).replace(/\0/g,`\\0`);return`"`+escaped.replace(/"/g,`\\"`)+`"`}var pad=function(n){return(n<10?`0`:``)+n},_toISOString=typeof Date.prototype.toISOString==`function`?function(d){return d.toISOString()}:function(d){return d.getUTCFullYear()+`-`+pad(d.getUTCMonth()+1)+`-`+pad(d.getUTCDate())+`T`+pad(d.getUTCHours())+`:`+pad(d.getUTCMinutes())+`:`+pad(d.getUTCSeconds())+`.`+(d.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+`Z`};function _complement(f){return function(){return!f.apply(this,arguments)}}function _filter(fn,list){for(var idx=0,len=list.length,result=[];idx<len;)fn(list[idx])&&(result[result.length]=list[idx]),idx+=1;return result}function _isObject(x$1){return Object.prototype.toString.call(x$1)===`[object Object]`}var XFilter=function(){function XFilter$1(f,xf){this.xf=xf,this.f=f}return XFilter$1.prototype[`@@transducer/init`]=_xfBase.init,XFilter$1.prototype[`@@transducer/result`]=_xfBase.result,XFilter$1.prototype[`@@transducer/step`]=function(result,input){return this.f(input)?this.xf[`@@transducer/step`](result,input):result},XFilter$1}(),_xfilter=_curry2(function(f,xf){return new XFilter(f,xf)}),filter$1=_curry2(_dispatchable([`fantasy-land/filter`,`filter`],_xfilter,function(pred,filterable){return _isObject(filterable)?_reduce(function(acc,key){return pred(filterable[key])&&(acc[key]=filterable[key]),acc},{},keys(filterable)):_filter(pred,filterable)})),reject=_curry2(function(pred,filterable){return filter$1(_complement(pred),filterable)});function _toString(x$1,seen){var recur=function(y$1){var xs=seen.concat([x$1]);return _includes(y$1,xs)?`<Circular>`:_toString(y$1,xs)},mapPairs=function(obj,keys$1){return _map(function(k){return _quote(k)+`: `+recur(obj[k])},keys$1.slice().sort())};switch(Object.prototype.toString.call(x$1)){case`[object Arguments]`:return`(function() { return arguments; }(`+_map(recur,x$1).join(`, `)+`))`;case`[object Array]`:return`[`+_map(recur,x$1).concat(mapPairs(x$1,reject(function(k){return/^\d+$/.test(k)},keys(x$1)))).join(`, `)+`]`;case`[object Boolean]`:return typeof x$1==`object`?`new Boolean(`+recur(x$1.valueOf())+`)`:x$1.toString();case`[object Date]`:return`new Date(`+(isNaN(x$1.valueOf())?recur(NaN):_quote(_toISOString(x$1)))+`)`;case`[object Null]`:return`null`;case`[object Number]`:return typeof x$1==`object`?`new Number(`+recur(x$1.valueOf())+`)`:1/x$1==-1/0?`-0`:x$1.toString(10);case`[object String]`:return typeof x$1==`object`?`new String(`+recur(x$1.valueOf())+`)`:_quote(x$1);case`[object Undefined]`:return`undefined`;default:if(typeof x$1.toString==`function`){var repr=x$1.toString();if(repr!==`[object Object]`)return repr}return`{`+mapPairs(x$1,keys(x$1)).join(`, `)+`}`}}var toString=_curry1(function(val){return _toString(val,[])}),curry=_curry1(function(fn){return curryN(fn.length,fn)}),curry$1=curry,invoker=_curry2(function(arity,method){return curryN(arity+1,function(){var target=arguments[arity];if(target!=null&&_isFunction(target[method]))return target[method].apply(target,Array.prototype.slice.call(arguments,0,arity));throw TypeError(toString(target)+` does not have a method named "`+method+`"`)})}),invoker$1=invoker,is=_curry2(function(Ctor,val){return val instanceof Ctor||val!=null&&(val.constructor===Ctor||Ctor.name===`Object`&&typeof val==`object`)}),is$1=is,join=invoker$1(1,`join`),join$1=join,mergeWithKey=_curry3(function(fn,l,r){var result={},k;for(k in l)_has(k,l)&&(result[k]=_has(k,r)?fn(k,l[k],r[k]):l[k]);for(k in r)_has(k,r)&&!_has(k,result)&&(result[k]=r[k]);return result}),mergeDeepWithKey=_curry3(function mergeDeepWithKey$1(fn,lObj,rObj){return mergeWithKey(function(k,lVal,rVal){return _isObject(lVal)&&_isObject(rVal)?mergeDeepWithKey$1(fn,lVal,rVal):fn(k,lVal,rVal)},lObj,rObj)}),mergeDeepLeft=_curry2(function(lObj,rObj){return mergeDeepWithKey(function(k,lVal,rVal){return lVal},lObj,rObj)}),mergeDeepLeft$1=mergeDeepLeft,omit=_curry2(function(names,obj){for(var result={},index$1={},idx=0,len=names.length;idx<len;)index$1[names[idx]]=1,idx+=1;for(var prop$2 in obj)index$1.hasOwnProperty(prop$2)||(result[prop$2]=obj[prop$2]);return result}),omit$1=omit,pickBy=_curry2(function(test,obj){var result={};for(var prop$2 in obj)test(obj[prop$2],prop$2,obj)&&(result[prop$2]=obj[prop$2]);return result}),pickBy$1=pickBy,split=invoker$1(1,`split`),split$1=split,toLower=invoker$1(0,`toLowerCase`),toLower$1=toLower,zipObj=_curry2(function(keys$1,values$2){for(var idx=0,len=Math.min(keys$1.length,values$2.length),out={};idx<len;)out[keys$1[idx]]=values$2[idx],idx+=1;return out}),zipObj$1=zipObj;pipe(toLower$1,split$1(` `),join$1(`-`));const getCol=curry$1((col,df)=>is$1(Number)?map$2(v=>nth$1(col,v)||``,df).filter(x$1=>x$1!==``):map$2(prop$1(col),df)),mapKeys=(fn,data)=>zipObj$1(map$2(fn,keys(data)),values$1(data)),kebabize=str=>str.split(``).map((letter,idx)=>letter.toUpperCase()===letter?`${idx===0?``:`-`}${letter.toLowerCase()}`:letter).join(``);function ascending$1(a,b){return a==null||b==null?NaN:a<b?-1:a>b?1:a>=b?0:NaN}function descending$1(a,b){return a==null||b==null?NaN:b<a?-1:b>a?1:b>=a?0:NaN}function bisector(f){let compare1,compare2,delta;f.length===2?(compare1=f===ascending$1||f===descending$1?f:zero$1,compare2=f,delta=f):(compare1=ascending$1,compare2=(d,x$1)=>ascending$1(f(d),x$1),delta=(d,x$1)=>f(d)-x$1);function left$1(a,x$1,lo=0,hi=a.length){if(lo<hi){if(compare1(x$1,x$1)!==0)return hi;do{let mid=lo+hi>>>1;compare2(a[mid],x$1)<0?lo=mid+1:hi=mid}while(lo<hi)}return lo}function right$1(a,x$1,lo=0,hi=a.length){if(lo<hi){if(compare1(x$1,x$1)!==0)return hi;do{let mid=lo+hi>>>1;compare2(a[mid],x$1)<=0?lo=mid+1:hi=mid}while(lo<hi)}return lo}function center$1(a,x$1,lo=0,hi=a.length){let i=left$1(a,x$1,lo,hi-1);return i>lo&&delta(a[i-1],x$1)>-delta(a[i],x$1)?i-1:i}return{left:left$1,center:center$1,right:right$1}}function zero$1(){return 0}function number$2(x$1){return x$1===null?NaN:+x$1}const ascendingBisect=bisector(ascending$1),bisectRight=ascendingBisect.right,bisectCenter=bisector(number$2).center;function extent(values$2,valueof){let min$2,max$2;if(valueof===void 0)for(let value of values$2)value!=null&&(min$2===void 0?value>=value&&(min$2=max$2=value):(min$2>value&&(min$2=value),max$2<value&&(max$2=value)));else{let index$1=-1;for(let value of values$2)(value=valueof(value,++index$1,values$2))!=null&&(min$2===void 0?value>=value&&(min$2=max$2=value):(min$2>value&&(min$2=value),max$2<value&&(max$2=value)))}return[min$2,max$2]}var InternMap=class extends Map{constructor(entries,key=keyof){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:key}}),entries!=null)for(let[key$1,value]of entries)this.set(key$1,value)}get(key){return super.get(intern_get(this,key))}has(key){return super.has(intern_get(this,key))}set(key,value){return super.set(intern_set(this,key),value)}delete(key){return super.delete(intern_delete(this,key))}};function intern_get({_intern,_key},value){let key=_key(value);return _intern.has(key)?_intern.get(key):value}function intern_set({_intern,_key},value){let key=_key(value);return _intern.has(key)?_intern.get(key):(_intern.set(key,value),value)}function intern_delete({_intern,_key},value){let key=_key(value);return _intern.has(key)&&(value=_intern.get(key),_intern.delete(key)),value}function keyof(value){return typeof value==`object`&&value?value.valueOf():value}const e10=Math.sqrt(50),e5=Math.sqrt(10),e2=Math.sqrt(2);function tickSpec(start,stop,count$1){let step=(stop-start)/Math.max(0,count$1),power=Math.floor(Math.log10(step)),error=step/10**power,factor=error>=e10?10:error>=e5?5:error>=e2?2:1,i1,i2,inc;return power<0?(inc=10**-power/factor,i1=Math.round(start*inc),i2=Math.round(stop*inc),i1/inc<start&&++i1,i2/inc>stop&&--i2,inc=-inc):(inc=10**power*factor,i1=Math.round(start/inc),i2=Math.round(stop/inc),i1*inc<start&&++i1,i2*inc>stop&&--i2),i2<i1&&.5<=count$1&&count$1<2?tickSpec(start,stop,count$1*2):[i1,i2,inc]}function ticks(start,stop,count$1){if(stop=+stop,start=+start,count$1=+count$1,!(count$1>0))return[];if(start===stop)return[start];let reverse=stop<start,[i1,i2,inc]=reverse?tickSpec(stop,start,count$1):tickSpec(start,stop,count$1);if(!(i2>=i1))return[];let n=i2-i1+1,ticks$1=Array(n);if(reverse)if(inc<0)for(let i=0;i<n;++i)ticks$1[i]=(i2-i)/-inc;else for(let i=0;i<n;++i)ticks$1[i]=(i2-i)*inc;else if(inc<0)for(let i=0;i<n;++i)ticks$1[i]=(i1+i)/-inc;else for(let i=0;i<n;++i)ticks$1[i]=(i1+i)*inc;return ticks$1}function tickIncrement(start,stop,count$1){return stop=+stop,start=+start,count$1=+count$1,tickSpec(start,stop,count$1)[2]}function tickStep(start,stop,count$1){stop=+stop,start=+start,count$1=+count$1;let reverse=stop<start,inc=reverse?tickIncrement(stop,start,count$1):tickIncrement(start,stop,count$1);return(reverse?-1:1)*(inc<0?1/-inc:inc)}function max$1(values$2,valueof){let max$2;if(valueof===void 0)for(let value of values$2)value!=null&&(max$2<value||max$2===void 0&&value>=value)&&(max$2=value);else{let index$1=-1;for(let value of values$2)(value=valueof(value,++index$1,values$2))!=null&&(max$2<value||max$2===void 0&&value>=value)&&(max$2=value)}return max$2}function min$1(values$2,valueof){let min$2;if(valueof===void 0)for(let value of values$2)value!=null&&(min$2>value||min$2===void 0&&value>=value)&&(min$2=value);else{let index$1=-1;for(let value of values$2)(value=valueof(value,++index$1,values$2))!=null&&(min$2>value||min$2===void 0&&value>=value)&&(min$2=value)}return min$2}function range(start,stop,step){start=+start,stop=+stop,step=(n=arguments.length)<2?(stop=start,start=0,1):n<3?1:+step;for(var i=-1,n=Math.max(0,Math.ceil((stop-start)/step))|0,range$1=Array(n);++i<n;)range$1[i]=start+i*step;return range$1}function initRange(domain,range$1){switch(arguments.length){case 0:break;case 1:this.range(domain);break;default:this.range(range$1).domain(domain);break}return this}function initInterpolator(domain,interpolator){switch(arguments.length){case 0:break;case 1:typeof domain==`function`?this.interpolator(domain):this.range(domain);break;default:this.domain(domain),typeof interpolator==`function`?this.interpolator(interpolator):this.range(interpolator);break}return this}const implicit=Symbol(`implicit`);function ordinal(){var index$1=new InternMap,domain=[],range$1=[],unknown=implicit;function scale(d){let i=index$1.get(d);if(i===void 0){if(unknown!==implicit)return unknown;index$1.set(d,i=domain.push(d)-1)}return range$1[i%range$1.length]}return scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index$1=new InternMap;for(let value of _){if(index$1.has(value))continue;index$1.set(value,domain.push(value)-1)}return scale},scale.range=function(_){return arguments.length?(range$1=Array.from(_),scale):range$1.slice()},scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},scale.copy=function(){return ordinal(domain,range$1).unknown(unknown)},initRange.apply(scale,arguments),scale}function band(){var scale=ordinal().unknown(void 0),domain=scale.domain,ordinalRange=scale.range,r0=0,r1=1,step,bandwidth,round=!1,paddingInner=0,paddingOuter=0,align=.5;delete scale.unknown;function rescale(){var n=domain().length,reverse=r1<r0,start=reverse?r1:r0,stop=reverse?r0:r1;step=(stop-start)/Math.max(1,n-paddingInner+paddingOuter*2),round&&(step=Math.floor(step)),start+=(stop-start-step*(n-paddingInner))*align,bandwidth=step*(1-paddingInner),round&&(start=Math.round(start),bandwidth=Math.round(bandwidth));var values$2=range(n).map(function(i){return start+step*i});return ordinalRange(reverse?values$2.reverse():values$2)}return scale.domain=function(_){return arguments.length?(domain(_),rescale()):domain()},scale.range=function(_){return arguments.length?([r0,r1]=_,r0=+r0,r1=+r1,rescale()):[r0,r1]},scale.rangeRound=function(_){return[r0,r1]=_,r0=+r0,r1=+r1,round=!0,rescale()},scale.bandwidth=function(){return bandwidth},scale.step=function(){return step},scale.round=function(_){return arguments.length?(round=!!_,rescale()):round},scale.padding=function(_){return arguments.length?(paddingInner=Math.min(1,paddingOuter=+_),rescale()):paddingInner},scale.paddingInner=function(_){return arguments.length?(paddingInner=Math.min(1,_),rescale()):paddingInner},scale.paddingOuter=function(_){return arguments.length?(paddingOuter=+_,rescale()):paddingOuter},scale.align=function(_){return arguments.length?(align=Math.max(0,Math.min(1,_)),rescale()):align},scale.copy=function(){return band(domain(),[r0,r1]).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align)},initRange.apply(rescale(),arguments)}function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}var darker=.7,brighter=1/darker,reI=`\\s*([+-]?\\d+)\\s*`,reN=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,reP=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define(Color,color,{copy(channels){return Object.assign(new this.constructor,this,channels)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(format$1){var m,l;return format$1=(format$1+``).trim().toLowerCase(),(m=reHex.exec(format$1))?(l=m[1].length,m=parseInt(m[1],16),l===6?rgbn(m):l===3?new Rgb(m>>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1):l===8?rgba(m>>24&255,m>>16&255,m>>8&255,(m&255)/255):l===4?rgba(m>>12&15|m>>8&240,m>>8&15|m>>4&240,m>>4&15|m&240,((m&15)<<4|m&15)/255):null):(m=reRgbInteger.exec(format$1))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format$1))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format$1))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format$1))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format$1))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format$1))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format$1)?rgbn(named[format$1]):format$1===`transparent`?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){return a<=0&&(r=g=b=NaN),new Rgb(r,g,b,a)}function rgbConvert(o){return o instanceof Color||(o=color(o)),o?(o=o.rgb(),new Rgb(o.r,o.g,o.b,o.opacity)):new Rgb}function rgb$1(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity??1)}function Rgb(r,g,b,opacity){this.r=+r,this.g=+g,this.b=+b,this.opacity=+opacity}define(Rgb,rgb$1,extend(Color,{brighter(k){return k=k==null?brighter:brighter**+k,new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker(k){return k=k==null?darker:darker**+k,new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){let a=clampa(this.opacity);return`${a===1?`rgb(`:`rgba(`}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a===1?`)`:`, ${a})`}`}function clampa(opacity){return isNaN(opacity)?1:Math.max(0,Math.min(1,opacity))}function clampi(value){return Math.max(0,Math.min(255,Math.round(value)||0))}function hex(value){return value=clampi(value),(value<16?`0`:``)+value.toString(16)}function hsla(h,s,l,a){return a<=0?h=s=l=NaN:l<=0||l>=1?h=s=NaN:s<=0&&(h=NaN),new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(o instanceof Color||(o=color(o)),!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min$2=Math.min(r,g,b),max$2=Math.max(r,g,b),h=NaN,s=max$2-min$2,l=(max$2+min$2)/2;return s?(h=r===max$2?(g-b)/s+(g<b)*6:g===max$2?(b-r)/s+2:(r-g)/s+4,s/=l<.5?max$2+min$2:2-max$2-min$2,h*=60):s=l>0&&l<1?0:h,new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity??1)}function Hsl(h,s,l,opacity){this.h=+h,this.s=+s,this.l=+l,this.opacity=+opacity}define(Hsl,hsl,extend(Color,{brighter(k){return k=k==null?brighter:brighter**+k,new Hsl(this.h,this.s,this.l*k,this.opacity)},darker(k){return k=k==null?darker:darker**+k,new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let a=clampa(this.opacity);return`${a===1?`hsl(`:`hsla(`}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${a===1?`)`:`, ${a})`}`}}));function clamph(value){return value=(value||0)%360,value<0?value+360:value}function clampt(value){return Math.max(0,Math.min(1,value||0))}function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}const radians=Math.PI/180,degrees=180/Math.PI,K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl)return hcl2lab(o);o instanceof Rgb||(o=rgbConvert(o));var r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y$1=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/Yn),x$1,z;return r===g&&g===b?x$1=z=y$1:(x$1=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/Xn),z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/Zn)),new Lab(116*y$1-16,500*(x$1-y$1),200*(y$1-z),o.opacity)}function lab(l,a,b,opacity){return arguments.length===1?labConvert(l):new Lab(l,a,b,opacity??1)}function Lab(l,a,b,opacity){this.l=+l,this.a=+a,this.b=+b,this.opacity=+opacity}define(Lab,lab,extend(Color,{brighter(k){return new Lab(this.l+K*(k??1),this.a,this.b,this.opacity)},darker(k){return new Lab(this.l-K*(k??1),this.a,this.b,this.opacity)},rgb(){var y$1=(this.l+16)/116,x$1=isNaN(this.a)?y$1:y$1+this.a/500,z=isNaN(this.b)?y$1:y$1-this.b/200;return x$1=Xn*lab2xyz(x$1),y$1=Yn*lab2xyz(y$1),z=Zn*lab2xyz(z),new Rgb(lrgb2rgb(3.1338561*x$1-1.6168667*y$1-.4906146*z),lrgb2rgb(-.9787684*x$1+1.9161415*y$1+.033454*z),lrgb2rgb(.0719453*x$1-.2289914*y$1+1.4052427*z),this.opacity)}}));function xyz2lab(t){return t>t3?t**(1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function lrgb2rgb(x$1){return 255*(x$1<=.0031308?12.92*x$1:1.055*x$1**(1/2.4)-.055)}function rgb2lrgb(x$1){return(x$1/=255)<=.04045?x$1/12.92:((x$1+.055)/1.055)**2.4}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(o instanceof Lab||(o=labConvert(o)),o.a===0&&o.b===0)return new Hcl(NaN,0<o.l&&o.l<100?0:NaN,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*degrees;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function hcl$1(h,c,l,opacity){return arguments.length===1?hclConvert(h):new Hcl(h,c,l,opacity??1)}function Hcl(h,c,l,opacity){this.h=+h,this.c=+c,this.l=+l,this.opacity=+opacity}function hcl2lab(o){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*radians;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}define(Hcl,hcl$1,extend(Color,{brighter(k){return new Hcl(this.h,this.c,this.l+K*(k??1),this.opacity)},darker(k){return new Hcl(this.h,this.c,this.l-K*(k??1),this.opacity)},rgb(){return hcl2lab(this).rgb()}}));var constant$3=x$1=>()=>x$1;function linear$1(a,d){return function(t){return a+t*d}}function exponential(a,b,y$1){return a**=+y$1,b=b**+y$1-a,y$1=1/y$1,function(t){return(a+t*b)**+y$1}}function hue(a,b){var d=b-a;return d?linear$1(a,d>180||d<-180?d-360*Math.round(d/360):d):constant$3(isNaN(a)?b:a)}function gamma(y$1){return(y$1=+y$1)==1?nogamma:function(a,b){return b-a?exponential(a,b,y$1):constant$3(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear$1(a,d):constant$3(isNaN(a)?b:a)}var rgb=function rgbGamma(y$1){var color$1=gamma(y$1);function rgb$2(start,end){var r=color$1((start=rgb$1(start)).r,(end=rgb$1(end)).r),g=color$1(start.g,end.g),b=color$1(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.r=r(t),start.g=g(t),start.b=b(t),start.opacity=opacity(t),start+``}}return rgb$2.gamma=rgbGamma,rgb$2}(1);function numberArray(a,b){b||=[];var n=a?Math.min(b.length,a.length):0,c=b.slice(),i;return function(t){for(i=0;i<n;++i)c[i]=a[i]*(1-t)+b[i]*t;return c}}function isNumberArray(x$1){return ArrayBuffer.isView(x$1)&&!(x$1 instanceof DataView)}function genericArray(a,b){var nb=b?b.length:0,na=a?Math.min(nb,a.length):0,x$1=Array(na),c=Array(nb),i;for(i=0;i<na;++i)x$1[i]=interpolate(a[i],b[i]);for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<na;++i)c[i]=x$1[i](t);return c}}function date(a,b){var d=new Date;return a=+a,b=+b,function(t){return d.setTime(a*(1-t)+b*t),d}}function interpolateNumber(a,b){return a=+a,b=+b,function(t){return a*(1-t)+b*t}}function object(a,b){var i={},c={},k;for(k in(typeof a!=`object`||!a)&&(a={}),(typeof b!=`object`||!b)&&(b={}),b)k in a?i[k]=interpolate(a[k],b[k]):c[k]=b[k];return function(t){for(k in i)c[k]=i[k](t);return c}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,`g`);function zero(b){return function(){return b}}function one(b){return function(t){return b(t)+``}}function string(a,b){var bi=reA.lastIndex=reB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];for(a+=``,b+=``;(am=reA.exec(a))&&(bm=reB.exec(b));)(bs=bm.index)>bi&&(bs=b.slice(bi,bs),s[i]?s[i]+=bs:s[++i]=bs),(am=am[0])===(bm=bm[0])?s[i]?s[i]+=bm:s[++i]=bm:(s[++i]=null,q.push({i,x:interpolateNumber(am,bm)})),bi=reB.lastIndex;return bi<b.length&&(bs=b.slice(bi),s[i]?s[i]+=bs:s[++i]=bs),s.length<2?q[0]?one(q[0].x):zero(b):(b=q.length,function(t){for(var i$1=0,o;i$1<b;++i$1)s[(o=q[i$1]).i]=o.x(t);return s.join(``)})}function interpolate(a,b){var t=typeof b,c;return b==null||t===`boolean`?constant$3(b):(t===`number`?interpolateNumber:t===`string`?(c=color(b))?(b=c,rgb):string:b instanceof color?rgb:b instanceof Date?date:isNumberArray(b)?numberArray:Array.isArray(b)?genericArray:typeof b.valueOf!=`function`&&typeof b.toString!=`function`||isNaN(b)?object:interpolateNumber)(a,b)}function interpolateRound(a,b){return a=+a,b=+b,function(t){return Math.round(a*(1-t)+b*t)}}function hcl(hue$1){return function(start,end){var h=hue$1((start=hcl$1(start)).h,(end=hcl$1(end)).h),c=nogamma(start.c,end.c),l=nogamma(start.l,end.l),opacity=nogamma(start.opacity,end.opacity);return function(t){return start.h=h(t),start.c=c(t),start.l=l(t),start.opacity=opacity(t),start+``}}}var interpolateHcl=hcl(hue);function constants(x$1){return function(){return x$1}}function number$1(x$1){return+x$1}var unit=[0,1];function identity$3(x$1){return x$1}function normalize$1(a,b){return(b-=a=+a)?function(x$1){return(x$1-a)/b}:constants(isNaN(b)?NaN:.5)}function clamper(a,b){var t;return a>b&&(t=a,a=b,b=t),function(x$1){return Math.max(a,Math.min(b,x$1))}}function bimap(domain,range$1,interpolate$1){var d0=domain[0],d1=domain[1],r0=range$1[0],r1=range$1[1];return d1<d0?(d0=normalize$1(d1,d0),r0=interpolate$1(r1,r0)):(d0=normalize$1(d0,d1),r0=interpolate$1(r0,r1)),function(x$1){return r0(d0(x$1))}}function polymap(domain,range$1,interpolate$1){var j=Math.min(domain.length,range$1.length)-1,d=Array(j),r=Array(j),i=-1;for(domain[j]<domain[0]&&(domain=domain.slice().reverse(),range$1=range$1.slice().reverse());++i<j;)d[i]=normalize$1(domain[i],domain[i+1]),r[i]=interpolate$1(range$1[i],range$1[i+1]);return function(x$1){var i$1=bisectRight(domain,x$1,1,j)-1;return r[i$1](d[i$1](x$1))}}function copy$1(source,target){return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown())}function transformer$1(){var domain=unit,range$1=unit,interpolate$1=interpolate,transform,untransform,unknown,clamp=identity$3,piecewise,output,input;function rescale(){var n=Math.min(domain.length,range$1.length);return clamp!==identity$3&&(clamp=clamper(domain[0],domain[n-1])),piecewise=n>2?polymap:bimap,output=input=null,scale}function scale(x$1){return x$1==null||isNaN(x$1=+x$1)?unknown:(output||=piecewise(domain.map(transform),range$1,interpolate$1))(transform(clamp(x$1)))}return scale.invert=function(y$1){return clamp(untransform((input||=piecewise(range$1,domain.map(transform),interpolateNumber))(y$1)))},scale.domain=function(_){return arguments.length?(domain=Array.from(_,number$1),rescale()):domain.slice()},scale.range=function(_){return arguments.length?(range$1=Array.from(_),rescale()):range$1.slice()},scale.rangeRound=function(_){return range$1=Array.from(_),interpolate$1=interpolateRound,rescale()},scale.clamp=function(_){return arguments.length?(clamp=_?!0:identity$3,rescale()):clamp!==identity$3},scale.interpolate=function(_){return arguments.length?(interpolate$1=_,rescale()):interpolate$1},scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},function(t,u){return transform=t,untransform=u,rescale()}}function continuous(){return transformer$1()(identity$3,identity$3)}function formatDecimal(x$1){return Math.abs(x$1=Math.round(x$1))>=1e21?x$1.toLocaleString(`en`).replace(/,/g,``):x$1.toString(10)}function formatDecimalParts(x$1,p){if((i=(x$1=p?x$1.toExponential(p-1):x$1.toExponential()).indexOf(`e`))<0)return null;var i,coefficient=x$1.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x$1.slice(i+1)]}function exponent(x$1){return x$1=formatDecimalParts(Math.abs(x$1)),x$1?x$1[1]:NaN}function formatGroup(grouping,thousands){return function(value,width){for(var i=value.length,t=[],j=0,g=grouping[0],length=0;i>0&&g>0&&(length+g+1>width&&(g=Math.max(1,width-length)),t.push(value.substring(i-=g,i+g)),!((length+=g+1)>width));)g=grouping[j=(j+1)%grouping.length];return t.reverse().join(thousands)}}function formatNumerals(numerals){return function(value){return value.replace(/[0-9]/g,function(i){return numerals[+i]})}}var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){if(!(match=re.exec(specifier)))throw Error(`invalid format: `+specifier);var match;return new FormatSpecifier({fill:match[1],align:match[2],sign:match[3],symbol:match[4],zero:match[5],width:match[6],comma:match[7],precision:match[8]&&match[8].slice(1),trim:match[9],type:match[10]})}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(specifier){this.fill=specifier.fill===void 0?` `:specifier.fill+``,this.align=specifier.align===void 0?`>`:specifier.align+``,this.sign=specifier.sign===void 0?`-`:specifier.sign+``,this.symbol=specifier.symbol===void 0?``:specifier.symbol+``,this.zero=!!specifier.zero,this.width=specifier.width===void 0?void 0:+specifier.width,this.comma=!!specifier.comma,this.precision=specifier.precision===void 0?void 0:+specifier.precision,this.trim=!!specifier.trim,this.type=specifier.type===void 0?``:specifier.type+``}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function formatTrim(s){out:for(var n=s.length,i=1,i0=-1,i1;i<n;++i)switch(s[i]){case`.`:i0=i1=i;break;case`0`:i0===0&&(i0=i),i1=i;break;default:if(!+s[i])break out;i0>0&&(i0=0);break}return i0>0?s.slice(0,i0)+s.slice(i1+1):s}var prefixExponent;function formatPrefixAuto(x$1,p){var d=formatDecimalParts(x$1,p);if(!d)return x$1+``;var coefficient=d[0],exponent$1=d[1],i=exponent$1-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(exponent$1/3)))*3)+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+Array(i-n+1).join(`0`):i>0?coefficient.slice(0,i)+`.`+coefficient.slice(i):`0.`+Array(1-i).join(`0`)+formatDecimalParts(x$1,Math.max(0,p+i-1))[0]}function formatRounded(x$1,p){var d=formatDecimalParts(x$1,p);if(!d)return x$1+``;var coefficient=d[0],exponent$1=d[1];return exponent$1<0?`0.`+Array(-exponent$1).join(`0`)+coefficient:coefficient.length>exponent$1+1?coefficient.slice(0,exponent$1+1)+`.`+coefficient.slice(exponent$1+1):coefficient+Array(exponent$1-coefficient.length+2).join(`0`)}var formatTypes={"%":(x$1,p)=>(x$1*100).toFixed(p),b:x$1=>Math.round(x$1).toString(2),c:x$1=>x$1+``,d:formatDecimal,e:(x$1,p)=>x$1.toExponential(p),f:(x$1,p)=>x$1.toFixed(p),g:(x$1,p)=>x$1.toPrecision(p),o:x$1=>Math.round(x$1).toString(8),p:(x$1,p)=>formatRounded(x$1*100,p),r:formatRounded,s:formatPrefixAuto,X:x$1=>Math.round(x$1).toString(16).toUpperCase(),x:x$1=>Math.round(x$1).toString(16)};function identity$2(x$1){return x$1}var map=Array.prototype.map,prefixes=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function formatLocale(locale$1){var group=locale$1.grouping===void 0||locale$1.thousands===void 0?identity$2:formatGroup(map.call(locale$1.grouping,Number),locale$1.thousands+``),currencyPrefix=locale$1.currency===void 0?``:locale$1.currency[0]+``,currencySuffix=locale$1.currency===void 0?``:locale$1.currency[1]+``,decimal=locale$1.decimal===void 0?`.`:locale$1.decimal+``,numerals=locale$1.numerals===void 0?identity$2:formatNumerals(map.call(locale$1.numerals,String)),percent=locale$1.percent===void 0?`%`:locale$1.percent+``,minus=locale$1.minus===void 0?`−`:locale$1.minus+``,nan=locale$1.nan===void 0?`NaN`:locale$1.nan+``;function newFormat(specifier){specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign$1=specifier.sign,symbol=specifier.symbol,zero$2=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type$1=specifier.type;type$1===`n`?(comma=!0,type$1=`g`):formatTypes[type$1]||(precision===void 0&&(precision=12),trim=!0,type$1=`g`),(zero$2||fill===`0`&&align===`=`)&&(zero$2=!0,fill=`0`,align=`=`);var prefix=symbol===`$`?currencyPrefix:symbol===`#`&&/[boxX]/.test(type$1)?`0`+type$1.toLowerCase():``,suffix=symbol===`$`?currencySuffix:/[%p]/.test(type$1)?percent:``,formatType=formatTypes[type$1],maybeSuffix=/[defgprs%]/.test(type$1);precision=precision===void 0?6:/[gprs]/.test(type$1)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision));function format$1(value){var valuePrefix=prefix,valueSuffix=suffix,i,n,c;if(type$1===`c`)valueSuffix=formatType(value)+valueSuffix,value=``;else{value=+value;var valueNegative=value<0||1/value<0;if(value=isNaN(value)?nan:formatType(Math.abs(value),precision),trim&&(value=formatTrim(value)),valueNegative&&+value==0&&sign$1!==`+`&&(valueNegative=!1),valuePrefix=(valueNegative?sign$1===`(`?sign$1:minus:sign$1===`-`||sign$1===`(`?``:sign$1)+valuePrefix,valueSuffix=(type$1===`s`?prefixes[8+prefixExponent/3]:``)+valueSuffix+(valueNegative&&sign$1===`(`?`)`:``),maybeSuffix){for(i=-1,n=value.length;++i<n;)if(c=value.charCodeAt(i),48>c||c>57){valueSuffix=(c===46?decimal+value.slice(i+1):value.slice(i))+valueSuffix,value=value.slice(0,i);break}}}comma&&!zero$2&&(value=group(value,1/0));var length=valuePrefix.length+value.length+valueSuffix.length,padding=length<width?Array(width-length+1).join(fill):``;switch(comma&&zero$2&&(value=group(padding+value,padding.length?width-valueSuffix.length:1/0),padding=``),align){case`<`:value=valuePrefix+value+valueSuffix+padding;break;case`=`:value=valuePrefix+padding+value+valueSuffix;break;case`^`:value=padding.slice(0,length=padding.length>>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix;break}return numerals(value)}return format$1.toString=function(){return specifier+``},format$1}function formatPrefix$1(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type=`f`,specifier)),e=Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3,k=10**-e,prefix=prefixes[8+e/3];return function(value$1){return f(k*value$1)+prefix}}return{format:newFormat,formatPrefix:formatPrefix$1}}var locale,format,formatPrefix;defaultLocale({thousands:`,`,grouping:[3],currency:[`$`,``]});function defaultLocale(definition){return locale=formatLocale(definition),format=locale.format,formatPrefix=locale.formatPrefix,locale}function precisionFixed(step){return Math.max(0,-exponent(Math.abs(step)))}function precisionPrefix(step,value){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(exponent(value)/3)))*3-exponent(Math.abs(step)))}function precisionRound(step,max$2){return step=Math.abs(step),max$2=Math.abs(max$2)-step,Math.max(0,exponent(max$2)-exponent(step))+1}function tickFormat(start,stop,count$1,specifier){var step=tickStep(start,stop,count$1),precision;switch(specifier=formatSpecifier(specifier??`,f`),specifier.type){case`s`:var value=Math.max(Math.abs(start),Math.abs(stop));return specifier.precision==null&&!isNaN(precision=precisionPrefix(step,value))&&(specifier.precision=precision),formatPrefix(specifier,value);case``:case`e`:case`g`:case`p`:case`r`:specifier.precision==null&&!isNaN(precision=precisionRound(step,Math.max(Math.abs(start),Math.abs(stop))))&&(specifier.precision=precision-(specifier.type===`e`));break;case`f`:case`%`:specifier.precision==null&&!isNaN(precision=precisionFixed(step))&&(specifier.precision=precision-(specifier.type===`%`)*2);break}return format(specifier)}function linearish(scale){var domain=scale.domain;return scale.ticks=function(count$1){var d=domain();return ticks(d[0],d[d.length-1],count$1??10)},scale.tickFormat=function(count$1,specifier){var d=domain();return tickFormat(d[0],d[d.length-1],count$1??10,specifier)},scale.nice=function(count$1){count$1??=10;var d=domain(),i0=0,i1=d.length-1,start=d[i0],stop=d[i1],prestep,step,maxIter=10;for(stop<start&&(step=start,start=stop,stop=step,step=i0,i0=i1,i1=step);maxIter-- >0;){if(step=tickIncrement(start,stop,count$1),step===prestep)return d[i0]=start,d[i1]=stop,domain(d);if(step>0)start=Math.floor(start/step)*step,stop=Math.ceil(stop/step)*step;else if(step<0)start=Math.ceil(start*step)/step,stop=Math.floor(stop*step)/step;else break;prestep=step}return scale},scale}function linear(){var scale=continuous();return scale.copy=function(){return copy$1(scale,linear())},initRange.apply(scale,arguments),linearish(scale)}function transformer(){var x0=0,x1=1,t0$1,t1$1,k10,transform,interpolator=identity$3,clamp=!1,unknown;function scale(x$1){return x$1==null||isNaN(x$1=+x$1)?unknown:interpolator(k10===0?.5:(x$1=(transform(x$1)-t0$1)*k10,clamp?Math.max(0,Math.min(1,x$1)):x$1))}scale.domain=function(_){return arguments.length?([x0,x1]=_,t0$1=transform(x0=+x0),t1$1=transform(x1=+x1),k10=t0$1===t1$1?0:1/(t1$1-t0$1),scale):[x0,x1]},scale.clamp=function(_){return arguments.length?(clamp=!!_,scale):clamp},scale.interpolator=function(_){return arguments.length?(interpolator=_,scale):interpolator};function range$1(interpolate$1){return function(_){var r0,r1;return arguments.length?([r0,r1]=_,interpolator=interpolate$1(r0,r1),scale):[interpolator(0),interpolator(1)]}}return scale.range=range$1(interpolate),scale.rangeRound=range$1(interpolateRound),scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown},function(t){return transform=t,t0$1=t(x0),t1$1=t(x1),k10=t0$1===t1$1?0:1/(t1$1-t0$1),scale}}function copy(source,target){return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown())}function sequential(){var scale=linearish(transformer()(identity$3));return scale.copy=function(){return copy(scale,sequential())},initInterpolator.apply(scale,arguments)}var Scale=class{constructor(config){this.config=config,this.createScale(config.type)}createScale(type$1){switch(type$1){case`band`:this.scale=band();break;case`linear`:this.scale=linear();break}}changeConfig(config){this.createScale(config.type),this.config=config}get type(){return this.config.type}bandwidth(){return this.type===`band`?this.scale.bandwidth():0}updateRange(range$1){this.scale=this.scale.copy().range(range$1)}updateDomain(data,stackedData,keys$1){let domain=this.config.type===`band`?this.categoryDomain(data,keys$1):this.numericDomain(data,stackedData,keys$1);this.scale=this.scale.copy().domain(domain)}map(values$2){return values$2.map(v=>this.mapOne(v))}mapOne(val){let{type:type$1}=this.config;return type$1===`band`?this.scale(val)+this.scale.bandwidth()/2:this.scale(val)}ticks(){let{type:type$1}=this.config;return this.config.tickValues===void 0?type$1===`band`?this.scale.domain():this.scale.ticks(this.config.ticks||5):this.config.tickValues}categoryDomain(data,keys$1){let values$2=keys$1.reduce((arr,key)=>arr.concat(getCol(key,data)),[]);return Array.from(new Set(values$2))}numericDomain(data,stackedData,keys$1){let{domain}=this.config,values$2=keys$1.reduce((arr,key)=>arr.concat(getCol(key,data)),[]),valueMax=max$1(stackedData,arr=>max$1(arr,x$1=>max$1(x$1)))||0,valueMin=min$1(stackedData,arr=>min$1(arr,x$1=>min$1(x$1)))||0,[dataMin,dataMax]=extent(Array.from(new Set(values$2.concat([valueMin,valueMax])))),yMin=eval(`
2
+ let dataMin = ${dataMin||0}
3
+ ${domain[0]}
4
+ `),yMax=eval(`
5
+ let dataMax = ${dataMax||0}
6
+ ${domain[1]}
7
+ `);return[yMin,yMax]}},Scales=class{constructor(config){this.config=config,this.primary=new Scale(config.primary),this.secondary=new Scale(config.secondary)}changeConfig(config){this.config=config,this.primary.changeConfig(config.primary),this.secondary.changeConfig(config.secondary)}updateRange(canvas,direction){direction===`horizontal`?(this.primary.updateRange([canvas.x,canvas.width]),this.secondary.updateRange([canvas.height,canvas.y])):direction===`vertical`&&(this.primary.updateRange([canvas.y,canvas.height]),this.secondary.updateRange([canvas.x,canvas.width]))}updateDomain(data,stackedData,keys$1){this.primary.updateDomain(data,stackedData,getCol(0,keys$1)),this.secondary.updateDomain(data,stackedData,getCol(1,keys$1))}};function constant$2(x$1){return function(){return x$1}}const abs=Math.abs,atan2=Math.atan2,cos=Math.cos,max=Math.max,min=Math.min,sin=Math.sin,sqrt=Math.sqrt,epsilon$2=1e-12,pi$1=Math.PI,halfPi=pi$1/2,tau$1=2*pi$1;function acos(x$1){return x$1>1?0:x$1<-1?pi$1:Math.acos(x$1)}function asin(x$1){return x$1>=1?halfPi:x$1<=-1?-halfPi:Math.asin(x$1)}const pi=Math.PI,tau=2*pi,epsilon$1=1e-6,tauEpsilon=tau-epsilon$1;function append(strings){this._+=strings[0];for(let i=1,n=strings.length;i<n;++i)this._+=arguments[i]+strings[i]}function appendRound(digits){let d=Math.floor(digits);if(!(d>=0))throw Error(`invalid digits: ${digits}`);if(d>15)return append;let k=10**d;return function(strings){this._+=strings[0];for(let i=1,n=strings.length;i<n;++i)this._+=Math.round(arguments[i]*k)/k+strings[i]}}var Path=class{constructor(digits){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=digits==null?append:appendRound(digits)}moveTo(x$1,y$1){this._append`M${this._x0=this._x1=+x$1},${this._y0=this._y1=+y$1}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(x$1,y$1){this._append`L${this._x1=+x$1},${this._y1=+y$1}`}quadraticCurveTo(x1,y1,x$1,y$1){this._append`Q${+x1},${+y1},${this._x1=+x$1},${this._y1=+y$1}`}bezierCurveTo(x1,y1,x2,y2,x$1,y$1){this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1=+x$1},${this._y1=+y$1}`}arcTo(x1,y1,x2,y2,r){if(x1=+x1,y1=+y1,x2=+x2,y2=+y2,r=+r,r<0)throw Error(`negative radius: ${r}`);let x0=this._x1,y0=this._y1,x21=x2-x1,y21=y2-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(this._x1===null)this._append`M${this._x1=x1},${this._y1=y1}`;else if(l01_2>epsilon$1)if(!(Math.abs(y01*x21-y21*x01)>epsilon$1)||!r)this._append`L${this._x1=x1},${this._y1=y1}`;else{let x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;Math.abs(t01-1)>epsilon$1&&this._append`L${x1+t01*x01},${y1+t01*y01}`,this._append`A${r},${r},0,0,${+(y01*x20>x01*y20)},${this._x1=x1+t21*x21},${this._y1=y1+t21*y21}`}}arc(x$1,y$1,r,a0,a1,ccw){if(x$1=+x$1,y$1=+y$1,r=+r,ccw=!!ccw,r<0)throw Error(`negative radius: ${r}`);let dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x$1+dx,y0=y$1+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;this._x1===null?this._append`M${x0},${y0}`:(Math.abs(this._x1-x0)>epsilon$1||Math.abs(this._y1-y0)>epsilon$1)&&this._append`L${x0},${y0}`,r&&(da<0&&(da=da%tau+tau),da>tauEpsilon?this._append`A${r},${r},0,1,${cw},${x$1-dx},${y$1-dy}A${r},${r},0,1,${cw},${this._x1=x0},${this._y1=y0}`:da>epsilon$1&&this._append`A${r},${r},0,${+(da>=pi)},${cw},${this._x1=x$1+r*Math.cos(a1)},${this._y1=y$1+r*Math.sin(a1)}`)}rect(x$1,y$1,w,h){this._append`M${this._x0=this._x1=+x$1},${this._y0=this._y1=+y$1}h${w=+w}v${+h}h${-w}Z`}toString(){return this._}};function withPath(shape){let digits=3;return shape.digits=function(_){if(!arguments.length)return digits;if(_==null)digits=null;else{let d=Math.floor(_);if(!(d>=0))throw RangeError(`invalid digits: ${_}`);digits=d}return shape},()=>new Path(digits)}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=y32*x10-x32*y10;if(!(t*t<epsilon$2))return t=(x32*(y0-y2)-y32*(x0-x2))/t,[x0+t*x10,y0+t*y10]}function cornerTangents(x0,y0,x1,y1,r1,rc,cw){var x01=x0-x1,y01=y0-y1,lo=(cw?rc:-rc)/sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x11=x0+ox,y11=y0+oy,x10=x1+ox,y10=y1+oy,x00=(x11+x10)/2,y00=(y11+y10)/2,dx=x10-x11,dy=y10-y11,d2=dx*dx+dy*dy,r=r1-rc,D=x11*y10-x10*y11,d=(dy<0?-1:1)*sqrt(max(0,r*r*d2-D*D)),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x00,dy0=cy0-y00,dx1=cx1-x00,dy1=cy1-y00;return dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1&&(cx0=cx1,cy0=cy1),{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}function arc(){var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant$2(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null,path=withPath(arc$1);function arc$1(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=abs(a1-a0),cw=a1>a0;if(context||=buffer=path(),r1<r0&&(r=r1,r1=r0,r0=r),!(r1>epsilon$2))context.moveTo(0,0);else if(da>tau$1-epsilon$2)context.moveTo(r1*cos(a0),r1*sin(a0)),context.arc(0,0,r1,a0,a1,!cw),r0>epsilon$2&&(context.moveTo(r0*cos(a1),r0*sin(a1)),context.arc(0,0,r0,a1,a0,cw));else{var a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon$2&&(padRadius?+padRadius.apply(this,arguments):sqrt(r0*r0+r1*r1)),rc=min(abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc,t0$1,t1$1;if(rp>epsilon$2){var p0=asin(rp/r0*sin(ap)),p1=asin(rp/r1*sin(ap));(da0-=p0*2)>epsilon$2?(p0*=cw?1:-1,a00+=p0,a10-=p0):(da0=0,a00=a10=(a0+a1)/2),(da1-=p1*2)>epsilon$2?(p1*=cw?1:-1,a01+=p1,a11-=p1):(da1=0,a01=a11=(a0+a1)/2)}var x01=r1*cos(a01),y01=r1*sin(a01),x10=r0*cos(a10),y10=r0*sin(a10);if(rc>epsilon$2){var x11=r1*cos(a11),y11=r1*sin(a11),x00=r0*cos(a00),y00=r0*sin(a00),oc;if(da<pi$1)if(oc=intersect(x01,y01,x00,y00,x11,y11,x10,y10)){var ax=x01-oc[0],ay=y01-oc[1],bx=x11-oc[0],by=y11-oc[1],kc=1/sin(acos((ax*bx+ay*by)/(sqrt(ax*ax+ay*ay)*sqrt(bx*bx+by*by)))/2),lc=sqrt(oc[0]*oc[0]+oc[1]*oc[1]);rc0=min(rc,(r0-lc)/(kc-1)),rc1=min(rc,(r1-lc)/(kc+1))}else rc0=rc1=0}da1>epsilon$2?rc1>epsilon$2?(t0$1=cornerTangents(x00,y00,x01,y01,r1,rc1,cw),t1$1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw),context.moveTo(t0$1.cx+t0$1.x01,t0$1.cy+t0$1.y01),rc1<rc?context.arc(t0$1.cx,t0$1.cy,rc1,atan2(t0$1.y01,t0$1.x01),atan2(t1$1.y01,t1$1.x01),!cw):(context.arc(t0$1.cx,t0$1.cy,rc1,atan2(t0$1.y01,t0$1.x01),atan2(t0$1.y11,t0$1.x11),!cw),context.arc(0,0,r1,atan2(t0$1.cy+t0$1.y11,t0$1.cx+t0$1.x11),atan2(t1$1.cy+t1$1.y11,t1$1.cx+t1$1.x11),!cw),context.arc(t1$1.cx,t1$1.cy,rc1,atan2(t1$1.y11,t1$1.x11),atan2(t1$1.y01,t1$1.x01),!cw))):(context.moveTo(x01,y01),context.arc(0,0,r1,a01,a11,!cw)):context.moveTo(x01,y01),!(r0>epsilon$2)||!(da0>epsilon$2)?context.lineTo(x10,y10):rc0>epsilon$2?(t0$1=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw),t1$1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw),context.lineTo(t0$1.cx+t0$1.x01,t0$1.cy+t0$1.y01),rc0<rc?context.arc(t0$1.cx,t0$1.cy,rc0,atan2(t0$1.y01,t0$1.x01),atan2(t1$1.y01,t1$1.x01),!cw):(context.arc(t0$1.cx,t0$1.cy,rc0,atan2(t0$1.y01,t0$1.x01),atan2(t0$1.y11,t0$1.x11),!cw),context.arc(0,0,r0,atan2(t0$1.cy+t0$1.y11,t0$1.cx+t0$1.x11),atan2(t1$1.cy+t1$1.y11,t1$1.cx+t1$1.x11),cw),context.arc(t1$1.cx,t1$1.cy,rc0,atan2(t1$1.y11,t1$1.x11),atan2(t1$1.y01,t1$1.x01),!cw))):context.arc(0,0,r0,a10,a00,cw)}if(context.closePath(),buffer)return context=null,buffer+``||null}return arc$1.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-pi$1/2;return[cos(a)*r,sin(a)*r]},arc$1.innerRadius=function(_){return arguments.length?(innerRadius=typeof _==`function`?_:constant$2(+_),arc$1):innerRadius},arc$1.outerRadius=function(_){return arguments.length?(outerRadius=typeof _==`function`?_:constant$2(+_),arc$1):outerRadius},arc$1.cornerRadius=function(_){return arguments.length?(cornerRadius=typeof _==`function`?_:constant$2(+_),arc$1):cornerRadius},arc$1.padRadius=function(_){return arguments.length?(padRadius=_==null?null:typeof _==`function`?_:constant$2(+_),arc$1):padRadius},arc$1.startAngle=function(_){return arguments.length?(startAngle=typeof _==`function`?_:constant$2(+_),arc$1):startAngle},arc$1.endAngle=function(_){return arguments.length?(endAngle=typeof _==`function`?_:constant$2(+_),arc$1):endAngle},arc$1.padAngle=function(_){return arguments.length?(padAngle=typeof _==`function`?_:constant$2(+_),arc$1):padAngle},arc$1.context=function(_){return arguments.length?(context=_??null,arc$1):context},arc$1}function array$1(x$1){return typeof x$1==`object`&&`length`in x$1?x$1:Array.from(x$1)}function Linear(context){this._context=context}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(x$1,y$1){switch(x$1=+x$1,y$1=+y$1,this._point){case 0:this._point=1,this._line?this._context.lineTo(x$1,y$1):this._context.moveTo(x$1,y$1);break;case 1:this._point=2;default:this._context.lineTo(x$1,y$1);break}}};function curveLinear(context){return new Linear(context)}function x(p){return p[0]}function y(p){return p[1]}function line(x$1,y$1){var defined=constant$2(!0),context=null,curve=curveLinear,output=null,path=withPath(line$1);x$1=typeof x$1==`function`?x$1:x$1===void 0?x:constant$2(x$1),y$1=typeof y$1==`function`?y$1:y$1===void 0?y:constant$2(y$1);function line$1(data){var i,n=(data=array$1(data)).length,d,defined0=!1,buffer;for(context??(output=curve(buffer=path())),i=0;i<=n;++i)!(i<n&&defined(d=data[i],i,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x$1(d,i,data),+y$1(d,i,data));if(buffer)return output=null,buffer+``||null}return line$1.x=function(_){return arguments.length?(x$1=typeof _==`function`?_:constant$2(+_),line$1):x$1},line$1.y=function(_){return arguments.length?(y$1=typeof _==`function`?_:constant$2(+_),line$1):y$1},line$1.defined=function(_){return arguments.length?(defined=typeof _==`function`?_:constant$2(!!_),line$1):defined},line$1.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),line$1):curve},line$1.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),line$1):context},line$1}function area(x0,y0,y1){var x1=null,defined=constant$2(!0),context=null,curve=curveLinear,output=null,path=withPath(area$1);x0=typeof x0==`function`?x0:x0===void 0?x:constant$2(+x0),y0=typeof y0==`function`?y0:constant$2(y0===void 0?0:+y0),y1=typeof y1==`function`?y1:y1===void 0?y:constant$2(+y1);function area$1(data){var i,j,k,n=(data=array$1(data)).length,d,defined0=!1,buffer,x0z=Array(n),y0z=Array(n);for(context??(output=curve(buffer=path())),i=0;i<=n;++i){if(!(i<n&&defined(d=data[i],i,data))===defined0)if(defined0=!defined0)j=i,output.areaStart(),output.lineStart();else{for(output.lineEnd(),output.lineStart(),k=i-1;k>=j;--k)output.point(x0z[k],y0z[k]);output.lineEnd(),output.areaEnd()}defined0&&(x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data),output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i]))}if(buffer)return output=null,buffer+``||null}function arealine(){return line().defined(defined).curve(curve).context(context)}return area$1.x=function(_){return arguments.length?(x0=typeof _==`function`?_:constant$2(+_),x1=null,area$1):x0},area$1.x0=function(_){return arguments.length?(x0=typeof _==`function`?_:constant$2(+_),area$1):x0},area$1.x1=function(_){return arguments.length?(x1=_==null?null:typeof _==`function`?_:constant$2(+_),area$1):x1},area$1.y=function(_){return arguments.length?(y0=typeof _==`function`?_:constant$2(+_),y1=null,area$1):y0},area$1.y0=function(_){return arguments.length?(y0=typeof _==`function`?_:constant$2(+_),area$1):y0},area$1.y1=function(_){return arguments.length?(y1=_==null?null:typeof _==`function`?_:constant$2(+_),area$1):y1},area$1.lineX0=area$1.lineY0=function(){return arealine().x(x0).y(y0)},area$1.lineY1=function(){return arealine().x(x0).y(y1)},area$1.lineX1=function(){return arealine().x(x1).y(y0)},area$1.defined=function(_){return arguments.length?(defined=typeof _==`function`?_:constant$2(!!_),area$1):defined},area$1.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),area$1):curve},area$1.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),area$1):context},area$1}function descending(a,b){return b<a?-1:b>a?1:b>=a?0:NaN}function identity$1(d){return d}function pie(){var value=identity$1,sortValues=descending,sort=null,startAngle=constant$2(0),endAngle=constant$2(tau$1),padAngle=constant$2(0);function pie$1(data){var i,n=(data=array$1(data)).length,j,k,sum=0,index$1=Array(n),arcs=Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau$1,Math.max(-tau$1,endAngle.apply(this,arguments)-a0)),a1,p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1),v;for(i=0;i<n;++i)(v=arcs[index$1[i]=i]=+value(data[i],i,data))>0&&(sum+=v);for(sortValues==null?sort!=null&&index$1.sort(function(i$1,j$1){return sort(data[i$1],data[j$1])}):index$1.sort(function(i$1,j$1){return sortValues(arcs[i$1],arcs[j$1])}),i=0,k=sum?(da-n*pa)/sum:0;i<n;++i,a0=a1)j=index$1[i],v=arcs[j],a1=a0+(v>0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p};return arcs}return pie$1.value=function(_){return arguments.length?(value=typeof _==`function`?_:constant$2(+_),pie$1):value},pie$1.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie$1):sortValues},pie$1.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie$1):sort},pie$1.startAngle=function(_){return arguments.length?(startAngle=typeof _==`function`?_:constant$2(+_),pie$1):startAngle},pie$1.endAngle=function(_){return arguments.length?(endAngle=typeof _==`function`?_:constant$2(+_),pie$1):endAngle},pie$1.padAngle=function(_){return arguments.length?(padAngle=typeof _==`function`?_:constant$2(+_),pie$1):padAngle},pie$1}function sign(x$1){return x$1<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function point(that,t0$1,t1$1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0$1,x1-dx,y1-dx*t1$1,x1,y1)}function MonotoneX(context){this._context=context}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point(this,this._t0,slope2(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(x$1,y$1){var t1$1=NaN;if(x$1=+x$1,y$1=+y$1,!(x$1===this._x1&&y$1===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x$1,y$1):this._context.moveTo(x$1,y$1);break;case 1:this._point=2;break;case 2:this._point=3,point(this,slope2(this,t1$1=slope3(this,x$1,y$1)),t1$1);break;default:point(this,this._t0,t1$1=slope3(this,x$1,y$1));break}this._x0=this._x1,this._x1=x$1,this._y0=this._y1,this._y1=y$1,this._t0=t1$1}}};function MonotoneY(context){this._context=new ReflectContext(context)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x$1,y$1){MonotoneX.prototype.point.call(this,y$1,x$1)};function ReflectContext(context){this._context=context}ReflectContext.prototype={moveTo:function(x$1,y$1){this._context.moveTo(y$1,x$1)},closePath:function(){this._context.closePath()},lineTo:function(x$1,y$1){this._context.lineTo(y$1,x$1)},bezierCurveTo:function(x1,y1,x2,y2,x$1,y$1){this._context.bezierCurveTo(y1,x1,y2,x2,y$1,x$1)}};function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x$1=this._x,y$1=this._y,n=x$1.length;if(n)if(this._line?this._context.lineTo(x$1[0],y$1[0]):this._context.moveTo(x$1[0],y$1[0]),n===2)this._context.lineTo(x$1[1],y$1[1]);else for(var px=controlPoints(x$1),py=controlPoints(y$1),i0=0,i1=1;i1<n;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x$1[i1],y$1[i1]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x$1,y$1){this._x.push(+x$1),this._y.push(+y$1)}};function controlPoints(x$1){var i,n=x$1.length-1,m,a=Array(n),b=Array(n),r=Array(n);for(a[0]=0,b[0]=2,r[0]=x$1[0]+2*x$1[1],i=1;i<n-1;++i)a[i]=1,b[i]=4,r[i]=4*x$1[i]+2*x$1[i+1];for(a[n-1]=2,b[n-1]=7,r[n-1]=8*x$1[n-1]+x$1[n],i=1;i<n;++i)m=a[i]/b[i-1],b[i]-=m,r[i]-=m*r[i-1];for(a[n-1]=r[n-1]/b[n-1],i=n-2;i>=0;--i)a[i]=(r[i]-a[i+1])/b[i];for(b[n-1]=(x$1[n]+a[n-1])/2,i=0;i<n-1;++i)b[i]=2*x$1[i+1]-a[i+1];return[a,b]}function curveNatural(context){return new Natural(context)}function Step(context,t){this._context=context,this._t=t}Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(x$1,y$1){switch(x$1=+x$1,y$1=+y$1,this._point){case 0:this._point=1,this._line?this._context.lineTo(x$1,y$1):this._context.moveTo(x$1,y$1);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,y$1),this._context.lineTo(x$1,y$1);else{var x1=this._x*(1-this._t)+x$1*this._t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y$1)}break}this._x=x$1,this._y=y$1}};function curveStep(context){return new Step(context,.5)}function stepAfter(context){return new Step(context,1)}function none$1(series,order){if((n=series.length)>1)for(var i=1,j,s0,s1=series[order[0]],n,m=s1.length;i<n;++i)for(s0=s1,s1=series[order[i]],j=0;j<m;++j)s1[j][1]+=s1[j][0]=isNaN(s0[j][1])?s0[j][0]:s0[j][1]}function stackOrderNone(series){for(var n=series.length,o=Array(n);--n>=0;)o[n]=n;return o}function stackValue(d,key){return d[key]}function stackSeries(key){let series=[];return series.key=key,series}function stack(){var keys$1=constant$2([]),order=stackOrderNone,offset=none$1,value=stackValue;function stack$1(data){var sz=Array.from(keys$1.apply(this,arguments),stackSeries),i,n=sz.length,j=-1,oz;for(let d of data)for(i=0,++j;i<n;++i)(sz[i][j]=[0,+value(d,sz[i].key,j,data)]).data=d;for(i=0,oz=array$1(order(sz));i<n;++i)sz[oz[i]].index=i;return offset(sz,oz),sz}return stack$1.keys=function(_){return arguments.length?(keys$1=typeof _==`function`?_:constant$2(Array.from(_)),stack$1):keys$1},stack$1.value=function(_){return arguments.length?(value=typeof _==`function`?_:constant$2(+_),stack$1):value},stack$1.order=function(_){return arguments.length?(order=_==null?stackOrderNone:typeof _==`function`?_:constant$2(Array.from(_)),stack$1):order},stack$1.offset=function(_){return arguments.length?(offset=_??none$1,stack$1):offset},stack$1}const defaultConfig={size:{width:500,height:400},margin:{top:0,right:0,bottom:0,left:0},direction:`horizontal`,axis:{primary:{domain:[`dataMin`,`dataMax`],type:`band`},secondary:{domain:[`dataMin`,`dataMax`],type:`linear`}},axisSpace:{x:40,y:20}};var Chart=class{constructor(data,config){this.data=data,this.layers=[],this.config=mergeDeepLeft$1(pickBy$1(p=>p!==void 0,config),defaultConfig),this.scales=new Scales(this.config.axis),this.updates=(0,vue.ref)(0)}get bandScale(){return this.scales.primary.type===`band`?this.scales.primary:this.scales.secondary.type===`band`?this.scales.secondary:null}get canvas(){let{margin,size}=this.config,axisSpace=this.config.axisSpace;return this.config.axis.primary.hide&&(axisSpace.y=0),this.config.axis.secondary.hide&&(axisSpace.x=0),{x:margin.left+axisSpace.x,y:margin.top,width:size.width-margin.right,height:size.height-margin.bottom-axisSpace.y}}getStackedData(keys$1){return stack().keys(keys$1).order(stackOrderNone)(this.data)}changeData(data){this.data=data,this.update(`data`)}changeConfig(config){this.config=mergeDeepLeft$1(pickBy$1(p=>p!==void 0,config),this.config),this.scales.changeConfig(this.config.axis),this.update(`config`)}addLayer(layer){this.layers.push(layer),this.update(`layers`)}removeLayer(id){this.layers=this.layers.filter(l=>l.id!==id),this.update(`layers`)}getLayers(type$1){return type$1?this.layers.filter(l=>l.type===type$1):this.layers}getData(keys$1){return keys$1.reduce((arr,key)=>arr.concat(getCol(key,this.data)),[])}getKeys(idx=-1,type$1=null){let keys$1=this.layers.filter(l=>type$1?l.type===type$1:!0).map(l=>l.dataKeys);return idx===-1?keys$1:getCol(idx,keys$1)}getStackedKeys(idx=-1,type$1=null){let keys$1=this.layers.filter(l=>type$1?l.type===type$1&&l.props.stacked:l.props.stacked).map(l=>l.dataKeys);return idx===-1?keys$1:getCol(idx,keys$1)}update(_){let stackedData=this.getStackedData(this.getStackedKeys(1));this.scales.updateRange(this.canvas,this.config.direction),this.scales.updateDomain(this.data,stackedData,this.getKeys()),this.updates.value+=1}},xhtml=`http://www.w3.org/1999/xhtml`,namespaces={svg:`http://www.w3.org/2000/svg`,xhtml,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function namespace(name){var prefix=name+=``,i=prefix.indexOf(`:`);return i>=0&&(prefix=name.slice(0,i))!==`xmlns`&&(name=name.slice(i+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document$1=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document$1.documentElement.namespaceURI===xhtml?document$1.createElement(name):document$1.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function none(){}function selector(selector$1){return selector$1==null?none:function(){return this.querySelector(selector$1)}}function selection_select(select$1){typeof select$1!=`function`&&(select$1=selector(select$1));for(var groups=this._groups,m=groups.length,subgroups=Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=Array(n),node,subnode,i=0;i<n;++i)(node=group[i])&&(subnode=select$1.call(node,node.__data__,i,group))&&(`__data__`in node&&(subnode.__data__=node.__data__),subgroup[i]=subnode);return new Selection(subgroups,this._parents)}function array(x$1){return x$1==null?[]:Array.isArray(x$1)?x$1:Array.from(x$1)}function empty(){return[]}function selectorAll(selector$1){return selector$1==null?empty:function(){return this.querySelectorAll(selector$1)}}function arrayAll(select$1){return function(){return array(select$1.apply(this,arguments))}}function selection_selectAll(select$1){select$1=typeof select$1==`function`?arrayAll(select$1):selectorAll(select$1);for(var groups=this._groups,m=groups.length,subgroups=[],parents=[],j=0;j<m;++j)for(var group=groups[j],n=group.length,node,i=0;i<n;++i)(node=group[i])&&(subgroups.push(select$1.call(node,node.__data__,i,group)),parents.push(node));return new Selection(subgroups,parents)}function matcher(selector$1){return function(){return this.matches(selector$1)}}function childMatcher(selector$1){return function(node){return node.matches(selector$1)}}var find=Array.prototype.find;function childFind(match){return function(){return find.call(this.children,match)}}function childFirst(){return this.firstElementChild}function selection_selectChild(match){return this.select(match==null?childFirst:childFind(typeof match==`function`?match:childMatcher(match)))}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(match){return function(){return filter.call(this.children,match)}}function selection_selectChildren(match){return this.selectAll(match==null?children:childrenFilter(typeof match==`function`?match:childMatcher(match)))}function selection_filter(match){typeof match!=`function`&&(match=matcher(match));for(var groups=this._groups,m=groups.length,subgroups=Array(m),j=0;j<m;++j)for(var group=groups[j],n=group.length,subgroup=subgroups[j]=[],node,i=0;i<n;++i)(node=group[i])&&match.call(node,node.__data__,i,group)&&subgroup.push(node);return new Selection(subgroups,this._parents)}function sparse(update){return Array(update.length)}function selection_enter(){return new Selection(this._enter||this._groups.map(sparse),this._parents)}function EnterNode(parent,datum$1){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum$1}EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector$1){return this._parent.querySelector(selector$1)},querySelectorAll:function(selector$1){return this._parent.querySelectorAll(selector$1)}};function constant$1(x$1){return function(){return x$1}}function bindIndex(parent,group,enter,update,exit,data){for(var i=0,node,groupLength=group.length,dataLength=data.length;i<dataLength;++i)(node=group[i])?(node.__data__=data[i],update[i]=node):enter[i]=new EnterNode(parent,data[i]);for(;i<groupLength;++i)(node=group[i])&&(exit[i]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i,node,nodeByKeyValue=new Map,groupLength=group.length,dataLength=data.length,keyValues=Array(groupLength),keyValue;for(i=0;i<groupLength;++i)(node=group[i])&&(keyValues[i]=keyValue=key.call(node,node.__data__,i,group)+``,nodeByKeyValue.has(keyValue)?exit[i]=node:nodeByKeyValue.set(keyValue,node));for(i=0;i<dataLength;++i)keyValue=key.call(parent,data[i],i,data)+``,(node=nodeByKeyValue.get(keyValue))?(update[i]=node,node.__data__=data[i],nodeByKeyValue.delete(keyValue)):enter[i]=new EnterNode(parent,data[i]);for(i=0;i<groupLength;++i)(node=group[i])&&nodeByKeyValue.get(keyValues[i])===node&&(exit[i]=node)}function datum(node){return node.__data__}function selection_data(value,key){if(!arguments.length)return Array.from(this,datum);var bind$1=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;typeof value!=`function`&&(value=constant$1(value));for(var m=groups.length,update=Array(m),enter=Array(m),exit=Array(m),j=0;j<m;++j){var parent=parents[j],group=groups[j],groupLength=group.length,data=arraylike(value.call(parent,parent&&parent.__data__,j,parents)),dataLength=data.length,enterGroup=enter[j]=Array(dataLength),updateGroup=update[j]=Array(dataLength),exitGroup=exit[j]=Array(groupLength);bind$1(parent,group,enterGroup,updateGroup,exitGroup,data,key);for(var i0=0,i1=0,previous,next;i0<dataLength;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return update=new Selection(update,parents),update._enter=enter,update._exit=exit,update}function arraylike(data){return typeof data==`object`&&`length`in data?data:Array.from(data)}function selection_exit(){return new Selection(this._exit||this._groups.map(sparse),this._parents)}function selection_join(onenter,onupdate,onexit){var enter=this.enter(),update=this,exit=this.exit();return typeof onenter==`function`?(enter=onenter(enter),enter&&=enter.selection()):enter=enter.append(onenter+``),onupdate!=null&&(update=onupdate(update),update&&=update.selection()),onexit==null?exit.remove():onexit(exit),enter&&update?enter.merge(update).order():update}function selection_merge(context){for(var selection=context.selection?context.selection():context,groups0=this._groups,groups1=selection._groups,m0=groups0.length,m1=groups1.length,m=Math.min(m0,m1),merges=Array(m0),j=0;j<m;++j)for(var group0=groups0[j],group1=groups1[j],n=group0.length,merge=merges[j]=Array(n),node,i=0;i<n;++i)(node=group0[i]||group1[i])&&(merge[i]=node);for(;j<m0;++j)merges[j]=groups0[j];return new Selection(merges,this._parents)}function selection_order(){for(var groups=this._groups,j=-1,m=groups.length;++j<m;)for(var group=groups[j],i=group.length-1,next=group[i],node;--i>=0;)(node=group[i])&&(next&&node.compareDocumentPosition(next)^4&&next.parentNode.insertBefore(node,next),next=node);return this}function selection_sort(compare){compare||=ascending;function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}for(var groups=this._groups,m=groups.length,sortgroups=Array(m),j=0;j<m;++j){for(var group=groups[j],n=group.length,sortgroup=sortgroups[j]=Array(n),node,i=0;i<n;++i)(node=group[i])&&(sortgroup[i]=node);sortgroup.sort(compareNode)}return new Selection(sortgroups,this._parents).order()}function ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}function selection_call(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this}function selection_nodes(){return Array.from(this)}function selection_node(){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length;i<n;++i){var node=group[i];if(node)return node}return null}function selection_size(){let size=0;for(let node of this)++size;return size}function selection_empty(){return!this.node()}function selection_each(callback){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length,node;i<n;++i)(node=group[i])&&callback.call(node,node.__data__,i,group);return this}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction(name,value){return function(){var v=value.apply(this,arguments);v==null?this.removeAttribute(name):this.setAttribute(name,v)}}function attrFunctionNS(fullname,value){return function(){var v=value.apply(this,arguments);v==null?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v)}}function selection_attr(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((value==null?fullname.local?attrRemoveNS:attrRemove:typeof value==`function`?fullname.local?attrFunctionNS:attrFunction:fullname.local?attrConstantNS:attrConstant)(fullname,value))}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction(name,value,priority){return function(){var v=value.apply(this,arguments);v==null?this.style.removeProperty(name):this.style.setProperty(name,v,priority)}}function selection_style(name,value,priority){return arguments.length>1?this.each((value==null?styleRemove:typeof value==`function`?styleFunction:styleConstant)(name,value,priority??``)):styleValue(this.node(),name)}function styleValue(node,name){return node.style.getPropertyValue(name)||defaultView(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);v==null?delete this[name]:this[name]=v}}function selection_property(name,value){return arguments.length>1?this.each((value==null?propertyRemove:typeof value==`function`?propertyFunction:propertyConstant)(name,value)):this.node()[name]}function classArray(string$1){return string$1.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute(`class`)||``)}ClassList.prototype={add:function(name){var i=this._names.indexOf(name);i<0&&(this._names.push(name),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(name){var i=this._names.indexOf(name);i>=0&&(this._names.splice(i,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(name){return this._names.indexOf(name)>=0}};function classedAdd(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.add(names[i])}function classedRemove(node,names){for(var list=classList(node),i=-1,n=names.length;++i<n;)list.remove(names[i])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function selection_classed(name,value){var names=classArray(name+``);if(arguments.length<2){for(var list=classList(this.node()),i=-1,n=names.length;++i<n;)if(!list.contains(names[i]))return!1;return!0}return this.each((typeof value==`function`?classedFunction:value?classedTrue:classedFalse)(names,value))}function textRemove(){this.textContent=``}function textConstant(value){return function(){this.textContent=value}}function textFunction(value){return function(){var v=value.apply(this,arguments);this.textContent=v??``}}function selection_text(value){return arguments.length?this.each(value==null?textRemove:(typeof value==`function`?textFunction:textConstant)(value)):this.node().textContent}function htmlRemove(){this.innerHTML=``}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v=value.apply(this,arguments);this.innerHTML=v??``}}function selection_html(value){return arguments.length?this.each(value==null?htmlRemove:(typeof value==`function`?htmlFunction:htmlConstant)(value)):this.node().innerHTML}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function selection_raise(){return this.each(raise)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function selection_lower(){return this.each(lower)}function selection_append(name){var create=typeof name==`function`?name:creator(name);return this.select(function(){return this.appendChild(create.apply(this,arguments))})}function constantNull(){return null}function selection_insert(name,before){var create=typeof name==`function`?name:creator(name),select$1=before==null?constantNull:typeof before==`function`?before:selector(before);return this.select(function(){return this.insertBefore(create.apply(this,arguments),select$1.apply(this,arguments)||null)})}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_remove(){return this.each(remove)}function selection_cloneShallow(){var clone=this.cloneNode(!1),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_cloneDeep(){var clone=this.cloneNode(!0),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_clone(deep){return this.select(deep?selection_cloneDeep:selection_cloneShallow)}function selection_datum(value){return arguments.length?this.property(`__data__`,value):this.node().__data__}function contextListener(listener){return function(event){listener.call(this,event,this.__data__)}}function parseTypenames(typenames){return typenames.trim().split(/^|\s+/).map(function(t){var name=``,i=t.indexOf(`.`);return i>=0&&(name=t.slice(i+1),t=t.slice(0,i)),{type:t,name}})}function onRemove(typename){return function(){var on=this.__on;if(on){for(var j=0,i=-1,m=on.length,o;j<m;++j)o=on[j],(!typename.type||o.type===typename.type)&&o.name===typename.name?this.removeEventListener(o.type,o.listener,o.options):on[++i]=o;++i?on.length=i:delete this.__on}}}function onAdd(typename,value,options){return function(){var on=this.__on,o,listener=contextListener(value);if(on){for(var j=0,m=on.length;j<m;++j)if((o=on[j]).type===typename.type&&o.name===typename.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=listener,o.options=options),o.value=value;return}}this.addEventListener(typename.type,listener,options),o={type:typename.type,name:typename.name,value,listener,options},on?on.push(o):this.__on=[o]}}function selection_on(typename,value,options){var typenames=parseTypenames(typename+``),i,n=typenames.length,t;if(arguments.length<2){var on=this.node().__on;if(on){for(var j=0,m=on.length,o;j<m;++j)for(i=0,o=on[j];i<n;++i)if((t=typenames[i]).type===o.type&&t.name===o.name)return o.value}return}for(on=value?onAdd:onRemove,i=0;i<n;++i)this.each(on(typenames[i],value,options));return this}function dispatchEvent(node,type$1,params){var window$1=defaultView(node),event=window$1.CustomEvent;typeof event==`function`?event=new event(type$1,params):(event=window$1.document.createEvent(`Event`),params?(event.initEvent(type$1,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type$1,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type$1,params){return function(){return dispatchEvent(this,type$1,params)}}function dispatchFunction(type$1,params){return function(){return dispatchEvent(this,type$1,params.apply(this,arguments))}}function selection_dispatch(type$1,params){return this.each((typeof params==`function`?dispatchFunction:dispatchConstant)(type$1,params))}function*selection_iterator(){for(var groups=this._groups,j=0,m=groups.length;j<m;++j)for(var group=groups[j],i=0,n=group.length,node;i<n;++i)(node=group[i])&&(yield node)}var root=[null];function Selection(groups,parents){this._groups=groups,this._parents=parents}function selection_selection(){return this}Selection.prototype={constructor:Selection,select:selection_select,selectAll:selection_selectAll,selectChild:selection_selectChild,selectChildren:selection_selectChildren,filter:selection_filter,data:selection_data,enter:selection_enter,exit:selection_exit,join:selection_join,merge:selection_merge,selection:selection_selection,order:selection_order,sort:selection_sort,call:selection_call,nodes:selection_nodes,node:selection_node,size:selection_size,empty:selection_empty,each:selection_each,attr:selection_attr,style:selection_style,property:selection_property,classed:selection_classed,text:selection_text,html:selection_html,raise:selection_raise,lower:selection_lower,append:selection_append,insert:selection_insert,remove:selection_remove,clone:selection_clone,datum:selection_datum,on:selection_on,dispatch:selection_dispatch,[Symbol.iterator]:selection_iterator};function select(selector$1){return typeof selector$1==`string`?new Selection([[document.querySelector(selector$1)]],[document.documentElement]):new Selection([[selector$1]],root)}function sourceEvent(event){let sourceEvent$1;for(;sourceEvent$1=event.sourceEvent;)event=sourceEvent$1;return event}function pointer(event,node){if(event=sourceEvent(event),node===void 0&&(node=event.currentTarget),node){var svg=node.ownerSVGElement||node;if(svg.createSVGPoint){var point$1=svg.createSVGPoint();return point$1.x=event.clientX,point$1.y=event.clientY,point$1=point$1.matrixTransform(node.getScreenCTM().inverse()),[point$1.x,point$1.y]}if(node.getBoundingClientRect){var rect=node.getBoundingClientRect();return[event.clientX-rect.left-node.clientLeft,event.clientY-rect.top-node.clientTop]}}return[event.pageX,event.pageY]}function identity(x$1){return x$1}var top=1,right=2,bottom=3,left=4,epsilon=1e-6;function translateX(x$1){return`translate(`+x$1+`,0)`}function translateY(y$1){return`translate(0,`+y$1+`)`}function number(scale){return d=>+scale(d)}function center(scale,offset){return offset=Math.max(0,scale.bandwidth()-offset*2)/2,scale.round()&&(offset=Math.round(offset)),d=>+scale(d)+offset}function entering(){return!this.__axis}function axis(orient,scale){var tickArguments=[],tickValues=null,tickFormat$1=null,tickSizeInner=6,tickSizeOuter=6,tickPadding=3,offset=typeof window<`u`&&window.devicePixelRatio>1?0:.5,k=orient===top||orient===left?-1:1,x$1=orient===left||orient===right?`x`:`y`,transform=orient===top||orient===bottom?translateX:translateY;function axis$1(context){var values$2=tickValues??(scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain()),format$1=tickFormat$1??(scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):identity),spacing=Math.max(tickSizeInner,0)+tickPadding,range$1=scale.range(),range0=+range$1[0]+offset,range1=+range$1[range$1.length-1]+offset,position=(scale.bandwidth?center:number)(scale.copy(),offset),selection=context.selection?context.selection():context,path=selection.selectAll(`.domain`).data([null]),tick=selection.selectAll(`.tick`).data(values$2,scale).order(),tickExit=tick.exit(),tickEnter=tick.enter().append(`g`).attr(`class`,`tick`),line$1=tick.select(`line`),text=tick.select(`text`);path=path.merge(path.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),tick=tick.merge(tickEnter),line$1=line$1.merge(tickEnter.append(`line`).attr(`stroke`,`currentColor`).attr(x$1+`2`,k*tickSizeInner)),text=text.merge(tickEnter.append(`text`).attr(`fill`,`currentColor`).attr(x$1,k*spacing).attr(`dy`,orient===top?`0em`:orient===bottom?`0.71em`:`0.32em`)),context!==selection&&(path=path.transition(context),tick=tick.transition(context),line$1=line$1.transition(context),text=text.transition(context),tickExit=tickExit.transition(context).attr(`opacity`,epsilon).attr(`transform`,function(d){return isFinite(d=position(d))?transform(d+offset):this.getAttribute(`transform`)}),tickEnter.attr(`opacity`,epsilon).attr(`transform`,function(d){var p=this.parentNode.__axis;return transform((p&&isFinite(p=p(d))?p:position(d))+offset)})),tickExit.remove(),path.attr(`d`,orient===left||orient===right?tickSizeOuter?`M`+k*tickSizeOuter+`,`+range0+`H`+offset+`V`+range1+`H`+k*tickSizeOuter:`M`+offset+`,`+range0+`V`+range1:tickSizeOuter?`M`+range0+`,`+k*tickSizeOuter+`V`+offset+`H`+range1+`V`+k*tickSizeOuter:`M`+range0+`,`+offset+`H`+range1),tick.attr(`opacity`,1).attr(`transform`,function(d){return transform(position(d)+offset)}),line$1.attr(x$1+`2`,k*tickSizeInner),text.attr(x$1,k*spacing).text(format$1),selection.filter(entering).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,orient===right?`start`:orient===left?`end`:`middle`),selection.each(function(){this.__axis=position})}return axis$1.scale=function(_){return arguments.length?(scale=_,axis$1):scale},axis$1.ticks=function(){return tickArguments=Array.from(arguments),axis$1},axis$1.tickArguments=function(_){return arguments.length?(tickArguments=_==null?[]:Array.from(_),axis$1):tickArguments.slice()},axis$1.tickValues=function(_){return arguments.length?(tickValues=_==null?null:Array.from(_),axis$1):tickValues&&tickValues.slice()},axis$1.tickFormat=function(_){return arguments.length?(tickFormat$1=_,axis$1):tickFormat$1},axis$1.tickSize=function(_){return arguments.length?(tickSizeInner=tickSizeOuter=+_,axis$1):tickSizeInner},axis$1.tickSizeInner=function(_){return arguments.length?(tickSizeInner=+_,axis$1):tickSizeInner},axis$1.tickSizeOuter=function(_){return arguments.length?(tickSizeOuter=+_,axis$1):tickSizeOuter},axis$1.tickPadding=function(_){return arguments.length?(tickPadding=+_,axis$1):tickPadding},axis$1.offset=function(_){return arguments.length?(offset=+_,axis$1):offset},axis$1}function axisBottom(scale){return axis(bottom,scale)}function axisLeft(scale){return axis(left,scale)}var useChart=()=>{let chart=(0,vue.inject)(`chart`);return chart},usePoints=(dataKeys,props={stacked:!1,type:`line`})=>{let points=(0,vue.ref)([]),chart=useChart(),{stacked,type:type$1}=props;function getPoints(key,values$2){let{primary,secondary}=chart.scales;if(chart.config.direction===`horizontal`){let res=values$2.map(val=>({x:primary.mapOne(val.data[key]),y:secondary.mapOne(val[1]),props:{values:[...val],data:val.data}})).filter(p=>!isNaN(p.x)&&!isNaN(p.y));return res}else if(chart.config.direction===`vertical`)return values$2.map(val=>({x:secondary.mapOne(val[1]),y:primary.mapOne(val.data[key]),props:{values:[...val],data:val.data}})).filter(p=>!isNaN(p.x)&&!isNaN(p.y));return[]}function update(){let keys$1=chart.getStackedKeys(1,type$1),[primaryKey,secondaryKey]=dataKeys,stack$1=chart.getStackedData(stacked?keys$1:[dataKeys[1]]),data=stack$1.find(s=>s.key===secondaryKey);data&&(points.value=getPoints(primaryKey,data))}return(0,vue.watch)(chart.updates,()=>{update()},{immediate:!0}),{points}},useMouse=()=>{let mouse=(0,vue.inject)(`chartMouse`,{index:-1,position:{x:0,y:0},hover:!1});return mouse},useBars=(dataKeys,props={maxWidth:-1,gap:5,stacked:!1,type:`bar`})=>{let bars=(0,vue.ref)([]),chart=useChart(),{stacked,type:type$1,gap}=props;function scales(){let{primary,secondary}=chart.scales,bandScale=primary.type===`band`?primary:secondary,linearScale=primary.type===`band`?secondary:primary;return{bandScale,linearScale}}function getIndex(){if(stacked)return 0;let barLayers=chart.getLayers(type$1),idx=barLayers.findIndex(l=>l.dataKeys.join(`,`)===dataKeys.join(`,`));return idx>-1?idx:0}function getBarWidth(){let{bandScale}=scales(),maxWidth=props.maxWidth>-1?Math.min(bandScale.bandwidth()-gap,props.maxWidth):bandScale.bandwidth()-gap,barLayers=chart.getLayers(type$1);return barLayers.length>0&&!stacked?maxWidth/barLayers.length:maxWidth}function getDiffWidth(){if(stacked)return 0;let{bandScale}=scales(),max$2=bandScale.bandwidth()-gap,total=chart.getLayers(type$1).length*getBarWidth();return(max$2-total)/2}function getBars(key,values$2){let{bandScale,linearScale}=scales(),index$1=getIndex(),barSize=getBarWidth(),diff=getDiffWidth();return values$2.map(val=>{let rect={x:0,y:0,width:0,height:0,props:{values:[...val],data:val.data}},xVal=bandScale.scale(val.data[key]),[yVal0,yVal1]=linearScale.map(val);return chart.config.direction===`horizontal`?(rect.y=Math.min(yVal0,yVal1),rect.height=Math.abs(yVal0-yVal1),rect.x=diff+xVal+index$1*barSize+gap/2,rect.width=barSize):chart.config.direction===`vertical`&&(rect.x=Math.min(yVal0,yVal1),rect.width=Math.abs(yVal0-yVal1),rect.y=diff+xVal+index$1*barSize+gap/2,rect.height=barSize),rect})}function update(){let keys$1=stacked?chart.getStackedKeys(1,type$1):[dataKeys[1]],[primaryKey,secondaryKey]=dataKeys,stack$1=chart.getStackedData(keys$1),data=stack$1.find(s=>s.key===secondaryKey);data&&(bars.value=getBars(primaryKey,data))}return(0,vue.watch)(chart.updates,()=>{update()}),{bars}},useTooltip=()=>{let mouse=useMouse(),chart=useChart(),show=(0,vue.computed)(()=>mouse.hover),position=(0,vue.ref)({x:0,y:0}),payload=(0,vue.ref)({});return(0,vue.watch)(mouse,()=>{let{primary}=chart.scales,keys$1=chart.getKeys(0),vals=chart.getData(keys$1),[x$1]=primary.map([vals[mouse.index]]);x$1&&(chart.config.direction===`horizontal`?position.value={x:x$1,y:mouse.position.y}:chart.config.direction===`vertical`?position.value={x:mouse.position.x,y:x$1}:position.value={x:mouse.position.x,y:mouse.position.y});let d=chart.data[mouse.index];d&&(payload.value=Object.assign(Object.assign({},d),{idx:mouse.index}))}),{position,payload,show}},useResize=el=>{let width=(0,vue.ref)(0),height=(0,vue.ref)(0),observer=null,resizeCallback=null;function onUpdate(w,h){width.value=w,height.value=h,resizeCallback&&resizeCallback()}function onResize(callback){resizeCallback=callback}return(0,vue.onMounted)(()=>{observer=new window.ResizeObserver(entries=>{let w=entries[0].contentRect.width,h=entries[0].contentRect.height;onUpdate(w,h)}),observer.observe(el.value)}),(0,vue.onUnmounted)(()=>{observer.disconnect()}),{width,height,onResize}},script$d=(0,vue.defineComponent)({name:`Axis`,props:{position:{type:String,default:`bottom`},rotate:{type:Boolean,default:!1},isPrimary:{type:Boolean,default:!1}},setup(props){let el=(0,vue.ref)(),chart=useChart(),axis$1=(0,vue.computed)(()=>props.position===`bottom`?axisBottom:axisLeft),canvas=(0,vue.ref)(chart.canvas),defaultConfig$1={ticks:5};function drawAxis(){if(chart.data.length>0){let{primary,secondary}=chart.scales,current=props.isPrimary?primary:secondary,config=Object.assign({},props.isPrimary?primary.config:secondary.config,defaultConfig$1),ax=axis$1.value(current.scale);config.format&&ax.tickFormat(config.format),config.ticks!==void 0&&ax.ticks(config.ticks),config.tickValues!==void 0&&ax.tickValues(config.tickValues),config.useConfig&&config.useConfig(ax);let res=select(el.value).call(ax);return props.position===`bottom`&&props.rotate&&res.selectAll(`text`).attr(`y`,0).attr(`x`,9).attr(`dy`,`.35em`).attr(`transform`,`rotate(90)`).style(`text-anchor`,`start`),ax}return null}return(0,vue.watch)(()=>props.isPrimary,()=>{drawAxis()}),(0,vue.watch)(chart.updates,()=>{canvas.value=chart.canvas,drawAxis()}),{el,canvas}}});const _hoisted_1$b=[`transform`],_hoisted_2$8=[`transform`];function render$d(_ctx,_cache,$props,$setup,$data,$options){return _ctx.position===`bottom`?((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,{key:0,class:(0,vue.normalizeClass)(`layer-axis-x`),ref:`el`,transform:`translate(0, ${_ctx.canvas.height})`},null,8,_hoisted_1$b)):((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,{key:1,class:(0,vue.normalizeClass)(`layer-axis-y`),ref:`el`,transform:`translate(${_ctx.canvas.x}, 0)`},null,8,_hoisted_2$8))}script$d.render=render$d,script$d.__file=`src/components/Axis/index.vue`;var script$c=(0,vue.defineComponent)({name:`Chart`,components:{Axis:script$d},props:{data:{type:Array,default:()=>[]},margin:{type:Object,default:()=>({top:0,right:0,bottom:0,left:0}),required:!1},size:{type:Object,default:()=>({width:500,height:400}),required:!1},direction:{type:String,default:`horizontal`,required:!1},axis:{type:Object,required:!1},config:{type:Object,default:()=>({})}},setup(props){let chartEl=(0,vue.ref)(null),axLeftEl=(0,vue.ref)(),axBottomEl=(0,vue.ref)(),axisSpace=(0,vue.reactive)({x:40,y:20}),chart=new Chart(props.data,props.config),rotateX=(0,vue.computed)(()=>props.axis&&props.axis.primary&&props.axis.primary.rotate),hideX=(0,vue.computed)(()=>props.axis&&props.axis.primary&&props.axis.primary.hide),hideY=(0,vue.computed)(()=>props.axis&&props.axis.secondary&&props.axis.secondary.hide),mouse=(0,vue.reactive)({index:-1,position:{x:0,y:0},hover:!1});(0,vue.provide)(`chart`,chart),(0,vue.provide)(`chartMouse`,mouse),(0,vue.watch)(()=>props.data,()=>{chart&&chart.changeData(props.data)},{immediate:!0}),(0,vue.watch)(()=>props.config,()=>{chart&&chart.changeConfig(props.config)}),(0,vue.watch)(()=>[Object.assign({},axisSpace),props.direction,props.size,props.margin,props.axis],()=>{chart&&chart.changeConfig({axisSpace:Object.assign({},axisSpace),direction:props.direction,size:props.size,margin:props.margin,axis:props.axis})},{immediate:!0});let resizeObserver=new ResizeObserver(entries=>{for(let entry of entries)axBottomEl.value&&entry.target===axBottomEl.value.$el?axisSpace.y=entry.contentRect.height:axLeftEl.value&&entry.target===axLeftEl.value.$el&&(axisSpace.x=entry.contentRect.width)});(0,vue.onMounted)(()=>{axBottomEl.value&&resizeObserver.observe(axBottomEl.value.$el),axLeftEl.value&&resizeObserver.observe(axLeftEl.value.$el)}),(0,vue.onUnmounted)(()=>{resizeObserver.disconnect()});function onMouseOut(){props.config.controlHover!==!1&&(mouse.index=-1,mouse.hover=!1)}function onMouseMove(e){if(props.config.controlHover===!1)return;mouse.hover=!0,mouse.position={x:pointer(e)[0],y:pointer(e)[1]};let{primary}=chart.scales,keys$1=chart.getKeys(0),vals=chart.getData(keys$1);if(chart.config.direction===`horizontal`)if(primary.type===`band`){let band$1=primary.bandwidth(),delta=mouse.position.x-chart.canvas.x;mouse.index=Math.round((delta+band$1/2)/band$1)-1}else mouse.index=bisectCenter(vals,primary.scale.invert(mouse.position.x));else if(chart.config.direction===`vertical`)if(primary.type===`band`){let band$1=primary.bandwidth(),delta=mouse.position.y-chart.canvas.y;mouse.index=Math.round((delta+band$1/2)/band$1)-1}else mouse.index=bisectCenter(vals,primary.scale.invert(mouse.position.y))}return{axBottomEl,axLeftEl,chartEl,hideX,hideY,rotateX,onMouseMove,onMouseOut}}});const _hoisted_1$a={class:`chart`,ref:`chartEl`},_hoisted_2$7=[`width`,`height`,`viewBox`],_hoisted_3$6={class:`layers`},_hoisted_4$3={class:`axis`},_hoisted_5$3={class:`widgets`};function render$c(_ctx,_cache,$props,$setup,$data,$options){let _component_axis=(0,vue.resolveComponent)(`axis`);return(0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,_hoisted_1$a,[((0,vue.openBlock)(),(0,vue.createElementBlock)(`svg`,{width:_ctx.size.width,height:_ctx.size.height,viewBox:`0 0 ${_ctx.size.width} ${_ctx.size.height}`,onPointermove:_cache[0]||=(...args)=>_ctx.onMouseMove&&_ctx.onMouseMove(...args),onPointerleave:_cache[1]||=(...args)=>_ctx.onMouseOut&&_ctx.onMouseOut(...args)},[(0,vue.createElementVNode)(`g`,_hoisted_3$6,[(0,vue.renderSlot)(_ctx.$slots,`layers`)]),(0,vue.createElementVNode)(`g`,_hoisted_4$3,[_ctx.hideX?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createBlock)(_component_axis,{key:0,position:`bottom`,ref:`axBottomEl`,rotate:_ctx.rotateX,isPrimary:_ctx.direction===`horizontal`},null,8,[`rotate`,`isPrimary`])),_ctx.hideY?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createBlock)(_component_axis,{key:1,position:`left`,ref:`axLeftEl`,isPrimary:_ctx.direction===`vertical`},null,8,[`isPrimary`]))])],40,_hoisted_2$7)),(0,vue.createElementVNode)(`div`,_hoisted_5$3,[(0,vue.renderSlot)(_ctx.$slots,`widgets`)])],512)}function styleInject(css,ref$1){ref$1===void 0&&(ref$1={});var insertAt=ref$1.insertAt;if(!(!css||typeof document>`u`)){var head=document.head||document.getElementsByTagName(`head`)[0],style=document.createElement(`style`);style.type=`text/css`,insertAt===`top`&&head.firstChild?head.insertBefore(style,head.firstChild):head.appendChild(style),style.styleSheet?style.styleSheet.cssText=css:style.appendChild(document.createTextNode(css))}}var css_248z$1=`
8
+ .chart {
9
+ position: relative;
10
+ }
11
+ `;styleInject(css_248z$1),script$c.render=render$c,script$c.__file=`src/components/Chart/index.vue`;var script$b=(0,vue.defineComponent)({name:`Layer`,props:{type:{type:String,default:`custom`},dataKeys:{type:Object,required:!0}},setup(props){let chart=useChart(),id=new Date().getTime().toString(),extraProps=(0,vue.inject)(`layerProps`,{});return(0,vue.onMounted)(()=>{chart.addLayer({id,type:props.type,dataKeys:props.dataKeys,props:extraProps})}),(0,vue.onUnmounted)(()=>{chart.removeLayer(id)}),{}}});function render$b(_ctx,_cache,$props,$setup,$data,$options){return(0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,{class:(0,vue.normalizeClass)(`layer-${_ctx.type}`)},[(0,vue.renderSlot)(_ctx.$slots,`default`)],2)}script$b.render=render$b,script$b.__file=`src/components/Layer/index.vue`;var script$a=(0,vue.defineComponent)({name:`AreaComponent`,components:{Layer:script$b},props:{areaStyle:{type:Object,required:!1},dataKeys:{type:Object,required:!0},type:{type:String,default:()=>`normal`},gap:{type:Number,default:0}},setup(props){let chart=useChart(),{stacked}=(0,vue.inject)(`layerProps`,{stacked:!1}),{points}=usePoints(props.dataKeys,{stacked:!1,type:`area`}),{bars}=useBars(props.dataKeys,{stacked,type:`area`,gap:props.gap,maxWidth:-1}),d=(0,vue.ref)(``),lineType=type$1=>{let map$3={normal:curveLinear,natural:curveNatural,step:curveStep,monotone:chart.config.direction===`horizontal`?monotoneX:monotoneY};return map$3[type$1]},buildArea=()=>{console.log(points.value);let{secondary}=chart.scales;return stacked?area().curve(lineType(props.type)).x0(p=>p.x+p.width/2).y0(p=>p.y).x1(p=>p.x+p.width/2).y1(p=>p.y+p.height):chart.config.direction===`vertical`?area().curve(lineType(props.type)).y0(p=>p.y).y1(p=>p.y).x0(p=>p.x).x1(()=>secondary.scale(0)):area().curve(lineType(props.type)).x0(p=>p.x).x1(p=>p.x).y0(p=>p.y).y1(()=>secondary.scale(0))},getStyle=(0,vue.computed)(()=>()=>Object.assign({fill:`blue`,fillOpacity:.25,stroke:`none`},props.areaStyle)),toKebabCase=data=>mapKeys(kebabize,data);return(0,vue.watch)(points,()=>{d.value=stacked?buildArea()(bars.value):buildArea()(points.value)}),{d,getStyle,toKebabCase}}});const _hoisted_1$9=[`d`];function render$a(_ctx,_cache,$props,$setup,$data,$options){let _component_Layer=(0,vue.resolveComponent)(`Layer`);return(0,vue.openBlock)(),(0,vue.createBlock)(_component_Layer,{type:`area`,dataKeys:_ctx.dataKeys},{default:(0,vue.withCtx)(()=>[(0,vue.createElementVNode)(`path`,(0,vue.mergeProps)(_ctx.toKebabCase(_ctx.getStyle()),{d:_ctx.d}),null,16,_hoisted_1$9)]),_:1},8,[`dataKeys`])}script$a.render=render$a,script$a.__file=`src/components/Area/index.vue`;var script$9=(0,vue.defineComponent)({name:`LineComponent`,components:{Layer:script$b},props:{lineStyle:{type:Object,required:!1},dotStyle:{type:Object,required:!1},hideDot:{type:Boolean,default:!1},dataKeys:{type:Object,required:!0},type:{type:String,default:()=>`normal`}},setup(props){let{stacked}=(0,vue.inject)(`layerProps`,{stacked:!1}),mouse=useMouse(),chart=useChart(),d=(0,vue.ref)(``),{points}=usePoints(props.dataKeys,{stacked,type:`line`}),lineType={normal:curveLinear,natural:curveNatural,step:stepAfter,monotone:monotoneX};function updateLine(){let type$1=lineType[props.type];props.type===`monotone`&&chart.config.direction===`vertical`&&(type$1=monotoneY),d.value=line().x(p=>p.x).y(p=>p.y).curve(type$1)(points.value)}function computeDotStyle(active){let dotStyle=props.dotStyle,style=getStyle.value();return Object.assign({r:active?5:3,stroke:style.stroke,strokeWidth:style.strokeWidth,fill:`white`},dotStyle)}let getStyle=(0,vue.computed)(()=>is$1(Function,props.lineStyle)?props.lineStyle:()=>Object.assign({stroke:`#8884d8`,strokeWidth:2},props.lineStyle)),getDotStyle=(0,vue.computed)(()=>is$1(Function,props.dotStyle)?props.dotStyle:({active})=>computeDotStyle(active));(0,vue.watch)(points,()=>updateLine()),(0,vue.watch)(chart.updates,()=>updateLine());let toKebabCase=data=>mapKeys(kebabize,data);return{d,mouse,points,toKebabCase,getStyle,getDotStyle}}});const _hoisted_1$8=[`d`],_hoisted_2$6={key:0},_hoisted_3$5=[`cx`,`cy`];function render$9(_ctx,_cache,$props,$setup,$data,$options){let _component_Layer=(0,vue.resolveComponent)(`Layer`);return(0,vue.openBlock)(),(0,vue.createBlock)(_component_Layer,{dataKeys:_ctx.dataKeys,type:`line`},{default:(0,vue.withCtx)(()=>[(0,vue.createElementVNode)(`path`,(0,vue.mergeProps)({class:`chart-line`},_ctx.toKebabCase(_ctx.getStyle()),{d:_ctx.d,fill:`none`}),null,16,_hoisted_1$8),(0,vue.createCommentVNode)(` :stroke="stroke"
12
+ :stroke-width="strokeWidth"
13
+ stroke-linejoin="round"
14
+ stroke-linecap="round" `),_ctx.hideDot?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_2$6,[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.points,(c,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`circle`,(0,vue.mergeProps)(_ctx.toKebabCase(_ctx.getDotStyle({active:i===_ctx.mouse.index,index:i})),{key:i,cx:c.x,cy:c.y}),null,16,_hoisted_3$5))),128))]))]),_:1},8,[`dataKeys`])}script$9.render=render$9,script$9.__file=`src/components/Line/index.vue`;var script$8=(0,vue.defineComponent)({name:`Bar`,components:{Layer:script$b},props:{selectedBar:{type:Object,default:()=>null},barStyle:{type:[Function,Object],default:()=>({fill:`blue`})},barStyleSelected:{type:[Function,Object],default:()=>({fill:`darkblue`})},maxWidth:{type:Number,default:-1},dataKeys:{type:Object,required:!0},gap:{type:Number,default:5}},setup(props,{emit}){let mouse=useMouse(),{stacked,maxWidth}=(0,vue.inject)(`layerProps`,{stacked:!1,maxWidth:-1}),{bars}=useBars(props.dataKeys,{maxWidth:Math.max(props.maxWidth,maxWidth),stacked,gap:props.gap,type:`bar`}),getStyle=(0,vue.computed)(()=>is$1(Function,props.barStyle)?props.barStyle:()=>props.barStyle),getStyleSelected=(0,vue.computed)(()=>is$1(Function,props.barStyleSelected)?props.barStyleSelected:()=>props.barStyleSelected),toKebabCase=data=>mapKeys(kebabize,data);function onBarClick(bar,idx){emit(`barClick`,Object.assign(Object.assign({},bar),{idx}))}return{getStyle,getStyleSelected,toKebabCase,bars,mouse,onBarClick}}});const _hoisted_1$7={key:0},_hoisted_2$5=[`x`,`y`,`width`,`height`,`onClick`],_hoisted_3$4=[`x`,`y`,`width`,`height`];function render$8(_ctx,_cache,$props,$setup,$data,$options){let _component_Layer=(0,vue.resolveComponent)(`Layer`);return(0,vue.openBlock)(),(0,vue.createBlock)(_component_Layer,{dataKeys:_ctx.dataKeys,type:`bar`},{default:(0,vue.withCtx)(()=>[_ctx.bars.length===0?((0,vue.openBlock)(),(0,vue.createElementBlock)(`text`,_hoisted_1$7,`No Data`)):(0,vue.createCommentVNode)(`v-if`,!0),((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.bars,(bar,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`rect`,(0,vue.mergeProps)({class:`chart-bar`},_ctx.toKebabCase(_ctx.getStyle({...bar.props,active:i===_ctx.mouse.index})),{key:i,x:bar.x,y:bar.y,width:bar.width>0?bar.width:0,height:bar.height>0?bar.height:0,onClick:()=>_ctx.onBarClick(bar,i)}),null,16,_hoisted_2$5))),128)),_ctx.selectedBar?((0,vue.openBlock)(),(0,vue.createElementBlock)(`rect`,(0,vue.mergeProps)({key:1,class:`chart-bar`},_ctx.toKebabCase(_ctx.getStyleSelected({..._ctx.selectedBar.props})),{x:_ctx.selectedBar.x,y:_ctx.selectedBar.y,width:_ctx.selectedBar.width>0?_ctx.selectedBar.width:0,height:_ctx.selectedBar.height>0?_ctx.selectedBar.height:0}),null,16,_hoisted_3$4)):(0,vue.createCommentVNode)(`v-if`,!0)]),_:1},8,[`dataKeys`])}script$8.render=render$8,script$8.__file=`src/components/Bar/index.vue`;const PieSort=String;var script$7=(0,vue.defineComponent)({name:`PieLayer`,components:{Layer:script$b},props:{pieStyle:{type:Object,required:!1},dataKeys:{type:Object,required:!0},sort:{type:PieSort,default:`desc`,required:!1},sortFunc:{type:Function,required:!1}},setup(props){var _a;let chart=useChart(),mouse=useMouse(),size=(0,vue.ref)(Math.min(chart.canvas.width-chart.canvas.x,chart.canvas.height-chart.canvas.y)/2),getStyle=(0,vue.computed)(()=>()=>Object.assign({colors:[`#4daf4a`,`#377eb8`,`#ff7f00`,`#984ea3`,`#e41a1c`],innerRadius:2,cornerRadius:0,padAngle:.01},props.pieStyle)),style=getStyle.value(),arcs=(0,vue.ref)([]),colors=ordinal(getStyle.value().colors),arcGen=()=>arc().outerRadius(size.value).innerRadius(style.innerRadius).cornerRadius(style.cornerRadius).padAngle(style.padAngle),transform=(0,vue.ref)(`translate(${size.value+chart.canvas.x}, ${size.value+chart.canvas.y})`),pieSort;switch(props.sort){case`desc`:pieSort=descending$1;break;case`asc`:pieSort=ascending$1;break;case`none`:pieSort=null;break;case`custom`:pieSort=(_a=props.sortFunc)??null;break;default:pieSort=null}function updatePie(){let data=chart.getData([props.dataKeys[1]]);arcs.value=pie().sort(pieSort)(data)}function getColor(index$1){return colors(index$1.toString())}function showTooltip(event,index$1){mouse.hover=!0,mouse.index=index$1;let[x$1,y$1]=pointer(event);mouse.position={x:x$1+size.value,y:y$1+size.value}}function hideTooltip(){mouse.hover=!1,mouse.index=-1}function toKebabCase(data){mapKeys(kebabize,data)}return(0,vue.watch)(chart.updates,()=>{size.value=Math.min(chart.canvas.width-chart.canvas.x,(chart.canvas.height-chart.canvas.y)/2),transform.value=`translate(${size.value+chart.canvas.x}, ${size.value+chart.canvas.y})`,updatePie()}),{arcs,arcGen,getStyle,transform,getColor,hideTooltip,toKebabCase,showTooltip}}});const _hoisted_1$6={key:0},_hoisted_2$4=[`transform`],_hoisted_3$3=[`id`,`fill`,`d`,`onMousemove`];function render$7(_ctx,_cache,$props,$setup,$data,$options){let _component_Layer=(0,vue.resolveComponent)(`Layer`);return(0,vue.openBlock)(),(0,vue.createBlock)(_component_Layer,{dataKeys:_ctx.dataKeys,type:`pie`},{default:(0,vue.withCtx)(()=>[_ctx.arcs.length===0?((0,vue.openBlock)(),(0,vue.createElementBlock)(`text`,_hoisted_1$6,`No Data`)):(0,vue.createCommentVNode)(`v-if`,!0),(0,vue.createElementVNode)(`g`,{transform:_ctx.transform},[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.arcs,(arc$1,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`path`,(0,vue.mergeProps)({key:i,id:`arc-${i}`,class:`chart-pie`},_ctx.toKebabCase(_ctx.getStyle()),{fill:_ctx.getColor(i),d:_ctx.arcGen()(arc$1),onMousemove:$event=>_ctx.showTooltip($event,i),onMouseleave:_cache[0]||=$event=>_ctx.hideTooltip()}),null,16,_hoisted_3$3))),128))],8,_hoisted_2$4)]),_:1},8,[`dataKeys`])}script$7.render=render$7,script$7.__file=`src/components/Pie/index.vue`;var script$6=(0,vue.defineComponent)({name:`Responsive`,setup(){let el=(0,vue.ref)(null),{width,height}=useResize(el);return{el,width,height}}});const _hoisted_1$5={ref:`el`};function render$6(_ctx,_cache,$props,$setup,$data,$options){return(0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,_hoisted_1$5,[(0,vue.renderSlot)(_ctx.$slots,`main`,{width:_ctx.width,height:_ctx.height})],512)}script$6.render=render$6,script$6.__file=`src/components/Responsive/index.vue`;var script$5=(0,vue.defineComponent)({name:`Grid`,props:{strokeDasharray:{type:String,default:()=>`3 3`},hideX:{type:Boolean,default:!1},hideY:{type:Boolean,default:!1},center:{type:Boolean,default:!0}},setup(props){let chart=useChart(),data=(0,vue.ref)([]),canvas=(0,vue.ref)(null),xLines=(0,vue.ref)([]),yLines=(0,vue.ref)([]);function updateXLines(){let{primary,secondary}=chart.scales,current=chart.config.direction===`horizontal`?secondary:primary;if(current.type===`band`&&!props.center){let vals=current.map(chart.getData(chart.getKeys(0))).map(x$1=>x$1+current.bandwidth()/2);vals.pop(),xLines.value=vals}else{let ticks$1=current.ticks();xLines.value=current.map(ticks$1)}}function updateYLines(){let{primary,secondary}=chart.scales,current=chart.config.direction===`horizontal`?primary:secondary;if(current.type===`band`&&!props.center){let vals=current.map(chart.getData(chart.getKeys(0))).map(x$1=>x$1+current.bandwidth()/2);vals.pop(),yLines.value=vals}else{let ticks$1=current.ticks();yLines.value=current.map(ticks$1)}}return(0,vue.watch)(chart.updates,()=>{data.value=chart.data,canvas.value=chart.canvas,updateXLines(),updateYLines()}),{data,canvas,xLines,yLines}}});const _hoisted_1$4=[`stroke-dasharray`],_hoisted_2$3={key:0,class:`grid-x`},_hoisted_3$2=[`x1`,`y1`,`x2`,`y2`],_hoisted_4$2={key:1,class:`grid-y`},_hoisted_5$2=[`x1`,`y1`,`x2`,`y2`],_hoisted_6$2=[`x1`,`y1`,`x2`,`y2`],_hoisted_7=[`x1`,`y1`,`x2`,`y2`];function render$5(_ctx,_cache,$props,$setup,$data,$options){return _ctx.data.length?((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,{key:0,class:`layer-grid`,stroke:`black`,"stroke-opacity":`0.15`,"stroke-width":`1`,"stroke-dasharray":_ctx.strokeDasharray},[_ctx.hideX?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_2$3,[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.xLines,(y$1,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`line`,{key:i,x1:_ctx.canvas.x,y1:y$1,x2:_ctx.canvas.width,y2:y$1},null,8,_hoisted_3$2))),128))])),_ctx.hideY?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_4$2,[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.yLines,(x$1,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`line`,{key:i,x1:x$1,y1:_ctx.canvas.y,x2:x$1,y2:_ctx.canvas.height},null,8,_hoisted_5$2))),128))])),(0,vue.createElementVNode)(`g`,null,[(0,vue.createElementVNode)(`line`,{x1:_ctx.canvas.x,y1:_ctx.canvas.y,x2:_ctx.canvas.width,y2:_ctx.canvas.y},null,8,_hoisted_6$2),(0,vue.createElementVNode)(`line`,{x1:_ctx.canvas.width-1,y1:_ctx.canvas.y,x2:_ctx.canvas.width-1,y2:_ctx.canvas.height},null,8,_hoisted_7)])],8,_hoisted_1$4)):(0,vue.createCommentVNode)(`v-if`,!0)}script$5.render=render$5,script$5.__file=`src/components/Grid/index.vue`;var script$4=(0,vue.defineComponent)({name:`Tooltip`,components:{},props:{format:{type:String,default:`,.0f`},color:{type:String,default:`#7876ec`},hideLine:{type:Boolean,default:!1},config:{type:Object,default:()=>({})}},setup(props){let el=(0,vue.ref)(null),chart=useChart(),canvas=(0,vue.ref)(chart.canvas),direction=(0,vue.ref)(chart.config.direction),{position,payload,show}=useTooltip(),isRight=(0,vue.computed)(()=>position.value.x>=canvas.value.width/4*3),style=(0,vue.computed)(()=>direction.value===`vertical`?{top:position.value.y-.5+`px`,left:canvas.value.x+`px`}:direction.value===`horizontal`?{top:canvas.value.y+`px`,left:position.value.x-.5+`px`}:{top:canvas.value.y+`px`,left:canvas.value.x+`px`}),styleContent=(0,vue.computed)(()=>direction.value===`vertical`?{top:`5px`,left:position.value.x-30+`px`}:direction.value===`horizontal`?{top:position.value.y+`px`,transform:`translateX(${isRight.value?`-100%`:0})`}:{top:position.value.y+`px`,left:position.value.x+`px`}),formatValue=(val,formatter)=>is$1(Function,formatter)?formatter(val):is$1(Number,val)?format(formatter)(val):val,items=(0,vue.computed)(()=>Object.keys(omit$1([`idx`],payload.value)).map(key=>{let config=Object.assign({label:key,format:props.format,color:props.color,hide:!1},props.config[key]);return{key,label:config.label,value:payload.value[key],valueFormatted:formatValue(payload.value[key],config.format),color:is$1(Function,config.color)?config.color(payload.value):config.color,hide:config.hide}}).filter(i=>!i.hide));return(0,vue.watch)(chart.updates,()=>{direction.value=chart.config.direction,canvas.value=chart.canvas}),{el,show,canvas,direction,style,styleContent,position,items,isRight}}});const _hoisted_1$3={key:0};function render$4(_ctx,_cache,$props,$setup,$data,$options){return _ctx.show?((0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,{key:0,class:`v-tooltip`,style:(0,vue.normalizeStyle)(_ctx.style)},[(0,vue.createElementVNode)(`div`,{class:`v-tooltip-content`,style:(0,vue.normalizeStyle)(_ctx.styleContent),ref:`el`},[(0,vue.renderSlot)(_ctx.$slots,`default`,{payload:_ctx.items},()=>[(0,vue.createElementVNode)(`div`,{style:(0,vue.normalizeStyle)({borderColor:_ctx.color})},[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.items,(item,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,{key:i,style:(0,vue.normalizeStyle)({color:item.color})},[(0,vue.createElementVNode)(`b`,null,(0,vue.toDisplayString)(item.label),1),(0,vue.createTextVNode)(`: `+(0,vue.toDisplayString)(item.valueFormatted),1)],4))),128))],4)])],4),_ctx.hideLine?(0,vue.createCommentVNode)(`v-if`,!0):((0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,_hoisted_1$3,[_ctx.direction===`horizontal`?((0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,{key:0,class:`v-tooltip-line-vertical`,style:(0,vue.normalizeStyle)({height:_ctx.canvas.height+`px`})},null,4)):((0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,{key:1,class:`v-tooltip-line-horizontal`,style:(0,vue.normalizeStyle)({width:_ctx.canvas.width-40+`px`})},null,4))]))],4)):(0,vue.createCommentVNode)(`v-if`,!0)}var css_248z=`
15
+ .v-tooltip[data-v-43da20c6] {
16
+ position: absolute;
17
+ pointer-events: none;
18
+ }
19
+ .v-tooltip-content[data-v-43da20c6] {
20
+ position: absolute;
21
+ white-space: nowrap;
22
+ pointer-events: none;
23
+ }
24
+ .v-tooltip-content > div[data-v-43da20c6] {
25
+ margin-left: 5px;
26
+ margin-right: 5px;
27
+ border: 2px solid;
28
+ background-color: white;
29
+ padding: 8px;
30
+ text-align: left;
31
+ border-radius: 4px;
32
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
33
+ }
34
+ .v-tooltip-right[data-v-43da20c6] {
35
+ transform: translateX(-100%);
36
+ margin-left: 0;
37
+ }
38
+ .v-tooltip-line-vertical[data-v-43da20c6] {
39
+ top: 0px;
40
+ position: absolute;
41
+ width: 1px;
42
+ background-color: black;
43
+ pointer-events: none;
44
+ opacity: 0.3;
45
+ }
46
+ .v-tooltip-line-horizontal[data-v-43da20c6] {
47
+ left: 0px;
48
+ position: absolute;
49
+ height: 1px;
50
+ background-color: black;
51
+ pointer-events: none;
52
+ opacity: 0.3;
53
+ }
54
+ `;styleInject(css_248z),script$4.render=render$4,script$4.__scopeId=`data-v-43da20c6`,script$4.__file=`src/components/Tooltip/index.vue`;var script$3=(0,vue.defineComponent)({props:{stacked:{type:Boolean,default:!1},maxWidth:{type:Number,default:-1}},setup(props){(0,vue.provide)(`layerProps`,props)}});function render$3(_ctx,_cache,$props,$setup,$data,$options){return(0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,null,[(0,vue.renderSlot)(_ctx.$slots,`default`)])}script$3.render=render$3,script$3.__file=`src/components/Group/index.vue`;var script$2=(0,vue.defineComponent)({name:`Grid`,props:{value:{type:Number},label:{type:String,default:``},color:{type:String,default:`red`},strokeDasharray:{type:String,default:()=>`3`},strokeWidth:{type:Number,default:1},strokeOpacity:{type:Number,default:.5}},setup(props){let chart=useChart(),y$1=(0,vue.ref)(0),direction=(0,vue.ref)(`horizontal`),canvas=(0,vue.ref)({});return(0,vue.watch)(chart.updates,()=>{props.value!==void 0&&(y$1.value=chart.scales.secondary.scale(props.value)),canvas.value=chart.canvas,direction.value=chart.config.direction},{immediate:!0}),(0,vue.watch)(()=>props.value,()=>{y$1.value=chart.scales.secondary.scale(props.value)},{immediate:!0}),{y:y$1,canvas,direction}}});const _hoisted_1$2={key:0,class:`layer-marker`},_hoisted_2$2=[`x`,`y`,`fill`],_hoisted_3$1=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`],_hoisted_4$1={key:1,class:`layer-marker`},_hoisted_5$1=[`x`,`y`,`fill`],_hoisted_6$1=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-opacity`,`stroke-width`,`stroke-dasharray`];function render$2(_ctx,_cache,$props,$setup,$data,$options){return _ctx.direction===`horizontal`?((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_1$2,[(0,vue.createElementVNode)(`text`,{x:_ctx.canvas.x+5,y:_ctx.y-5,"text-anchor":`start`,fill:_ctx.color},(0,vue.toDisplayString)(_ctx.label),9,_hoisted_2$2),(0,vue.createElementVNode)(`line`,{x1:_ctx.canvas.x,y1:_ctx.y,x2:_ctx.canvas.width,y2:_ctx.y,stroke:_ctx.color,"stroke-opacity":_ctx.strokeOpacity,"stroke-width":_ctx.strokeWidth,"stroke-dasharray":_ctx.strokeDasharray},null,8,_hoisted_3$1)])):((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_4$1,[(0,vue.createElementVNode)(`text`,{x:_ctx.y+10,y:_ctx.canvas.y+5,"text-anchor":`start`,fill:_ctx.color,style:{"writing-mode":`tb`}},(0,vue.toDisplayString)(_ctx.label),9,_hoisted_5$1),(0,vue.createElementVNode)(`line`,{x1:_ctx.y,y1:_ctx.canvas.y,x2:_ctx.y,y2:_ctx.canvas.height,stroke:_ctx.color,"stroke-opacity":_ctx.strokeOpacity,"stroke-width":_ctx.strokeWidth,"stroke-dasharray":_ctx.strokeDasharray},null,8,_hoisted_6$1)]))}script$2.render=render$2,script$2.__file=`src/components/Marker/index.vue`;function count(node){var sum=0,children$1=node.children,i=children$1&&children$1.length;if(!i)sum=1;else for(;--i>=0;)sum+=children$1[i].value;node.value=sum}function node_count(){return this.eachAfter(count)}function node_each(callback,that){let index$1=-1;for(let node of this)callback.call(that,node,++index$1,this);return this}function node_eachBefore(callback,that){for(var node=this,nodes=[node],children$1,i,index$1=-1;node=nodes.pop();)if(callback.call(that,node,++index$1,this),children$1=node.children)for(i=children$1.length-1;i>=0;--i)nodes.push(children$1[i]);return this}function node_eachAfter(callback,that){for(var node=this,nodes=[node],next=[],children$1,i,n,index$1=-1;node=nodes.pop();)if(next.push(node),children$1=node.children)for(i=0,n=children$1.length;i<n;++i)nodes.push(children$1[i]);for(;node=next.pop();)callback.call(that,node,++index$1,this);return this}function node_find(callback,that){let index$1=-1;for(let node of this)if(callback.call(that,node,++index$1,this))return node}function node_sum(value){return this.eachAfter(function(node){for(var sum=+value(node.data)||0,children$1=node.children,i=children$1&&children$1.length;--i>=0;)sum+=children$1[i].value;node.value=sum})}function node_sort(compare){return this.eachBefore(function(node){node.children&&node.children.sort(compare)})}function node_path(end){for(var start=this,ancestor=leastCommonAncestor(start,end),nodes=[start];start!==ancestor;)start=start.parent,nodes.push(start);for(var k=nodes.length;end!==ancestor;)nodes.splice(k,0,end),end=end.parent;return nodes}function leastCommonAncestor(a,b){if(a===b)return a;var aNodes=a.ancestors(),bNodes=b.ancestors(),c=null;for(a=aNodes.pop(),b=bNodes.pop();a===b;)c=a,a=aNodes.pop(),b=bNodes.pop();return c}function node_ancestors(){for(var node=this,nodes=[node];node=node.parent;)nodes.push(node);return nodes}function node_descendants(){return Array.from(this)}function node_leaves(){var leaves=[];return this.eachBefore(function(node){node.children||leaves.push(node)}),leaves}function node_links(){var root$1=this,links=[];return root$1.each(function(node){node!==root$1&&links.push({source:node.parent,target:node})}),links}function*node_iterator(){var node=this,current,next=[node],children$1,i,n;do for(current=next.reverse(),next=[];node=current.pop();)if(yield node,children$1=node.children)for(i=0,n=children$1.length;i<n;++i)next.push(children$1[i]);while(next.length)}function hierarchy(data,children$1){data instanceof Map?(data=[void 0,data],children$1===void 0&&(children$1=mapChildren)):children$1===void 0&&(children$1=objectChildren);for(var root$1=new Node(data),node,nodes=[root$1],child,childs,i,n;node=nodes.pop();)if((childs=children$1(node.data))&&(n=(childs=Array.from(childs)).length))for(node.children=childs,i=n-1;i>=0;--i)nodes.push(child=childs[i]=new Node(childs[i])),child.parent=node,child.depth=node.depth+1;return root$1.eachBefore(computeHeight)}function node_copy(){return hierarchy(this).eachBefore(copyData)}function objectChildren(d){return d.children}function mapChildren(d){return Array.isArray(d)?d[1]:null}function copyData(node){node.data.value!==void 0&&(node.value=node.data.value),node.data=node.data.data}function computeHeight(node){var height=0;do node.height=height;while((node=node.parent)&&node.height<++height)}function Node(data){this.data=data,this.depth=this.height=0,this.parent=null}Node.prototype=hierarchy.prototype={constructor:Node,count:node_count,each:node_each,eachAfter:node_eachAfter,eachBefore:node_eachBefore,find:node_find,sum:node_sum,sort:node_sort,path:node_path,ancestors:node_ancestors,descendants:node_descendants,leaves:node_leaves,links:node_links,copy:node_copy,[Symbol.iterator]:node_iterator};function optional(f){return f==null?null:required(f)}function required(f){if(typeof f!=`function`)throw Error();return f}function constantZero(){return 0}function constant(x$1){return function(){return x$1}}function roundNode(node){node.x0=Math.round(node.x0),node.y0=Math.round(node.y0),node.x1=Math.round(node.x1),node.y1=Math.round(node.y1)}function treemapDice(parent,x0,y0,x1,y1){for(var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(x1-x0)/parent.value;++i<n;)node=nodes[i],node.y0=y0,node.y1=y1,node.x0=x0,node.x1=x0+=node.value*k}var preroot={depth:-1},ambiguous={},imputed={};function defaultId(d){return d.id}function defaultParentId(d){return d.parentId}function stratify(){var id=defaultId,parentId=defaultParentId,path;function stratify$1(data){var nodes=Array.from(data),currentId=id,currentParentId=parentId,n,d,i,root$1,parent,node,nodeId,nodeKey,nodeByKey=new Map;if(path!=null){let I=nodes.map((d$1,i$1)=>normalize(path(d$1,i$1,data))),P=I.map(parentof),S=new Set(I).add(``);for(let i$1 of P)S.has(i$1)||(S.add(i$1),I.push(i$1),P.push(parentof(i$1)),nodes.push(imputed));currentId=(_,i$1)=>I[i$1],currentParentId=(_,i$1)=>P[i$1]}for(i=0,n=nodes.length;i<n;++i)d=nodes[i],node=nodes[i]=new Node(d),(nodeId=currentId(d,i,data))!=null&&(nodeId+=``)&&(nodeKey=node.id=nodeId,nodeByKey.set(nodeKey,nodeByKey.has(nodeKey)?ambiguous:node)),(nodeId=currentParentId(d,i,data))!=null&&(nodeId+=``)&&(node.parent=nodeId);for(i=0;i<n;++i)if(node=nodes[i],nodeId=node.parent){if(parent=nodeByKey.get(nodeId),!parent)throw Error(`missing: `+nodeId);if(parent===ambiguous)throw Error(`ambiguous: `+nodeId);parent.children?parent.children.push(node):parent.children=[node],node.parent=parent}else{if(root$1)throw Error(`multiple roots`);root$1=node}if(!root$1)throw Error(`no root`);if(path!=null){for(;root$1.data===imputed&&root$1.children.length===1;)root$1=root$1.children[0],--n;for(let i$1=nodes.length-1;i$1>=0&&(node=nodes[i$1],node.data===imputed);--i$1)node.data=null}if(root$1.parent=preroot,root$1.eachBefore(function(node$1){node$1.depth=node$1.parent.depth+1,--n}).eachBefore(computeHeight),root$1.parent=null,n>0)throw Error(`cycle`);return root$1}return stratify$1.id=function(x$1){return arguments.length?(id=optional(x$1),stratify$1):id},stratify$1.parentId=function(x$1){return arguments.length?(parentId=optional(x$1),stratify$1):parentId},stratify$1.path=function(x$1){return arguments.length?(path=optional(x$1),stratify$1):path},stratify$1}function normalize(path){path=`${path}`;let i=path.length;return slash(path,i-1)&&!slash(path,i-2)&&(path=path.slice(0,-1)),path[0]===`/`?path:`/${path}`}function parentof(path){let i=path.length;if(i<2)return``;for(;--i>1&&!slash(path,i););return path.slice(0,i)}function slash(path,i){if(path[i]===`/`){let k=0;for(;i>0&&path[--i]===`\\`;)++k;if(!(k&1))return!0}return!1}function treemapSlice(parent,x0,y0,x1,y1){for(var nodes=parent.children,node,i=-1,n=nodes.length,k=parent.value&&(y1-y0)/parent.value;++i<n;)node=nodes[i],node.x0=x0,node.x1=x1,node.y0=y0,node.y1=y0+=node.value*k}var phi=(1+Math.sqrt(5))/2;function squarifyRatio(ratio,parent,x0,y0,x1,y1){for(var rows=[],nodes=parent.children,row,nodeValue,i0=0,i1=0,n=nodes.length,dx,dy,value=parent.value,sumValue,minValue,maxValue,newRatio,minRatio,alpha,beta;i0<n;){dx=x1-x0,dy=y1-y0;do sumValue=nodes[i1++].value;while(!sumValue&&i1<n);for(minValue=maxValue=sumValue,alpha=Math.max(dy/dx,dx/dy)/(value*ratio),beta=sumValue*sumValue*alpha,minRatio=Math.max(maxValue/beta,beta/minValue);i1<n;++i1){if(sumValue+=nodeValue=nodes[i1].value,nodeValue<minValue&&(minValue=nodeValue),nodeValue>maxValue&&(maxValue=nodeValue),beta=sumValue*sumValue*alpha,newRatio=Math.max(maxValue/beta,beta/minValue),newRatio>minRatio){sumValue-=nodeValue;break}minRatio=newRatio}rows.push(row={value:sumValue,dice:dx<dy,children:nodes.slice(i0,i1)}),row.dice?treemapDice(row,x0,y0,x1,value?y0+=dy*sumValue/value:y1):treemapSlice(row,x0,y0,value?x0+=dx*sumValue/value:x1,y1),value-=sumValue,i0=i1}return rows}var squarify=function custom(ratio){function squarify$1(parent,x0,y0,x1,y1){squarifyRatio(ratio,parent,x0,y0,x1,y1)}return squarify$1.ratio=function(x$1){return custom((x$1=+x$1)>1?x$1:1)},squarify$1}(phi);function treemap(){var tile=squarify,round=!1,dx=1,dy=1,paddingStack=[0],paddingInner=constantZero,paddingTop=constantZero,paddingRight=constantZero,paddingBottom=constantZero,paddingLeft=constantZero;function treemap$1(root$1){return root$1.x0=root$1.y0=0,root$1.x1=dx,root$1.y1=dy,root$1.eachBefore(positionNode),paddingStack=[0],round&&root$1.eachBefore(roundNode),root$1}function positionNode(node){var p=paddingStack[node.depth],x0=node.x0+p,y0=node.y0+p,x1=node.x1-p,y1=node.y1-p;x1<x0&&(x0=x1=(x0+x1)/2),y1<y0&&(y0=y1=(y0+y1)/2),node.x0=x0,node.y0=y0,node.x1=x1,node.y1=y1,node.children&&(p=paddingStack[node.depth+1]=paddingInner(node)/2,x0+=paddingLeft(node)-p,y0+=paddingTop(node)-p,x1-=paddingRight(node)-p,y1-=paddingBottom(node)-p,x1<x0&&(x0=x1=(x0+x1)/2),y1<y0&&(y0=y1=(y0+y1)/2),tile(node,x0,y0,x1,y1))}return treemap$1.round=function(x$1){return arguments.length?(round=!!x$1,treemap$1):round},treemap$1.size=function(x$1){return arguments.length?(dx=+x$1[0],dy=+x$1[1],treemap$1):[dx,dy]},treemap$1.tile=function(x$1){return arguments.length?(tile=required(x$1),treemap$1):tile},treemap$1.padding=function(x$1){return arguments.length?treemap$1.paddingInner(x$1).paddingOuter(x$1):treemap$1.paddingInner()},treemap$1.paddingInner=function(x$1){return arguments.length?(paddingInner=typeof x$1==`function`?x$1:constant(+x$1),treemap$1):paddingInner},treemap$1.paddingOuter=function(x$1){return arguments.length?treemap$1.paddingTop(x$1).paddingRight(x$1).paddingBottom(x$1).paddingLeft(x$1):treemap$1.paddingTop()},treemap$1.paddingTop=function(x$1){return arguments.length?(paddingTop=typeof x$1==`function`?x$1:constant(+x$1),treemap$1):paddingTop},treemap$1.paddingRight=function(x$1){return arguments.length?(paddingRight=typeof x$1==`function`?x$1:constant(+x$1),treemap$1):paddingRight},treemap$1.paddingBottom=function(x$1){return arguments.length?(paddingBottom=typeof x$1==`function`?x$1:constant(+x$1),treemap$1):paddingBottom},treemap$1.paddingLeft=function(x$1){return arguments.length?(paddingLeft=typeof x$1==`function`?x$1:constant(+x$1),treemap$1):paddingLeft},treemap$1}var script$1=(0,vue.defineComponent)({name:`Treemap`,props:{size:{type:Object,default:()=>({width:500,height:400}),required:!1},margin:{type:Object,default:()=>({top:0,right:0,bottom:0,left:0})},padding:{type:Number,default:8},data:{type:Array,default:()=>[]},dataKeys:{type:Object,required:!0},colorFn:{type:Function,default:()=>interpolateHcl(`#60c96e`,`#6b46c1`)},rcStyle:{type:Function,required:!1}},setup(props){let el=(0,vue.ref)(null),data=(0,vue.ref)(props.data),selected=(0,vue.ref)(null),canvas=(0,vue.ref)({x:props.margin.left,y:props.margin.top,width:props.size.width-props.margin.right,height:props.size.height-props.margin.bottom}),rectangles=(0,vue.ref)([]);function getScales(){let values$2=extent(data.value.map(d=>d[props.dataKeys[1]])),x$1=linear().domain(values$2).range([0,100]).nice(),y$1=sequential().domain(values$2).interpolator(props.colorFn());return{x:x$1,y:y$1}}function buildRectangles(){let{y:y$1}=getScales(),res=buildTree(data.value).leaves().map((d,idx)=>({idx,x0:canvas.value.x+d.x0,x1:canvas.value.x+d.x1,y0:canvas.value.y+d.y0,y1:canvas.value.y+d.y1,width:d.x1-d.x0,height:d.y1-d.y0,data:d.data,color:y$1(d.value)}));return res}function buildTree(data$1){let{x:x$1}=getScales(),createTreeMap=treemap().size([canvas.value.width-canvas.value.x,canvas.value.height-canvas.value.y]).padding(props.padding),treeFn=stratify().id(d=>d.name).parentId(d=>d.parent),tree=treeFn([{name:`root`}].concat(data$1.map(x$2=>({name:x$2[props.dataKeys[0]],value:x$2[props.dataKeys[1]],parent:`root`}))));return tree.sum(d=>x$1(d.value)),createTreeMap(tree),tree}let toKebabCase=data$1=>mapKeys(kebabize,data$1),getStyle=r=>{let style={stroke:r.color,strokeWidth:5,fill:r.color,fillOpacity:.9};return props.rcStyle&&typeof props.rcStyle==`function`?Object.assign(Object.assign({},style),props.rcStyle(r)):style};function onMouseOver(i){selected.value=i}function onMouseOut(){selected.value=null}return(0,vue.watch)(props,()=>{data.value=props.data,canvas.value={x:props.margin.left,y:props.margin.top,width:props.size.width-props.margin.right,height:props.size.height-props.margin.bottom},rectangles.value=buildRectangles()},{immediate:!0}),{el,rectangles,selected,getStyle,toKebabCase,onMouseOver,onMouseOut}}});const _hoisted_1$1={class:`treemap`,style:{display:`flex`,position:`relative`}},_hoisted_2$1=[`width`,`height`,`viewBox`],_hoisted_3={class:`layer-rectangles`},_hoisted_4=[`transform`,`onMouseover`],_hoisted_5=[`width`,`height`],_hoisted_6={x:10,y:20,"font-size":`15px`,fill:`white`,"font-weight":`bold`};function render$1(_ctx,_cache,$props,$setup,$data,$options){return(0,vue.openBlock)(),(0,vue.createElementBlock)(`div`,_hoisted_1$1,[((0,vue.openBlock)(),(0,vue.createElementBlock)(`svg`,{width:_ctx.size.width,height:_ctx.size.height,viewBox:`0 0 ${_ctx.size.width} ${_ctx.size.height}`,ref:`el`},[(0,vue.createElementVNode)(`g`,_hoisted_3,[((0,vue.openBlock)(!0),(0,vue.createElementBlock)(vue.Fragment,null,(0,vue.renderList)(_ctx.rectangles,(r,i)=>((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,{class:(0,vue.normalizeClass)([`rectangle`,{selected:_ctx.selected===i}]),key:i,transform:`translate(${r.x0}, ${r.y0})`,onMouseover:()=>_ctx.onMouseOver(i),onMouseleave:_cache[0]||=(...args)=>_ctx.onMouseOut&&_ctx.onMouseOut(...args)},[(0,vue.renderSlot)(_ctx.$slots,`default`,{r,selected:_ctx.selected===i},()=>[(0,vue.createElementVNode)(`rect`,(0,vue.mergeProps)(_ctx.toKebabCase(_ctx.getStyle(r)),{x:0,y:0,width:r.width,height:r.height}),null,16,_hoisted_5),(0,vue.renderSlot)(_ctx.$slots,`text`,{r,selected:_ctx.selected===i},()=>[(0,vue.createElementVNode)(`text`,_hoisted_6,(0,vue.toDisplayString)(r.data.name),1)])])],42,_hoisted_4))),128))])],8,_hoisted_2$1)),(0,vue.renderSlot)(_ctx.$slots,`widgets`)])}script$1.render=render$1,script$1.__file=`src/components/Treemap/index.vue`;var script=(0,vue.defineComponent)({name:`HoverBar`,props:{barStyle:{type:Object,default:()=>({"fill-opacity":.05})}},setup(){let chart=useChart(),mouse=useMouse(),bar=(0,vue.ref)({x:0,y:0,width:0,height:0}),direction=(0,vue.ref)(`horizontal`),canvas=(0,vue.ref)({x:0,y:0,width:0,height:0});return(0,vue.watch)(chart.updates,()=>{canvas.value=chart.canvas,direction.value=chart.config.direction},{immediate:!0}),(0,vue.watch)(mouse,()=>{if(chart.bandScale){let vals=chart.getData(chart.getKeys(0)),[x$1]=chart.bandScale.map([vals[mouse.index]]),width=chart.bandScale.bandwidth();x$1&&(chart.config.direction===`horizontal`?bar.value={x:x$1-width/2,y:0,width,height:canvas.value.height}:bar.value={x:40,y:x$1-width/2,width:canvas.value.width-40,height:width})}}),{bar,canvas,direction,mouse}}});const _hoisted_1={key:0,class:`layer-hover-bar`},_hoisted_2=[`x`,`y`,`width`,`height`];function render(_ctx,_cache,$props,$setup,$data,$options){return _ctx.mouse.hover?((0,vue.openBlock)(),(0,vue.createElementBlock)(`g`,_hoisted_1,[(0,vue.createElementVNode)(`rect`,(0,vue.mergeProps)({class:`hover-bar`},_ctx.barStyle,{x:_ctx.bar.x,y:_ctx.bar.y,width:_ctx.bar.width>0?_ctx.bar.width:0,height:_ctx.bar.height>0?_ctx.bar.height:0}),null,16,_hoisted_2)])):(0,vue.createCommentVNode)(`v-if`,!0)}script.render=render,script.__file=`src/components/HoverBar/index.vue`;var components=Object.freeze({__proto__:null,Chart:script$c,Layer:script$b,Area:script$a,Line:script$9,Bar:script$8,Pie:script$7,Responsive:script$6,Grid:script$5,Tooltip:script$4,Group:script$3,Marker:script$2,Treemap:script$1,HoverBar:script});const install=function(app){Object.entries(components).forEach(([componentName,component])=>{app.component(componentName,component)})};var index={install};exports.Area=script$a,exports.Bar=script$8,exports.Chart=script$c,exports.Grid=script$5,exports.Group=script$3,exports.HoverBar=script,exports.Layer=script$b,exports.Line=script$9,exports.Marker=script$2,exports.Pie=script$7,exports.Responsive=script$6,exports.Tooltip=script$4,exports.Treemap=script$1,exports.default=index,exports.useBars=useBars,exports.useChart=useChart,exports.useMouse=useMouse,exports.usePoints=usePoints,exports.useResize=useResize,exports.useTooltip=useTooltip;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "1.4.34",
4
+ "version": "1.4.42",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -65,19 +65,11 @@
65
65
  "@bagelink/sdk": "*",
66
66
  "type-fest": "^4",
67
67
  "vue-component-type-helpers": "^2.2.10",
68
- "@vuepic/vue-datepicker": "^8.8.1",
69
68
  "vue": "*",
70
69
  "vue-draggable-next": "^2.2.1",
71
- "vue-router": "*",
72
- "vue3-charts": "^1.1.33"
70
+ "vue-router": "*"
73
71
  },
74
72
  "peerDependenciesMeta": {
75
- "@vuepic/vue-datepicker": {
76
- "optional": true
77
- },
78
- "vue3-charts": {
79
- "optional": true
80
- },
81
73
  "vue-draggable-next": {
82
74
  "optional": true
83
75
  }
@@ -90,7 +82,7 @@
90
82
  "axios": "^1.9.0",
91
83
  "floating-vue": "^5.2.2",
92
84
  "libphonenumber-js": "1.12.9",
93
- "signature_pad": "^5.0.8"
85
+ "signature_pad": "^5.0.9"
94
86
  },
95
87
  "scripts": {
96
88
  "dev": "tsx watch src/index.ts",
@@ -9,7 +9,6 @@ export { default as Btn } from './Btn.vue'
9
9
  export { default as Calendar } from './calendar/Index.vue'
10
10
  export { default as Card } from './Card.vue'
11
11
  export { default as Carousel } from './Carousel.vue'
12
- export * from './dashboard'
13
12
  export { default as DataPreview } from './DataPreview.vue'
14
13
  export { default as DataTable } from './dataTable/DataTable.vue'
15
14
  /** @deprecated Use DataTable instead. TableSchema is an alias that will be removed in a future version. */
@@ -34,6 +34,20 @@ function formatData<T>(data: T[], schema?: BglFormSchemaT<T>) {
34
34
  : data
35
35
  }
36
36
 
37
+ function autoDetectSchema<T>(data: T[]): BglFormSchemaT<T> {
38
+ const headersSet = new Set<string>()
39
+ data.forEach((row) => {
40
+ Object.keys(row as Record<string, any>).forEach(key => headersSet.add(key))
41
+ })
42
+ const headers = Array.from(headersSet)
43
+ const schema = headers.map(header => ({
44
+ id: header,
45
+ label: header,
46
+ })) as BglFormSchemaT<T>
47
+
48
+ return schema
49
+ }
50
+
37
51
  export function useExcel() {
38
52
  const xlsxLoaded = ref(false)
39
53
 
@@ -46,7 +60,7 @@ export function useExcel() {
46
60
  }
47
61
 
48
62
  async function downloadExcel<T>(data: T[], fileName = 'data', schemaFn?: MaybeRefOrGetter<BglFormSchemaT<T>>) {
49
- const schema = toValue(schemaFn) || []
63
+ const schema = toValue(schemaFn) || autoDetectSchema(data)
50
64
  const XLSX = await ensureXLSXLoaded()
51
65
 
52
66
  const formattedData = formatData(data, schema)