@mozaic-ds/web-components 0.6.2-beta.1 → 0.8.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.
Files changed (110) hide show
  1. package/package.json +6 -3
  2. package/public/{DataTableDefaultAction.nested-4da4dc44.js → DataTableDefaultAction.nested-483f8bb0.js} +2 -2
  3. package/public/DataTableDefaultAction.nested-483f8bb0.js.map +1 -0
  4. package/public/adeo/{DataTableDefaultAction.nested-9f01417d.js → DataTableDefaultAction.nested-90536fe3.js} +2 -2
  5. package/public/adeo/DataTableDefaultAction.nested-90536fe3.js.map +1 -0
  6. package/public/adeo/components/accordion/Accordion.js +1 -1
  7. package/public/adeo/components/accordion/Accordion.js.map +1 -1
  8. package/public/adeo/components/chart/LineChart.js +1 -1
  9. package/public/adeo/components/chart/LineChart.js.map +1 -1
  10. package/public/adeo/components/datatable/DataTable.js +1 -1
  11. package/public/adeo/components/datatable/DataTable.js.map +1 -1
  12. package/public/adeo/components/datatable/DataTable.svelte +2 -0
  13. package/public/adeo/components/datatable/DataTableDefaultAction.nested.js +1 -1
  14. package/public/adeo/components/datatable/datatable.types.d.ts +1 -0
  15. package/public/adeo/components/datatable/datatable.types.d.ts.map +1 -1
  16. package/public/adeo/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
  17. package/public/adeo/components/fileuploader/FileUploader.js +1 -1
  18. package/public/adeo/components/fileuploader/FileUploader.js.map +1 -1
  19. package/public/adeo/components/fileuploader/FileUploader.svelte +7 -0
  20. package/public/adeo/components/header/Header.js +1 -1
  21. package/public/adeo/components/header/Header.js.map +1 -1
  22. package/public/adeo/components/header/Header.svelte +2 -2
  23. package/public/adeo/components/link/Link.js +1 -1
  24. package/public/adeo/components/link/Link.js.map +1 -1
  25. package/public/adeo/components/link/Link.svelte +1 -1
  26. package/public/adeo/components/modal/Modal.js +1 -1
  27. package/public/adeo/components/progressbar/ProgressBar.js +1 -1
  28. package/public/adeo/components/sidebar/Sidebar.js +1 -1
  29. package/public/adeo/components/sidebar/Sidebar.js.map +1 -1
  30. package/public/adeo/components/sidebar/Sidebar.svelte +1 -1
  31. package/public/adeo/components/sidebar/sidebar-feature-group.nested.js +1 -1
  32. package/public/adeo/components/sidebar/sidebar-feature-group.nested.js.map +1 -1
  33. package/public/adeo/components/sidebar/sidebar-feature.nested.js +1 -1
  34. package/public/adeo/components/sidebar/sidebar-feature.nested.js.map +1 -1
  35. package/public/adeo/components/sidebar/sidebar-section.nested.js +1 -1
  36. package/public/adeo/components/sidebar/sidebar-section.nested.js.map +1 -1
  37. package/public/adeo/components/sidebar/sidebar-segment.nested.js +1 -1
  38. package/public/adeo/components/sidebar/sidebar-segment.nested.js.map +1 -1
  39. package/public/adeo/components/sidebar-section/sidebar-section.nested.svelte +2 -2
  40. package/public/adeo/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
  41. package/public/bricoman/{DataTableDefaultAction.nested-1c046074.js → DataTableDefaultAction.nested-928e5e2d.js} +2 -2
  42. package/public/bricoman/DataTableDefaultAction.nested-928e5e2d.js.map +1 -0
  43. package/public/bricoman/components/accordion/Accordion.js +1 -1
  44. package/public/bricoman/components/accordion/Accordion.js.map +1 -1
  45. package/public/bricoman/components/chart/LineChart.js +1 -1
  46. package/public/bricoman/components/chart/LineChart.js.map +1 -1
  47. package/public/bricoman/components/datatable/DataTable.js +1 -1
  48. package/public/bricoman/components/datatable/DataTable.js.map +1 -1
  49. package/public/bricoman/components/datatable/DataTable.svelte +2 -0
  50. package/public/bricoman/components/datatable/DataTableDefaultAction.nested.js +1 -1
  51. package/public/bricoman/components/datatable/datatable.types.d.ts +1 -0
  52. package/public/bricoman/components/datatable/datatable.types.d.ts.map +1 -1
  53. package/public/bricoman/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
  54. package/public/bricoman/components/fileuploader/FileUploader.js +1 -1
  55. package/public/bricoman/components/fileuploader/FileUploader.js.map +1 -1
  56. package/public/bricoman/components/fileuploader/FileUploader.svelte +7 -0
  57. package/public/bricoman/components/header/Header.js +1 -1
  58. package/public/bricoman/components/header/Header.js.map +1 -1
  59. package/public/bricoman/components/header/Header.svelte +2 -2
  60. package/public/bricoman/components/link/Link.js +1 -1
  61. package/public/bricoman/components/link/Link.js.map +1 -1
  62. package/public/bricoman/components/link/Link.svelte +1 -1
  63. package/public/bricoman/components/modal/Modal.js +1 -1
  64. package/public/bricoman/components/progressbar/ProgressBar.js +1 -1
  65. package/public/bricoman/components/sidebar/Sidebar.js +1 -1
  66. package/public/bricoman/components/sidebar/Sidebar.js.map +1 -1
  67. package/public/bricoman/components/sidebar/Sidebar.svelte +1 -1
  68. package/public/bricoman/components/sidebar/sidebar-section.nested.js.map +1 -1
  69. package/public/bricoman/components/sidebar/sidebar-segment.nested.js +1 -1
  70. package/public/bricoman/components/sidebar/sidebar-segment.nested.js.map +1 -1
  71. package/public/bricoman/components/sidebar-section/sidebar-section.nested.svelte +2 -2
  72. package/public/bricoman/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
  73. package/public/components/accordion/Accordion.js +1 -1
  74. package/public/components/accordion/Accordion.js.map +1 -1
  75. package/public/components/chart/LineChart.js +1 -1
  76. package/public/components/chart/LineChart.js.map +1 -1
  77. package/public/components/datatable/DataTable.js +1 -1
  78. package/public/components/datatable/DataTable.js.map +1 -1
  79. package/public/components/datatable/DataTable.svelte +2 -0
  80. package/public/components/datatable/DataTableDefaultAction.nested.js +1 -1
  81. package/public/components/datatable/datatable.types.d.ts +1 -0
  82. package/public/components/datatable/datatable.types.d.ts.map +1 -1
  83. package/public/components/datatabledefaultaction/DataTableDefaultAction.nested.svelte +1 -1
  84. package/public/components/fileuploader/FileUploader.js +1 -1
  85. package/public/components/fileuploader/FileUploader.js.map +1 -1
  86. package/public/components/fileuploader/FileUploader.svelte +7 -0
  87. package/public/components/header/Header.js +1 -1
  88. package/public/components/header/Header.js.map +1 -1
  89. package/public/components/header/Header.svelte +2 -2
  90. package/public/components/link/Link.js +1 -1
  91. package/public/components/link/Link.js.map +1 -1
  92. package/public/components/link/Link.svelte +1 -1
  93. package/public/components/modal/Modal.js +1 -1
  94. package/public/components/progressbar/ProgressBar.js +1 -1
  95. package/public/components/sidebar/Sidebar.js +1 -1
  96. package/public/components/sidebar/Sidebar.js.map +1 -1
  97. package/public/components/sidebar/Sidebar.svelte +1 -1
  98. package/public/components/sidebar/sidebar-section.nested.js.map +1 -1
  99. package/public/components/sidebar/sidebar-segment.nested.js +1 -1
  100. package/public/components/sidebar/sidebar-segment.nested.js.map +1 -1
  101. package/public/components/sidebar-section/sidebar-section.nested.svelte +2 -2
  102. package/public/components/sidebar-segment/sidebar-segment.nested.svelte +6 -3
  103. package/public/utilities/components/datatable/datatable.types.d.ts +1 -0
  104. package/public/utilities/components/datatable/datatable.types.d.ts.map +1 -1
  105. package/public/utilities/stories/fileuploader/FileUploader.stories.d.ts +1 -0
  106. package/public/utilities/stories/fileuploader/FileUploader.stories.d.ts.map +1 -1
  107. package/public/utilities/stories/header/Header.stories.d.ts.map +1 -1
  108. package/public/DataTableDefaultAction.nested-4da4dc44.js.map +0 -1
  109. package/public/adeo/DataTableDefaultAction.nested-9f01417d.js.map +0 -1
  110. 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":"8OA2DuBA,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
+ {"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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"}