diff --git a/docs/_file/style.f552580f.css b/docs/_file/style.fdd4ca95.css similarity index 92% rename from docs/_file/style.f552580f.css rename to docs/_file/style.fdd4ca95.css index 3e7ec92..f8d5b39 100644 --- a/docs/_file/style.f552580f.css +++ b/docs/_file/style.fdd4ca95.css @@ -347,4 +347,42 @@ a { margin-bottom: 0.25rem; text-wrap: balance; font-size: 22px; - } \ No newline at end of file + } + +.interval-select, .color-scheme-select { + margin-right: 10px; + padding: 5px; + margin-bottom: 10px; + margin-top: 10px; +} + +svg[class^="plot-"][class$="-ramp"] text { + font-size: 14px !important; + font-weight: bold; +} + +.heatmap-navigation { + text-align: center; + margin-top: 10px; +} + +#cal-heatmap-index { + width: 100%; /* Take the full width of the container */ + max-width: 100%; + height: auto; + white-space: nowrap; + position: relative; + font-size: 16px; + margin-left: 10px; +} + +.scrollable-heatmap { + overflow-x: auto; + max-width: 100%; + white-space: nowrap; + padding-bottom: 5px; /*for the scroll bar*/ +} + +.ch-domain-text { + font-size: 14px !important; +} \ No newline at end of file diff --git a/docs/_npm/@popperjs/core@2.11.8/10f7bcb4.js b/docs/_npm/@popperjs/core@2.11.8/10f7bcb4.js new file mode 100644 index 0000000..e80bf13 --- /dev/null +++ b/docs/_npm/@popperjs/core@2.11.8/10f7bcb4.js @@ -0,0 +1,7 @@ +/** + * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.37.0. + * Original file: /npm/@popperjs/core@2.11.8/lib/index.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +var e="top",t="bottom",n="right",r="left",o="auto",i=[e,t,n,r],a="start",s="end",f="clippingParents",c="viewport",p="popper",u="reference",l=i.reduce((function(e,t){return e.concat([t+"-"+a,t+"-"+s])}),[]),d=[].concat(i,[o]).reduce((function(e,t){return e.concat([t,t+"-"+a,t+"-"+s])}),[]),h="beforeRead",m="read",v="afterRead",g="beforeMain",y="main",b="afterMain",x="beforeWrite",w="write",O="afterWrite",j=[h,m,v,g,y,b,x,w,O];function E(e){return e?(e.nodeName||"").toLowerCase():null}function D(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function A(e){return e instanceof D(e).Element||e instanceof Element}function L(e){return e instanceof D(e).HTMLElement||e instanceof HTMLElement}function k(e){return"undefined"!=typeof ShadowRoot&&(e instanceof D(e).ShadowRoot||e instanceof ShadowRoot)}var P={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];L(o)&&E(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});L(r)&&E(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};function M(e){return e.split("-")[0]}var W=Math.max,B=Math.min,H=Math.round;function R(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function T(){return!/^((?!chrome|android).)*safari/i.test(R())}function S(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&L(e)&&(o=e.offsetWidth>0&&H(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&H(r.height)/e.offsetHeight||1);var a=(A(e)?D(e):window).visualViewport,s=!T()&&n,f=(r.left+(s&&a?a.offsetLeft:0))/o,c=(r.top+(s&&a?a.offsetTop:0))/i,p=r.width/o,u=r.height/i;return{width:p,height:u,top:c,right:f+p,bottom:c+u,left:f,x:f,y:c}}function V(e){var t=S(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function q(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&k(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function C(e){return D(e).getComputedStyle(e)}function N(e){return["table","td","th"].indexOf(E(e))>=0}function I(e){return((A(e)?e.ownerDocument:e.document)||window.document).documentElement}function F(e){return"html"===E(e)?e:e.assignedSlot||e.parentNode||(k(e)?e.host:null)||I(e)}function U(e){return L(e)&&"fixed"!==C(e).position?e.offsetParent:null}function z(e){for(var t=D(e),n=U(e);n&&N(n)&&"static"===C(n).position;)n=U(n);return n&&("html"===E(n)||"body"===E(n)&&"static"===C(n).position)?t:n||function(e){var t=/firefox/i.test(R());if(/Trident/i.test(R())&&L(e)&&"fixed"===C(e).position)return null;var n=F(e);for(k(n)&&(n=n.host);L(n)&&["html","body"].indexOf(E(n))<0;){var r=C(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}function _(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function X(e,t,n){return W(e,B(t,n))}function Y(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function G(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}var J={name:"arrow",enabled:!0,phase:"main",fn:function(o){var a,s=o.state,f=o.name,c=o.options,p=s.elements.arrow,u=s.modifiersData.popperOffsets,l=M(s.placement),d=_(l),h=[r,n].indexOf(l)>=0?"height":"width";if(p&&u){var m=function(e,t){return Y("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:G(e,i))}(c.padding,s),v=V(p),g="y"===d?e:r,y="y"===d?t:n,b=s.rects.reference[h]+s.rects.reference[d]-u[d]-s.rects.popper[h],x=u[d]-s.rects.reference[d],w=z(p),O=w?"y"===d?w.clientHeight||0:w.clientWidth||0:0,j=b/2-x/2,E=m[g],D=O-v[h]-m[y],A=O/2-v[h]/2+j,L=X(E,A,D),k=d;s.modifiersData[f]=((a={})[k]=L,a.centerOffset=L-A,a)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!=typeof r||(r=t.elements.popper.querySelector(r)))&&q(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function K(e){return e.split("-")[1]}var Q={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Z(o){var i,a=o.popper,f=o.popperRect,c=o.placement,p=o.variation,u=o.offsets,l=o.position,d=o.gpuAcceleration,h=o.adaptive,m=o.roundOffsets,v=o.isFixed,g=u.x,y=void 0===g?0:g,b=u.y,x=void 0===b?0:b,w="function"==typeof m?m({x:y,y:x}):{x:y,y:x};y=w.x,x=w.y;var O=u.hasOwnProperty("x"),j=u.hasOwnProperty("y"),E=r,A=e,L=window;if(h){var k=z(a),P="clientHeight",M="clientWidth";if(k===D(a)&&"static"!==C(k=I(a)).position&&"absolute"===l&&(P="scrollHeight",M="scrollWidth"),c===e||(c===r||c===n)&&p===s)A=t,x-=(v&&k===L&&L.visualViewport?L.visualViewport.height:k[P])-f.height,x*=d?1:-1;if(c===r||(c===e||c===t)&&p===s)E=n,y-=(v&&k===L&&L.visualViewport?L.visualViewport.width:k[M])-f.width,y*=d?1:-1}var W,B=Object.assign({position:l},h&&Q),R=!0===m?function(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:H(n*o)/o||0,y:H(r*o)/o||0}}({x:y,y:x},D(a)):{x:y,y:x};return y=R.x,x=R.y,d?Object.assign({},B,((W={})[A]=j?"0":"",W[E]=O?"0":"",W.transform=(L.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",W)):Object.assign({},B,((i={})[A]=j?x+"px":"",i[E]=O?y+"px":"",i.transform="",i))}var $={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,s=n.roundOffsets,f=void 0===s||s,c={placement:M(t.placement),variation:K(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,Z(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:f})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,Z(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:f})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},ee={passive:!0};var te={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=void 0===o||o,a=r.resize,s=void 0===a||a,f=D(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach((function(e){e.addEventListener("scroll",n.update,ee)})),s&&f.addEventListener("resize",n.update,ee),function(){i&&c.forEach((function(e){e.removeEventListener("scroll",n.update,ee)})),s&&f.removeEventListener("resize",n.update,ee)}},data:{}},ne={left:"right",right:"left",bottom:"top",top:"bottom"};function re(e){return e.replace(/left|right|bottom|top/g,(function(e){return ne[e]}))}var oe={start:"end",end:"start"};function ie(e){return e.replace(/start|end/g,(function(e){return oe[e]}))}function ae(e){var t=D(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function se(e){return S(I(e)).left+ae(e).scrollLeft}function fe(e){var t=C(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function ce(e){return["html","body","#document"].indexOf(E(e))>=0?e.ownerDocument.body:L(e)&&fe(e)?e:ce(F(e))}function pe(e,t){var n;void 0===t&&(t=[]);var r=ce(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=D(r),a=o?[i].concat(i.visualViewport||[],fe(r)?r:[]):r,s=t.concat(a);return o?s:s.concat(pe(F(a)))}function ue(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function le(e,t,n){return t===c?ue(function(e,t){var n=D(e),r=I(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,f=0;if(o){i=o.width,a=o.height;var c=T();(c||!c&&"fixed"===t)&&(s=o.offsetLeft,f=o.offsetTop)}return{width:i,height:a,x:s+se(e),y:f}}(e,n)):A(t)?function(e,t){var n=S(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}(t,n):ue(function(e){var t,n=I(e),r=ae(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=W(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=W(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+se(e),f=-r.scrollTop;return"rtl"===C(o||n).direction&&(s+=W(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:f}}(I(e)))}function de(e,t,n,r){var o="clippingParents"===t?function(e){var t=pe(F(e)),n=["absolute","fixed"].indexOf(C(e).position)>=0&&L(e)?z(e):e;return A(n)?t.filter((function(e){return A(e)&&q(e,n)&&"body"!==E(e)})):[]}(e):[].concat(t),i=[].concat(o,[n]),a=i[0],s=i.reduce((function(t,n){var o=le(e,n,r);return t.top=W(o.top,t.top),t.right=B(o.right,t.right),t.bottom=B(o.bottom,t.bottom),t.left=W(o.left,t.left),t}),le(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function he(o){var i,f=o.reference,c=o.element,p=o.placement,u=p?M(p):null,l=p?K(p):null,d=f.x+f.width/2-c.width/2,h=f.y+f.height/2-c.height/2;switch(u){case e:i={x:d,y:f.y-c.height};break;case t:i={x:d,y:f.y+f.height};break;case n:i={x:f.x+f.width,y:h};break;case r:i={x:f.x-c.width,y:h};break;default:i={x:f.x,y:f.y}}var m=u?_(u):null;if(null!=m){var v="y"===m?"height":"width";switch(l){case a:i[m]=i[m]-(f[v]/2-c[v]/2);break;case s:i[m]=i[m]+(f[v]/2-c[v]/2)}}return i}function me(r,o){void 0===o&&(o={});var a=o,s=a.placement,l=void 0===s?r.placement:s,d=a.strategy,h=void 0===d?r.strategy:d,m=a.boundary,v=void 0===m?f:m,g=a.rootBoundary,y=void 0===g?c:g,b=a.elementContext,x=void 0===b?p:b,w=a.altBoundary,O=void 0!==w&&w,j=a.padding,E=void 0===j?0:j,D=Y("number"!=typeof E?E:G(E,i)),L=x===p?u:p,k=r.rects.popper,P=r.elements[O?L:x],M=de(A(P)?P:P.contextElement||I(r.elements.popper),v,y,h),W=S(r.elements.reference),B=he({reference:W,element:k,strategy:"absolute",placement:l}),H=ue(Object.assign({},k,B)),R=x===p?H:W,T={top:M.top-R.top+D.top,bottom:R.bottom-M.bottom+D.bottom,left:M.left-R.left+D.left,right:R.right-M.right+D.right},V=r.modifiersData.offset;if(x===p&&V){var q=V[l];Object.keys(T).forEach((function(r){var o=[n,t].indexOf(r)>=0?1:-1,i=[e,t].indexOf(r)>=0?"y":"x";T[r]+=q[i]*o}))}return T}function ve(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,a=n.rootBoundary,s=n.padding,f=n.flipVariations,c=n.allowedAutoPlacements,p=void 0===c?d:c,u=K(r),h=u?f?l:l.filter((function(e){return K(e)===u})):i,m=h.filter((function(e){return p.indexOf(e)>=0}));0===m.length&&(m=h);var v=m.reduce((function(t,n){return t[n]=me(e,{placement:n,boundary:o,rootBoundary:a,padding:s})[M(n)],t}),{});return Object.keys(v).sort((function(e,t){return v[e]-v[t]}))}var ge={name:"flip",enabled:!0,phase:"main",fn:function(i){var s=i.state,f=i.options,c=i.name;if(!s.modifiersData[c]._skip){for(var p=f.mainAxis,u=void 0===p||p,l=f.altAxis,d=void 0===l||l,h=f.fallbackPlacements,m=f.padding,v=f.boundary,g=f.rootBoundary,y=f.altBoundary,b=f.flipVariations,x=void 0===b||b,w=f.allowedAutoPlacements,O=s.options.placement,j=M(O),E=h||(j===O||!x?[re(O)]:function(e){if(M(e)===o)return[];var t=re(e);return[ie(e),t,ie(t)]}(O)),D=[O].concat(E).reduce((function(e,t){return e.concat(M(t)===o?ve(s,{placement:t,boundary:v,rootBoundary:g,padding:m,flipVariations:x,allowedAutoPlacements:w}):t)}),[]),A=s.rects.reference,L=s.rects.popper,k=new Map,P=!0,W=D[0],B=0;B=0,V=S?"width":"height",q=me(s,{placement:H,boundary:v,rootBoundary:g,altBoundary:y,padding:m}),C=S?T?n:r:T?t:e;A[V]>L[V]&&(C=re(C));var N=re(C),I=[];if(u&&I.push(q[R]<=0),d&&I.push(q[C]<=0,q[N]<=0),I.every((function(e){return e}))){W=H,P=!1;break}k.set(H,I)}if(P)for(var F=function(e){var t=D.find((function(t){var n=k.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return W=t,"break"},U=x?3:1;U>0;U--){if("break"===F(U))break}s.placement!==W&&(s.modifiersData[c]._skip=!0,s.placement=W,s.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function ye(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function be(o){return[e,n,t,r].some((function(e){return o[e]>=0}))}var xe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=me(t,{elementContext:"reference"}),s=me(t,{altBoundary:!0}),f=ye(a,r),c=ye(s,o,i),p=be(f),u=be(c);t.modifiersData[n]={referenceClippingOffsets:f,popperEscapeOffsets:c,isReferenceHidden:p,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":u})}};var we={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var o=t.state,i=t.options,a=t.name,s=i.offset,f=void 0===s?[0,0]:s,c=d.reduce((function(t,i){return t[i]=function(t,o,i){var a=M(t),s=[r,e].indexOf(a)>=0?-1:1,f="function"==typeof i?i(Object.assign({},o,{placement:t})):i,c=f[0],p=f[1];return c=c||0,p=(p||0)*s,[r,n].indexOf(a)>=0?{x:p,y:c}:{x:c,y:p}}(i,o.rects,f),t}),{}),p=c[o.placement],u=p.x,l=p.y;null!=o.modifiersData.popperOffsets&&(o.modifiersData.popperOffsets.x+=u,o.modifiersData.popperOffsets.y+=l),o.modifiersData[a]=c}};var Oe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=he({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}};var je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(o){var i=o.state,s=o.options,f=o.name,c=s.mainAxis,p=void 0===c||c,u=s.altAxis,l=void 0!==u&&u,d=s.boundary,h=s.rootBoundary,m=s.altBoundary,v=s.padding,g=s.tether,y=void 0===g||g,b=s.tetherOffset,x=void 0===b?0:b,w=me(i,{boundary:d,rootBoundary:h,padding:v,altBoundary:m}),O=M(i.placement),j=K(i.placement),E=!j,D=_(O),A="x"===D?"y":"x",L=i.modifiersData.popperOffsets,k=i.rects.reference,P=i.rects.popper,H="function"==typeof x?x(Object.assign({},i.rects,{placement:i.placement})):x,R="number"==typeof H?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),T=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null,S={x:0,y:0};if(L){if(p){var q,C="y"===D?e:r,N="y"===D?t:n,I="y"===D?"height":"width",F=L[D],U=F+w[C],Y=F-w[N],G=y?-P[I]/2:0,J=j===a?k[I]:P[I],Q=j===a?-P[I]:-k[I],Z=i.elements.arrow,$=y&&Z?V(Z):{width:0,height:0},ee=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},te=ee[C],ne=ee[N],re=X(0,k[I],$[I]),oe=E?k[I]/2-G-re-te-R.mainAxis:J-re-te-R.mainAxis,ie=E?-k[I]/2+G+re+ne+R.mainAxis:Q+re+ne+R.mainAxis,ae=i.elements.arrow&&z(i.elements.arrow),se=ae?"y"===D?ae.clientTop||0:ae.clientLeft||0:0,fe=null!=(q=null==T?void 0:T[D])?q:0,ce=F+ie-fe,pe=X(y?B(U,F+oe-fe-se):U,F,y?W(Y,ce):Y);L[D]=pe,S[D]=pe-F}if(l){var ue,le="x"===D?e:r,de="x"===D?t:n,he=L[A],ve="y"===A?"height":"width",ge=he+w[le],ye=he-w[de],be=-1!==[e,r].indexOf(O),xe=null!=(ue=null==T?void 0:T[A])?ue:0,we=be?ge:he-k[ve]-P[ve]-xe+R.altAxis,Oe=be?he+k[ve]+P[ve]-xe-R.altAxis:ye,je=y&&be?function(e,t,n){var r=X(e,t,n);return r>n?n:r}(we,he,Oe):X(y?we:ge,he,y?Oe:ye);L[A]=je,S[A]=je-he}i.modifiersData[f]=S}},requiresIfExists:["offset"]};function Ee(e,t,n){void 0===n&&(n=!1);var r,o,i=L(t),a=L(t)&&function(e){var t=e.getBoundingClientRect(),n=H(t.width)/e.offsetWidth||1,r=H(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),s=I(t),f=S(e,a,n),c={scrollLeft:0,scrollTop:0},p={x:0,y:0};return(i||!i&&!n)&&(("body"!==E(t)||fe(s))&&(c=(r=t)!==D(r)&&L(r)?{scrollLeft:(o=r).scrollLeft,scrollTop:o.scrollTop}:ae(r)),L(t)?((p=S(t,!0)).x+=t.clientLeft,p.y+=t.clientTop):s&&(p.x=se(s))),{x:f.left+c.scrollLeft-p.x,y:f.top+c.scrollTop-p.y,width:f.width,height:f.height}}function De(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}var Ae={placement:"bottom",modifiers:[],strategy:"absolute"};function Le(){for(var e=arguments.length,t=new Array(e),n=0;n0&&sr[0]<4?1:+(sr[0]+sr[1])),!lr&&Fr&&(!(sr=Fr.match(/Edge\/(\d+)/))||sr[1]>=74)&&(sr=Fr.match(/Chrome\/(\d+)/))&&(lr=+sr[1]);var Br=lr,Gr=Br,Hr=$e,Vr=Qe.String,Yr=!!Object.getOwnPropertySymbols&&!Hr((function(){var t=Symbol("symbol detection");return!Vr(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&Gr&&Gr<41})),Jr=Yr&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Kr=Ar,Xr=Xe,Zr=Dr,Qr=Object,to=Jr?function(t){return"symbol"==typeof t}:function(t){var n=Kr("Symbol");return Xr(n)&&Zr(n.prototype,Qr(t))},no=String,eo=function(t){try{return no(t)}catch(t){return"Object"}},ro=Xe,oo=eo,io=TypeError,ao=function(t){if(ro(t))return t;throw new io(oo(t)+" is not a function")},co=ao,uo=Pe,so=function(t,n){var e=t[n];return uo(e)?void 0:co(e)},lo=Cr,fo=Xe,po=vr,ho=TypeError,yo={exports:{}},go=ir;(yo.exports=function(t,n){return go[t]||(go[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.34.0",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE",source:"https://github.com/zloirock/core-js"});var vo=yo.exports,mo=Ne,wo=0,bo=Math.random(),So=mo(1..toString),jo=function(t){return"Symbol("+(void 0===t?"":t)+")_"+So(++wo+bo,36)},$o=vo,Oo=_e,ko=jo,Eo=Yr,Mo=Jr,xo=Qe.Symbol,To=$o("wks"),No=Mo?xo.for||xo:xo&&xo.withoutSetter||ko,Po=function(t){return Oo(To,t)||(To[t]=Eo&&Oo(xo,t)?xo[t]:No("Symbol."+t)),To[t]},Co=Cr,Ro=vr,Io=to,Ao=so,Do=function(t,n){var e,r;if("string"===n&&fo(e=t.toString)&&!po(r=lo(e,t)))return r;if(fo(e=t.valueOf)&&!po(r=lo(e,t)))return r;if("string"!==n&&fo(e=t.toString)&&!po(r=lo(e,t)))return r;throw new ho("Can't convert object to primitive value")},Lo=TypeError,qo=Po("toPrimitive"),Fo=function(t,n){if(!Ro(t)||Io(t))return t;var e,r=Ao(t,qo);if(r){if(void 0===n&&(n="default"),e=Co(r,t,n),!Ro(e)||Io(e))return e;throw new Lo("Can't convert object to primitive value")}return void 0===n&&(n="number"),Do(t,n)},_o=to,Uo=function(t){var n=Fo(t,"string");return _o(n)?n:n+""},zo=Oe,Wo=Or,Bo=kr,Go=Tr,Ho=Uo,Vo=TypeError,Yo=Object.defineProperty,Jo=Object.getOwnPropertyDescriptor,Ko="enumerable",Xo="configurable",Zo="writable";mr.f=zo?Bo?function(t,n,e){if(Go(t),n=Ho(n),Go(e),"function"==typeof t&&"prototype"===n&&"value"in e&&Zo in e&&!e[Zo]){var r=Jo(t,n);r&&r[Zo]&&(t[n]=e.value,e={configurable:Xo in e?e[Xo]:r[Xo],enumerable:Ko in e?e[Ko]:r[Ko],writable:!1})}return Yo(t,n,e)}:Yo:function(t,n,e){if(Go(t),n=Ho(n),Go(e),Wo)try{return Yo(t,n,e)}catch(t){}if("get"in e||"set"in e)throw new Vo("Accessors not supported");return"value"in e&&(t[n]=e.value),t};var Qo,ti,ni,ei=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}},ri=mr,oi=ei,ii=Oe?function(t,n,e){return ri.f(t,n,oi(1,e))}:function(t,n,e){return t[n]=e,t},ai=jo,ci=vo("keys"),ui={},si=hr,li=Qe,fi=vr,pi=ii,di=_e,hi=ir,yi=function(t){return ci[t]||(ci[t]=ai(t))},gi=ui,vi="Object already initialized",mi=li.TypeError,wi=li.WeakMap;if(si||hi.state){var bi=hi.state||(hi.state=new wi);bi.get=bi.get,bi.has=bi.has,bi.set=bi.set,Qo=function(t,n){if(bi.has(t))throw new mi(vi);return n.facade=t,bi.set(t,n),n},ti=function(t){return bi.get(t)||{}},ni=function(t){return bi.has(t)}}else{var Si=yi("state");gi[Si]=!0,Qo=function(t,n){if(di(t,Si))throw new mi(vi);return n.facade=t,pi(t,Si,n),n},ti=function(t){return di(t,Si)?t[Si]:{}},ni=function(t){return di(t,Si)}}var ji={set:Qo,get:ti,has:ni,enforce:function(t){return ni(t)?ti(t):Qo(t,{})},getterFor:function(t){return function(n){var e;if(!fi(n)||(e=ti(n)).type!==t)throw new mi("Incompatible receiver, "+t+" required");return e}}},$i=Ne,Oi=$e,ki=Xe,Ei=_e,Mi=Oe,xi=He.CONFIGURABLE,Ti=fr,Ni=ji.enforce,Pi=ji.get,Ci=String,Ri=Object.defineProperty,Ii=$i("".slice),Ai=$i("".replace),Di=$i([].join),Li=Mi&&!Oi((function(){return 8!==Ri((function(){}),"length",{value:8}).length})),qi=String(String).split("String"),Fi=Ve.exports=function(t,n,e){"Symbol("===Ii(Ci(n),0,7)&&(n="["+Ai(Ci(n),/^Symbol\(([^)]*)\)/,"$1")+"]"),e&&e.getter&&(n="get "+n),e&&e.setter&&(n="set "+n),(!Ei(t,"name")||xi&&t.name!==n)&&(Mi?Ri(t,"name",{value:n,configurable:!0}):t.name=n),Li&&e&&Ei(e,"arity")&&t.length!==e.arity&&Ri(t,"length",{value:e.arity});try{e&&Ei(e,"constructor")&&e.constructor?Mi&&Ri(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var r=Ni(t);return Ei(r,"source")||(r.source=Di(qi,"string"==typeof n?n:"")),t};Function.prototype.toString=Fi((function(){return ki(this)&&Pi(this).source||Ti(this)}),"toString");var _i=Ve.exports,Ui=_i,zi=mr,Wi=function(t,n,e){return e.get&&Ui(e.get,n,{getter:!0}),e.set&&Ui(e.set,n,{setter:!0}),zi.f(t,n,e)},Bi=Oe,Gi=He.EXISTS,Hi=Ne,Vi=Wi,Yi=Function.prototype,Ji=Hi(Yi.toString),Ki=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,Xi=Hi(Ki.exec);Bi&&!Gi&&Vi(Yi,"name",{configurable:!0,get:function(){try{return Xi(Ki,Ji(this))[1]}catch(t){return""}}});var Zi={},Qi={},ta={}.propertyIsEnumerable,na=Object.getOwnPropertyDescriptor,ea=na&&!ta.call({1:2},1);Qi.f=ea?function(t){var n=na(this,t);return!!n&&n.enumerable}:ta;var ra=Ne,oa=ra({}.toString),ia=ra("".slice),aa=function(t){return ia(oa(t),8,-1)},ca=$e,ua=aa,sa=Object,la=Ne("".split),fa=ca((function(){return!sa("z").propertyIsEnumerable(0)}))?function(t){return"String"===ua(t)?la(t,""):sa(t)}:sa,pa=fa,da=Ie,ha=function(t){return pa(da(t))},ya=Oe,ga=Cr,va=Qi,ma=ei,wa=ha,ba=Uo,Sa=_e,ja=Or,$a=Object.getOwnPropertyDescriptor;Zi.f=ya?$a:function(t,n){if(t=wa(t),n=ba(n),ja)try{return $a(t,n)}catch(t){}if(Sa(t,n))return ma(!ga(va.f,t,n),t[n])};var Oa=Xe,ka=mr,Ea=_i,Ma=er,xa=function(t,n,e,r){r||(r={});var o=r.enumerable,i=void 0!==r.name?r.name:n;if(Oa(e)&&Ea(e,i,r),r.global)o?t[n]=e:Ma(n,e);else{try{r.unsafe?t[n]&&(o=!0):delete t[n]}catch(t){}o?t[n]=e:ka.f(t,n,{value:e,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return t},Ta={},Na=Math.ceil,Pa=Math.floor,Ca=Math.trunc||function(t){var n=+t;return(n>0?Pa:Na)(n)},Ra=function(t){var n=+t;return n!=n||0===n?0:Ca(n)},Ia=Ra,Aa=Math.max,Da=Math.min,La=Ra,qa=Math.min,Fa=function(t){return t>0?qa(La(t),9007199254740991):0},_a=function(t){return Fa(t.length)},Ua=ha,za=function(t,n){var e=Ia(t);return e<0?Aa(e+n,0):Da(e,n)},Wa=_a,Ba=function(t){return function(n,e,r){var o,i=Ua(n),a=Wa(i),c=za(r,a);if(t&&e!=e){for(;a>c;)if((o=i[c++])!=o)return!0}else for(;a>c;c++)if((t||c in i)&&i[c]===e)return t||c||0;return!t&&-1}},Ga={includes:Ba(!0),indexOf:Ba(!1)},Ha=_e,Va=ha,Ya=Ga.indexOf,Ja=ui,Ka=Ne([].push),Xa=function(t,n){var e,r=Va(t),o=0,i=[];for(e in r)!Ha(Ja,e)&&Ha(r,e)&&Ka(i,e);for(;n.length>o;)Ha(r,e=n[o++])&&(~Ya(i,e)||Ka(i,e));return i},Za=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Qa=Xa,tc=Za.concat("length","prototype");Ta.f=Object.getOwnPropertyNames||function(t){return Qa(t,tc)};var nc={};nc.f=Object.getOwnPropertySymbols;var ec=Ar,rc=Ta,oc=nc,ic=Tr,ac=Ne([].concat),cc=ec("Reflect","ownKeys")||function(t){var n=rc.f(ic(t)),e=oc.f;return e?ac(n,e(t)):n},uc=_e,sc=cc,lc=Zi,fc=mr,pc=$e,dc=Xe,hc=/#|\.prototype\./,yc=function(t,n){var e=vc[gc(t)];return e===wc||e!==mc&&(dc(n)?pc(n):!!n)},gc=yc.normalize=function(t){return String(t).replace(hc,".").toLowerCase()},vc=yc.data={},mc=yc.NATIVE="N",wc=yc.POLYFILL="P",bc=yc,Sc=Qe,jc=Zi.f,$c=ii,Oc=xa,kc=er,Ec=function(t,n,e){for(var r=sc(n),o=fc.f,i=lc.f,a=0;ao;)for(var c,u=_c(arguments[o++]),s=i?Wc(Dc(u),i(u)):Dc(u),l=s.length,f=0;l>f;)c=s[f++],Cc&&!Ic(a,u,c)||(e[c]=u[c]);return e}:Uc,Gc=Bc;xc({target:"Object",stat:!0,arity:2,forced:Object.assign!==Gc},{assign:Gc});var Hc={};Hc[Po("toStringTag")]="z";var Vc="[object z]"===String(Hc),Yc=Vc,Jc=Xe,Kc=aa,Xc=Po("toStringTag"),Zc=Object,Qc="Arguments"===Kc(function(){return arguments}()),tu=Yc?Kc:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Zc(t),Xc))?e:Qc?Kc(n):"Object"===(r=Kc(n))&&Jc(n.callee)?"Arguments":r},nu=tu,eu=Vc?{}.toString:function(){return"[object "+nu(this)+"]"};Vc||xa(Object.prototype,"toString",eu,{unsafe:!0});var ru="process"===aa(Qe.process),ou=Ne,iu=ao,au=Xe,cu=String,uu=TypeError,su=function(t,n,e){try{return ou(iu(Object.getOwnPropertyDescriptor(t,n)[e]))}catch(t){}},lu=Tr,fu=function(t){if("object"==typeof t||au(t))return t;throw new uu("Can't set "+cu(t)+" as a prototype")},pu=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=su(Object.prototype,"__proto__","set"))(e,[]),n=e instanceof Array}catch(t){}return function(e,r){return lu(e),fu(r),n?t(e,r):e.__proto__=r,e}}():void 0),du=mr.f,hu=_e,yu=Po("toStringTag"),gu=Ar,vu=Wi,mu=Oe,wu=Po("species"),bu=Dr,Su=TypeError,ju=Ne,$u=$e,Ou=Xe,ku=tu,Eu=fr,Mu=function(){},xu=[],Tu=Ar("Reflect","construct"),Nu=/^\s*(?:class|function)\b/,Pu=ju(Nu.exec),Cu=!Nu.test(Mu),Ru=function(t){if(!Ou(t))return!1;try{return Tu(Mu,xu,t),!0}catch(t){return!1}},Iu=function(t){if(!Ou(t))return!1;switch(ku(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Cu||!!Pu(Nu,Eu(t))}catch(t){return!0}};Iu.sham=!0;var Au,Du,Lu,qu,Fu=!Tu||$u((function(){var t;return Ru(Ru.call)||!Ru(Object)||!Ru((function(){t=!0}))||t}))?Iu:Ru,_u=Fu,Uu=eo,zu=TypeError,Wu=Tr,Bu=function(t){if(_u(t))return t;throw new zu(Uu(t)+" is not a constructor")},Gu=Pe,Hu=Po("species"),Vu=ke,Yu=Function.prototype,Ju=Yu.apply,Ku=Yu.call,Xu="object"==typeof Reflect&&Reflect.apply||(Vu?Ku.bind(Ju):function(){return Ku.apply(Ju,arguments)}),Zu=aa,Qu=Ne,ts=function(t){if("Function"===Zu(t))return Qu(t)},ns=ao,es=ke,rs=ts(ts.bind),os=function(t,n){return ns(t),void 0===n?t:es?rs(t,n):function(){return t.apply(n,arguments)}},is=Ar("document","documentElement"),as=Ne([].slice),cs=TypeError,us=/(?:ipad|iphone|ipod).*applewebkit/i.test(Lr),ss=Qe,ls=Xu,fs=os,ps=Xe,ds=_e,hs=$e,ys=is,gs=as,vs=jr,ms=function(t,n){if(ti;i++)if((c=v(t[i]))&&Qf(ip,c))return c;return new op(!1)}r=tp(t,o)}for(u=p?t.next:r.next;!(s=Yf(u,r)).done;){try{c=v(s.value)}catch(t){ep(r,"throw",t)}if("object"==typeof c&&c&&Qf(ip,c))return c}return new op(!1)},cp=Po("iterator"),up=!1;try{var sp=0,lp={next:function(){return{done:!!sp++}},return:function(){up=!0}};lp[cp]=function(){return this},Array.from(lp,(function(){throw 2}))}catch(t){}var fp=ll,pp=function(t,n){try{if(!n&&!up)return!1}catch(t){return!1}var e=!1;try{var r={};r[cp]=function(){return{next:function(){return{done:e=!0}}}},t(r)}catch(t){}return e},dp=El.CONSTRUCTOR||!pp((function(t){fp.all(t).then(void 0,(function(){}))})),hp=Cr,yp=ao,gp=Ml,vp=sl,mp=ap;xc({target:"Promise",stat:!0,forced:dp},{all:function(t){var n=this,e=gp.f(n),r=e.resolve,o=e.reject,i=vp((function(){var e=yp(n.resolve),i=[],a=0,c=1;mp(t,(function(t){var u=a++,s=!1;c++,hp(e,n,t).then((function(t){s||(s=!0,i[u]=t,--c||r(i))}),o)})),--c||r(i)}));return i.error&&o(i.value),e.promise}});var wp=xc,bp=El.CONSTRUCTOR,Sp=ll,jp=Ar,$p=Xe,Op=xa,kp=Sp&&Sp.prototype;if(wp({target:"Promise",proto:!0,forced:bp,real:!0},{catch:function(t){return this.then(void 0,t)}}),$p(Sp)){var Ep=jp("Promise").prototype.catch;kp.catch!==Ep&&Op(kp,"catch",Ep,{unsafe:!0})}var Mp=Cr,xp=ao,Tp=Ml,Np=sl,Pp=ap;xc({target:"Promise",stat:!0,forced:dp},{race:function(t){var n=this,e=Tp.f(n),r=e.reject,o=Np((function(){var o=xp(n.resolve);Pp(t,(function(t){Mp(o,n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}});var Cp=Cr,Rp=Ml;xc({target:"Promise",stat:!0,forced:El.CONSTRUCTOR},{reject:function(t){var n=Rp.f(this);return Cp(n.reject,void 0,t),n.promise}});var Ip=Tr,Ap=vr,Dp=Ml,Lp=xc,qp=El.CONSTRUCTOR,Fp=function(t,n){if(Ip(t),Ap(n)&&n.constructor===t)return n;var e=Dp.f(t);return(0,e.resolve)(n),e.promise};function _p(t){return null!=t&&!Number.isNaN(t)}function Up(t,n){return+_p(n)-+_p(t)||lt(t,n)}function zp(t){return isFinite(t)?t:NaN}function Wp(t){return t>0&&isFinite(t)?t:NaN}function Bp(t){return t<0&&isFinite(t)?t:NaN}function Gp(t,n){if(t instanceof Date||(t=new Date(+t)),isNaN(t))return"function"==typeof n?n(t):n;const e=t.getUTCHours(),r=t.getUTCMinutes(),o=t.getUTCSeconds(),i=t.getUTCMilliseconds();return`${a=t.getUTCFullYear(),a<0?`-${Hp(-a,6)}`:a>9999?`+${Hp(a,6)}`:Hp(a,4)}-${Hp(t.getUTCMonth()+1,2)}-${Hp(t.getUTCDate(),2)}${e||r||o||i?`T${Hp(e,2)}:${Hp(r,2)}${o||i?`:${Hp(o,2)}${i?`.${Hp(i,3)}`:""}`:""}Z`:""}`;var a}function Hp(t,n){return`${t}`.padStart(n,"0")}Ar("Promise"),Lp({target:"Promise",stat:!0,forced:qp},{resolve:function(t){return Fp(this,t)}});const Vp=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Yp(t,n){return Vp.test(t+="")?new Date(t):"function"==typeof n?n(t):n}const Jp=new Map([["second",n],["minute",e],["hour",r],["day",o],["week",i],["month",a],["quarter",a.every(3)],["half",a.every(6)],["year",c],["monday",u],["tuesday",s],["wednesday",l],["thursday",f],["friday",p],["saturday",d],["sunday",h]]),Kp=new Map([["second",y],["minute",g],["hour",v],["day",m],["week",w],["month",b],["quarter",b.every(3)],["half",b.every(6)],["year",S],["monday",j],["tuesday",$],["wednesday",O],["thursday",k],["friday",E],["saturday",M],["sunday",x]]);function Xp(t){const n=Jp.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown interval: ${t}`);return n}function Zp(t){const n=Kp.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown interval: ${t}`);return n}const Qp=Object.getPrototypeOf(Uint8Array),td=Object.prototype.toString,nd=t=>null==t?t:`${t}`,ed=t=>()=>t;function rd(t){return t instanceof Qp?t:ld(t,od,Float64Array)}function od(t){return null==t?NaN:Number(t)}function id(t){return ld(t,ad)}function ad(t){return t instanceof Date&&!isNaN(t)?t:"string"==typeof t?Yp(t):null==t||isNaN(t=+t)?void 0:new Date(t)}function cd(t,n){return void 0===t&&(t=n),null===t?[void 0,"none"]:function(t){return"string"==typeof t&&(t=t.toLowerCase().trim(),"none"===t||"currentcolor"===t||t.startsWith("url(")&&t.endsWith(")")||t.startsWith("var(")&&t.endsWith(")")||null!==ft(t))}(t)?[void 0,t]:[t,void 0]}function ud(t,n){return void 0===t&&(t=n),null===t||"number"==typeof t?[void 0,t]:[t,void 0]}function sd(t){return null==t||t instanceof Array||t instanceof Qp?t:Array.from(t)}function ld(t,n,e=Array){return null==t?t:t instanceof e?t.map(n):e.from(t,n)}function fd(t){return t?.toString===td}function pd(t){return fd(t)&&(void 0!==t.type||void 0!==t.domain)}function dd(t,n){if(null!=t){if("number"==typeof t){0Math.floor(t*n)/n,offset:t=>(t*n+1)/n,range:(t,e)=>Pt(Math.ceil(t*n),e*n).map((t=>t/n))}:{floor:t=>Math.floor(t/n)*n,offset:t=>t+n,range:(t,e)=>Pt(Math.ceil(t/n),e/n).map((t=>t*n))}}if("string"==typeof t)return("time"===n?Xp:Zp)(t);if("function"!=typeof t.floor)throw new Error("invalid interval; missing floor method");if("function"!=typeof t.offset)throw new Error("invalid interval; missing offset method");return t}}function hd(t,n){if((t=dd(t,n))&&"function"!=typeof t.range)throw new Error("invalid interval: missing range method");return t}function yd(t){for(const n of t){if(null==n)continue;const t=typeof n;return"string"===t||"boolean"===t}}function gd(t){for(const n of t)if(null!=n)return n instanceof Date}function vd(t){for(const n of t)if(null!=n)return"string"==typeof n&&isNaN(n)&&Yp(n)}function md(t){for(const n of t)if(null!=n){if("string"!=typeof n)return!1;if(n.trim())return!isNaN(n)}}function wd(t){return null==t||function(t){return/^\s*none\s*$/i.test(t)}(t)}function bd(t){if(null==t)return;const n=t[0],e=t[t.length-1];return B(n,e)}const Sd=Symbol("position"),jd=Symbol("color"),$d=Symbol("radius"),Od=Symbol("length"),kd=Symbol("opacity"),Ed=Symbol("symbol"),Md=new Map([["x",Sd],["y",Sd],["fx",Sd],["fy",Sd],["r",$d],["color",jd],["opacity",kd],["symbol",Ed],["length",Od]]),xd=2/Math.sqrt(3),Td=new Map([["asterisk",Pn],["circle",Cn],["cross",Rn],["diamond",In],["diamond2",An],["hexagon",{draw(t,n){const e=Math.sqrt(n/Math.PI),r=e*xd,o=r/2;t.moveTo(0,r),t.lineTo(e,o),t.lineTo(e,-o),t.lineTo(0,-r),t.lineTo(-e,-o),t.lineTo(-e,o),t.closePath()}}],["plus",Dn],["square",Ln],["square2",qn],["star",Fn],["times",_n],["triangle",Un],["triangle2",zn],["wye",Wn]]);function Nd(t){if(null==t||function(t){return t&&"function"==typeof t.draw}(t))return t;const n=Td.get(`${t}`.toLowerCase());if(n)return n;throw new Error(`invalid symbol: ${t}`)}function Pd(t){console.warn(t)}const Cd=Math.PI,Rd=2*Cd;function Id({projection:t,inset:n=0,insetTop:e=n,insetRight:r=n,insetBottom:o=n,insetLeft:i=n}={},a){if(null==t)return;if("function"==typeof t.stream)return t;let c,u,s="frame";if(fd(t)){let n;if(({type:t,domain:u,inset:n,insetTop:e=(void 0!==n?n:e),insetRight:r=(void 0!==n?n:r),insetBottom:o=(void 0!==n?n:o),insetLeft:i=(void 0!==n?n:i),clip:s=s,...c}=t),null==t)return}"function"!=typeof t&&({type:t}=function(t){switch(`${t}`.toLowerCase()){case"albers-usa":return Ad(St,.7463,.4673);case"albers":return Dd(At,.7463,.4673);case"azimuthal-equal-area":return Ad(bt,4,4);case"azimuthal-equidistant":return Ad(wt,Rd,Rd);case"conic-conformal":return Dd(It,Rd,Rd);case"conic-equal-area":return Dd(Rt,6.1702,2.9781);case"conic-equidistant":return Dd(Ct,7.312,3.6282);case"equal-earth":return Ad(mt,5.4133,2.6347);case"equirectangular":return Ad(vt,Rd,Cd);case"gnomonic":return Ad(gt,3.4641,3.4641);case"identity":return{type:Ld};case"reflect-y":return{type:qd};case"mercator":return Ad(yt,Rd,Rd);case"orthographic":return Ad(ht,2,2);case"stereographic":return Ad(dt,2,2);case"transverse-mercator":return Ad(pt,Rd,Rd);default:throw new Error(`unknown projection type: ${t}`)}}(t));const{width:l,height:f,marginLeft:p,marginRight:d,marginTop:h,marginBottom:y}=a,g=l-p-d-i-r,v=f-h-y-e-o;if(t=t?.({width:g,height:v,clip:s,...c}),null==t)return;s=function(t,n,e,r,o){if(!1===t||null==t||"number"==typeof t)return t=>t;!0===t&&(t="frame");if("frame"===`${t}`.toLowerCase())return C(n,e,r,o);throw new Error(`unknown projection clip type: ${t}`)}(s,p,h,l-d,f-y);let m,w=p+i,b=h+e;if(null!=u){const[[n,e],[r,o]]=P(t).bounds(u),i=Math.min(g/(r-n),v/(o-e));i>0?(w-=(i*(n+r)-g)/2,b-=(i*(e+o)-v)/2,m=T({point(t,n){this.stream.point(t*i+w,n*i+b)}})):Pd("Warning: the projection could not be fit to the specified domain; using the default scale.")}return m??=0===w&&0===b?Ld():T({point(t,n){this.stream.point(t+w,n+b)}}),{stream:n=>t.stream(m.stream(s(n)))}}function Ad(t,n,e){return{type:({width:r,height:o,rotate:i,precision:a=.15,clip:c})=>{const u=t();return null!=a&&u.precision?.(a),null!=i&&u.rotate?.(i),"number"==typeof c&&u.clipAngle?.(c),u.scale(Math.min(r/n,o/e)),u.translate([r/2,o/2]),u},aspectRatio:e/n}}function Dd(t,n,e){const{type:r,aspectRatio:o}=Ad(t,n,e);return{type:t=>{const{parallels:n,domain:e,width:o,height:i}=t,a=r(t);return null!=n&&(a.parallels(n),void 0===e&&a.fitSize([o,i],{type:"Sphere"})),a},aspectRatio:o}}const Ld=ed({stream:t=>t}),qd=ed(T({point(t,n){this.stream.point(t,-n)}}));function Fd(t={},n,e){const{document:r=("undefined"!=typeof window?window.document:void 0)}=t;return{document:r,className:e,projection:Id(t,n)}}function _d(t,{document:n}){return jt($t(t).call(n.documentElement))}const Ud=new Map([["accent",Dt],["category10",Lt],["dark2",qt],["paired",Ft],["pastel1",_t],["pastel2",Ut],["set1",zt],["set2",Wt],["set3",Bt],["tableau10",Gt],["brbg",Wd(Bn,Ht)],["prgn",Wd(Gn,Vt)],["piyg",Wd(Hn,Yt)],["puor",Wd(Vn,Jt)],["rdbu",Wd(Yn,Kt)],["rdgy",Wd(Jn,Xt)],["rdylbu",Wd(Kn,Zt)],["rdylgn",Wd(Xn,Qt)],["spectral",Wd(Zn,tn)],["burd",Bd(Yn,Kt)],["buylrd",Bd(Kn,Zt)],["blues",zd(Qn,nn)],["greens",zd(te,en)],["greys",zd(ne,rn)],["oranges",zd(ee,cn)],["purples",zd(re,on)],["reds",zd(oe,an)],["turbo",Gd(un)],["viridis",Gd(sn)],["magma",Gd(ln)],["inferno",Gd(fn)],["plasma",Gd(pn)],["cividis",Gd(dn)],["cubehelix",Gd(hn)],["warm",Gd(yn)],["cool",Gd(gn)],["bugn",zd(ie,vn)],["bupu",zd(ae,mn)],["gnbu",zd(ce,wn)],["orrd",zd(ue,bn)],["pubu",zd(se,jn)],["pubugn",zd(le,Sn)],["purd",zd(fe,$n)],["rdpu",zd(pe,On)],["ylgn",zd(de,En)],["ylgnbu",zd(he,kn)],["ylorbr",zd(ye,Mn)],["ylorrd",zd(ge,xn)],["rainbow",Hd(Tn)],["sinebow",Hd(Nn)]]);function zd(t,n){return({length:e})=>1===e?[t[3][1]]:2===e?[t[3][1],t[3][2]]:(e=Math.max(3,Math.floor(e)))>9?L(n,e):t[e]}function Wd(t,n){return({length:e})=>2===e?[t[3][0],t[3][2]]:(e=Math.max(3,Math.floor(e)))>11?L(n,e):t[e]}function Bd(t,n){return({length:e})=>2===e?[t[3][2],t[3][0]]:(e=Math.max(3,Math.floor(e)))>11?L((t=>n(1-t)),e):t[e].slice().reverse()}function Gd(t){return({length:n})=>L(t,Math.max(2,Math.floor(n)))}function Hd(t){return({length:n})=>L(t,Math.floor(n)+1).slice(0,-1)}function Vd(t){const n=`${t}`.toLowerCase();if(!Ud.has(n))throw new Error(`unknown ordinal scheme: ${n}`);return Ud.get(n)}function Yd(t,n){const e=Vd(t),r="function"==typeof e?e({length:n}):e;return r.length!==n?r.slice(0,n):r}const Jd=new Map([["brbg",Ht],["prgn",Vt],["piyg",Yt],["puor",Jt],["rdbu",Kt],["rdgy",Xt],["rdylbu",Zt],["rdylgn",Qt],["spectral",tn],["burd",t=>Kt(1-t)],["buylrd",t=>Zt(1-t)],["blues",nn],["greens",en],["greys",rn],["purples",on],["reds",an],["oranges",cn],["turbo",un],["viridis",sn],["magma",ln],["inferno",fn],["plasma",pn],["cividis",dn],["cubehelix",hn],["warm",yn],["cool",gn],["bugn",vn],["bupu",mn],["gnbu",wn],["orrd",bn],["pubugn",Sn],["pubu",jn],["purd",$n],["rdpu",On],["ylgnbu",kn],["ylgn",En],["ylorbr",Mn],["ylorrd",xn],["rainbow",Tn],["sinebow",Nn]]);function Kd(t){const n=`${t}`.toLowerCase();if(!Jd.has(n))throw new Error(`unknown quantitative scheme: ${n}`);return Jd.get(n)}const Xd=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function Zd(t){return null!=t&&Xd.has(`${t}`.toLowerCase())}const Qd=t=>n=>t(1-n),th=[0,1],nh=new Map([["number",U],["rgb",Ot],["hsl",ve],["hcl",me],["lab",we]]);function eh(t){const n=`${t}`.toLowerCase();if(!nh.has(n))throw new Error(`unknown interpolator: ${n}`);return nh.get(n)}function rh(t,n,e,{type:r,nice:o,clamp:i,zero:a,domain:c=ch(t,e),unknown:u,round:s,scheme:l,interval:f,range:p=(Md.get(t)===$d?sh(e,c):Md.get(t)===Od?lh(e,c):Md.get(t)===kd?th:void 0),interpolate:d=(Md.get(t)===jd?null==l&&void 0!==p?Ot:Kd(void 0!==l?l:"cyclical"===r?"rainbow":"turbo"):s?kt:U),reverse:h}){if(f=hd(f,r),"cyclical"!==r&&"sequential"!==r||(r="linear"),h=!!h,"function"!=typeof d&&(d=eh(d)),1===d.length?(h&&(d=Qd(d),h=!1),void 0===p&&2===(p=Float64Array.from(c,((t,n)=>n/(c.length-1)))).length&&(p=th),n.interpolate((p===th?ed:dh)(d))):n.interpolate(d),a){const[t,n]=F(c);(t>0||n<0)&&(c=function(t,n=Array){return t instanceof n?t.slice():n.from(t)}(c),bd(c)!==Math.sign(t)?c[c.length-1]=0:c[0]=0)}return h&&(c=z(c)),n.domain(c).unknown(u),o&&(n.nice(function(t,n){return!0===t?void 0:"number"==typeof t?t:function(t,n){if((t=hd(t,n))&&"function"!=typeof t.ceil)throw new Error("invalid interval: missing ceil method");return t}(t,n)}(o,r)),c=n.domain()),void 0!==p&&n.range(p),i&&n.clamp(i),{type:r,domain:c,range:p,scale:n,interpolate:d,interval:f}}function oh(t,n,{exponent:e=1,...r}){return rh(t,I().exponent(e),n,{...r,type:"pow"})}function ih(t,n,{domain:e=[0],unknown:r,scheme:o="rdylbu",interpolate:i,range:a=(void 0!==i?L(i,e.length+1):Md.get(t)===jd?Yd(o,e.length+1):void 0),reverse:c}){const u=bd(e=sd(e));if(!isNaN(u)&&!function(t,n){for(let e=1,r=t.length,o=t[0];evoid 0===t?t:Et(t,n))),H(t,(({value:t})=>void 0===t?t:H(t,n)))]:[0,1]}function ch(t,n){const e=Md.get(t);return(e===$d||e===kd||e===Od?uh:ah)(n)}function uh(t){return[0,t.length?H(t,(({value:t})=>void 0===t?t:H(t,zp))):1]}function sh(t,n){const e=t.find((({radius:t})=>void 0!==t));if(void 0!==e)return[0,e.radius];const r=Mt(t,.5,(({value:t})=>void 0===t?NaN:Mt(t,.25,Wp))),o=n.map((t=>3*Math.sqrt(t/r))),i=30/H(o);return i<1?o.map((t=>t*i)):o}function lh(t,n){const e=xt(t,(({value:t})=>void 0===t?NaN:xt(t,Math.abs))),r=n.map((t=>12*t/e)),o=60/H(r);return o<1?r.map((t=>t*o)):r}function fh(t){for(const{value:n}of t)if(void 0!==n)for(let e of n){if(e>0)return ah(t,Wp);if(e<0)return ah(t,Bp)}return[1,10]}function ph(t){const n=[];for(const{value:e}of t)if(void 0!==e)for(const t of e)n.push(t);return n}function dh(t){return(n,e)=>r=>t(n+r*(e-n))}function hh(t,n,e,r,{type:o,nice:i,clamp:a,domain:c=ah(r),unknown:u,pivot:s=0,scheme:l,range:f,symmetric:p=!0,interpolate:d=(Md.get(t)===jd?null==l&&void 0!==f?Ot:Kd(void 0!==l?l:"rdbu"):U),reverse:h}){s=+s;let[y,g]=c;if(B(y,g)<0&&([y,g]=[g,y],h=!h),y=Math.min(y,s),g=Math.max(g,s),"function"!=typeof d&&(d=eh(d)),void 0!==f&&(d=1===d.length?dh(d)(...f):ct(d,f)),h&&(d=Qd(d)),p){const t=e.apply(s),n=t-e.apply(y),r=e.apply(g)-t;nr&&(g=e.invert(t+n))}return n.domain([y,s,g]).unknown(u).interpolator(d),a&&n.clamp(a),i&&n.nice(i),{type:o,domain:[y,g],pivot:s,interpolate:d,scale:n}}function yh(t,n,{exponent:e=1,...r}){return hh(t,Y().exponent(e=+e),function(t){return.5===t?wh:{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),t),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/t)}}(e),n,{...r,type:"diverging-pow"})}function gh(t,n,{constant:e=1,...r}){return hh(t,K().constant(e=+e),function(t){return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n/t)),invert:n=>Math.sign(n)*Math.expm1(Math.abs(n))*t}}(e),n,r)}const vh={apply:t=>t,invert:t=>t},mh={apply:Math.log,invert:Math.exp},wh={apply:t=>Math.sign(t)*Math.sqrt(Math.abs(t)),invert:t=>Math.sign(t)*(t*t)};function bh(t,n,e,r){return rh(t,n,e,r)}const Sh=Symbol("ordinal");function jh(t,n,e,{type:r,interval:o,domain:i,range:a,reverse:c,hint:u}){return o=hd(o,r),void 0===i&&(i=kh(e,o,t)),"categorical"!==r&&r!==Sh||(r="ordinal"),c&&(i=z(i)),n.domain(i),void 0!==a&&("function"==typeof a&&(a=a(i)),n.range(a)),{type:r,domain:i,range:a,scale:n,hint:u,interval:o}}function $h(t,n,{type:e,interval:r,domain:o,range:i,scheme:a,unknown:c,...u}){let s;if(r=hd(r,e),void 0===o&&(o=kh(n,r,t)),Md.get(t)===Ed)s=function(t){return{fill:Eh(t,"fill"),stroke:Eh(t,"stroke")}}(n),i=void 0===i?function(t){return wd(t.fill)?it:at}(s):ld(i,Nd);else if(Md.get(t)===jd&&(void 0!==i||"ordinal"!==e&&e!==Sh||(i=function(t,n="greys"){const e=new Set,[r,o]=Yd(n,2);for(const n of t)if(null!=n)if(!0===n)e.add(o);else{if(!1!==n)return;e.add(r)}return[...e]}(o,a),void 0!==i&&(a=void 0)),void 0===a&&void 0===i&&(a="ordinal"===e?"turbo":"tableau10"),void 0!==a))if(void 0!==i){const t=Kd(a),n=i[0],e=i[1]-i[0];i=({length:r})=>L((r=>t(n+e*r)),r)}else i=Vd(a);if(c===Q)throw new Error(`implicit unknown on ${t} scale is not supported`);return jh(t,tt().unknown(c),n,{...u,type:e,domain:o,range:i,hint:s})}function Oh(t,n,e,r){let{round:o}=e;return void 0!==o&&t.round(o=!!o),(t=jh(r,t,n,e)).round=o,t}function kh(t,n,e){const r=new rt;for(const{value:n,domain:e}of t){if(void 0!==e)return e();if(void 0!==n)for(const t of n)r.add(t)}if(void 0!==n){const[t,e]=F(r).map(n.floor,n);return n.range(t,n.offset(e))}if(r.size>1e4&&Md.get(e)===Sd)throw new Error(`implicit ordinal domain of ${e} scale has more than 10,000 values`);return ot(r,Up)}function Eh(t,n){let e;for(const{hint:r}of t){const t=r?.[n];if(void 0!==t)if(void 0===e)e=t;else if(e!==t)return}return e}function Mh(t,n,e){return function(t,n=[],e={}){const r=function(t,n,{type:e,domain:r,range:o,scheme:i,pivot:a,projection:c}){if("fx"===t||"fy"===t)return"band";"x"!==t&&"y"!==t||null==c||(e=Th);for(const{type:t}of n)if(void 0!==t)if(void 0===e)e=t;else if(e!==t)throw new Error(`scale incompatible with channel: ${e} !== ${t}`);if(e===Th)return;if(void 0!==e)return e;if(void 0===r&&!n.some((({value:t})=>void 0!==t)))return;const u=Md.get(t);if(u===$d)return"sqrt";if(u===kd||u===Od)return"linear";if(u===Ed)return"ordinal";if((r||o||[]).length>2)return Nh(u);if(void 0!==r)return yd(r)?Nh(u):gd(r)?"utc":u!==jd||null==a&&!Zd(i)?"linear":"diverging";const s=n.map((({value:t})=>t)).filter((t=>void 0!==t));return s.some(yd)?Nh(u):s.some(gd)?"utc":u!==jd||null==a&&!Zd(i)?"linear":"diverging"}(t,n,e);if(void 0===e.type&&void 0===e.domain&&void 0===e.range&&null==e.interval&&"fx"!==t&&"fy"!==t&&Ph({type:r})){const e=n.map((({value:t})=>t)).filter((t=>void 0!==t));e.some(gd)?Pd(`Warning: some data associated with the ${t} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${xh(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${t} scale to "${xh(r)}".`):e.some(vd)?Pd(`Warning: some data associated with the ${t} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${xh(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${t} scale to "${xh(r)}".`):e.some(md)&&Pd(`Warning: some data associated with the ${t} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${xh(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${t} scale to "${xh(r)}".`)}switch(e.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":e=Ch(n,e,rd);break;case"identity":switch(Md.get(t)){case Sd:e=Ch(n,e,rd);break;case Ed:e=Ch(n,e,Rh)}break;case"utc":case"time":e=Ch(n,e,id)}switch(r){case"diverging":return function(t,n,e){return hh(t,V(),vh,n,e)}(t,n,e);case"diverging-sqrt":return function(t,n,e){return yh(t,n,{...e,exponent:.5})}(t,n,e);case"diverging-pow":return yh(t,n,e);case"diverging-log":return function(t,n,{base:e=10,pivot:r=1,domain:o=ah(n,r<0?Bp:Wp),...i}){return hh(t,J().base(e=+e),mh,n,{domain:o,pivot:r,...i})}(t,n,e);case"diverging-symlog":return gh(t,n,e);case"categorical":case"ordinal":case Sh:return $h(t,n,e);case"cyclical":case"sequential":case"linear":return function(t,n,e){return rh(t,R(),n,e)}(t,n,e);case"sqrt":return function(t,n,e){return oh(t,n,{...e,exponent:.5})}(t,n,e);case"threshold":return ih(t,0,e);case"quantile":return function(t,n,{range:e,quantiles:r=(void 0===e?5:(e=[...e]).length),n:o=r,scheme:i="rdylbu",domain:a=ph(n),unknown:c,interpolate:u,reverse:s}){return void 0===e&&(e=void 0!==u?L(u,o):Md.get(t)===jd?Yd(i,o):void 0),a.length>0&&(a=q(a,void 0===e?{length:o}:e).quantiles()),ih(t,0,{domain:a,range:e,reverse:s,unknown:c})}(t,n,e);case"quantize":return function(t,n,{range:e,n:r=(void 0===e?5:(e=[...e]).length),scheme:o="rdylbu",domain:i=ch(t,n),unknown:a,interpolate:c,reverse:u}){const[s,l]=F(i);let f;return void 0===e?(f=_(s,l,r),f[0]<=s&&f.splice(0,1),f[f.length-1]>=l&&f.pop(),r=f.length+1,e=void 0!==c?L(c,r):Md.get(t)===jd?Yd(o,r):void 0):(f=L(U(s,l),r+1).slice(1,-1),s instanceof Date&&(f=f.map((t=>new Date(t))))),bd(sd(i))<0&&f.reverse(),ih(t,0,{domain:f,range:e,reverse:u,unknown:a})}(t,n,e);case"pow":return oh(t,n,e);case"log":return function(t,n,{base:e=10,domain:r=fh(n),...o}){return rh(t,A().base(e),n,{...o,domain:r})}(t,n,e);case"symlog":return function(t,n,{constant:e=1,...r}){return rh(t,D().constant(e),n,r)}(t,n,e);case"utc":return function(t,n,e){return bh(t,Z(),n,e)}(t,n,e);case"time":return function(t,n,e){return bh(t,X(),n,e)}(t,n,e);case"point":return function(t,n,{align:e=.5,padding:r=.5,...o}){return Oh(nt().align(e).padding(r),n,o,t)}(t,n,e);case"band":return function(t,n,{align:e=.5,padding:r=.1,paddingInner:o=r,paddingOuter:i=("fx"===t||"fy"===t?0:r),...a}){return Oh(et().align(e).paddingInner(o).paddingOuter(i),n,a,t)}(t,n,e);case"identity":return Md.get(t)===Sd?{type:"identity",scale:G()}:{type:"identity"};case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}(t,void 0===e?void 0:[{hint:e}],{...n})}function xh(t){return"symbol"==typeof t?t.description:t}const Th={toString:()=>"projection"};function Nh(t){switch(t){case Sd:return"point";case jd:return Sh;default:return"ordinal"}}function Ph({type:t}){return"ordinal"===t||"point"===t||"band"===t||t===Sh}function Ch(t,{domain:n,...e},r){for(const n of t)void 0!==n.value&&(n.value=r(n.value));return{domain:void 0===n?n:r(n),...e}}function Rh(t){return ld(t,Nd)}const Ih=function(t){let n,e;return(...r)=>((e?.length!==r.length||e.some(((t,n)=>t!==r[n])))&&(e=r,n=t(...r)),n)}((t=>new Intl.NumberFormat(t)));function Ah(t){return Gp(t,"Invalid Date")}function Dh(t,n){if((t=nd(t))!==n)return t}!function(t="en-US"){const n=function(t="en-US"){const n=Ih(t);return t=>null==t||isNaN(t)?void 0:n.format(t)}(t)}();const Lh=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function qh(t){if(void 0===t)return"plot-d6a7b5";if(t=`${t}`,!Lh.test(t))throw new Error(`invalid class name: ${t}`);return t}function Fh(t,n){if("string"==typeof n)t.property("style",n);else if(null!=n)for(const e of t)Object.assign(e.style,n)}function _h(t){return Ph(t)&&void 0===t.interval?void 0:"tabular-nums"}function Uh(t,n){if(null==n)return n;const e=t(n);if(!e)throw new Error(`scale not found: ${n}`);return e}function zh(t,n={},e){let{columns:r,tickFormat:o,fontVariant:i=_h(t),swatchSize:a=15,swatchWidth:c=a,swatchHeight:u=a,marginLeft:s=0,className:l,style:f,width:p}=n;const d=Fd(n);l=qh(l),o=function(t,n){return void 0===t?gd(n)?Ah:nd:"function"==typeof t?t:("string"==typeof t?gd(n)?Tt:ut:ed)(t)}(o,t.domain);const h=_d("div",d).attr("class",`${l}-swatches ${l}-swatches-${null!=r?"columns":"wrap"}`);let y;return null!=r?(y=`.${l}-swatches-columns .${l}-swatch {\n display: flex;\n align-items: center;\n break-inside: avoid;\n padding-bottom: 1px;\n}\n.${l}-swatches-columns .${l}-swatch::before {\n flex-shrink: 0;\n}\n.${l}-swatches-columns .${l}-swatch-label {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}`,h.style("columns",r).selectAll().data(t.domain).enter().append("div").attr("class",`${l}-swatch`).call(e,t,c,u).call((t=>t.append("div").attr("class",`${l}-swatch-label`).attr("title",o).text(o)))):(y=`.${l}-swatches-wrap {\n display: flex;\n align-items: center;\n min-height: 33px;\n flex-wrap: wrap;\n}\n.${l}-swatches-wrap .${l}-swatch {\n display: inline-flex;\n align-items: center;\n margin-right: 1em;\n}`,h.selectAll().data(t.domain).enter().append("span").attr("class",`${l}-swatch`).call(e,t,c,u).append((function(){return this.ownerDocument.createTextNode(o.apply(this,arguments))}))),h.call((t=>t.insert("style","*").text(`.${l}-swatches {\n font-family: system-ui, sans-serif;\n font-size: 10px;\n margin-bottom: 0.5em;\n}\n.${l}-swatch > svg {\n margin-right: 0.5em;\n overflow: visible;\n}\n${y}`))).style("margin-left",s?+s+"px":null).style("width",void 0===p?null:+p+"px").style("font-variant",Dh(i,"normal")).call(Fh,f).node()}const Wh=new Map([["symbol",function(t,{fill:n=(void 0!==t.hint?.fill?t.hint.fill:"none"),fillOpacity:e=1,stroke:r=(void 0!==t.hint?.stroke?t.hint.stroke:wd(n)?"currentColor":"none"),strokeOpacity:o=1,strokeWidth:i=1.5,r:a=4.5,...c}={},u){const[s,l]=cd(n),[f,p]=cd(r),d=Uh(u,s),h=Uh(u,f),y=a*a*Math.PI;return e=ud(e)[1],o=ud(o)[1],i=ud(i)[1],zh(t,c,((n,r,a,c)=>n.append("svg").attr("viewBox","-8 -8 16 16").attr("width",a).attr("height",c).attr("fill","color"===s?t=>d.scale(t):l).attr("fill-opacity",e).attr("stroke","color"===f?t=>h.scale(t):p).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",(n=>{const e=Nt();return t.scale(n).draw(e,y),e}))))}],["color",Gh],["opacity",function({type:t,interpolate:n,...e},{legend:r=!0,color:o=N(0,0,0),...i}){if(!n)throw new Error(`${t} opacity scales are not supported`);!0===r&&(r="ramp");if("ramp"!==`${r}`.toLowerCase())throw new Error(`${r} opacity legends are not supported`);return Gh({type:t,...e,interpolate:Hh(o)},{legend:r,...i})}]]);function Bh({className:t,...n},{label:e,ticks:r,tickFormat:o}={},i){return function(t={},...n){let e=t;for(const r of n)for(const n in r)if(void 0===e[n]){const o=r[n];e===t?e={...e,[n]:o}:e[n]=o}return e}(i,{className:t,...n},{label:e,ticks:r,tickFormat:o})}function Gh(t,{legend:n=!0,...e}){if(!0===n&&(n="ordinal"===t.type?"swatches":"ramp"),void 0!==t.domain)switch(`${n}`.toLowerCase()){case"swatches":return function(t,{opacity:n,...e}={}){if(!Ph(t)&&!function({type:t}){return"threshold"===t}(t))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${t.type})`);return zh(t,e,((t,e,r,o)=>t.append("svg").attr("width",r).attr("height",o).attr("fill",e.scale).attr("fill-opacity",ud(n)[1]).append("rect").attr("width","100%").attr("height","100%")))}(t,e);case"ramp":return function(t,n){let{label:e=t.label,tickSize:r=6,width:o=240,height:i=44+r,marginTop:a=18,marginRight:c=0,marginBottom:u=16+r,marginLeft:s=0,style:l,ticks:f=(o-s-c)/64,tickFormat:p,fontVariant:d=_h(t),round:h=!0,opacity:y,className:g}=n;const v=Fd(n);g=qh(g),y=ud(y)[1],null===p&&(p=()=>null);const m=_d("svg",v).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call((t=>t.append("style").text(`.${g}-ramp {\n display: block;\n background: white;\n height: auto;\n height: intrinsic;\n max-width: 100%;\n overflow: visible;\n}\n.${g}-ramp text {\n white-space: pre;\n}`))).call(Fh,l);let w,b=t=>t.selectAll(".tick line").attr("y1",a+u-i);const S=h?(t,n)=>t.rangeRound(n):(t,n)=>t.range(n),{type:j,domain:$,range:O,interpolate:k,scale:E,pivot:M}=t;if(k){const t=void 0===O?k:ct(1===k.length?dh(k):k,O);w=S(E.copy(),L(U(s,o-c),Math.min($.length+(void 0!==M),void 0===O?1/0:O.length)));const n=256,e=v.document.createElement("canvas");e.width=n,e.height=1;const r=e.getContext("2d");for(let e=0,o=n-1;et:"string"==typeof p?ut(p):p;w=S(R().domain([-1,O.length-1]),[s,o-c]),m.append("g").attr("fill-opacity",y).selectAll().data(O).enter().append("rect").attr("x",((t,n)=>w(n-1))).attr("y",a).attr("width",((t,n)=>w(n)-w(n-1))).attr("height",i-a-u).attr("fill",(t=>t)),f=ld(t,((t,n)=>n)),p=e=>n(t[e],e)}else w=S(et().domain($),[s,o-c]),m.append("g").attr("fill-opacity",y).selectAll().data($).enter().append("rect").attr("x",w).attr("y",a).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-a-u).attr("fill",E),b=()=>{};return m.append("g").attr("transform",`translate(0,${i-u})`).call(st(w).ticks(Array.isArray(f)?null:f,"string"==typeof p?p:void 0).tickFormat("function"==typeof p?p:void 0).tickSize(r).tickValues(Array.isArray(f)?f:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Dh(d,"normal")).call(b).call((t=>t.select(".domain").remove())),void 0!==e&&m.append("text").attr("x",s).attr("y",a-6).attr("fill","currentColor").attr("font-weight","bold").text(e),m.node()}(t,e);default:throw new Error(`unknown legend type: ${n}`)}}function Hh(t){const{r:n,g:e,b:r}=N(t)||N(0,0,0);return t=>`rgba(${n},${e},${r},${t})`}var Vh="#ch-plugin-legend",Yh={enabled:!0,itemSelector:null,label:null,width:130},Jh=function(){function n(t){!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,n),this.name="Legend",this.calendar=t,this.root=null,this.shown=!1,this.options=Yh}var e,r,o;return e=n,r=[{key:"setup",value:function(t){this.options=Object.assign(Object.assign({},Yh),t)}},{key:"paint",value:function(){var n=this.calendar.options.options.scale,e=this.options,r=e.enabled,o=e.itemSelector;if(!r||o&&t(o).empty())return this.destroy();this.shown=!0,this.root=t(o||this.calendar.options.options.itemSelector),this.root.select(Vh).empty()?this.root=this.root.append("div").attr("id",Vh.slice(1)):this.root=this.root.select(Vh);var i=function(t={}){for(const[n,e]of Wh){const r=t[n];if(pd(r)){const o=Fd(t);let i;if("symbol"===n){const{fill:n,stroke:e=(void 0===n&&pd(t.color)?"color":void 0)}=t;i={fill:n,stroke:e}}return e(Mh(n,r,i),Bh(o,r,t),(n=>pd(t[n])?Mh(n,t[n]):null))}}throw new Error("unknown legend type; no scale found")}(Object.assign(Object.assign({},n),this.options));return this.root.selectAll("*").remove(),this.root.append((function(){return i})),Promise.resolve()}},{key:"destroy",value:function(){return null!==this.root&&(this.root.remove(),this.root=null),Promise.resolve()}}],r&&Se(e.prototype,r),o&&Se(e,o),Object.defineProperty(e,"prototype",{writable:!1}),n}();export{Jh as default}; diff --git a/docs/_npm/cal-heatmap@4.2.4/plugins/Tooltip.37672654.js b/docs/_npm/cal-heatmap@4.2.4/plugins/Tooltip.37672654.js new file mode 100644 index 0000000..926c87e --- /dev/null +++ b/docs/_npm/cal-heatmap@4.2.4/plugins/Tooltip.37672654.js @@ -0,0 +1,7 @@ +/** + * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.37.0. + * Original file: /npm/cal-heatmap@4.2.4/dist/plugins/Tooltip.esm.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +import{createPopper as t}from"../../@popperjs/core@2.11.8/10f7bcb4.js";var e="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&g[0]<4?1:+(g[0]+g[1])),!w&&nt&&(!(g=nt.match(/Edge\/(\d+)/))||g[1]>=74)&&(g=nt.match(/Chrome\/(\d+)/))&&(w=+g[1]);var ut=w,at=ut,ft=f,st=u.String,lt=!!Object.getOwnPropertySymbols&&!ft((function(){var t=Symbol("symbol detection");return!st(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&at&&at<41})),pt=lt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ht=Q,vt=q,dt=Z,yt=Object,bt=pt?function(t){return"symbol"==typeof t}:function(t){var e=ht("Symbol");return vt(e)&&dt(e.prototype,yt(t))},mt=String,gt=function(t){try{return mt(t)}catch(t){return"Object"}},wt=q,Ot=gt,St=TypeError,jt=function(t){if(wt(t))return t;throw new St(Ot(t)+" is not a function")},Tt=jt,Et=_,Pt=function(t,e){var n=t[e];return Et(n)?void 0:Tt(n)},At=v,Ct=q,It=X,xt=TypeError,Lt={exports:{}},Rt=u,kt=Object.defineProperty,Mt=function(t,e){try{kt(Rt,t,{value:e,configurable:!0,writable:!0})}catch(n){Rt[t]=e}return e},Nt=Mt,_t="__core-js_shared__",Dt=u[_t]||Nt(_t,{}),Ft=Dt;(Lt.exports=function(t,e){return Ft[t]||(Ft[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.34.0",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.34.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Bt=Lt.exports,Gt=B,Ut=Object,zt=function(t){return Ut(Gt(t))},Wt=zt,Ht=P({}.hasOwnProperty),Vt=Object.hasOwn||function(t,e){return Ht(Wt(t),e)},qt=P,Jt=0,Kt=Math.random(),Xt=qt(1..toString),Yt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+Xt(++Jt+Kt,36)},$t=Bt,Qt=Vt,Zt=Yt,te=lt,ee=pt,ne=u.Symbol,re=$t("wks"),oe=ee?ne.for||ne:ne&&ne.withoutSetter||Zt,ie=function(t){return Qt(re,t)||(re[t]=te&&Qt(ne,t)?ne[t]:oe("Symbol."+t)),re[t]},ce=v,ue=X,ae=bt,fe=Pt,se=function(t,e){var n,r;if("string"===e&&Ct(n=t.toString)&&!It(r=At(n,t)))return r;if(Ct(n=t.valueOf)&&!It(r=At(n,t)))return r;if("string"!==e&&Ct(n=t.toString)&&!It(r=At(n,t)))return r;throw new xt("Can't convert object to primitive value")},le=TypeError,pe=ie("toPrimitive"),he=function(t,e){if(!ue(t)||ae(t))return t;var n,r=fe(t,pe);if(r){if(void 0===e&&(e="default"),n=ce(r,t,e),!ue(n)||ae(n))return n;throw new le("Can't convert object to primitive value")}return void 0===e&&(e="number"),se(t,e)},ve=bt,de=function(t){var e=he(t,"string");return ve(e)?e:e+""},ye=X,be=u.document,me=ye(be)&&ye(be.createElement),ge=function(t){return me?be.createElement(t):{}},we=ge,Oe=!s&&!f((function(){return 7!==Object.defineProperty(we("div"),"a",{get:function(){return 7}}).a})),Se=s,je=v,Te=d,Ee=O,Pe=z,Ae=de,Ce=Vt,Ie=Oe,xe=Object.getOwnPropertyDescriptor;a.f=Se?xe:function(t,e){if(t=Pe(t),e=Ae(e),Ie)try{return xe(t,e)}catch(t){}if(Ce(t,e))return Ee(!je(Te.f,t,e),t[e])};var Le={},Re=s&&f((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),ke=X,Me=String,Ne=TypeError,_e=function(t){if(ke(t))return t;throw new Ne(Me(t)+" is not an object")},De=s,Fe=Oe,Be=Re,Ge=_e,Ue=de,ze=TypeError,We=Object.defineProperty,He=Object.getOwnPropertyDescriptor,Ve="enumerable",qe="configurable",Je="writable";Le.f=De?Be?function(t,e,n){if(Ge(t),e=Ue(e),Ge(n),"function"==typeof t&&"prototype"===e&&"value"in n&&Je in n&&!n[Je]){var r=He(t,e);r&&r[Je]&&(t[e]=n.value,n={configurable:qe in n?n[qe]:r[qe],enumerable:Ve in n?n[Ve]:r[Ve],writable:!1})}return We(t,e,n)}:We:function(t,e,n){if(Ge(t),e=Ue(e),Ge(n),Fe)try{return We(t,e,n)}catch(t){}if("get"in n||"set"in n)throw new ze("Accessors not supported");return"value"in n&&(t[e]=n.value),t};var Ke=Le,Xe=O,Ye=s?function(t,e,n){return Ke.f(t,e,Xe(1,n))}:function(t,e,n){return t[e]=n,t},$e={exports:{}},Qe=s,Ze=Vt,tn=Function.prototype,en=Qe&&Object.getOwnPropertyDescriptor,nn=Ze(tn,"name"),rn={EXISTS:nn,PROPER:nn&&"something"===function(){}.name,CONFIGURABLE:nn&&(!Qe||Qe&&en(tn,"name").configurable)},on=q,cn=Dt,un=P(Function.toString);on(cn.inspectSource)||(cn.inspectSource=function(t){return un(t)});var an,fn,sn,ln=cn.inspectSource,pn=q,hn=u.WeakMap,vn=pn(hn)&&/native code/.test(String(hn)),dn=Yt,yn=Bt("keys"),bn=function(t){return yn[t]||(yn[t]=dn(t))},mn={},gn=vn,wn=u,On=X,Sn=Ye,jn=Vt,Tn=Dt,En=bn,Pn=mn,An="Object already initialized",Cn=wn.TypeError,In=wn.WeakMap;if(gn||Tn.state){var xn=Tn.state||(Tn.state=new In);xn.get=xn.get,xn.has=xn.has,xn.set=xn.set,an=function(t,e){if(xn.has(t))throw new Cn(An);return e.facade=t,xn.set(t,e),e},fn=function(t){return xn.get(t)||{}},sn=function(t){return xn.has(t)}}else{var Ln=En("state");Pn[Ln]=!0,an=function(t,e){if(jn(t,Ln))throw new Cn(An);return e.facade=t,Sn(t,Ln,e),e},fn=function(t){return jn(t,Ln)?t[Ln]:{}},sn=function(t){return jn(t,Ln)}}var Rn={set:an,get:fn,has:sn,enforce:function(t){return sn(t)?fn(t):an(t,{})},getterFor:function(t){return function(e){var n;if(!On(e)||(n=fn(e)).type!==t)throw new Cn("Incompatible receiver, "+t+" required");return n}}},kn=P,Mn=f,Nn=q,_n=Vt,Dn=s,Fn=rn.CONFIGURABLE,Bn=ln,Gn=Rn.enforce,Un=Rn.get,zn=String,Wn=Object.defineProperty,Hn=kn("".slice),Vn=kn("".replace),qn=kn([].join),Jn=Dn&&!Mn((function(){return 8!==Wn((function(){}),"length",{value:8}).length})),Kn=String(String).split("String"),Xn=$e.exports=function(t,e,n){"Symbol("===Hn(zn(e),0,7)&&(e="["+Vn(zn(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),n&&n.getter&&(e="get "+e),n&&n.setter&&(e="set "+e),(!_n(t,"name")||Fn&&t.name!==e)&&(Dn?Wn(t,"name",{value:e,configurable:!0}):t.name=e),Jn&&n&&_n(n,"arity")&&t.length!==n.arity&&Wn(t,"length",{value:n.arity});try{n&&_n(n,"constructor")&&n.constructor?Dn&&Wn(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var r=Gn(t);return _n(r,"source")||(r.source=qn(Kn,"string"==typeof e?e:"")),t};Function.prototype.toString=Xn((function(){return Nn(this)&&Un(this).source||Bn(this)}),"toString");var Yn=$e.exports,$n=q,Qn=Le,Zn=Yn,tr=Mt,er=function(t,e,n,r){r||(r={});var o=r.enumerable,i=void 0!==r.name?r.name:e;if($n(n)&&Zn(n,i,r),r.global)o?t[e]=n:tr(e,n);else{try{r.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=n:Qn.f(t,e,{value:n,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return t},nr={},rr=Math.ceil,or=Math.floor,ir=Math.trunc||function(t){var e=+t;return(e>0?or:rr)(e)},cr=function(t){var e=+t;return e!=e||0===e?0:ir(e)},ur=cr,ar=Math.max,fr=Math.min,sr=function(t,e){var n=ur(t);return n<0?ar(n+e,0):fr(n,e)},lr=cr,pr=Math.min,hr=function(t){return t>0?pr(lr(t),9007199254740991):0},vr=function(t){return hr(t.length)},dr=z,yr=sr,br=vr,mr=function(t){return function(e,n,r){var o,i=dr(e),c=br(i),u=yr(r,c);if(t&&n!=n){for(;c>u;)if((o=i[u++])!=o)return!0}else for(;c>u;u++)if((t||u in i)&&i[u]===n)return t||u||0;return!t&&-1}},gr={includes:mr(!0),indexOf:mr(!1)},wr=Vt,Or=z,Sr=gr.indexOf,jr=mn,Tr=P([].push),Er=function(t,e){var n,r=Or(t),o=0,i=[];for(n in r)!wr(jr,n)&&wr(r,n)&&Tr(i,n);for(;e.length>o;)wr(r,n=e[o++])&&(~Sr(i,n)||Tr(i,n));return i},Pr=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ar=Er,Cr=Pr.concat("length","prototype");nr.f=Object.getOwnPropertyNames||function(t){return Ar(t,Cr)};var Ir={};Ir.f=Object.getOwnPropertySymbols;var xr=Q,Lr=nr,Rr=Ir,kr=_e,Mr=P([].concat),Nr=xr("Reflect","ownKeys")||function(t){var e=Lr.f(kr(t)),n=Rr.f;return n?Mr(e,n(t)):e},_r=Vt,Dr=Nr,Fr=a,Br=Le,Gr=f,Ur=q,zr=/#|\.prototype\./,Wr=function(t,e){var n=Vr[Hr(t)];return n===Jr||n!==qr&&(Ur(e)?Gr(e):!!e)},Hr=Wr.normalize=function(t){return String(t).replace(zr,".").toLowerCase()},Vr=Wr.data={},qr=Wr.NATIVE="N",Jr=Wr.POLYFILL="P",Kr=Wr,Xr=u,Yr=a.f,$r=Ye,Qr=er,Zr=Mt,to=function(t,e,n){for(var r=Dr(e),o=Br.f,i=Fr.f,c=0;c9007199254740991)throw io("Maximum allowed index exceeded");return t},$o=fo,Qo=Go,Zo=function(t){return zo>=51||!Uo((function(){var e=[];return(e.constructor={})[Wo]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ti=ut,ei=ie("isConcatSpreadable"),ni=ti>=51||!Vo((function(){var t=[];return t[ei]=!1,t.concat()[0]!==t})),ri=function(t){if(!Jo(t))return!1;var e=t[ei];return void 0!==e?!!e:qo(t)};Ho({target:"Array",proto:!0,arity:1,forced:!ni||!Zo("concat")},{concat:function(t){var e,n,r,o,i,c=Ko(this),u=Qo(c,0),a=0;for(e=-1,r=arguments.length;eo;)for(var u,a=Pi(arguments[o++]),f=i?Ii(Si(a),i(a)):Si(a),s=f.length,l=0;s>l;)u=f[l++],mi&&!wi(c,a,u)||(n[u]=a[u]);return n}:Ai,Li=xi;no({target:"Object",stat:!0,arity:2,forced:Object.assign!==Li},{assign:Li});var Ri=go,ki=lo?{}.toString:function(){return"[object "+Ri(this)+"]"};lo||er(Object.prototype,"toString",ki,{unsafe:!0});var Mi,Ni,_i,Di,Fi="process"===x(u.process),Bi=P,Gi=jt,Ui=q,zi=String,Wi=TypeError,Hi=function(t,e,n){try{return Bi(Gi(Object.getOwnPropertyDescriptor(t,e)[n]))}catch(t){}},Vi=_e,qi=function(t){if("object"==typeof t||Ui(t))return t;throw new Wi("Can't set "+zi(t)+" as a prototype")},Ji=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{(t=Hi(Object.prototype,"__proto__","set"))(n,[]),e=n instanceof Array}catch(t){}return function(n,r){return Vi(n),qi(r),e?t(n,r):n.__proto__=r,n}}():void 0),Ki=Le.f,Xi=Vt,Yi=ie("toStringTag"),$i=function(t,e,n){t&&!n&&(t=t.prototype),t&&!Xi(t,Yi)&&Ki(t,Yi,{configurable:!0,value:e})},Qi=Q,Zi=ci,tc=s,ec=ie("species"),nc=Z,rc=TypeError,oc=function(t,e){if(nc(e,t))return t;throw new rc("Incorrect invocation")},ic=ko,cc=gt,uc=TypeError,ac=_e,fc=function(t){if(ic(t))return t;throw new uc(cc(t)+" is not a constructor")},sc=_,lc=ie("species"),pc=l,hc=Function.prototype,vc=hc.apply,dc=hc.call,yc="object"==typeof Reflect&&Reflect.apply||(pc?dc.bind(vc):function(){return dc.apply(vc,arguments)}),bc=x,mc=P,gc=function(t){if("Function"===bc(t))return mc(t)},wc=jt,Oc=l,Sc=gc(gc.bind),jc=function(t,e){return wc(t),void 0===e?t:Oc?Sc(t,e):function(){return t.apply(e,arguments)}},Tc=Q("document","documentElement"),Ec=P([].slice),Pc=TypeError,Ac=/(?:ipad|iphone|ipod).*applewebkit/i.test(tt),Cc=u,Ic=yc,xc=jc,Lc=q,Rc=Vt,kc=f,Mc=Tc,Nc=Ec,_c=ge,Dc=function(t,e){if(ti;i++)if((u=b(t[i]))&&mf(Tf,u))return u;return new jf(!1)}r=gf(t,o)}for(a=p?t.next:r.next;!(f=hf(a,r)).done;){try{u=b(f.value)}catch(t){Of(r,"throw",t)}if("object"==typeof u&&u&&mf(Tf,u))return u}return new jf(!1)},Pf=ie("iterator"),Af=!1;try{var Cf=0,If={next:function(){return{done:!!Cf++}},return:function(){Af=!0}};If[Pf]=function(){return this},Array.from(If,(function(){throw 2}))}catch(t){}var xf=function(t,e){try{if(!e&&!Af)return!1}catch(t){return!1}var n=!1;try{var r={};r[Pf]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(t){}return n},Lf=Iu,Rf=Vu.CONSTRUCTOR||!xf((function(t){Lf.all(t).then(void 0,(function(){}))})),kf=v,Mf=jt,Nf=qu,_f=Cu,Df=Ef;no({target:"Promise",stat:!0,forced:Rf},{all:function(t){var e=this,n=Nf.f(e),r=n.resolve,o=n.reject,i=_f((function(){var n=Mf(e.resolve),i=[],c=0,u=1;Df(t,(function(t){var a=c++,f=!1;u++,kf(n,e,t).then((function(t){f||(f=!0,i[a]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),n.promise}});var Ff=no,Bf=Vu.CONSTRUCTOR,Gf=Iu,Uf=Q,zf=q,Wf=er,Hf=Gf&&Gf.prototype;if(Ff({target:"Promise",proto:!0,forced:Bf,real:!0},{catch:function(t){return this.then(void 0,t)}}),zf(Gf)){var Vf=Uf("Promise").prototype.catch;Hf.catch!==Vf&&Wf(Hf,"catch",Vf,{unsafe:!0})}var qf=v,Jf=jt,Kf=qu,Xf=Cu,Yf=Ef;no({target:"Promise",stat:!0,forced:Rf},{race:function(t){var e=this,n=Kf.f(e),r=n.reject,o=Xf((function(){var o=Jf(e.resolve);Yf(t,(function(t){qf(o,e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}});var $f=v,Qf=qu;no({target:"Promise",stat:!0,forced:Vu.CONSTRUCTOR},{reject:function(t){var e=Qf.f(this);return $f(e.reject,void 0,t),e.promise}});var Zf=_e,ts=X,es=qu,ns=no,rs=Vu.CONSTRUCTOR,os=function(t,e){if(Zf(t),ts(e)&&e.constructor===t)return e;var n=es.f(t);return(0,n.resolve)(e),n.promise};Q("Promise"),ns({target:"Promise",stat:!0,forced:rs},{resolve:function(t){return os(this,t)}});var is={},cs=s,us=Re,as=Le,fs=_e,ss=z,ls=bi;is.f=cs&&!us?Object.defineProperties:function(t,e){fs(t);for(var n,r=ss(e),o=ls(e),i=o.length,c=0;i>c;)as.f(t,n=o[c++],r[n]);return t};var ps,hs=_e,vs=is,ds=Pr,ys=mn,bs=Tc,ms=ge,gs="prototype",ws="script",Os=bn("IE_PROTO"),Ss=function(){},js=function(t){return"<"+ws+">"+t+""},Ts=function(t){t.write(js("")),t.close();var e=t.parentWindow.Object;return t=null,e},Es=function(){try{ps=new ActiveXObject("htmlfile")}catch(t){}var t,e,n;Es="undefined"!=typeof document?document.domain&&ps?Ts(ps):(e=ms("iframe"),n="java"+ws+":",e.style.display="none",bs.appendChild(e),e.src=String(n),(t=e.contentWindow.document).open(),t.write(js("document.F=Object")),t.close(),t.F):Ts(ps);for(var r=ds.length;r--;)delete Es[gs][ds[r]];return Es()};ys[Os]=!0;var Ps=Object.create||function(t,e){var n;return null!==t?(Ss[gs]=hs(t),n=new Ss,Ss[gs]=null,n[Os]=t):n=Es(),void 0===e?n:vs.f(n,e)},As=ie,Cs=Ps,Is=Le.f,xs=As("unscopables"),Ls=Array.prototype;void 0===Ls[xs]&&Is(Ls,xs,{configurable:!0,value:Cs(null)});var Rs,ks,Ms,Ns=!f((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),_s=Vt,Ds=q,Fs=zt,Bs=Ns,Gs=bn("IE_PROTO"),Us=Object,zs=Us.prototype,Ws=Bs?Us.getPrototypeOf:function(t){var e=Fs(t);if(_s(e,Gs))return e[Gs];var n=e.constructor;return Ds(n)&&e instanceof n?n.prototype:e instanceof Us?zs:null},Hs=f,Vs=q,qs=X,Js=Ws,Ks=er,Xs=ie("iterator"),Ys=!1;[].keys&&("next"in(Ms=[].keys())?(ks=Js(Js(Ms)))!==Object.prototype&&(Rs=ks):Ys=!0);var $s=!qs(Rs)||Hs((function(){var t={};return Rs[Xs].call(t)!==t}));$s&&(Rs={}),Vs(Rs[Xs])||Ks(Rs,Xs,(function(){return this}));var Qs={IteratorPrototype:Rs,BUGGY_SAFARI_ITERATORS:Ys},Zs=Qs.IteratorPrototype,tl=Ps,el=O,nl=$i,rl=qa,ol=function(){return this},il=no,cl=v,ul=q,al=function(t,e,n,r){var o=e+" Iterator";return t.prototype=tl(Zs,{next:el(+!r,n)}),nl(t,o,!1),rl[o]=ol,t},fl=Ws,sl=Ji,ll=$i,pl=Ye,hl=er,vl=qa,dl=rn.PROPER,yl=rn.CONFIGURABLE,bl=Qs.IteratorPrototype,ml=Qs.BUGGY_SAFARI_ITERATORS,gl=ie("iterator"),wl="keys",Ol="values",Sl="entries",jl=function(){return this},Tl=function(t,e,n,r,o,i,c){al(n,e,r);var u,a,f,s=function(t){if(t===o&&d)return d;if(!ml&&t&&t in h)return h[t];switch(t){case wl:case Ol:case Sl:return function(){return new n(this,t)}}return function(){return new n(this)}},l=e+" Iterator",p=!1,h=t.prototype,v=h[gl]||h["@@iterator"]||o&&h[o],d=!ml&&v||s(o),y="Array"===e&&h.entries||v;if(y&&(u=fl(y.call(new t)))!==Object.prototype&&u.next&&(fl(u)!==bl&&(sl?sl(u,bl):ul(u[gl])||hl(u,gl,jl)),ll(u,l,!0)),dl&&o===Ol&&v&&v.name!==Ol&&(yl?pl(h,"name",Ol):(p=!0,d=function(){return cl(v,this)})),o)if(a={values:s(Ol),keys:i?d:s(wl),entries:s(Sl)},c)for(f in a)(ml||p||!(f in h))&&hl(h,f,a[f]);else il({target:e,proto:!0,forced:ml||p},a);return h[gl]!==d&&hl(h,gl,d,{name:o}),vl[e]=d,a},El=function(t,e){return{value:t,done:e}},Pl=z,Al=function(t){Ls[xs][t]=!0},Cl=qa,Il=Rn,xl=Le.f,Ll=Tl,Rl=El,kl=s,Ml="Array Iterator",Nl=Il.set,_l=Il.getterFor(Ml),Dl=Ll(Array,"Array",(function(t,e){Nl(this,{type:Ml,target:Pl(t),index:0,kind:e})}),(function(){var t=_l(this),e=t.target,n=t.index++;if(!e||n>=e.length)return t.target=void 0,Rl(void 0,!0);switch(t.kind){case"keys":return Rl(n,!1);case"values":return Rl(e[n],!1)}return Rl([n,e[n]],!1)}),"values"),Fl=Cl.Arguments=Cl.Array;if(Al("keys"),Al("values"),Al("entries"),kl&&"values"!==Fl.name)try{xl(Fl,"name",{value:"values"})}catch(t){}var Bl=go,Gl=String,Ul=function(t){if("Symbol"===Bl(t))throw new TypeError("Cannot convert a Symbol value to a string");return Gl(t)},zl=P,Wl=cr,Hl=Ul,Vl=B,ql=zl("".charAt),Jl=zl("".charCodeAt),Kl=zl("".slice),Xl=function(t){return function(e,n){var r,o,i=Hl(Vl(e)),c=Wl(n),u=i.length;return c<0||c>=u?t?"":void 0:(r=Jl(i,c))<55296||r>56319||c+1===u||(o=Jl(i,c+1))<56320||o>57343?t?ql(i,c):r:t?Kl(i,c,c+2):o-56320+(r-55296<<10)+65536}},Yl={codeAt:Xl(!1),charAt:Xl(!0)}.charAt,$l=Ul,Ql=Rn,Zl=Tl,tp=El,ep="String Iterator",np=Ql.set,rp=Ql.getterFor(ep);Zl(String,"String",(function(t){np(this,{type:ep,string:$l(t),index:0})}),(function(){var t,e=rp(this),n=e.string,r=e.index;return r>=n.length?tp(void 0,!0):(t=Yl(n,r),e.index+=t.length,tp(t,!1))}));var op={exports:{}},ip={},cp=sr,up=vr,ap=fo,fp=Array,sp=Math.max,lp=x,pp=z,hp=nr.f,vp=function(t,e,n){for(var r=up(t),o=cp(e,r),i=cp(void 0===n?r:n,r),c=fp(sp(i-o,0)),u=0;om;m++)if((u||m in d)&&(h=b(p=d[m],m,v),t))if(e)w[m]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return m;case 2:sh(w,p)}else switch(t){case 4:return!1;case 7:sh(w,p)}return i?-1:r||o?o:w}},ph={forEach:lh(0),map:lh(1),filter:lh(2),some:lh(3),every:lh(4),find:lh(5),findIndex:lh(6),filterReject:lh(7)},hh=P,vh=function(t,e,n){for(var r in e)oh(t,r,e[r],n);return t},dh=Bp.getWeakData,yh=oc,bh=_e,mh=_,gh=X,wh=Ef,Oh=Vt,Sh=Rn.set,jh=Rn.getterFor,Th=ph.find,Eh=ph.findIndex,Ph=hh([].splice),Ah=0,Ch=function(t){return t.frozen||(t.frozen=new Ih)},Ih=function(){this.entries=[]},xh=function(t,e){return Th(t.entries,(function(t){return t[0]===e}))};Ih.prototype={get:function(t){var e=xh(this,t);if(e)return e[1]},has:function(t){return!!xh(this,t)},set:function(t,e){var n=xh(this,t);n?n[1]=e:this.entries.push([t,e])},delete:function(t){var e=Eh(this.entries,(function(e){return e[0]===t}));return~e&&Ph(this.entries,e,1),!!~e}};var Lh={getConstructor:function(t,e,n,r){var o=t((function(t,o){yh(t,i),Sh(t,{type:e,id:Ah++,frozen:void 0}),mh(o)||wh(o,t[r],{that:t,AS_ENTRIES:n})})),i=o.prototype,c=jh(e),u=function(t,e,n){var r=c(t),o=dh(bh(e),!0);return!0===o?Ch(r).set(e,n):o[r.id]=n,t};return vh(i,{delete:function(t){var e=c(this);if(!gh(t))return!1;var n=dh(t);return!0===n?Ch(e).delete(t):n&&Oh(n,e.id)&&delete n[e.id]},has:function(t){var e=c(this);if(!gh(t))return!1;var n=dh(t);return!0===n?Ch(e).has(t):n&&Oh(n,e.id)}}),vh(i,n?{get:function(t){var e=c(this);if(gh(t)){var n=dh(t);return!0===n?Ch(e).get(t):n?n[e.id]:void 0}},set:function(t,e){return u(this,t,e)}}:{add:function(t){return u(this,t,!0)}}),o}};(function(t,e,n){var r=-1!==t.indexOf("Map"),o=-1!==t.indexOf("Weak"),i=r?"set":"add",c=Hp[t],u=c&&c.prototype,a=c,f={},s=function(t){var e=Vp(u[t]);Jp(u,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(o&&!Zp(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return o&&!Zp(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(o&&!Zp(t))&&e(this,0===t?0:t)}:function(t,n){return e(this,0===t?0:t,n),this})};if(qp(t,!$p(c)||!(o||u.forEach&&!th((function(){(new c).entries().next()})))))a=n.getConstructor(e,t,r,i),Kp.enable();else if(qp(t,!0)){var l=new a,p=l[i](o?{}:-0,1)!==l,h=th((function(){l.has(1)})),v=eh((function(t){new c(t)})),d=!o&&th((function(){for(var t=new c,e=5;e--;)t[i](e,e);return!t.has(-0)}));v||((a=e((function(t,e){Yp(t,u);var n=rh(new c,t,a);return Qp(e)||Xp(e,n[i],{that:n,AS_ENTRIES:r}),n}))).prototype=u,u.constructor=a),(h||d)&&(s("delete"),s("has"),r&&s("get")),(d||p)&&s(i),o&&u.clear&&delete u.clear}f[t]=a,Wp({global:!0,constructor:!0,forced:a!==c},f),nh(a,t),o||n.setStrong(a,t,r)})("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Lh);var Rh,kh,Mh,Nh=ge("span").classList,_h=Nh&&Nh.constructor&&Nh.constructor.prototype,Dh=_h===Object.prototype?void 0:_h,Fh=u,Bh={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Gh=Dh,Uh=Dl,zh=Ye,Wh=$i,Hh=ie("iterator"),Vh=Uh.values,qh=function(t,e){if(t){if(t[Hh]!==Vh)try{zh(t,Hh,Vh)}catch(e){t[Hh]=Vh}if(Wh(t,e,!0),Bh[e])for(var n in Uh)if(t[n]!==Uh[n])try{zh(t,n,Uh[n])}catch(e){t[n]=Uh[n]}}};for(var Jh in Bh)qh(Fh[Jh]&&Fh[Jh].prototype,Jh);function Kh(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}qh(Gh,"DOMTokenList");var Xh="#ch-tooltip",Yh={enabled:!0,text:function(t,e,n){return"".concat(e," - ").concat(n.format("LLLL"))}},$h={placement:"top",modifiers:[{name:"offset",options:{offset:[0,8]}}]},Qh={getBoundingClientRect:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return{width:0,height:0,top:e,right:t,bottom:e,left:t,x:t,y:e,toJSON:function(){}}}},Zh=function(){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),Rh.add(this),this.name="Tooltip",this.calendar=t,this.root=null,this.popperInstance=null,this.options=Yh,this.listenerAttached=!1}var r,o,i;return r=e,(o=[{key:"setup",value:function(e){this.options=Object.assign(Object.assign({},Yh),e);var n=this.calendar.eventEmitter;if(!this.options.enabled)return this.listenerAttached&&(n.off("mouseover",this.mouseOverCallback,this),n.off("mouseout",this.mouseOutCallback,this),this.listenerAttached=!1),void this.destroy();if(this.popperOptions=Object.assign(Object.assign({},$h),this.options),this.root=document.getElementById(Xh.slice(1)),!this.root){var r=document.createElement("div");r.setAttribute("id",Xh.slice(1)),r.setAttribute("role","tooltip"),r.innerHTML='
')+''),this.root=document.body.appendChild(r)}this.root.setAttribute("data-theme",this.calendar.options.options.theme),this.popperInstance=t(Qh,this.root,this.popperOptions),this.listenerAttached||(n.on("mouseover",this.mouseOverCallback,this),n.on("mouseout",this.mouseOutCallback,this),this.listenerAttached=!0)}},{key:"mouseOverCallback",value:function(t,e,n){Kh(this,Rh,"m",kh).call(this,t.target,e,n)}},{key:"mouseOutCallback",value:function(){Kh(this,Rh,"m",Mh).call(this)}},{key:"paint",value:function(){return Promise.resolve()}},{key:"destroy",value:function(){return this.root&&this.root.remove(),Promise.resolve()}}])&&n(r.prototype,o),i&&n(r,i),Object.defineProperty(r,"prototype",{writable:!1}),e}();Rh=new WeakSet,kh=function(t,e,n){var o=this,i=this.options.text,c=i?i(e,n,this.calendar.dateHelper.date(e)):null;c&&(Qh.getBoundingClientRect=function(){return t.getBoundingClientRect()},document.getElementById("".concat(Xh.slice(1),"-body")).innerHTML=c,this.popperInstance.setOptions((function(){return Object.assign(Object.assign({},o.popperOptions),{modifiers:[].concat(r(o.popperOptions.modifiers),[{name:"eventListeners",enabled:!0}])})})),this.popperInstance.update(),this.root.setAttribute("data-show","1"))},Mh=function(){var t=this;this.root.removeAttribute("data-show"),this.popperInstance.setOptions((function(){return Object.assign(Object.assign({},t.popperOptions),{modifiers:[].concat(r(t.popperOptions.modifiers),[{name:"eventListeners",enabled:!1}])})}))};export{Zh as default}; diff --git a/docs/elements_tasks.html b/docs/elements_tasks.html index 81565a0..be772e8 100644 --- a/docs/elements_tasks.html +++ b/docs/elements_tasks.html @@ -583,7 +583,7 @@ - +
@@ -627,7 +627,7 @@

