@mozaic-ds/web-components 0.6.2-beta.1 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -3
- package/public/{DataTableDefaultAction.nested-4da4dc44.js → DataTableDefaultAction.nested-483f8bb0.js} +2 -2
- package/public/DataTableDefaultAction.nested-483f8bb0.js.map +1 -0
- package/public/adeo/{DataTableDefaultAction.nested-9f01417d.js → DataTableDefaultAction.nested-90536fe3.js} +2 -2
- package/public/adeo/DataTableDefaultAction.nested-90536fe3.js.map +1 -0
- package/public/adeo/components/accordion/Accordion.js +1 -1
- package/public/adeo/components/accordion/Accordion.js.map +1 -1
- package/public/adeo/components/chart/LineChart.js +1 -1
- package/public/adeo/components/chart/LineChart.js.map +1 -1
- package/public/adeo/components/datatable/DataTable.js +1 -1
- package/public/adeo/components/datatable/DataTable.js.map +1 -1
- package/public/adeo/components/datatable/DataTable.svelte +2 -0
- package/public/adeo/components/datatable/DataTableDefaultAction.nested.js +1 -1
- package/public/adeo/components/datatable/datatable.types.d.ts +1 -0
- package/public/adeo/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/adeo/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
- package/public/adeo/components/fileuploader/FileUploader.js +1 -1
- package/public/adeo/components/fileuploader/FileUploader.js.map +1 -1
- package/public/adeo/components/fileuploader/FileUploader.svelte +7 -0
- package/public/adeo/components/link/Link.js +1 -1
- package/public/adeo/components/link/Link.js.map +1 -1
- package/public/adeo/components/link/Link.svelte +1 -1
- package/public/adeo/components/modal/Modal.js +1 -1
- package/public/adeo/components/progressbar/ProgressBar.js +1 -1
- package/public/adeo/components/sidebar/sidebar-feature-group.nested.js +1 -1
- package/public/adeo/components/sidebar/sidebar-feature-group.nested.js.map +1 -1
- package/public/adeo/components/sidebar/sidebar-feature.nested.js +1 -1
- package/public/adeo/components/sidebar/sidebar-feature.nested.js.map +1 -1
- package/public/adeo/components/sidebar/sidebar-section.nested.js +1 -1
- package/public/adeo/components/sidebar/sidebar-section.nested.js.map +1 -1
- package/public/adeo/components/sidebar/sidebar-segment.nested.js +1 -1
- package/public/adeo/components/sidebar/sidebar-segment.nested.js.map +1 -1
- package/public/adeo/components/sidebar-section/sidebar-section.nested.svelte +2 -2
- package/public/adeo/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
- package/public/bricoman/{DataTableDefaultAction.nested-1c046074.js → DataTableDefaultAction.nested-928e5e2d.js} +2 -2
- package/public/bricoman/DataTableDefaultAction.nested-928e5e2d.js.map +1 -0
- package/public/bricoman/components/accordion/Accordion.js +1 -1
- package/public/bricoman/components/accordion/Accordion.js.map +1 -1
- package/public/bricoman/components/chart/LineChart.js +1 -1
- package/public/bricoman/components/chart/LineChart.js.map +1 -1
- package/public/bricoman/components/datatable/DataTable.js +1 -1
- package/public/bricoman/components/datatable/DataTable.js.map +1 -1
- package/public/bricoman/components/datatable/DataTable.svelte +2 -0
- package/public/bricoman/components/datatable/DataTableDefaultAction.nested.js +1 -1
- package/public/bricoman/components/datatable/datatable.types.d.ts +1 -0
- package/public/bricoman/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/bricoman/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
- package/public/bricoman/components/fileuploader/FileUploader.js +1 -1
- package/public/bricoman/components/fileuploader/FileUploader.js.map +1 -1
- package/public/bricoman/components/fileuploader/FileUploader.svelte +7 -0
- package/public/bricoman/components/link/Link.js +1 -1
- package/public/bricoman/components/link/Link.js.map +1 -1
- package/public/bricoman/components/link/Link.svelte +1 -1
- package/public/bricoman/components/modal/Modal.js +1 -1
- package/public/bricoman/components/progressbar/ProgressBar.js +1 -1
- package/public/bricoman/components/sidebar/sidebar-section.nested.js.map +1 -1
- package/public/bricoman/components/sidebar/sidebar-segment.nested.js +1 -1
- package/public/bricoman/components/sidebar/sidebar-segment.nested.js.map +1 -1
- package/public/bricoman/components/sidebar-section/sidebar-section.nested.svelte +2 -2
- package/public/bricoman/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
- package/public/components/accordion/Accordion.js +1 -1
- package/public/components/accordion/Accordion.js.map +1 -1
- package/public/components/chart/LineChart.js +1 -1
- package/public/components/chart/LineChart.js.map +1 -1
- package/public/components/datatable/DataTable.js +1 -1
- package/public/components/datatable/DataTable.js.map +1 -1
- package/public/components/datatable/DataTable.svelte +2 -0
- package/public/components/datatable/DataTableDefaultAction.nested.js +1 -1
- package/public/components/datatable/datatable.types.d.ts +1 -0
- package/public/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
- package/public/components/fileuploader/FileUploader.js +1 -1
- package/public/components/fileuploader/FileUploader.js.map +1 -1
- package/public/components/fileuploader/FileUploader.svelte +7 -0
- package/public/components/link/Link.js +1 -1
- package/public/components/link/Link.js.map +1 -1
- package/public/components/link/Link.svelte +1 -1
- package/public/components/modal/Modal.js +1 -1
- package/public/components/progressbar/ProgressBar.js +1 -1
- package/public/components/sidebar/sidebar-section.nested.js.map +1 -1
- package/public/components/sidebar/sidebar-segment.nested.js +1 -1
- package/public/components/sidebar/sidebar-segment.nested.js.map +1 -1
- package/public/components/sidebar-section/sidebar-section.nested.svelte +2 -2
- package/public/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
- package/public/utilities/components/datatable/datatable.types.d.ts +1 -0
- package/public/utilities/components/datatable/datatable.types.d.ts.map +1 -1
- package/public/utilities/stories/fileuploader/FileUploader.stories.d.ts +1 -0
- package/public/utilities/stories/fileuploader/FileUploader.stories.d.ts.map +1 -1
- package/public/DataTableDefaultAction.nested-4da4dc44.js.map +0 -1
- package/public/adeo/DataTableDefaultAction.nested-9f01417d.js.map +0 -1
- package/public/bricoman/DataTableDefaultAction.nested-1c046074.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/accordion/Accordion.svelte"],"sourcesContent":["<svelte:options tag={null} />\n\n<script lang=\"ts\">\n import type { AccordionSize } from './accordion.types';\n import { EventHandler } from '../../utilities/EventHandler';\n\n export let label: string;\n export let size: AccordionSize = 'm';\n export let iconname: string | undefined = undefined;\n export let iconcolor: string | undefined = undefined;\n export let open = false;\n export let disabled = false;\n export let nopadding = false;\n export let checkable = false;\n let eventHandler = new EventHandler();\n $: isOpen = open ? true : false;\n $: userClass = $$props.class;\n $: attributes = { ...$$restProps };\n $: delete attributes.class;\n\n function generateIconName(\n iconname: string,\n iconcolor: string,\n iconsize: string,\n ): string {\n return iconsize === 's'\n ? `${iconname} size=\"1.5rem\"`\n : `${iconname} size=\"2rem\" fill=\"${iconcolor}\"`;\n }\n\n function handleState(): void {\n eventHandler.dispatch('on-heading-click', isOpen);\n isOpen = !isOpen;\n }\n</script>\n\n<div\n class=\"mc-accordion {size ? `mc-accordion--${size}` : ''}\n {isOpen ? ' is-open' : ''}\n {nopadding ? ' mc-accordion--no-padding' : ''}\n {checkable ? ' mc-accordion--checkable' : ''}\n {disabled ? ' is-disabled' : ''} \n {userClass}\"\n {...attributes}\n>\n <div class=\"mc-accordion__header\">\n <slot name=\"beforeLabel\" />\n <h2 class=\"mc-accordion__title\">\n <button\n id=\"m-accordion\"\n class=\"mc-accordion__trigger\"\n type=\"button\"\n aria-controls=\"content\"\n aria-expanded={!isOpen}\n {disabled}\n on:click={handleState}\n >\n {#if iconname}\n <span class=\"mc-accordion__icon\">\n {@html `<${generateIconName(iconname, String(iconcolor), size)} />`}\n </span>\n {/if}\n {label}\n <slot name=\"afterLabel\" />\n </button>\n </h2>\n </div>\n <div\n id=\"content\"\n class=\"mc-accordion__content\"\n aria-hidden={isOpen}\n aria-labelledby=\"m-accordion\"\n >\n <slot />\n </div>\n</div>\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/_all-settings';\n @import '@mozaic-ds/styles/components/c.accordion';\n\n :host {\n display: block;\n }\n</style>\n"],"names":["raw_value","generateIconName","ctx","String","insert","target","span","anchor","dirty","innerHTML","create_if_block","div2","append","div0","slot0","h2","button","slot1","div1","slot2","class","div2_class_value","iconname","iconcolor","iconsize","label","$$props","size","open","disabled","nopadding","checkable","eventHandler","EventHandler","isOpen","$$invalidate","userClass","attributes","Object","assign","$$restProps","dispatch"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../../src/components/accordion/Accordion.svelte"],"sourcesContent":["<svelte:options tag={null} />\n\n<script lang=\"ts\">\n import type { AccordionSize } from './accordion.types';\n import { EventHandler } from '../../utilities/EventHandler';\n\n export let label: string;\n export let size: AccordionSize = 'm';\n export let iconname: string | undefined = undefined;\n export let iconcolor: string | undefined = undefined;\n export let open = false;\n export let disabled = false;\n export let nopadding = false;\n export let checkable = false;\n let eventHandler = new EventHandler();\n $: isOpen = open ? true : false;\n $: userClass = $$props.class;\n $: attributes = { ...$$restProps };\n $: delete attributes.class;\n\n function generateIconName(\n iconname: string,\n iconcolor: string,\n iconsize: string,\n ): string {\n return iconsize === 's'\n ? `${iconname} size=\"1.5rem\"`\n : `${iconname} size=\"2rem\" fill=\"${iconcolor}\"`;\n }\n\n function handleState(): void {\n eventHandler.dispatch('on-heading-click', isOpen);\n isOpen = !isOpen;\n }\n</script>\n\n<div\n class=\"mc-accordion {size ? `mc-accordion--${size}` : ''}\n {isOpen ? ' is-open' : ''}\n {nopadding ? ' mc-accordion--no-padding' : ''}\n {checkable ? ' mc-accordion--checkable' : ''}\n {disabled ? ' is-disabled' : ''} \n {userClass}\"\n {...attributes}\n>\n <div class=\"mc-accordion__header\">\n <slot name=\"beforeLabel\" />\n <h2 class=\"mc-accordion__title\">\n <button\n id=\"m-accordion\"\n class=\"mc-accordion__trigger\"\n type=\"button\"\n aria-controls=\"content\"\n aria-expanded={!isOpen}\n {disabled}\n on:click={handleState}\n >\n {#if iconname}\n <span class=\"mc-accordion__icon\">\n {@html `<${generateIconName(iconname, String(iconcolor), size)} />`}\n </span>\n {/if}\n {label}\n <slot name=\"afterLabel\" />\n </button>\n </h2>\n </div>\n <div\n id=\"content\"\n class=\"mc-accordion__content\"\n aria-hidden={isOpen}\n aria-labelledby=\"m-accordion\"\n >\n <slot />\n </div>\n</div>\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/_all-settings';\n @import '@mozaic-ds/styles/components/c.accordion';\n\n :host {\n display: block;\n }\n</style>\n"],"names":["raw_value","generateIconName","ctx","String","insert","target","span","anchor","dirty","innerHTML","create_if_block","div2","append","div0","slot0","h2","button","slot1","div1","slot2","class","div2_class_value","iconname","iconcolor","iconsize","label","$$props","size","open","disabled","nopadding","checkable","eventHandler","EventHandler","isOpen","$$invalidate","userClass","attributes","Object","assign","$$restProps","dispatch"],"mappings":"mPA2DuBA,EAAA,IAAAC,EAAiBC,EAAQ,GAAEC,OAAOD,MAAYA,EAAI,0EAD/DE,EAEMC,EAAAC,EAAAC,yBADO,GAAAC,GAAAR,KAAAA,EAAA,IAAAC,EAAiBC,EAAQ,GAAEC,OAAOD,MAAYA,EAAI,YAAAI,EAAAG,UAAAT,yEAF5DE,EAAQ,IAAAQ,EAAAR,gCApBEA,EAAI,oBAAoBA,EAAI,KAAK,IAAE,KACrDA,EAAM,GAAG,WAAa,IACtB,KAAAA,EAAY,GAAA,4BAA8B,SAC1CA,EAAS,GAAG,2BAA6B,IAAE,KAC3CA,EAAQ,GAAG,eAAiB,IAAE,IAChCA,EAAS,IACNA,EAAU,+IAmBPA,EAAK,uPATUA,EAAM,sKAiBbA,EAAM,wDAlCvBE,EAuCKC,EAAAM,EAAAJ,GA9BHK,EAqBKD,EAAAE,GApBHD,EAA0BC,EAAAC,UAC1BF,EAkBIC,EAAAE,GAjBFH,EAgBQG,EAAAC,uCADNJ,EAAyBI,EAAAC,UAI/BL,EAOKD,EAAAO,GADHN,EAAOM,EAAAC,qBAlBOjB,EAAW,qBAEhBA,EAAQ,kEAKZA,EAAK,mBATUA,EAAM,6EAiBbA,EAAM,8CAjCAA,EAAI,oBAAoBA,EAAI,KAAK,IAAE,KACrDA,EAAM,GAAG,WAAa,IACtB,KAAAA,EAAY,GAAA,4BAA8B,SAC1CA,EAAS,GAAG,2BAA6B,IAAE,KAC3CA,EAAQ,GAAG,eAAiB,IAAE,IAChCA,EAAS,KAAA,CAAAkB,MAAAC,UACNnB,EAAU,gDAvBL,SAAAD,EACPqB,EACAC,EACAC,GAEO,MAAa,MAAbA,KACAF,kBACA,GAAAA,uBAA8BC,+IArB5BE,GAAaC,GACbC,KAAAA,EAAsB,KAAGD,GACzBJ,SAAAA,GAAwCI,GACxCH,UAAAA,GAAyCG,GACzCE,KAAAA,GAAO,GAAKF,GACZG,SAAAA,GAAW,GAAKH,GAChBI,UAAAA,GAAY,GAAKJ,GACjBK,UAAAA,GAAY,GAAKL,EACxBM,MAAmBC,oWACpBC,IAASN,GACTO,EAAA,EAAAC,EAAYV,EAAQN,WACpBiB,EAALC,OAAAC,UAAuBC,2BACXH,EAAWjB,8CAanBY,EAAaS,SAAS,mBAAoBP,GAC1CC,EAAA,EAAAD,GAAUA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{S as t,i as e,a as n,b as r,f as o,s as i,e as a,d as u,T as s,n as c,g as l,y as f,o as g,J as h,a1 as d,t as m,j as p,k as y,v as T}from"../../index-c33b3772.js";import{s as x}from"../../transform-15d69d5d.js";import{E as v}from"../../EventHandler-02058705.js";import{b,t as C,i as w,c as U,a as M,l as D}from"../../linear-f46d7e9e.js";import{S as k,s as F,a as Y,b as $,l as S}from"../../symbol-b05a6e2b.js";import{a as H,b as A}from"../../axis-fbc0f7b5.js";import"../../array-5b770a93.js";import"../../path-1b5da959.js";function L(t,e){let n,r;if(void 0===e)for(const e of t)null!=e&&(void 0===n?e>=e&&(n=r=e):(n>e&&(n=e),r<e&&(r=e)));else{let o=-1;for(let i of t)null!=(i=e(i,++o,t))&&(void 0===n?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}const j=new Date,_=new Date;function Z(t,e,n,r){function o(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{const e=o(t),n=o.ceil(t);return t-e<n-t?e:n},o.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{const a=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n<r&&i>0))return a;let u;do{a.push(u=new Date(+n)),e(n,i),t(n)}while(u<n&&n<r);return a},o.filter=n=>Z((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(o.count=(e,r)=>(j.setTime(+e),_.setTime(+r),t(j),t(_),Math.floor(n(j,_))),o.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?o.filter(r?e=>r(e)%t==0:e=>o.count(0,e)%t==0):o:null)),o}const E=Z((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));E.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Z((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):E:null),E.range;const W=1e3,z=6e4,O=60*z,P=24*O,V=7*P,I=30*P,J=365*P,q=Z((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*W)}),((t,e)=>(e-t)/W),(t=>t.getUTCSeconds()));q.range;const Q=Z((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*W)}),((t,e)=>{t.setTime(+t+e*z)}),((t,e)=>(e-t)/z),(t=>t.getMinutes()));Q.range;const X=Z((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*z)}),((t,e)=>(e-t)/z),(t=>t.getUTCMinutes()));X.range;const B=Z((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*W-t.getMinutes()*z)}),((t,e)=>{t.setTime(+t+e*O)}),((t,e)=>(e-t)/O),(t=>t.getHours()));B.range;const N=Z((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*O)}),((t,e)=>(e-t)/O),(t=>t.getUTCHours()));N.range;const R=Z((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*z)/P),(t=>t.getDate()-1));R.range;const G=Z((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/P),(t=>t.getUTCDate()-1));G.range;const K=Z((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/P),(t=>Math.floor(t/P)));function tt(t){return Z((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*z)/V))}K.range;const et=tt(0),nt=tt(1),rt=tt(2),ot=tt(3),it=tt(4),at=tt(5),ut=tt(6);function st(t){return Z((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/V))}et.range,nt.range,rt.range,ot.range,it.range,at.range,ut.range;const ct=st(0),lt=st(1),ft=st(2),gt=st(3),ht=st(4),dt=st(5),mt=st(6);ct.range,lt.range,ft.range,gt.range,ht.range,dt.range,mt.range;const pt=Z((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()));pt.range;const yt=Z((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()));yt.range;const Tt=Z((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));Tt.every=t=>isFinite(t=Math.floor(t))&&t>0?Z((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null,Tt.range;const xt=Z((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));xt.every=t=>isFinite(t=Math.floor(t))&&t>0?Z((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null,xt.range;const[vt,bt]=function(t,e,n,r,o,i){const a=[[q,1,W],[q,5,5e3],[q,15,15e3],[q,30,3e4],[i,1,z],[i,5,5*z],[i,15,15*z],[i,30,30*z],[o,1,O],[o,3,3*O],[o,6,6*O],[o,12,12*O],[r,1,P],[r,2,2*P],[n,1,V],[e,1,I],[e,3,3*I],[t,1,J]];function u(e,n,r){const o=Math.abs(n-e)/r,i=b((([,,t])=>t)).right(a,o);if(i===a.length)return t.every(C(e/J,n/J,r));if(0===i)return E.every(Math.max(C(e,n,r),1));const[u,s]=a[o/a[i-1][2]<a[i][2]/o?i-1:i];return u.every(s)}return[function(t,e,n){const r=e<t;r&&([t,e]=[e,t]);const o=n&&"function"==typeof n.range?n:u(t,e,n),i=o?o.range(t,+e+1):[];return r?i.reverse():i},u]}(Tt,pt,et,R,B,Q);function Ct(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function wt(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ut(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var Mt,Dt,kt,Ft={"-":"",_:" ",0:"0"},Yt=/^\s*\d+/,$t=/^%/,St=/[\\^$*+?|[\]().{}]/g;function Ht(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function At(t){return t.replace(St,"\\$&")}function Lt(t){return new RegExp("^(?:"+t.map(At).join("|")+")","i")}function jt(t){return new Map(t.map(((t,e)=>[t.toLowerCase(),e])))}function _t(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Zt(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Et(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Wt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function zt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ot(t,e,n){var r=Yt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Vt(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function It(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Jt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function qt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Qt(t,e,n){var r=Yt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Xt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Bt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Nt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Rt(t,e,n){var r=Yt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Gt(t,e,n){var r=Yt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Kt(t,e,n){var r=$t.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function te(t,e,n){var r=Yt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function ee(t,e,n){var r=Yt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ne(t,e){return Ht(t.getDate(),e,2)}function re(t,e){return Ht(t.getHours(),e,2)}function oe(t,e){return Ht(t.getHours()%12||12,e,2)}function ie(t,e){return Ht(1+R.count(Tt(t),t),e,3)}function ae(t,e){return Ht(t.getMilliseconds(),e,3)}function ue(t,e){return ae(t,e)+"000"}function se(t,e){return Ht(t.getMonth()+1,e,2)}function ce(t,e){return Ht(t.getMinutes(),e,2)}function le(t,e){return Ht(t.getSeconds(),e,2)}function fe(t){var e=t.getDay();return 0===e?7:e}function ge(t,e){return Ht(et.count(Tt(t)-1,t),e,2)}function he(t){var e=t.getDay();return e>=4||0===e?it(t):it.ceil(t)}function de(t,e){return t=he(t),Ht(it.count(Tt(t),t)+(4===Tt(t).getDay()),e,2)}function me(t){return t.getDay()}function pe(t,e){return Ht(nt.count(Tt(t)-1,t),e,2)}function ye(t,e){return Ht(t.getFullYear()%100,e,2)}function Te(t,e){return Ht((t=he(t)).getFullYear()%100,e,2)}function xe(t,e){return Ht(t.getFullYear()%1e4,e,4)}function ve(t,e){var n=t.getDay();return Ht((t=n>=4||0===n?it(t):it.ceil(t)).getFullYear()%1e4,e,4)}function be(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ht(e/60|0,"0",2)+Ht(e%60,"0",2)}function Ce(t,e){return Ht(t.getUTCDate(),e,2)}function we(t,e){return Ht(t.getUTCHours(),e,2)}function Ue(t,e){return Ht(t.getUTCHours()%12||12,e,2)}function Me(t,e){return Ht(1+G.count(xt(t),t),e,3)}function De(t,e){return Ht(t.getUTCMilliseconds(),e,3)}function ke(t,e){return De(t,e)+"000"}function Fe(t,e){return Ht(t.getUTCMonth()+1,e,2)}function Ye(t,e){return Ht(t.getUTCMinutes(),e,2)}function $e(t,e){return Ht(t.getUTCSeconds(),e,2)}function Se(t){var e=t.getUTCDay();return 0===e?7:e}function He(t,e){return Ht(ct.count(xt(t)-1,t),e,2)}function Ae(t){var e=t.getUTCDay();return e>=4||0===e?ht(t):ht.ceil(t)}function Le(t,e){return t=Ae(t),Ht(ht.count(xt(t),t)+(4===xt(t).getUTCDay()),e,2)}function je(t){return t.getUTCDay()}function _e(t,e){return Ht(lt.count(xt(t)-1,t),e,2)}function Ze(t,e){return Ht(t.getUTCFullYear()%100,e,2)}function Ee(t,e){return Ht((t=Ae(t)).getUTCFullYear()%100,e,2)}function We(t,e){return Ht(t.getUTCFullYear()%1e4,e,4)}function ze(t,e){var n=t.getUTCDay();return Ht((t=n>=4||0===n?ht(t):ht.ceil(t)).getUTCFullYear()%1e4,e,4)}function Oe(){return"+0000"}function Pe(){return"%"}function Ve(t){return+t}function Ie(t){return Math.floor(+t/1e3)}function Je(t){return new Date(t)}function qe(t){return t instanceof Date?+t:+new Date(+t)}function Qe(t,e,n,r,o,i,a,u,s,c){var l=U(),f=l.invert,g=l.domain,h=c(".%L"),d=c(":%S"),m=c("%I:%M"),p=c("%I %p"),y=c("%a %d"),T=c("%b %d"),x=c("%B"),v=c("%Y");function b(t){return(s(t)<t?h:u(t)<t?d:a(t)<t?m:i(t)<t?p:r(t)<t?o(t)<t?y:T:n(t)<t?x:v)(t)}return l.invert=function(t){return new Date(f(t))},l.domain=function(t){return arguments.length?g(Array.from(t,qe)):g().map(Je)},l.ticks=function(e){var n=g();return t(n[0],n[n.length-1],null==e?10:e)},l.tickFormat=function(t,e){return null==e?b:c(e)},l.nice=function(t){var n=g();return t&&"function"==typeof t.range||(t=e(n[0],n[n.length-1],null==t?10:t)),t?g(function(t,e){var n,r=0,o=(t=t.slice()).length-1,i=t[r],a=t[o];return a<i&&(n=r,r=o,o=n,n=i,i=a,a=n),t[r]=e.floor(i),t[o]=e.ceil(a),t}(n,t)):l},l.copy=function(){return M(l,Qe(t,e,n,r,o,i,a,u,s,c))},l}function Xe(){return w.apply(Qe(vt,bt,Tt,pt,et,R,B,Q,q,Dt).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Be(t,e,n){const r=t.slice();return r[27]=e[n],r}function Ne(t){let e;function n(t,e){return t[3].customtooltip?Ge:Re}let o=n(t),i=o(t);return{c(){e=a("div"),i.c(),l(e,"class","tooltip"),l(e,"style",`right: ${t[4].right}px; top: ${t[4].top}px;`)},m(t,n){r(t,e,n),i.m(e,null)},p(t,r){o===(o=n(t))&&i?i.p(t,r):(i.d(1),i=o(t),i&&(i.c(),i.m(e,null)))},d(t){t&&g(e),i.d()}}}function Re(t){let e,n,o,i,u=t[3].date+"",s=t[3].value+"";return{c(){e=m(u),n=m(": "),o=a("b"),i=m(s)},m(t,a){r(t,e,a),r(t,n,a),r(t,o,a),p(o,i)},p(t,n){8&n&&u!==(u=t[3].date+"")&&y(e,u),8&n&&s!==(s=t[3].value+"")&&y(i,s)},d(t){t&&g(e),t&&g(n),t&&g(o)}}}function Ge(t){let e,n=t[3].customtooltip+"";return{c(){e=m(n)},m(t,n){r(t,e,n)},p(t,r){8&r&&n!==(n=t[3].customtooltip+"")&&y(e,n)},d(t){t&&g(e)}}}function Ke(t){let e,n,o,i,c,f,h,d,T=t[27].title+"";return{c(){e=a("div"),n=s("svg"),o=s("rect"),c=u(),f=a("span"),h=m(T),d=u(),l(o,"x","0"),l(o,"y","0"),l(o,"width","24"),l(o,"height","16"),l(o,"fill",i=t[27].color),l(n,"class","legend__box"),l(f,"class","legend__title"),l(e,"class","legend__item")},m(t,i){r(t,e,i),p(e,n),p(n,o),p(e,c),p(e,f),p(f,h),p(e,d)},p(t,e){2&e&&i!==(i=t[27].color)&&l(o,"fill",i),2&e&&T!==(T=t[27].title+"")&&y(h,T)},d(t){t&&g(e)}}}function tn(t){let e,n,o,i,d,m=t[3].show&&Ne(t),p=t[1],y=[];for(let e=0;e<p.length;e+=1)y[e]=Ke(Be(t,p,e));return{c(){e=a("div"),m&&m.c(),n=u(),o=a("div");for(let t=0;t<y.length;t+=1)y[t].c();i=u(),d=s("text"),this.c=c,l(e,"class","chart"),f(e,"background-color",t[0]),l(o,"class","legend"),f(d,"display","none")},m(a,u){r(a,e,u),m&&m.m(e,null),t[10](e),r(a,n,u),r(a,o,u);for(let t=0;t<y.length;t+=1)y[t]&&y[t].m(o,null);r(a,i,u),r(a,d,u)},p(t,[n]){if(t[3].show?m?m.p(t,n):(m=Ne(t),m.c(),m.m(e,null)):m&&(m.d(1),m=null),1&n&&f(e,"background-color",t[0]),2&n){let e;for(p=t[1],e=0;e<p.length;e+=1){const r=Be(t,p,e);y[e]?y[e].p(r,n):(y[e]=Ke(r),y[e].c(),y[e].m(o,null))}for(;e<y.length;e+=1)y[e].d(1);y.length=p.length}},i:c,o:c,d(r){r&&g(e),m&&m.d(),t[10](null),r&&g(n),r&&g(o),h(y,r),r&&g(i),r&&g(d)}}}function en(t,e,n){let{data:r=""}=e,{backgroundcolor:o="#fff"}=e,{height:i=300}=e,{ticknumbers:a=5}=e;const u=kt("%d-%m-%Y");let s,c,l,f,g,h,m,p,y=!1,b=new v,C=[];const w={top:20,right:40,bottom:40,left:60,yAxisPadding:20};let U={date:"",value:0,show:!1,customtooltip:""};function M(){let t=x(l).style("width");return""!==t&&t||(t=""+window.innerWidth/2),parseInt(t)}function j(t,e){const r=new Date(e.time).toDateString(),o=e.value;n(3,U={date:r,value:parseInt(o),show:!0,customtooltip:e.customtooltip})}function _(t){const e=M(),n=t.flatMap((t=>t.points)),[r=0,o=0]=L(n,(t=>Number(t.value))),a=L(n,(t=>u(t.time)));g.domain(a),f.selectAll(".x-axis").attr("transform",`translate(${w.yAxisPadding},${i+w.bottom/2})`).call(m).attr("stroke-width","0"),h.domain([r,o]),f.selectAll(".y-axis").call(p).select(".domain").attr("stroke-width","0"),f.selectAll(".y-axis .tick line").attr("x1",w.yAxisPadding/2).attr("x2",e-w.left).attr("stroke","#EEEDEA").attr("stroke-width","1.4px")}function Z(t){const e=M();g=Xe().range([0,e-w.left-w.right]),m=H(g).tickSize(0).ticks(R).ticks(a).tickPadding(5),h=D().range([i,0]),p=A(h).ticks(a),t||(f=x(l).append("svg").attr("width",e).attr("height",i+w.top+w.bottom).attr("id","svg-chart").append("g").attr("transform",`translate(${w.left/2+w.right/2},${w.top})`),f.append("g").attr("transform","translate(0,"+String(i)+")").attr("class","x-axis"),f.append("g").attr("class","y-axis")),_(c),c.forEach(((e,n)=>{t||C.push(f.append("g").append("path")),E(e,n)}))}function E(t,e){const r=t.points.map((t=>({time:u(t.time)||"",value:t.value,customtooltip:t.customtooltip})));!function(t,e,n,r){t.datum(e).attr("d",S().x((t=>g(+t.time))).y((t=>h(+t.value)))).attr("stroke",n).style("stroke-width",2.5).style("fill","none").attr("transform",`translate(${w.yAxisPadding},0)`).attr("stroke-dasharray",r||0)}(C[e],r,t.color,t.strokeDasharray),f.selectAll(`.chart__symbol-line-${e}`).remove(),function(t,e,r,o){let i=k(F);switch(r){case"circle":i=k($);break;case"triangle":i=k(Y)}f.selectAll().data(t).join("path").attr("d",i.size(50)).attr("opacity",1).attr("transform",(t=>`translate(${g(+t.time)+w.yAxisPadding},${h(+t.value)})`)).attr("class",`chart__symbol-line-${o}`).style("fill",e).style("cursor","pointer").on("mouseover",j).on("mouseout",(()=>n(3,U.show=!1,U))).on("click",((t,e)=>{b.dispatch("point-clicked",e)}))}(r,t.color,t.symbol,e)}function W(){var t;if(s&&y){const e=M();null===(t=l.querySelector("#svg-chart"))||void 0===t||t.setAttribute("width",`${e}px`),Z(!0)}}return d((()=>{new ResizeObserver(W).observe(l),n(9,y=!0)})),t.$$set=t=>{"data"in t&&n(5,r=t.data),"backgroundcolor"in t&&n(0,o=t.backgroundcolor),"height"in t&&n(6,i=t.height),"ticknumbers"in t&&n(7,a=t.ticknumbers)},t.$$.update=()=>{32&t.$$.dirty&&n(1,c=r?JSON.parse(r):[]),802&t.$$.dirty&&r.length>0&&y&&(s?r!==s&&(_(c),c.forEach(((t,e)=>E(t,e))),n(8,s=r)):(Z(),n(8,s=r)))},[o,c,l,U,w,r,i,a,s,y,function(t){T[t?"unshift":"push"]((()=>{l=t,n(2,l)}))}]}Mt=function(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,a=t.shortDays,u=t.months,s=t.shortMonths,c=Lt(o),l=jt(o),f=Lt(i),g=jt(i),h=Lt(a),d=jt(a),m=Lt(u),p=jt(u),y=Lt(s),T=jt(s),x={a:function(t){return a[t.getDay()]},A:function(t){return i[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:ne,e:ne,f:ue,g:Te,G:ve,H:re,I:oe,j:ie,L:ae,m:se,M:ce,p:function(t){return o[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Ve,s:Ie,S:le,u:fe,U:ge,V:de,w:me,W:pe,x:null,X:null,y:ye,Y:xe,Z:be,"%":Pe},v={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Ce,e:Ce,f:ke,g:Ee,G:ze,H:we,I:Ue,j:Me,L:De,m:Fe,M:Ye,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Ve,s:Ie,S:$e,u:Se,U:He,V:Le,w:je,W:_e,x:null,X:null,y:Ze,Y:We,Z:Oe,"%":Pe},b={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=g.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=T.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=p.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return U(t,e,n,r)},d:qt,e:qt,f:Gt,g:Pt,G:Ot,H:Xt,I:Xt,j:Qt,L:Rt,m:Jt,M:Bt,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:It,Q:te,s:ee,S:Nt,u:Zt,U:Et,V:Wt,w:_t,W:zt,x:function(t,e,r){return U(t,n,e,r)},X:function(t,e,n){return U(t,r,e,n)},y:Pt,Y:Ot,Z:Vt,"%":Kt};function C(t,e){return function(n){var r,o,i,a=[],u=-1,s=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++u<c;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(o=Ft[r=t.charAt(++u)])?r=t.charAt(++u):o="e"===r?" ":"0",(i=e[r])&&(r=i(n,o)),a.push(r),s=u+1);return a.push(t.slice(s,u)),a.join("")}}function w(t,e){return function(n){var r,o,i=Ut(1900,void 0,1);if(U(i,t,n+="",0)!=n.length)return null;if("Q"in i)return new Date(i.Q);if("s"in i)return new Date(1e3*i.s+("L"in i?i.L:0));if(e&&!("Z"in i)&&(i.Z=0),"p"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m="q"in i?i.q:0),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=wt(Ut(i.y,0,1))).getUTCDay(),r=o>4||0===o?lt.ceil(r):lt(r),r=G.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=Ct(Ut(i.y,0,1))).getDay(),r=o>4||0===o?nt.ceil(r):nt(r),r=R.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?wt(Ut(i.y,0,1)).getUTCDay():Ct(Ut(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,wt(i)):Ct(i)}}function U(t,e,n,r){for(var o,i,a=0,u=e.length,s=n.length;a<u;){if(r>=s)return-1;if(37===(o=e.charCodeAt(a++))){if(o=e.charAt(a++),!(i=b[o in Ft?e.charAt(a++):o])||(r=i(t,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return x.x=C(n,x),x.X=C(r,x),x.c=C(e,x),v.x=C(n,v),v.X=C(r,v),v.c=C(e,v),{format:function(t){var e=C(t+="",x);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=C(t+="",v);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Dt=Mt.format,kt=Mt.parse,Mt.utcFormat,Mt.utcParse;class nn extends t{constructor(t){super();const a=document.createElement("style");a.textContent='.legend{margin-top:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 1.5rem;height:100%;color:#000000;gap:1rem}.legend__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:0.875rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.legend__title{white-space:nowrap;margin:0}.legend__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:0.25rem;height:16px;width:24px}text{font-family:"LeroyMerlin", sans-serif;font-size:14px;color:#555550}.tooltip{background-color:#4d4d4d;border-radius:4px;color:#ffffff;text-align:center;padding:0.5rem 1rem;top:0;position:absolute}',this.shadowRoot.appendChild(a),e(this,{target:this.shadowRoot,props:n(this.attributes),customElement:!0},en,tn,i,{data:5,backgroundcolor:0,height:6,ticknumbers:7},null),t&&(t.target&&r(t.target,this,t.anchor),t.props&&(this.$set(t.props),o()))}static get observedAttributes(){return["data","backgroundcolor","height","ticknumbers"]}get data(){return this.$$.ctx[5]}set data(t){this.$$set({data:t}),o()}get backgroundcolor(){return this.$$.ctx[0]}set backgroundcolor(t){this.$$set({backgroundcolor:t}),o()}get height(){return this.$$.ctx[6]}set height(t){this.$$set({height:t}),o()}get ticknumbers(){return this.$$.ctx[7]}set ticknumbers(t){this.$$set({ticknumbers:t}),o()}}export{nn as default};
|
|
1
|
+
import{S as t,i as e,a as n,b as r,f as o,s as i,e as a,d as u,T as s,n as c,g as l,y as f,o as g,J as h,a1 as d,t as m,j as p,k as y,v as T}from"../../index-c33b3772.js";import{s as x}from"../../transform-15d69d5d.js";import{E as v}from"../../EventHandler-02058705.js";import{b,t as C,i as w,c as U,a as M,l as D}from"../../linear-f46d7e9e.js";import{S as k,s as F,a as Y,b as $,l as S}from"../../symbol-b05a6e2b.js";import{a as H,b as A}from"../../axis-fbc0f7b5.js";import"../../array-5b770a93.js";import"../../path-1b5da959.js";function L(t,e){let n,r;if(void 0===e)for(const e of t)null!=e&&(void 0===n?e>=e&&(n=r=e):(n>e&&(n=e),r<e&&(r=e)));else{let o=-1;for(let i of t)null!=(i=e(i,++o,t))&&(void 0===n?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}const j=new Date,_=new Date;function Z(t,e,n,r){function o(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return o.floor=e=>(t(e=new Date(+e)),e),o.ceil=n=>(t(n=new Date(n-1)),e(n,1),t(n),n),o.round=t=>{const e=o(t),n=o.ceil(t);return t-e<n-t?e:n},o.offset=(t,n)=>(e(t=new Date(+t),null==n?1:Math.floor(n)),t),o.range=(n,r,i)=>{const a=[];if(n=o.ceil(n),i=null==i?1:Math.floor(i),!(n<r&&i>0))return a;let u;do{a.push(u=new Date(+n)),e(n,i),t(n)}while(u<n&&n<r);return a},o.filter=n=>Z((e=>{if(e>=e)for(;t(e),!n(e);)e.setTime(e-1)}),((t,r)=>{if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););})),n&&(o.count=(e,r)=>(j.setTime(+e),_.setTime(+r),t(j),t(_),Math.floor(n(j,_))),o.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?o.filter(r?e=>r(e)%t==0:e=>o.count(0,e)%t==0):o:null)),o}const E=Z((()=>{}),((t,e)=>{t.setTime(+t+e)}),((t,e)=>e-t));E.every=t=>(t=Math.floor(t),isFinite(t)&&t>0?t>1?Z((e=>{e.setTime(Math.floor(e/t)*t)}),((e,n)=>{e.setTime(+e+n*t)}),((e,n)=>(n-e)/t)):E:null),E.range;const W=1e3,z=6e4,O=36e5,P=864e5,V=6048e5,I=2592e6,J=31536e6,q=Z((t=>{t.setTime(t-t.getMilliseconds())}),((t,e)=>{t.setTime(+t+e*W)}),((t,e)=>(e-t)/W),(t=>t.getUTCSeconds()));q.range;const Q=Z((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*W)}),((t,e)=>{t.setTime(+t+e*z)}),((t,e)=>(e-t)/z),(t=>t.getMinutes()));Q.range;const X=Z((t=>{t.setUTCSeconds(0,0)}),((t,e)=>{t.setTime(+t+e*z)}),((t,e)=>(e-t)/z),(t=>t.getUTCMinutes()));X.range;const B=Z((t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*W-t.getMinutes()*z)}),((t,e)=>{t.setTime(+t+e*O)}),((t,e)=>(e-t)/O),(t=>t.getHours()));B.range;const N=Z((t=>{t.setUTCMinutes(0,0,0)}),((t,e)=>{t.setTime(+t+e*O)}),((t,e)=>(e-t)/O),(t=>t.getUTCHours()));N.range;const R=Z((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*z)/P),(t=>t.getDate()-1));R.range;const G=Z((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/P),(t=>t.getUTCDate()-1));G.range;const K=Z((t=>{t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+e)}),((t,e)=>(e-t)/P),(t=>Math.floor(t/P)));function tt(t){return Z((e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),((t,e)=>{t.setDate(t.getDate()+7*e)}),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*z)/V))}K.range;const et=tt(0),nt=tt(1),rt=tt(2),ot=tt(3),it=tt(4),at=tt(5),ut=tt(6);function st(t){return Z((e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCDate(t.getUTCDate()+7*e)}),((t,e)=>(e-t)/V))}et.range,nt.range,rt.range,ot.range,it.range,at.range,ut.range;const ct=st(0),lt=st(1),ft=st(2),gt=st(3),ht=st(4),dt=st(5),mt=st(6);ct.range,lt.range,ft.range,gt.range,ht.range,dt.range,mt.range;const pt=Z((t=>{t.setDate(1),t.setHours(0,0,0,0)}),((t,e)=>{t.setMonth(t.getMonth()+e)}),((t,e)=>e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())),(t=>t.getMonth()));pt.range;const yt=Z((t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)}),((t,e)=>e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())),(t=>t.getUTCMonth()));yt.range;const Tt=Z((t=>{t.setMonth(0,1),t.setHours(0,0,0,0)}),((t,e)=>{t.setFullYear(t.getFullYear()+e)}),((t,e)=>e.getFullYear()-t.getFullYear()),(t=>t.getFullYear()));Tt.every=t=>isFinite(t=Math.floor(t))&&t>0?Z((e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),((e,n)=>{e.setFullYear(e.getFullYear()+n*t)})):null,Tt.range;const xt=Z((t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),((t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)}),((t,e)=>e.getUTCFullYear()-t.getUTCFullYear()),(t=>t.getUTCFullYear()));xt.every=t=>isFinite(t=Math.floor(t))&&t>0?Z((e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),((e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null,xt.range;const[vt,bt]=function(t,e,n,r,o,i){const a=[[q,1,W],[q,5,5e3],[q,15,15e3],[q,30,3e4],[i,1,z],[i,5,3e5],[i,15,9e5],[i,30,18e5],[o,1,O],[o,3,108e5],[o,6,216e5],[o,12,432e5],[r,1,P],[r,2,1728e5],[n,1,V],[e,1,I],[e,3,7776e6],[t,1,J]];function u(e,n,r){const o=Math.abs(n-e)/r,i=b((([,,t])=>t)).right(a,o);if(i===a.length)return t.every(C(e/J,n/J,r));if(0===i)return E.every(Math.max(C(e,n,r),1));const[u,s]=a[o/a[i-1][2]<a[i][2]/o?i-1:i];return u.every(s)}return[function(t,e,n){const r=e<t;r&&([t,e]=[e,t]);const o=n&&"function"==typeof n.range?n:u(t,e,n),i=o?o.range(t,+e+1):[];return r?i.reverse():i},u]}(Tt,pt,et,R,B,Q);function Ct(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function wt(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Ut(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}var Mt,Dt,kt,Ft={"-":"",_:" ",0:"0"},Yt=/^\s*\d+/,$t=/^%/,St=/[\\^$*+?|[\]().{}]/g;function Ht(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function At(t){return t.replace(St,"\\$&")}function Lt(t){return new RegExp("^(?:"+t.map(At).join("|")+")","i")}function jt(t){return new Map(t.map(((t,e)=>[t.toLowerCase(),e])))}function _t(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Zt(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Et(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Wt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function zt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Ot(t,e,n){var r=Yt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Pt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Vt(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function It(t,e,n){var r=Yt.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Jt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function qt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Qt(t,e,n){var r=Yt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Xt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Bt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Nt(t,e,n){var r=Yt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Rt(t,e,n){var r=Yt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Gt(t,e,n){var r=Yt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Kt(t,e,n){var r=$t.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function te(t,e,n){var r=Yt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function ee(t,e,n){var r=Yt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ne(t,e){return Ht(t.getDate(),e,2)}function re(t,e){return Ht(t.getHours(),e,2)}function oe(t,e){return Ht(t.getHours()%12||12,e,2)}function ie(t,e){return Ht(1+R.count(Tt(t),t),e,3)}function ae(t,e){return Ht(t.getMilliseconds(),e,3)}function ue(t,e){return ae(t,e)+"000"}function se(t,e){return Ht(t.getMonth()+1,e,2)}function ce(t,e){return Ht(t.getMinutes(),e,2)}function le(t,e){return Ht(t.getSeconds(),e,2)}function fe(t){var e=t.getDay();return 0===e?7:e}function ge(t,e){return Ht(et.count(Tt(t)-1,t),e,2)}function he(t){var e=t.getDay();return e>=4||0===e?it(t):it.ceil(t)}function de(t,e){return t=he(t),Ht(it.count(Tt(t),t)+(4===Tt(t).getDay()),e,2)}function me(t){return t.getDay()}function pe(t,e){return Ht(nt.count(Tt(t)-1,t),e,2)}function ye(t,e){return Ht(t.getFullYear()%100,e,2)}function Te(t,e){return Ht((t=he(t)).getFullYear()%100,e,2)}function xe(t,e){return Ht(t.getFullYear()%1e4,e,4)}function ve(t,e){var n=t.getDay();return Ht((t=n>=4||0===n?it(t):it.ceil(t)).getFullYear()%1e4,e,4)}function be(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ht(e/60|0,"0",2)+Ht(e%60,"0",2)}function Ce(t,e){return Ht(t.getUTCDate(),e,2)}function we(t,e){return Ht(t.getUTCHours(),e,2)}function Ue(t,e){return Ht(t.getUTCHours()%12||12,e,2)}function Me(t,e){return Ht(1+G.count(xt(t),t),e,3)}function De(t,e){return Ht(t.getUTCMilliseconds(),e,3)}function ke(t,e){return De(t,e)+"000"}function Fe(t,e){return Ht(t.getUTCMonth()+1,e,2)}function Ye(t,e){return Ht(t.getUTCMinutes(),e,2)}function $e(t,e){return Ht(t.getUTCSeconds(),e,2)}function Se(t){var e=t.getUTCDay();return 0===e?7:e}function He(t,e){return Ht(ct.count(xt(t)-1,t),e,2)}function Ae(t){var e=t.getUTCDay();return e>=4||0===e?ht(t):ht.ceil(t)}function Le(t,e){return t=Ae(t),Ht(ht.count(xt(t),t)+(4===xt(t).getUTCDay()),e,2)}function je(t){return t.getUTCDay()}function _e(t,e){return Ht(lt.count(xt(t)-1,t),e,2)}function Ze(t,e){return Ht(t.getUTCFullYear()%100,e,2)}function Ee(t,e){return Ht((t=Ae(t)).getUTCFullYear()%100,e,2)}function We(t,e){return Ht(t.getUTCFullYear()%1e4,e,4)}function ze(t,e){var n=t.getUTCDay();return Ht((t=n>=4||0===n?ht(t):ht.ceil(t)).getUTCFullYear()%1e4,e,4)}function Oe(){return"+0000"}function Pe(){return"%"}function Ve(t){return+t}function Ie(t){return Math.floor(+t/1e3)}function Je(t){return new Date(t)}function qe(t){return t instanceof Date?+t:+new Date(+t)}function Qe(t,e,n,r,o,i,a,u,s,c){var l=U(),f=l.invert,g=l.domain,h=c(".%L"),d=c(":%S"),m=c("%I:%M"),p=c("%I %p"),y=c("%a %d"),T=c("%b %d"),x=c("%B"),v=c("%Y");function b(t){return(s(t)<t?h:u(t)<t?d:a(t)<t?m:i(t)<t?p:r(t)<t?o(t)<t?y:T:n(t)<t?x:v)(t)}return l.invert=function(t){return new Date(f(t))},l.domain=function(t){return arguments.length?g(Array.from(t,qe)):g().map(Je)},l.ticks=function(e){var n=g();return t(n[0],n[n.length-1],null==e?10:e)},l.tickFormat=function(t,e){return null==e?b:c(e)},l.nice=function(t){var n=g();return t&&"function"==typeof t.range||(t=e(n[0],n[n.length-1],null==t?10:t)),t?g(function(t,e){var n,r=0,o=(t=t.slice()).length-1,i=t[r],a=t[o];return a<i&&(n=r,r=o,o=n,n=i,i=a,a=n),t[r]=e.floor(i),t[o]=e.ceil(a),t}(n,t)):l},l.copy=function(){return M(l,Qe(t,e,n,r,o,i,a,u,s,c))},l}function Xe(){return w.apply(Qe(vt,bt,Tt,pt,et,R,B,Q,q,Dt).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Be(t,e,n){const r=t.slice();return r[27]=e[n],r}function Ne(t){let e;function n(t,e){return t[3].customtooltip?Ge:Re}let o=n(t),i=o(t);return{c(){e=a("div"),i.c(),l(e,"class","tooltip"),l(e,"style",`right: ${t[4].right}px; top: ${t[4].top}px;`)},m(t,n){r(t,e,n),i.m(e,null)},p(t,r){o===(o=n(t))&&i?i.p(t,r):(i.d(1),i=o(t),i&&(i.c(),i.m(e,null)))},d(t){t&&g(e),i.d()}}}function Re(t){let e,n,o,i,u=t[3].date+"",s=t[3].value+"";return{c(){e=m(u),n=m(": "),o=a("b"),i=m(s)},m(t,a){r(t,e,a),r(t,n,a),r(t,o,a),p(o,i)},p(t,n){8&n&&u!==(u=t[3].date+"")&&y(e,u),8&n&&s!==(s=t[3].value+"")&&y(i,s)},d(t){t&&g(e),t&&g(n),t&&g(o)}}}function Ge(t){let e,n=t[3].customtooltip+"";return{c(){e=m(n)},m(t,n){r(t,e,n)},p(t,r){8&r&&n!==(n=t[3].customtooltip+"")&&y(e,n)},d(t){t&&g(e)}}}function Ke(t){let e,n,o,i,c,f,h,d,T=t[27].title+"";return{c(){e=a("div"),n=s("svg"),o=s("rect"),c=u(),f=a("span"),h=m(T),d=u(),l(o,"x","0"),l(o,"y","0"),l(o,"width","24"),l(o,"height","16"),l(o,"fill",i=t[27].color),l(n,"class","legend__box"),l(f,"class","legend__title"),l(e,"class","legend__item")},m(t,i){r(t,e,i),p(e,n),p(n,o),p(e,c),p(e,f),p(f,h),p(e,d)},p(t,e){2&e&&i!==(i=t[27].color)&&l(o,"fill",i),2&e&&T!==(T=t[27].title+"")&&y(h,T)},d(t){t&&g(e)}}}function tn(t){let e,n,o,i,d,m=t[3].show&&Ne(t),p=t[1],y=[];for(let e=0;e<p.length;e+=1)y[e]=Ke(Be(t,p,e));return{c(){e=a("div"),m&&m.c(),n=u(),o=a("div");for(let t=0;t<y.length;t+=1)y[t].c();i=u(),d=s("text"),this.c=c,l(e,"class","chart"),f(e,"background-color",t[0]),l(o,"class","legend"),f(d,"display","none")},m(a,u){r(a,e,u),m&&m.m(e,null),t[10](e),r(a,n,u),r(a,o,u);for(let t=0;t<y.length;t+=1)y[t]&&y[t].m(o,null);r(a,i,u),r(a,d,u)},p(t,[n]){if(t[3].show?m?m.p(t,n):(m=Ne(t),m.c(),m.m(e,null)):m&&(m.d(1),m=null),1&n&&f(e,"background-color",t[0]),2&n){let e;for(p=t[1],e=0;e<p.length;e+=1){const r=Be(t,p,e);y[e]?y[e].p(r,n):(y[e]=Ke(r),y[e].c(),y[e].m(o,null))}for(;e<y.length;e+=1)y[e].d(1);y.length=p.length}},i:c,o:c,d(r){r&&g(e),m&&m.d(),t[10](null),r&&g(n),r&&g(o),h(y,r),r&&g(i),r&&g(d)}}}function en(t,e,n){let{data:r=""}=e,{backgroundcolor:o="#fff"}=e,{height:i=300}=e,{ticknumbers:a=5}=e;const u=kt("%d-%m-%Y");let s,c,l,f,g,h,m,p,y=!1,b=new v,C=[];const w={top:20,right:40,bottom:40,left:60,yAxisPadding:20};let U={date:"",value:0,show:!1,customtooltip:""};function M(){let t=x(l).style("width");return""!==t&&t||(t=""+window.innerWidth/2),parseInt(t)}function j(t,e){const r=new Date(e.time).toDateString(),o=e.value;n(3,U={date:r,value:parseInt(o),show:!0,customtooltip:e.customtooltip})}function _(t){const e=M(),n=t.flatMap((t=>t.points)),[r=0,o=0]=L(n,(t=>Number(t.value))),a=L(n,(t=>u(t.time)));g.domain(a),f.selectAll(".x-axis").attr("transform",`translate(${w.yAxisPadding},${i+w.bottom/2})`).call(m).attr("stroke-width","0"),h.domain([r,o]),f.selectAll(".y-axis").call(p).select(".domain").attr("stroke-width","0"),f.selectAll(".y-axis .tick line").attr("x1",w.yAxisPadding/2).attr("x2",e-w.left).attr("stroke","#EEEDEA").attr("stroke-width","1.4px")}function Z(t){const e=M();g=Xe().range([0,e-w.left-w.right]),m=H(g).tickSize(0).ticks(R).ticks(a).tickPadding(5),h=D().range([i,0]),p=A(h).ticks(a),t||(f=x(l).append("svg").attr("width",e).attr("height",i+w.top+w.bottom).attr("id","svg-chart").append("g").attr("transform",`translate(${w.left/2+w.right/2},${w.top})`),f.append("g").attr("transform","translate(0,"+String(i)+")").attr("class","x-axis"),f.append("g").attr("class","y-axis")),_(c),c.forEach(((e,n)=>{t||C.push(f.append("g").append("path")),E(e,n)}))}function E(t,e){const r=t.points.map((t=>({time:u(t.time)||"",value:t.value,customtooltip:t.customtooltip})));!function(t,e,n,r){t.datum(e).attr("d",S().x((t=>g(+t.time))).y((t=>h(+t.value)))).attr("stroke",n).style("stroke-width",2.5).style("fill","none").attr("transform",`translate(${w.yAxisPadding},0)`).attr("stroke-dasharray",r||0)}(C[e],r,t.color,t.strokeDasharray),f.selectAll(`.chart__symbol-line-${e}`).remove(),function(t,e,r,o){let i=k(F);switch(r){case"circle":i=k($);break;case"triangle":i=k(Y)}f.selectAll().data(t).join("path").attr("d",i.size(50)).attr("opacity",1).attr("transform",(t=>`translate(${g(+t.time)+w.yAxisPadding},${h(+t.value)})`)).attr("class",`chart__symbol-line-${o}`).style("fill",e).style("cursor","pointer").on("mouseover",j).on("mouseout",(()=>n(3,U.show=!1,U))).on("click",((t,e)=>{b.dispatch("point-clicked",e)}))}(r,t.color,t.symbol,e)}function W(){var t;if(s&&y){const e=M();null===(t=l.querySelector("#svg-chart"))||void 0===t||t.setAttribute("width",`${e}px`),Z(!0)}}return d((()=>{new ResizeObserver(W).observe(l),n(9,y=!0)})),t.$$set=t=>{"data"in t&&n(5,r=t.data),"backgroundcolor"in t&&n(0,o=t.backgroundcolor),"height"in t&&n(6,i=t.height),"ticknumbers"in t&&n(7,a=t.ticknumbers)},t.$$.update=()=>{32&t.$$.dirty&&n(1,c=r?JSON.parse(r):[]),802&t.$$.dirty&&r.length>0&&y&&(s?r!==s&&(_(c),c.forEach(((t,e)=>E(t,e))),n(8,s=r)):(Z(),n(8,s=r)))},[o,c,l,U,w,r,i,a,s,y,function(t){T[t?"unshift":"push"]((()=>{l=t,n(2,l)}))}]}Mt=function(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,a=t.shortDays,u=t.months,s=t.shortMonths,c=Lt(o),l=jt(o),f=Lt(i),g=jt(i),h=Lt(a),d=jt(a),m=Lt(u),p=jt(u),y=Lt(s),T=jt(s),x={a:function(t){return a[t.getDay()]},A:function(t){return i[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:ne,e:ne,f:ue,g:Te,G:ve,H:re,I:oe,j:ie,L:ae,m:se,M:ce,p:function(t){return o[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Ve,s:Ie,S:le,u:fe,U:ge,V:de,w:me,W:pe,x:null,X:null,y:ye,Y:xe,Z:be,"%":Pe},v={a:function(t){return a[t.getUTCDay()]},A:function(t){return i[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Ce,e:Ce,f:ke,g:Ee,G:ze,H:we,I:Ue,j:Me,L:De,m:Fe,M:Ye,p:function(t){return o[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Ve,s:Ie,S:$e,u:Se,U:He,V:Le,w:je,W:_e,x:null,X:null,y:Ze,Y:We,Z:Oe,"%":Pe},b={a:function(t,e,n){var r=h.exec(e.slice(n));return r?(t.w=d.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=f.exec(e.slice(n));return r?(t.w=g.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=T.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=m.exec(e.slice(n));return r?(t.m=p.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return U(t,e,n,r)},d:qt,e:qt,f:Gt,g:Pt,G:Ot,H:Xt,I:Xt,j:Qt,L:Rt,m:Jt,M:Bt,p:function(t,e,n){var r=c.exec(e.slice(n));return r?(t.p=l.get(r[0].toLowerCase()),n+r[0].length):-1},q:It,Q:te,s:ee,S:Nt,u:Zt,U:Et,V:Wt,w:_t,W:zt,x:function(t,e,r){return U(t,n,e,r)},X:function(t,e,n){return U(t,r,e,n)},y:Pt,Y:Ot,Z:Vt,"%":Kt};function C(t,e){return function(n){var r,o,i,a=[],u=-1,s=0,c=t.length;for(n instanceof Date||(n=new Date(+n));++u<c;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(o=Ft[r=t.charAt(++u)])?r=t.charAt(++u):o="e"===r?" ":"0",(i=e[r])&&(r=i(n,o)),a.push(r),s=u+1);return a.push(t.slice(s,u)),a.join("")}}function w(t,e){return function(n){var r,o,i=Ut(1900,void 0,1);if(U(i,t,n+="",0)!=n.length)return null;if("Q"in i)return new Date(i.Q);if("s"in i)return new Date(1e3*i.s+("L"in i?i.L:0));if(e&&!("Z"in i)&&(i.Z=0),"p"in i&&(i.H=i.H%12+12*i.p),void 0===i.m&&(i.m="q"in i?i.q:0),"V"in i){if(i.V<1||i.V>53)return null;"w"in i||(i.w=1),"Z"in i?(o=(r=wt(Ut(i.y,0,1))).getUTCDay(),r=o>4||0===o?lt.ceil(r):lt(r),r=G.offset(r,7*(i.V-1)),i.y=r.getUTCFullYear(),i.m=r.getUTCMonth(),i.d=r.getUTCDate()+(i.w+6)%7):(o=(r=Ct(Ut(i.y,0,1))).getDay(),r=o>4||0===o?nt.ceil(r):nt(r),r=R.offset(r,7*(i.V-1)),i.y=r.getFullYear(),i.m=r.getMonth(),i.d=r.getDate()+(i.w+6)%7)}else("W"in i||"U"in i)&&("w"in i||(i.w="u"in i?i.u%7:"W"in i?1:0),o="Z"in i?wt(Ut(i.y,0,1)).getUTCDay():Ct(Ut(i.y,0,1)).getDay(),i.m=0,i.d="W"in i?(i.w+6)%7+7*i.W-(o+5)%7:i.w+7*i.U-(o+6)%7);return"Z"in i?(i.H+=i.Z/100|0,i.M+=i.Z%100,wt(i)):Ct(i)}}function U(t,e,n,r){for(var o,i,a=0,u=e.length,s=n.length;a<u;){if(r>=s)return-1;if(37===(o=e.charCodeAt(a++))){if(o=e.charAt(a++),!(i=b[o in Ft?e.charAt(a++):o])||(r=i(t,n,r))<0)return-1}else if(o!=n.charCodeAt(r++))return-1}return r}return x.x=C(n,x),x.X=C(r,x),x.c=C(e,x),v.x=C(n,v),v.X=C(r,v),v.c=C(e,v),{format:function(t){var e=C(t+="",x);return e.toString=function(){return t},e},parse:function(t){var e=w(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=C(t+="",v);return e.toString=function(){return t},e},utcParse:function(t){var e=w(t+="",!0);return e.toString=function(){return t},e}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),Dt=Mt.format,kt=Mt.parse,Mt.utcFormat,Mt.utcParse;class nn extends t{constructor(t){super();const a=document.createElement("style");a.textContent='.legend{margin-top:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 1.5rem;height:100%;color:#000000;gap:1rem}.legend__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:0.875rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.legend__title{white-space:nowrap;margin:0}.legend__box{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:0.25rem;height:16px;width:24px}text{font-family:"LeroyMerlin", sans-serif;font-size:14px;color:#555550}.tooltip{background-color:#4d4d4d;border-radius:4px;color:#ffffff;text-align:center;padding:0.5rem 1rem;top:0;position:absolute}',this.shadowRoot.appendChild(a),e(this,{target:this.shadowRoot,props:n(this.attributes),customElement:!0},en,tn,i,{data:5,backgroundcolor:0,height:6,ticknumbers:7},null),t&&(t.target&&r(t.target,this,t.anchor),t.props&&(this.$set(t.props),o()))}static get observedAttributes(){return["data","backgroundcolor","height","ticknumbers"]}get data(){return this.$$.ctx[5]}set data(t){this.$$set({data:t}),o()}get backgroundcolor(){return this.$$.ctx[0]}set backgroundcolor(t){this.$$set({backgroundcolor:t}),o()}get height(){return this.$$.ctx[6]}set height(t){this.$$set({height:t}),o()}get ticknumbers(){return this.$$.ctx[7]}set ticknumbers(t){this.$$set({ticknumbers:t}),o()}}export{nn as default};
|
|
2
2
|
//# sourceMappingURL=LineChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.js","sources":["../../../../node_modules/d3-array/src/extent.js","../../../../node_modules/d3-time/src/interval.js","../../../../node_modules/d3-time/src/millisecond.js","../../../../node_modules/d3-time/src/duration.js","../../../../node_modules/d3-time/src/second.js","../../../../node_modules/d3-time/src/minute.js","../../../../node_modules/d3-time/src/hour.js","../../../../node_modules/d3-time/src/day.js","../../../../node_modules/d3-time/src/week.js","../../../../node_modules/d3-time/src/month.js","../../../../node_modules/d3-time/src/year.js","../../../../node_modules/d3-time/src/ticks.js","../../../../node_modules/d3-time-format/src/locale.js","../../../../node_modules/d3-time-format/src/defaultLocale.js","../../../../node_modules/d3-scale/src/time.js","../../../../node_modules/d3-scale/src/nice.js","../../../../src/components/chart/LineChart.svelte"],"sourcesContent":["export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","<script lang=\"ts\">\n import { onMount } from 'svelte';\n import {\n select,\n line,\n axisLeft,\n symbolSquare,\n symbolCircle,\n symbolTriangle,\n axisBottom,\n timeParse,\n scaleLinear,\n Selection,\n symbol,\n extent,\n scaleTime,\n timeDay,\n ScaleTime,\n Axis,\n NumberValue,\n ScaleLinear,\n } from 'd3';\n import type { LineData, LinePoint, SymbolType } from './line-chart.types';\n import { EventHandler } from '../../utilities/EventHandler';\n\n export let data = '';\n export let backgroundcolor = '#fff';\n export let height = 300;\n export let ticknumbers = 5;\n\n const parseTime = timeParse('%d-%m-%Y');\n\n let _data: string;\n let hasMounted = false;\n let eventHandler = new EventHandler();\n let parsedData: LineData[];\n\n $: parsedData = data ? (JSON.parse(data) as LineData[]) : ([] as LineData[]);\n $: if (data.length > 0 && hasMounted) {\n if (!_data) {\n render();\n _data = data;\n } else if (data !== _data) {\n updateAxes(parsedData);\n parsedData.forEach((data, i) => updateLine(data, i));\n _data = data;\n }\n }\n\n let chart: HTMLDivElement;\n let svg: Selection<SVGGElement, LinePoint, any, any>;\n\n let x: ScaleTime<number, number, never>,\n y: ScaleLinear<number, number, never>,\n xAxis: Axis<Date | NumberValue>,\n yAxis: Axis<number | NumberValue>,\n linesD3: Selection<SVGPathElement, LinePoint, any, any>[] = [];\n\n const margin = { top: 20, right: 40, bottom: 40, left: 60, yAxisPadding: 20 };\n let tooltipData = {\n date: '',\n value: 0,\n show: false,\n customtooltip: '',\n };\n\n function getChartWidth() {\n let chartWidth = select(chart).style('width');\n if (chartWidth === '' || !chartWidth) {\n chartWidth = `${window.innerWidth / 2}`;\n }\n return parseInt(chartWidth);\n }\n\n function appendSymbols(\n data: LinePoint[],\n color: string,\n symbolType: SymbolType,\n i: number,\n ) {\n let symbolPath = symbol(symbolSquare);\n switch (symbolType) {\n case 'circle':\n symbolPath = symbol(symbolCircle);\n break;\n case 'triangle':\n symbolPath = symbol(symbolTriangle);\n break;\n }\n\n svg\n .selectAll()\n .data(data)\n .join('path')\n .attr('d', symbolPath.size(50))\n .attr('opacity', 1)\n .attr(\n 'transform',\n (d) => `translate(${x(+d.time) + margin.yAxisPadding},${y(+d.value)})`,\n )\n .attr('class', `chart__symbol-line-${i}`)\n .style('fill', color)\n .style('cursor', 'pointer')\n .on('mouseover', handleTickMouseOver)\n .on('mouseout', () => (tooltipData.show = false))\n .on('click', (_e: MouseEvent, point: LinePoint) => {\n eventHandler.dispatch('point-clicked', point);\n });\n }\n\n function handleTickMouseOver(_e: MouseEvent, point: LinePoint): void {\n const date = new Date(point.time).toDateString();\n const value = point.value;\n tooltipData = {\n date,\n value: parseInt(value),\n show: true,\n customtooltip: point.customtooltip,\n };\n }\n\n function updatePath(\n lineD3: Selection<SVGPathElement, LinePoint, any, any>,\n points: LinePoint[],\n color: string,\n strokeDasharray?: number,\n ) {\n lineD3\n .datum(points)\n .attr(\n 'd',\n line<LinePoint>()\n .x((d) => x(+d.time))\n .y((d) => y(+d.value)),\n )\n .attr('stroke', color)\n .style('stroke-width', 2.5)\n .style('fill', 'none')\n .attr('transform', `translate(${margin.yAxisPadding},0)`)\n .attr('stroke-dasharray', strokeDasharray || 0);\n }\n\n function updateAxes(data: LineData[]) {\n const width = getChartWidth();\n const mergedLineData = data.flatMap((d) => d.points);\n const [yMin = 0, yMax = 0] = extent(mergedLineData, (d) => Number(d.value));\n const xDomain = extent(mergedLineData, (d) => parseTime(d.time as string));\n x.domain(xDomain as Iterable<Date | NumberValue>);\n svg\n .selectAll('.x-axis')\n .attr(\n 'transform',\n `translate(${margin.yAxisPadding},${height + margin.bottom / 2})`,\n )\n .call(xAxis as any)\n .attr('stroke-width', '0');\n\n y.domain([yMin, yMax]);\n svg\n .selectAll('.y-axis')\n .call(yAxis as any)\n .select('.domain')\n .attr('stroke-width', '0');\n\n svg\n .selectAll('.y-axis .tick line')\n .attr('x1', margin.yAxisPadding / 2)\n .attr('x2', width - margin.left)\n .attr('stroke', '#EEEDEA')\n .attr('stroke-width', '1.4px');\n }\n\n function render(resize?: boolean) {\n const width = getChartWidth();\n\n x = scaleTime().range([0, width - margin.left - margin.right]);\n xAxis = axisBottom(x)\n .tickSize(0)\n .ticks(timeDay)\n .ticks(ticknumbers)\n .tickPadding(5);\n\n y = scaleLinear().range([height, 0]);\n yAxis = axisLeft(y).ticks(ticknumbers);\n\n if (!resize) {\n svg = select<HTMLElement, LinePoint>(chart)\n .append('svg')\n .attr('width', width)\n .attr('height', height + margin.top + margin.bottom)\n .attr('id', 'svg-chart')\n .append('g')\n .attr(\n 'transform',\n `translate(${margin.left / 2 + margin.right / 2},${margin.top})`,\n );\n\n svg\n .append('g')\n .attr('transform', 'translate(0,' + String(height) + ')')\n .attr('class', 'x-axis');\n svg.append('g').attr('class', 'y-axis');\n }\n\n updateAxes(parsedData);\n parsedData.forEach((data, i) => {\n if (!resize) {\n linesD3.push(svg.append('g').append('path'));\n }\n updateLine(data, i);\n });\n }\n\n function updateLine(data: LineData, i: number) {\n const points = data.points.map((d) => ({\n time: parseTime(d.time as string) || '',\n value: d.value,\n customtooltip: d.customtooltip,\n }));\n updatePath(linesD3[i], points, data.color, data.strokeDasharray);\n svg.selectAll(`.chart__symbol-line-${i}`).remove();\n appendSymbols(points, data.color, data.symbol, i);\n }\n\n function resize() {\n if (_data && hasMounted) {\n const width = getChartWidth();\n chart.querySelector('#svg-chart')?.setAttribute('width', `${width}px`);\n render(true);\n }\n }\n\n onMount(() => {\n const resizeObserver = new ResizeObserver(resize);\n resizeObserver.observe(chart);\n hasMounted = true;\n });\n</script>\n\n<div\n bind:this={chart}\n class=\"chart\"\n style=\"background-color: {backgroundcolor};\"\n>\n {#if tooltipData.show}\n <div\n class=\"tooltip\"\n style={`right: ${margin.right}px; top: ${margin.top}px;`}\n >\n {#if tooltipData.customtooltip}\n {tooltipData.customtooltip}\n {:else}\n {tooltipData.date}: <b>{tooltipData.value}</b>\n {/if}\n </div>\n {/if}\n</div>\n\n<div class=\"legend\">\n {#each parsedData as d}\n <div class=\"legend__item\">\n <svg class=\"legend__box\">\n <rect x=\"0\" y=\"0\" width=\"24\" height=\"16\" fill={d.color} />\n </svg>\n <span class=\"legend__title\">{d.title}</span>\n </div>\n {/each}\n</div>\n\n<text style=\"display: none;\" />\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/_all-settings';\n\n .legend {\n margin-top: magic-unit-rem(1);\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 magic-unit-rem(1.5);\n height: 100%;\n color: $color-grey-999;\n gap: magic-unit-rem(1);\n\n &__item {\n display: flex;\n justify-content: center;\n font-size: $size-font-04;\n align-items: center;\n }\n\n &__title {\n white-space: nowrap;\n margin: 0;\n }\n\n &__box {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: magic-unit-rem(0.25);\n height: 16px;\n width: 24px;\n }\n }\n\n text {\n font-family: 'LeroyMerlin', sans-serif;\n font-size: 14px;\n color: #555550;\n }\n\n .tooltip {\n background-color: $color-grey-700;\n border-radius: 4px;\n color: $color-grey-000;\n text-align: center;\n padding: magic-unit-rem(0.5) magic-unit-rem(1);\n top: 0;\n position: absolute;\n }\n</style>\n"],"names":["extent","values","valueof","min","max","undefined","value","index","t0","Date","t1","timeInterval","floori","offseti","count","field","interval","date","arguments","length","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","test","setTime","end","every","isFinite","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","getMilliseconds","getUTCSeconds","timeMinute","getSeconds","getMinutes","utcMinute","setUTCSeconds","getUTCMinutes","timeHour","getHours","utcHour","setUTCMinutes","getUTCHours","timeDay","setHours","setDate","getDate","getTimezoneOffset","utcDay","setUTCHours","setUTCDate","getUTCDate","unixDay","timeWeekday","i","getDay","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","setMonth","getMonth","getFullYear","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","timeYear","setFullYear","utcYear","setUTCFullYear","timeTicks","timeTickInterval","year","month","week","day","hour","minute","tickIntervals","tickInterval","target","abs","bisector","right","tickStep","t","reverse","ticks","ticker","localDate","y","m","H","M","S","L","utcDate","UTC","newDate","locale","timeFormat","timeParse","pads","_","numberRe","percentRe","requoteRe","pad","fill","width","sign","string","Array","join","requote","s","replace","formatRe","names","RegExp","map","formatLookup","Map","name","toLowerCase","parseWeekdayNumberSunday","n","exec","slice","w","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","q","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","p","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","number","calendar","format","scale","continuous","invert","domain","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickFormat","from","specifier","nice","i0","i1","x0","x1","copy","time","initRange","apply","timeWeek","timeSecond","ctx","customtooltip","create_if_block_1","attr","div","top","insert","anchor","t0_value","t2_value","b","dirty","set_data","t2","t_value","t1_value","title","rect","rect_fill_value","color","append","svg_1","span","if_block","show","create_if_block","div0","div1","text_1","data","$$props","backgroundcolor","height","ticknumbers","parseTime","_data","parsedData","chart","svg","x","xAxis","yAxis","hasMounted","eventHandler","EventHandler","linesD3","margin","bottom","left","yAxisPadding","tooltipData","getChartWidth","chartWidth","select","style","window","innerWidth","parseInt","handleTickMouseOver","_e","point","toDateString","updateAxes","mergedLineData","flatMap","points","yMin","yMax","Number","xDomain","selectAll","call","render","resize","scaleTime","axisBottom","tickSize","tickPadding","scaleLinear","axisLeft","String","forEach","updateLine","lineD3","strokeDasharray","datum","line","updatePath","remove","symbolType","symbolPath","symbol","symbolSquare","symbolCircle","symbolTriangle","size","on","dispatch","appendSymbols","_a","querySelector","setAttribute","onMount","ResizeObserver","observe","$$invalidate","JSON","parse","$$value","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","a","A","B","c","e","f","g","G","I","j","X","Y","utcFormats","parses","get","parseSpecifier","newFormat","charCodeAt","charAt","newParse","toString","utcFormat","utcParse","formatLocale"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LineChart.js","sources":["../../../../node_modules/d3-array/src/extent.js","../../../../node_modules/d3-time/src/interval.js","../../../../node_modules/d3-time/src/millisecond.js","../../../../node_modules/d3-time/src/duration.js","../../../../node_modules/d3-time/src/second.js","../../../../node_modules/d3-time/src/minute.js","../../../../node_modules/d3-time/src/hour.js","../../../../node_modules/d3-time/src/day.js","../../../../node_modules/d3-time/src/week.js","../../../../node_modules/d3-time/src/month.js","../../../../node_modules/d3-time/src/year.js","../../../../node_modules/d3-time/src/ticks.js","../../../../node_modules/d3-time-format/src/locale.js","../../../../node_modules/d3-time-format/src/defaultLocale.js","../../../../node_modules/d3-scale/src/time.js","../../../../node_modules/d3-scale/src/nice.js","../../../../src/components/chart/LineChart.svelte"],"sourcesContent":["export default function extent(values, valueof) {\n let min;\n let max;\n if (valueof === undefined) {\n for (const value of values) {\n if (value != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if ((value = valueof(value, ++index, values)) != null) {\n if (min === undefined) {\n if (value >= value) min = max = value;\n } else {\n if (min > value) min = value;\n if (max < value) max = value;\n }\n }\n }\n }\n return [min, max];\n}\n","const t0 = new Date, t1 = new Date;\n\nexport function timeInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = (date) => {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = (date) => {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = (date) => {\n const d0 = interval(date), d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = (date, step) => {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = (start, stop, step) => {\n const range = [];\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n let previous;\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = (test) => {\n return timeInterval((date) => {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, (date, step) => {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = (start, end) => {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = (step) => {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? (d) => field(d) % step === 0\n : (d) => interval.count(0, d) % step === 0);\n };\n }\n\n return interval;\n}\n","import {timeInterval} from \"./interval.js\";\n\nexport const millisecond = timeInterval(() => {\n // noop\n}, (date, step) => {\n date.setTime(+date + step);\n}, (start, end) => {\n return end - start;\n});\n\n// An optimized implementation for this simple case.\nmillisecond.every = (k) => {\n k = Math.floor(k);\n if (!isFinite(k) || !(k > 0)) return null;\n if (!(k > 1)) return millisecond;\n return timeInterval((date) => {\n date.setTime(Math.floor(date / k) * k);\n }, (date, step) => {\n date.setTime(+date + step * k);\n }, (start, end) => {\n return (end - start) / k;\n });\n};\n\nexport const milliseconds = millisecond.range;\n","export const durationSecond = 1000;\nexport const durationMinute = durationSecond * 60;\nexport const durationHour = durationMinute * 60;\nexport const durationDay = durationHour * 24;\nexport const durationWeek = durationDay * 7;\nexport const durationMonth = durationDay * 30;\nexport const durationYear = durationDay * 365;\n","import {timeInterval} from \"./interval.js\";\nimport {durationSecond} from \"./duration.js\";\n\nexport const second = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds());\n}, (date, step) => {\n date.setTime(+date + step * durationSecond);\n}, (start, end) => {\n return (end - start) / durationSecond;\n}, (date) => {\n return date.getUTCSeconds();\n});\n\nexport const seconds = second.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeMinute = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getMinutes();\n});\n\nexport const timeMinutes = timeMinute.range;\n\nexport const utcMinute = timeInterval((date) => {\n date.setUTCSeconds(0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationMinute);\n}, (start, end) => {\n return (end - start) / durationMinute;\n}, (date) => {\n return date.getUTCMinutes();\n});\n\nexport const utcMinutes = utcMinute.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationHour, durationMinute, durationSecond} from \"./duration.js\";\n\nexport const timeHour = timeInterval((date) => {\n date.setTime(date - date.getMilliseconds() - date.getSeconds() * durationSecond - date.getMinutes() * durationMinute);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getHours();\n});\n\nexport const timeHours = timeHour.range;\n\nexport const utcHour = timeInterval((date) => {\n date.setUTCMinutes(0, 0, 0);\n}, (date, step) => {\n date.setTime(+date + step * durationHour);\n}, (start, end) => {\n return (end - start) / durationHour;\n}, (date) => {\n return date.getUTCHours();\n});\n\nexport const utcHours = utcHour.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nexport const timeDay = timeInterval(\n date => date.setHours(0, 0, 0, 0),\n (date, step) => date.setDate(date.getDate() + step),\n (start, end) => (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay,\n date => date.getDate() - 1\n);\n\nexport const timeDays = timeDay.range;\n\nexport const utcDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return date.getUTCDate() - 1;\n});\n\nexport const utcDays = utcDay.range;\n\nexport const unixDay = timeInterval((date) => {\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step);\n}, (start, end) => {\n return (end - start) / durationDay;\n}, (date) => {\n return Math.floor(date / durationDay);\n});\n\nexport const unixDays = unixDay.range;\n","import {timeInterval} from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction timeWeekday(i) {\n return timeInterval((date) => {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setDate(date.getDate() + step * 7);\n }, (start, end) => {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport const timeSunday = timeWeekday(0);\nexport const timeMonday = timeWeekday(1);\nexport const timeTuesday = timeWeekday(2);\nexport const timeWednesday = timeWeekday(3);\nexport const timeThursday = timeWeekday(4);\nexport const timeFriday = timeWeekday(5);\nexport const timeSaturday = timeWeekday(6);\n\nexport const timeSundays = timeSunday.range;\nexport const timeMondays = timeMonday.range;\nexport const timeTuesdays = timeTuesday.range;\nexport const timeWednesdays = timeWednesday.range;\nexport const timeThursdays = timeThursday.range;\nexport const timeFridays = timeFriday.range;\nexport const timeSaturdays = timeSaturday.range;\n\nfunction utcWeekday(i) {\n return timeInterval((date) => {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, (start, end) => {\n return (end - start) / durationWeek;\n });\n}\n\nexport const utcSunday = utcWeekday(0);\nexport const utcMonday = utcWeekday(1);\nexport const utcTuesday = utcWeekday(2);\nexport const utcWednesday = utcWeekday(3);\nexport const utcThursday = utcWeekday(4);\nexport const utcFriday = utcWeekday(5);\nexport const utcSaturday = utcWeekday(6);\n\nexport const utcSundays = utcSunday.range;\nexport const utcMondays = utcMonday.range;\nexport const utcTuesdays = utcTuesday.range;\nexport const utcWednesdays = utcWednesday.range;\nexport const utcThursdays = utcThursday.range;\nexport const utcFridays = utcFriday.range;\nexport const utcSaturdays = utcSaturday.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeMonth = timeInterval((date) => {\n date.setDate(1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setMonth(date.getMonth() + step);\n}, (start, end) => {\n return end.getMonth() - start.getMonth() + (end.getFullYear() - start.getFullYear()) * 12;\n}, (date) => {\n return date.getMonth();\n});\n\nexport const timeMonths = timeMonth.range;\n\nexport const utcMonth = timeInterval((date) => {\n date.setUTCDate(1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCMonth(date.getUTCMonth() + step);\n}, (start, end) => {\n return end.getUTCMonth() - start.getUTCMonth() + (end.getUTCFullYear() - start.getUTCFullYear()) * 12;\n}, (date) => {\n return date.getUTCMonth();\n});\n\nexport const utcMonths = utcMonth.range;\n","import {timeInterval} from \"./interval.js\";\n\nexport const timeYear = timeInterval((date) => {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setFullYear(date.getFullYear() + step);\n}, (start, end) => {\n return end.getFullYear() - start.getFullYear();\n}, (date) => {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\ntimeYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport const timeYears = timeYear.range;\n\nexport const utcYear = timeInterval((date) => {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, (start, end) => {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, (date) => {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = (k) => {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : timeInterval((date) => {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, (date, step) => {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport const utcYears = utcYear.range;\n","import {bisector, tickStep} from \"d3-array\";\nimport {durationDay, durationHour, durationMinute, durationMonth, durationSecond, durationWeek, durationYear} from \"./duration.js\";\nimport {millisecond} from \"./millisecond.js\";\nimport {second} from \"./second.js\";\nimport {timeMinute, utcMinute} from \"./minute.js\";\nimport {timeHour, utcHour} from \"./hour.js\";\nimport {timeDay, unixDay} from \"./day.js\";\nimport {timeSunday, utcSunday} from \"./week.js\";\nimport {timeMonth, utcMonth} from \"./month.js\";\nimport {timeYear, utcYear} from \"./year.js\";\n\nfunction ticker(year, month, week, day, hour, minute) {\n\n const tickIntervals = [\n [second, 1, durationSecond],\n [second, 5, 5 * durationSecond],\n [second, 15, 15 * durationSecond],\n [second, 30, 30 * durationSecond],\n [minute, 1, durationMinute],\n [minute, 5, 5 * durationMinute],\n [minute, 15, 15 * durationMinute],\n [minute, 30, 30 * durationMinute],\n [ hour, 1, durationHour ],\n [ hour, 3, 3 * durationHour ],\n [ hour, 6, 6 * durationHour ],\n [ hour, 12, 12 * durationHour ],\n [ day, 1, durationDay ],\n [ day, 2, 2 * durationDay ],\n [ week, 1, durationWeek ],\n [ month, 1, durationMonth ],\n [ month, 3, 3 * durationMonth ],\n [ year, 1, durationYear ]\n ];\n\n function ticks(start, stop, count) {\n const reverse = stop < start;\n if (reverse) [start, stop] = [stop, start];\n const interval = count && typeof count.range === \"function\" ? count : tickInterval(start, stop, count);\n const ticks = interval ? interval.range(start, +stop + 1) : []; // inclusive stop\n return reverse ? ticks.reverse() : ticks;\n }\n\n function tickInterval(start, stop, count) {\n const target = Math.abs(stop - start) / count;\n const i = bisector(([,, step]) => step).right(tickIntervals, target);\n if (i === tickIntervals.length) return year.every(tickStep(start / durationYear, stop / durationYear, count));\n if (i === 0) return millisecond.every(Math.max(tickStep(start, stop, count), 1));\n const [t, step] = tickIntervals[target / tickIntervals[i - 1][2] < tickIntervals[i][2] / target ? i - 1 : i];\n return t.every(step);\n }\n\n return [ticks, tickInterval];\n}\n\nconst [utcTicks, utcTickInterval] = ticker(utcYear, utcMonth, utcSunday, unixDay, utcHour, utcMinute);\nconst [timeTicks, timeTickInterval] = ticker(timeYear, timeMonth, timeSunday, timeDay, timeHour, timeMinute);\n\nexport {utcTicks, utcTickInterval, timeTicks, timeTickInterval};\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n return new Map(names.map((name, i) => [name.toLowerCase(), i]));\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import {timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeTicks, timeTickInterval} from \"d3-time\";\nimport {timeFormat} from \"d3-time-format\";\nimport continuous, {copy} from \"./continuous.js\";\nimport {initRange} from \"./init.js\";\nimport nice from \"./nice.js\";\n\nfunction date(t) {\n return new Date(t);\n}\n\nfunction number(t) {\n return t instanceof Date ? +t : +new Date(+t);\n}\n\nexport function calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format) {\n var scale = continuous(),\n invert = scale.invert,\n domain = scale.domain;\n\n var formatMillisecond = format(\".%L\"),\n formatSecond = format(\":%S\"),\n formatMinute = format(\"%I:%M\"),\n formatHour = format(\"%I %p\"),\n formatDay = format(\"%a %d\"),\n formatWeek = format(\"%b %d\"),\n formatMonth = format(\"%B\"),\n formatYear = format(\"%Y\");\n\n function tickFormat(date) {\n return (second(date) < date ? formatMillisecond\n : minute(date) < date ? formatSecond\n : hour(date) < date ? formatMinute\n : day(date) < date ? formatHour\n : month(date) < date ? (week(date) < date ? formatDay : formatWeek)\n : year(date) < date ? formatMonth\n : formatYear)(date);\n }\n\n scale.invert = function(y) {\n return new Date(invert(y));\n };\n\n scale.domain = function(_) {\n return arguments.length ? domain(Array.from(_, number)) : domain().map(date);\n };\n\n scale.ticks = function(interval) {\n var d = domain();\n return ticks(d[0], d[d.length - 1], interval == null ? 10 : interval);\n };\n\n scale.tickFormat = function(count, specifier) {\n return specifier == null ? tickFormat : format(specifier);\n };\n\n scale.nice = function(interval) {\n var d = domain();\n if (!interval || typeof interval.range !== \"function\") interval = tickInterval(d[0], d[d.length - 1], interval == null ? 10 : interval);\n return interval ? domain(nice(d, interval)) : scale;\n };\n\n scale.copy = function() {\n return copy(scale, calendar(ticks, tickInterval, year, month, week, day, hour, minute, second, format));\n };\n\n return scale;\n}\n\nexport default function time() {\n return initRange.apply(calendar(timeTicks, timeTickInterval, timeYear, timeMonth, timeWeek, timeDay, timeHour, timeMinute, timeSecond, timeFormat).domain([new Date(2000, 0, 1), new Date(2000, 0, 2)]), arguments);\n}\n","export default function nice(domain, interval) {\n domain = domain.slice();\n\n var i0 = 0,\n i1 = domain.length - 1,\n x0 = domain[i0],\n x1 = domain[i1],\n t;\n\n if (x1 < x0) {\n t = i0, i0 = i1, i1 = t;\n t = x0, x0 = x1, x1 = t;\n }\n\n domain[i0] = interval.floor(x0);\n domain[i1] = interval.ceil(x1);\n return domain;\n}\n","<script lang=\"ts\">\n import { onMount } from 'svelte';\n import {\n select,\n line,\n axisLeft,\n symbolSquare,\n symbolCircle,\n symbolTriangle,\n axisBottom,\n timeParse,\n scaleLinear,\n Selection,\n symbol,\n extent,\n scaleTime,\n timeDay,\n ScaleTime,\n Axis,\n NumberValue,\n ScaleLinear,\n } from 'd3';\n import type { LineData, LinePoint, SymbolType } from './line-chart.types';\n import { EventHandler } from '../../utilities/EventHandler';\n\n export let data = '';\n export let backgroundcolor = '#fff';\n export let height = 300;\n export let ticknumbers = 5;\n\n const parseTime = timeParse('%d-%m-%Y');\n\n let _data: string;\n let hasMounted = false;\n let eventHandler = new EventHandler();\n let parsedData: LineData[];\n\n $: parsedData = data ? (JSON.parse(data) as LineData[]) : ([] as LineData[]);\n $: if (data.length > 0 && hasMounted) {\n if (!_data) {\n render();\n _data = data;\n } else if (data !== _data) {\n updateAxes(parsedData);\n parsedData.forEach((data, i) => updateLine(data, i));\n _data = data;\n }\n }\n\n let chart: HTMLDivElement;\n let svg: Selection<SVGGElement, LinePoint, any, any>;\n\n let x: ScaleTime<number, number, never>,\n y: ScaleLinear<number, number, never>,\n xAxis: Axis<Date | NumberValue>,\n yAxis: Axis<number | NumberValue>,\n linesD3: Selection<SVGPathElement, LinePoint, any, any>[] = [];\n\n const margin = { top: 20, right: 40, bottom: 40, left: 60, yAxisPadding: 20 };\n let tooltipData = {\n date: '',\n value: 0,\n show: false,\n customtooltip: '',\n };\n\n function getChartWidth() {\n let chartWidth = select(chart).style('width');\n if (chartWidth === '' || !chartWidth) {\n chartWidth = `${window.innerWidth / 2}`;\n }\n return parseInt(chartWidth);\n }\n\n function appendSymbols(\n data: LinePoint[],\n color: string,\n symbolType: SymbolType,\n i: number,\n ) {\n let symbolPath = symbol(symbolSquare);\n switch (symbolType) {\n case 'circle':\n symbolPath = symbol(symbolCircle);\n break;\n case 'triangle':\n symbolPath = symbol(symbolTriangle);\n break;\n }\n\n svg\n .selectAll()\n .data(data)\n .join('path')\n .attr('d', symbolPath.size(50))\n .attr('opacity', 1)\n .attr(\n 'transform',\n (d) => `translate(${x(+d.time) + margin.yAxisPadding},${y(+d.value)})`,\n )\n .attr('class', `chart__symbol-line-${i}`)\n .style('fill', color)\n .style('cursor', 'pointer')\n .on('mouseover', handleTickMouseOver)\n .on('mouseout', () => (tooltipData.show = false))\n .on('click', (_e: MouseEvent, point: LinePoint) => {\n eventHandler.dispatch('point-clicked', point);\n });\n }\n\n function handleTickMouseOver(_e: MouseEvent, point: LinePoint): void {\n const date = new Date(point.time).toDateString();\n const value = point.value;\n tooltipData = {\n date,\n value: parseInt(value),\n show: true,\n customtooltip: point.customtooltip,\n };\n }\n\n function updatePath(\n lineD3: Selection<SVGPathElement, LinePoint, any, any>,\n points: LinePoint[],\n color: string,\n strokeDasharray?: number,\n ) {\n lineD3\n .datum(points)\n .attr(\n 'd',\n line<LinePoint>()\n .x((d) => x(+d.time))\n .y((d) => y(+d.value)),\n )\n .attr('stroke', color)\n .style('stroke-width', 2.5)\n .style('fill', 'none')\n .attr('transform', `translate(${margin.yAxisPadding},0)`)\n .attr('stroke-dasharray', strokeDasharray || 0);\n }\n\n function updateAxes(data: LineData[]) {\n const width = getChartWidth();\n const mergedLineData = data.flatMap((d) => d.points);\n const [yMin = 0, yMax = 0] = extent(mergedLineData, (d) => Number(d.value));\n const xDomain = extent(mergedLineData, (d) => parseTime(d.time as string));\n x.domain(xDomain as Iterable<Date | NumberValue>);\n svg\n .selectAll('.x-axis')\n .attr(\n 'transform',\n `translate(${margin.yAxisPadding},${height + margin.bottom / 2})`,\n )\n .call(xAxis as any)\n .attr('stroke-width', '0');\n\n y.domain([yMin, yMax]);\n svg\n .selectAll('.y-axis')\n .call(yAxis as any)\n .select('.domain')\n .attr('stroke-width', '0');\n\n svg\n .selectAll('.y-axis .tick line')\n .attr('x1', margin.yAxisPadding / 2)\n .attr('x2', width - margin.left)\n .attr('stroke', '#EEEDEA')\n .attr('stroke-width', '1.4px');\n }\n\n function render(resize?: boolean) {\n const width = getChartWidth();\n\n x = scaleTime().range([0, width - margin.left - margin.right]);\n xAxis = axisBottom(x)\n .tickSize(0)\n .ticks(timeDay)\n .ticks(ticknumbers)\n .tickPadding(5);\n\n y = scaleLinear().range([height, 0]);\n yAxis = axisLeft(y).ticks(ticknumbers);\n\n if (!resize) {\n svg = select<HTMLElement, LinePoint>(chart)\n .append('svg')\n .attr('width', width)\n .attr('height', height + margin.top + margin.bottom)\n .attr('id', 'svg-chart')\n .append('g')\n .attr(\n 'transform',\n `translate(${margin.left / 2 + margin.right / 2},${margin.top})`,\n );\n\n svg\n .append('g')\n .attr('transform', 'translate(0,' + String(height) + ')')\n .attr('class', 'x-axis');\n svg.append('g').attr('class', 'y-axis');\n }\n\n updateAxes(parsedData);\n parsedData.forEach((data, i) => {\n if (!resize) {\n linesD3.push(svg.append('g').append('path'));\n }\n updateLine(data, i);\n });\n }\n\n function updateLine(data: LineData, i: number) {\n const points = data.points.map((d) => ({\n time: parseTime(d.time as string) || '',\n value: d.value,\n customtooltip: d.customtooltip,\n }));\n updatePath(linesD3[i], points, data.color, data.strokeDasharray);\n svg.selectAll(`.chart__symbol-line-${i}`).remove();\n appendSymbols(points, data.color, data.symbol, i);\n }\n\n function resize() {\n if (_data && hasMounted) {\n const width = getChartWidth();\n chart.querySelector('#svg-chart')?.setAttribute('width', `${width}px`);\n render(true);\n }\n }\n\n onMount(() => {\n const resizeObserver = new ResizeObserver(resize);\n resizeObserver.observe(chart);\n hasMounted = true;\n });\n</script>\n\n<div\n bind:this={chart}\n class=\"chart\"\n style=\"background-color: {backgroundcolor};\"\n>\n {#if tooltipData.show}\n <div\n class=\"tooltip\"\n style={`right: ${margin.right}px; top: ${margin.top}px;`}\n >\n {#if tooltipData.customtooltip}\n {tooltipData.customtooltip}\n {:else}\n {tooltipData.date}: <b>{tooltipData.value}</b>\n {/if}\n </div>\n {/if}\n</div>\n\n<div class=\"legend\">\n {#each parsedData as d}\n <div class=\"legend__item\">\n <svg class=\"legend__box\">\n <rect x=\"0\" y=\"0\" width=\"24\" height=\"16\" fill={d.color} />\n </svg>\n <span class=\"legend__title\">{d.title}</span>\n </div>\n {/each}\n</div>\n\n<text style=\"display: none;\" />\n\n<style lang=\"scss\">\n @import '@mozaic-ds/styles/settings-tools/_all-settings';\n\n .legend {\n margin-top: magic-unit-rem(1);\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 magic-unit-rem(1.5);\n height: 100%;\n color: $color-grey-999;\n gap: magic-unit-rem(1);\n\n &__item {\n display: flex;\n justify-content: center;\n font-size: $size-font-04;\n align-items: center;\n }\n\n &__title {\n white-space: nowrap;\n margin: 0;\n }\n\n &__box {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: magic-unit-rem(0.25);\n height: 16px;\n width: 24px;\n }\n }\n\n text {\n font-family: 'LeroyMerlin', sans-serif;\n font-size: 14px;\n color: #555550;\n }\n\n .tooltip {\n background-color: $color-grey-700;\n border-radius: 4px;\n color: $color-grey-000;\n text-align: center;\n padding: magic-unit-rem(0.5) magic-unit-rem(1);\n top: 0;\n position: absolute;\n }\n</style>\n"],"names":["extent","values","valueof","min","max","undefined","value","index","t0","Date","t1","timeInterval","floori","offseti","count","field","interval","date","arguments","length","floor","ceil","round","d0","d1","offset","step","Math","range","start","stop","previous","push","filter","test","setTime","end","every","isFinite","d","millisecond","k","durationSecond","durationMinute","durationHour","durationDay","durationWeek","durationMonth","durationYear","second","getMilliseconds","getUTCSeconds","timeMinute","getSeconds","getMinutes","utcMinute","setUTCSeconds","getUTCMinutes","timeHour","getHours","utcHour","setUTCMinutes","getUTCHours","timeDay","setHours","setDate","getDate","getTimezoneOffset","utcDay","setUTCHours","setUTCDate","getUTCDate","unixDay","timeWeekday","i","getDay","timeSunday","timeMonday","timeTuesday","timeWednesday","timeThursday","timeFriday","timeSaturday","utcWeekday","getUTCDay","utcSunday","utcMonday","utcTuesday","utcWednesday","utcThursday","utcFriday","utcSaturday","timeMonth","setMonth","getMonth","getFullYear","utcMonth","setUTCMonth","getUTCMonth","getUTCFullYear","timeYear","setFullYear","utcYear","setUTCFullYear","timeTicks","timeTickInterval","year","month","week","day","hour","minute","tickIntervals","tickInterval","target","abs","bisector","right","tickStep","t","reverse","ticks","ticker","localDate","y","m","H","M","S","L","utcDate","UTC","newDate","locale","timeFormat","timeParse","pads","_","numberRe","percentRe","requoteRe","pad","fill","width","sign","string","Array","join","requote","s","replace","formatRe","names","RegExp","map","formatLookup","Map","name","toLowerCase","parseWeekdayNumberSunday","n","exec","slice","w","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","q","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","p","formatHour24","formatHour12","formatDayOfYear","formatMilliseconds","formatMicroseconds","formatMonthNumber","formatMinutes","formatSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","dISO","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","formatUTCMinutes","formatUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","number","calendar","format","scale","continuous","invert","domain","formatMillisecond","formatSecond","formatMinute","formatHour","formatDay","formatWeek","formatMonth","tickFormat","from","specifier","nice","i0","i1","x0","x1","copy","time","initRange","apply","timeWeek","timeSecond","ctx","customtooltip","create_if_block_1","attr","div","top","insert","anchor","t0_value","t2_value","b","dirty","set_data","t2","t_value","t1_value","title","rect","rect_fill_value","color","append","svg_1","span","if_block","show","create_if_block","div0","div1","text_1","data","$$props","backgroundcolor","height","ticknumbers","parseTime","_data","parsedData","chart","svg","x","xAxis","yAxis","hasMounted","eventHandler","EventHandler","linesD3","margin","bottom","left","yAxisPadding","tooltipData","getChartWidth","chartWidth","select","style","window","innerWidth","parseInt","handleTickMouseOver","_e","point","toDateString","updateAxes","mergedLineData","flatMap","points","yMin","yMax","Number","xDomain","selectAll","call","render","resize","scaleTime","axisBottom","tickSize","tickPadding","scaleLinear","axisLeft","String","forEach","updateLine","lineD3","strokeDasharray","datum","line","updatePath","remove","symbolType","symbolPath","symbol","symbolSquare","symbolCircle","symbolTriangle","size","on","dispatch","appendSymbols","_a","querySelector","setAttribute","onMount","ResizeObserver","observe","$$invalidate","JSON","parse","$$value","locale_dateTime","dateTime","locale_date","locale_time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","a","A","B","c","e","f","g","G","I","j","X","Y","utcFormats","parses","get","parseSpecifier","newFormat","charCodeAt","charAt","newParse","toString","utcFormat","utcParse","formatLocale"],"mappings":"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"}
|