Average Completion Time

diff --git a/docs/forms.html b/docs/forms.html index 19d732c..8ac9ca9 100644 --- a/docs/forms.html +++ b/docs/forms.html @@ -313,7 +313,7 @@ - +
@@ -331,7 +331,7 @@

Form Data

diff --git a/docs/index.html b/docs/index.html index dadbb65..108a421 100644 --- a/docs/index.html +++ b/docs/index.html @@ -132,7 +132,7 @@
- +
@@ -181,7 +181,7 @@

diff --git a/docs/people_roles.html b/docs/people_roles.html index 5151163..536bca0 100644 --- a/docs/people_roles.html +++ b/docs/people_roles.html @@ -1358,7 +1358,7 @@

${name} Details

- +

Contributor Information

@@ -1486,7 +1486,7 @@

Forms Submitted

diff --git a/docs/timeline.html b/docs/timeline.html index 11f6f0d..f01cb2e 100644 --- a/docs/timeline.html +++ b/docs/timeline.html @@ -16,6 +16,8 @@ + + @@ -48,6 +50,7 @@ + @@ -60,11 +63,11 @@ registerFile("./data/project_summary.json", {"name":"./data/project_summary.json","mimeType":"application/json","path":"./_file/data/project_summary.8b37e4a5.json","lastModified":1736116661396,"size":16035}); -define({id: "23c74db4", outputs: ["Plot","d3","CalHeatmap"], body: async () => { -const [Plot, d3, {default: CalHeatmap}] = await Promise.all([import("./_npm/@observablehq/plot@0.6.16/e828d8c8.js"), import("./_npm/d3@7.9.0/7055d4c5.js"), import("./_npm/cal-heatmap@4.2.4/fd3e0f70.js")]); +define({id: "ac717d40", outputs: ["Plot","d3","CalHeatmap","Legend","Tooltip"], body: async () => { +const [Plot, d3, {default: CalHeatmap}, {default: Legend}, {default: Tooltip}] = await Promise.all([import("./_npm/@observablehq/plot@0.6.16/e828d8c8.js"), import("./_npm/d3@7.9.0/7055d4c5.js"), import("./_npm/cal-heatmap@4.2.4/fd3e0f70.js"), import("./_npm/cal-heatmap@4.2.4/plugins/Legend.7452c8b2.js"), import("./_npm/cal-heatmap@4.2.4/plugins/Tooltip.37672654.js")]); // imports -return {Plot,d3,CalHeatmap}; +return {Plot,d3,CalHeatmap,Legend,Tooltip}; }}); define({id: "32820104", inputs: ["FileAttachment"], outputs: ["jsonData"], body: (FileAttachment) => { @@ -189,40 +192,6 @@ return {eventsByDate,formattedEvents}; }}); -define({id: "8e6e0f4c", inputs: ["CalHeatmap","formattedEvents","d3"], outputs: ["cal"], body: (CalHeatmap,formattedEvents,d3) => { -const cal = new CalHeatmap(); -cal.paint({ - itemSelector: '#cal-heatmap', - data: { - source: formattedEvents, - x: 'date', - y: 'value', - }, - range: 12, - domain: { - type: 'month', - sort: 'asc', - label: { - position: 'top', - textAlign: 'middle' - } }, - subDomain: { - type: 'day', - //label: 'D', - radius: 2 }, - scale: { - color: { - scheme: 'Greens', - type: 'linear', - domain: [0, d3.max(formattedEvents, d => d.value)], - } }, - date: { - start: new Date(d3.min(formattedEvents, d => new Date(d.date))) - } -}); -return {cal}; -}}); - define({id: "60f6e6f3", inputs: ["$","timelineEvents"], outputs: ["createTimelineEventsTable"], body: ($,timelineEvents) => { function createTimelineEventsTable() { // Create a table container dynamically @@ -315,6 +284,167 @@ return {createTimelineEventsTable}; }}); +define({id: "cabd2913", inputs: ["d3","formattedEvents","CalHeatmap","Legend","Tooltip"], outputs: ["schemes","createDropdownsAndRepaintHeatmap","cal","repaintHeatmap"], body: (d3,formattedEvents,CalHeatmap,Legend,Tooltip) => { +const schemes = { + sequential: [ + 'blues', + 'greens', + 'greys', + 'oranges', + 'purples', + 'reds', + 'bugn', + 'bupu', + 'gnbu', + 'orrd', + 'pubu', + 'pubugn', + 'purd', + 'rdpu', + 'ylgn', + 'ylgnbu', + 'ylorbr', + 'ylorrd', + 'cividis', + 'inferno', + 'magma', + 'plasma', + 'viridis', + 'cubehelix', + 'turbo', + 'warm', + 'cool', + ], + }; + +function createDropdownsAndRepaintHeatmap(containerId, heatmapContainerId) { + const intervals = [ + { value: 0, label: "Year - Month" }, + { value: 1, label: "Year - Week" }, + { value: 2, label: "Year - Day" }, + { value: 3, label: "Month - Week" }, + { value: 4, label: "Month - Day" } + ]; + + const colorSchemes = schemes.sequential; + + const dropdownContainer = document.getElementById(containerId); + dropdownContainer.innerHTML = ` +

Select Time Interval and Color Scheme

+ + + `; + + const intervalSelect = document.getElementById("interval-select"); + intervals.forEach(interval => { + const option = document.createElement("option"); + option.value = interval.value; + option.textContent = interval.label; + intervalSelect.appendChild(option); + }); + intervalSelect.value = "4"; // Default to Month - Day + + const colorSelect = document.getElementById("color-select"); + colorSchemes.forEach(scheme => { + const option = document.createElement("option"); + option.value = scheme; + option.textContent = scheme.charAt(0).toUpperCase() + scheme.slice(1); + colorSelect.appendChild(option); + }); + colorSelect.value = "blues"; + + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + + intervalSelect.addEventListener("change", () => { + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + }); + + colorSelect.addEventListener("change", () => { + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + }); +} + +let cal; + +function repaintHeatmap(intervalIndex, colorScheme, heatmapContainerId) { + document.getElementById(heatmapContainerId).innerHTML = ""; + + const intervals = { + 0: ['year', 'month'], + 1: ['year', 'week'], + 2: ['year', 'day'], + 3: ['month', 'week'], + 4: ['month', 'day'] + }; + + const minDate = d3.min(formattedEvents, d => new Date(d.date)); + const maxDate = new Date(new Date(d3.max(formattedEvents, d => new Date(d.date))).getFullYear(), 11, 31); + + const maxValue = d3.max(formattedEvents, d => d.value) || 20; + + // Calculate min and max years, and the dynamic range of years + const minYear = minDate.getFullYear(); + const maxYear = maxDate.getFullYear(); + const yearRange = maxYear - minYear + 1; // Ensure it covers all years + + // Dynamically determine range: 1 year for "Year-Month" intervals, else use calculated range + let range = intervals[intervalIndex][0] === 'year' ? yearRange : 12; + + const colorDomain = [0, 1, 2, 3, 4, maxValue]; + + cal = new CalHeatmap(); + cal.paint({ + date: { start: minDate, end: maxDate }, + range: range, + data: { + source: formattedEvents, + x: 'date', + y: 'value' + }, + scale: { + color: { type: 'linear', scheme: colorScheme, domain: colorDomain } + }, + itemSelector: `#${heatmapContainerId}`, + domain: { type: intervals[intervalIndex][0] }, + subDomain: { + type: intervals[intervalIndex][1], + width: 15, // Increase cell width + height: 15, + radius: 3, + }, + subDomainTextFormat: "%d", + legend: colorDomain, + legendContainer: "#cal-legend-container", + domainDynamicDimension: false + }, + [ + [ + Legend, + { + container: "#cal-legend-container", + label: "Event Count", + width: 500, + ticks: 5, // Number of legend ticks + padding: [10, 10] // Space around legend + }, + ], + [ + Tooltip, + { + enabled: true, + text: (timestamp, value) => { + const date = new Date(timestamp); + return `Date: ${date.toLocaleDateString()}
Events: ${value || 0}`; + }, + }, + ], +]); +} + +createDropdownsAndRepaintHeatmap("interval-dropdown-container", "cal-heatmap-index"); +return {schemes,createDropdownsAndRepaintHeatmap,cal,repaintHeatmap}; +}}); + @@ -338,6 +468,7 @@ + @@ -345,29 +476,26 @@ - -
+ +
-
-
-
SyntaxError: Unexpected token (214:2)
-
+

Timeline Events

-
+
+
+
+
+
+
- -
    -
  • make scroll and have year at the bottom
  • -
  • add granulatory - but not minute
  • -
  • add a couple color options
  • -
+
diff --git a/src/style.css b/src/style.css index 3e7ec92..f8d5b39 100644 --- a/src/style.css +++ b/src/style.css @@ -347,4 +347,42 @@ a { margin-bottom: 0.25rem; text-wrap: balance; font-size: 22px; - } \ No newline at end of file + } + +.interval-select, .color-scheme-select { + margin-right: 10px; + padding: 5px; + margin-bottom: 10px; + margin-top: 10px; +} + +svg[class^="plot-"][class$="-ramp"] text { + font-size: 14px !important; + font-weight: bold; +} + +.heatmap-navigation { + text-align: center; + margin-top: 10px; +} + +#cal-heatmap-index { + width: 100%; /* Take the full width of the container */ + max-width: 100%; + height: auto; + white-space: nowrap; + position: relative; + font-size: 16px; + margin-left: 10px; +} + +.scrollable-heatmap { + overflow-x: auto; + max-width: 100%; + white-space: nowrap; + padding-bottom: 5px; /*for the scroll bar*/ +} + +.ch-domain-text { + font-size: 14px !important; +} \ No newline at end of file diff --git a/src/timeline.md b/src/timeline.md index 4ca808f..4ac74cf 100644 --- a/src/timeline.md +++ b/src/timeline.md @@ -6,6 +6,7 @@ toc: false + @@ -20,6 +21,8 @@ toc: false import * as Plot from "npm:@observablehq/plot"; import * as d3 from "npm:d3"; import CalHeatmap from "npm:cal-heatmap"; +import Legend from "npm:cal-heatmap/plugins/Legend"; +import Tooltip from "npm:cal-heatmap/plugins/Tooltip"; ``` ```js data @@ -141,39 +144,6 @@ const formattedEvents = eventsByDate.map(([date, value]) => ({ })); ``` -```js create-heatmap -const cal = new CalHeatmap(); -cal.paint({ - itemSelector: '#cal-heatmap', - data: { - source: formattedEvents, - x: 'date', - y: 'value', - }, - range: 12, - domain: { - type: 'month', - sort: 'asc', - label: { - position: 'top', - textAlign: 'middle' - } }, - subDomain: { - type: 'day', - //label: 'D', - radius: 2 }, - scale: { - color: { - scheme: 'Greens', - type: 'linear', - domain: [0, d3.max(formattedEvents, d => d.value)], - } }, - date: { - start: new Date(d3.min(formattedEvents, d => new Date(d.date))) - } -}); -``` - ```js timeline-table function createTimelineEventsTable() { // Create a table container dynamically @@ -266,18 +236,7 @@ createTimelineEventsTable(); ``` ```js calheatmap -function CalHeatmapComponent() { - const intervals = { - 0: ['year', 'month', 4, 10, 20, 5, 2, 'MMMM YYYY'], - 1: ['year', 'week', 2, 5, 25, 0, 2, '[Week #]w YYYY'], - 2: ['year', 'day', 1, 10, 10, 1, 2, 'LL'], - 3: ['month', 'week', 10, 10, 10, 0, 0, '[week of] LL'], - 4: ['month', 'day', 10, 10, 10, 0, 2, 'LL'], - 5: ['day', 'hour', 12, 10, 10, 0, 2, 'LLL'], - 6: ['hour', 'minute', 9, 10, 10, 0, 2, 'LLLL'], - }; - - const schemes = { +const schemes = { sequential: [ 'blues', 'greens', @@ -307,288 +266,133 @@ function CalHeatmapComponent() { 'warm', 'cool', ], - diverging: [ - 'brbg', - 'prgn', - 'piyg', - 'puor', - 'rdbu', - 'rdgy', - 'rdylbu', - 'rdylgn', - 'spectral', - 'burd', - 'buylrd', - ], - cyclical: ['rainbow', 'sinebow'], }; - const dir = { asc: 'Left-to-Right', desc: 'Right-to-left' }; - - const [selectedOption, setSelectedOption] = useState('Diverging'); - const [getCal, setCal] = useState(null); - const [getScheme, setScheme] = useState('prgn'); - const [getDir, setDir] = useState('asc'); - const [getIntervalIndex, setIntervalIndex] = useState(2); - - const scales = { - Diverging: { - color: { type: 'diverging', scheme: getScheme, domain: [-10, 20] }, - }, - Threshold: { - color: { - type: 'threshold', - scheme: getScheme, - domain: [-10, -5, 0, 5, 10, 15, 20], - }, - }, - Linear: { - color: { type: 'linear', scheme: getScheme, domain: [-10, 20] }, - }, - Quantile: { - color: { type: 'quantile', scheme: getScheme, domain: [-10, 20] }, - }, - Quantize: { - color: { type: 'quantize', scheme: getScheme, domain: [-10, 20] }, - }, - }; - const options = { - date: { start: new Date('2013-01-01') }, +function createDropdownsAndRepaintHeatmap(containerId, heatmapContainerId) { + const intervals = [ + { value: 0, label: "Year - Month" }, + { value: 1, label: "Year - Week" }, + { value: 2, label: "Year - Day" }, + { value: 3, label: "Month - Week" }, + { value: 4, label: "Month - Day" } + ]; + + const colorSchemes = schemes.sequential; + + const dropdownContainer = document.getElementById(containerId); + dropdownContainer.innerHTML = ` +

Select Time Interval and Color Scheme

+ + + `; + + const intervalSelect = document.getElementById("interval-select"); + intervals.forEach(interval => { + const option = document.createElement("option"); + option.value = interval.value; + option.textContent = interval.label; + intervalSelect.appendChild(option); + }); + intervalSelect.value = "4"; // Default to Month - Day + + const colorSelect = document.getElementById("color-select"); + colorSchemes.forEach(scheme => { + const option = document.createElement("option"); + option.value = scheme; + option.textContent = scheme.charAt(0).toUpperCase() + scheme.slice(1); + colorSelect.appendChild(option); + }); + colorSelect.value = "blues"; + + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + + intervalSelect.addEventListener("change", () => { + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + }); + + colorSelect.addEventListener("change", () => { + repaintHeatmap(parseInt(intervalSelect.value), colorSelect.value, heatmapContainerId); + }); +} + +let cal; + +function repaintHeatmap(intervalIndex, colorScheme, heatmapContainerId) { + document.getElementById(heatmapContainerId).innerHTML = ""; + + const intervals = { + 0: ['year', 'month'], + 1: ['year', 'week'], + 2: ['year', 'day'], + 3: ['month', 'week'], + 4: ['month', 'day'] + }; + + const minDate = d3.min(formattedEvents, d => new Date(d.date)); + const maxDate = new Date(new Date(d3.max(formattedEvents, d => new Date(d.date))).getFullYear(), 11, 31); + + const maxValue = d3.max(formattedEvents, d => d.value) || 20; + + // Calculate min and max years, and the dynamic range of years + const minYear = minDate.getFullYear(); + const maxYear = maxDate.getFullYear(); + const yearRange = maxYear - minYear + 1; // Ensure it covers all years + + // Dynamically determine range: 1 year for "Year-Month" intervals, else use calculated range + let range = intervals[intervalIndex][0] === 'year' ? yearRange : 12; + + const colorDomain = [0, 1, 2, 3, 4, maxValue]; + + cal = new CalHeatmap(); + cal.paint({ + date: { start: minDate, end: maxDate }, + range: range, data: { - source: formattedEvents, // Use the aggregated timeline data - x: 'date', - y: 'value', + source: formattedEvents, + x: 'date', + y: 'value' }, - scale: scales[selectedOption], - itemSelector: '#cal-heatmap-index', - domain: { - type: intervals[getIntervalIndex][0], - sort: getDir, - }, - subDomain: { - type: intervals[getIntervalIndex][1], - radius: 2, - sort: getDir, - }, - }; - - function paint(options) { - options.domain.type = intervals[getIntervalIndex][0]; - options.domain.sort = getDir; - - options.subDomain.type = intervals[getIntervalIndex][1]; - options.subDomain.width = intervals[getIntervalIndex][3]; - options.subDomain.height = intervals[getIntervalIndex][4]; - options.subDomain.radius = intervals[getIntervalIndex][5]; - options.subDomain.gutter = intervals[getIntervalIndex][6]; - options.subDomain.sort = getDir; - options.range = intervals[getIntervalIndex][2]; - - getCal.paint(options, [ - [ - window.Tooltip, - { - text: function (date, value, dayjsDate) { - return ( - (value ? value + '°C' : 'No data') + - ' on ' + - dayjsDate.format(intervals[getIntervalIndex][7]) - ); - }, - }, - ], - [ - window.Legend, - { - itemSelector: '#cal-heatmap-index-legend', - label: 'Seattle min. temp. (°C)', - }, - ], - ]); - } - - function zoomIn() { - if (getIntervalIndex >= Object.keys(intervals).length - 1) { - return false; - } - - if (getIntervalIndex === Object.keys(intervals).length - 2) { - window.d3.select('#index-zoom-in').classed('disabled', true); - } - - if (getIntervalIndex >= 0) { - window.d3.select('#index-zoom-out').classed('disabled', false); - } - - getCal.destroy().then(() => { - setIntervalIndex(getIntervalIndex + 1); - initCalendar(); - }); - } - - function zoomOut() { - if (getIntervalIndex <= 0) { - return false; - } - - if (getIntervalIndex === 1) { - window.d3.select('#index-zoom-out').classed('disabled', true); - } - - if (getIntervalIndex != Object.keys(intervals).length - 2) { - window.d3.select('#index-zoom-in').classed('disabled', false); - } - - getCal.destroy().then(() => { - setIntervalIndex(getIntervalIndex - 1); - initCalendar(); - }); - } - - function selectScale(e) { - setSelectedOption(e.target.value); - } - - function selectScheme(e) { - setScheme(e.target.value); - } - - function selectDir(e) { - setDir(e.target.value); - } - - function initCalendar() { - const cal = new window.CalHeatmap(); - setCal(cal); - - cal.on('resize', function (nw) { - window.d3 - .select('#cal-heatmap-index-toolbar') - .attr('style', `width: ${nw}px; opacity: 1`); - - window.d3 - .select('#cal-heatmap-index-footer') - .attr('style', `width: ${nw}px; opacity: 1`); - }); - } - - if (getCal === null) { - initCalendar(); - } else { - paint(options); - } - - return ( -
- -
- -
- ); + scale: { + color: { type: 'linear', scheme: colorScheme, domain: colorDomain } + }, + itemSelector: `#${heatmapContainerId}`, + domain: { type: intervals[intervalIndex][0] }, + subDomain: { + type: intervals[intervalIndex][1], + width: 15, // Increase cell width + height: 15, + radius: 3, + }, + subDomainTextFormat: "%d", + legend: colorDomain, + legendContainer: "#cal-legend-container", + domainDynamicDimension: false + }, + [ + [ + Legend, + { + container: "#cal-legend-container", + label: "Event Count", + width: 500, + ticks: 5, // Number of legend ticks + padding: [10, 10] // Space around legend + }, + ], + [ + Tooltip, + { + enabled: true, + text: (timestamp, value) => { + const date = new Date(timestamp); + return `Date: ${date.toLocaleDateString()}
Events: ${value || 0}`; + }, + }, + ], +]); } -CalHeatmapComponent(); +createDropdownsAndRepaintHeatmap("interval-dropdown-container", "cal-heatmap-index"); ```
@@ -596,15 +400,15 @@ CalHeatmapComponent();

Timeline Events

-
+
+
+
+
+
+
-- make scroll and have year at the bottom -- add granulatory - but not minute -- add a couple color options - -