diff --git a/composer.json b/composer.json index 70a8a003..3d10723d 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,7 @@ "illuminate/http": "^10.0", "illuminate/routing": "^10.0", "illuminate/support": "^10.0", - "livewire/livewire": "^2.11", + "livewire/livewire": "^3.0@beta", "nesbot/carbon": "^2.67" }, "require-dev": { diff --git a/dist/pulse.css b/dist/pulse.css index f46f4fec..019abb49 100644 --- a/dist/pulse.css +++ b/dist/pulse.css @@ -1 +1 @@ -.ct-label{fill:#0006;color:#0006;font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:#0003;stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#e6805e}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:#e6805e}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{content:"";display:table;clear:both}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{content:"";display:table;clear:both}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{content:"";display:table;clear:both}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{content:"";display:table;clear:both}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{content:"";display:table;clear:both}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{content:"";display:table;clear:both}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{content:"";display:table;clear:both}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{content:"";display:table;clear:both}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{content:"";display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{content:"";display:table;clear:both}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{content:"";display:table;clear:both}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{content:"";display:table;clear:both}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{content:"";display:table;clear:both}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{content:"";display:table;clear:both}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{content:"";display:table;clear:both}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{content:"";display:table;clear:both}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{content:"";display:table;clear:both}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.relative{position:relative}.sticky{position:sticky}.top-0{top:0px}.col-span-3{grid-column:span 3 / span 3}.col-span-2{grid-column:span 2 / span 2}.col-span-6{grid-column:span 6 / span 6}.mx-auto{margin-left:auto;margin-right:auto}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-6{height:1.5rem}.h-full{height:100%}.h-32{height:8rem}.h-1{height:.25rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-8{height:2rem}.max-h-56{max-height:14rem}.min-h-screen{min-height:100vh}.w-6{width:1.5rem}.w-full{width:100%}.w-5{width:1.25rem}.w-1{width:.25rem}.w-32{width:8rem}.w-48{width:12rem}.w-12{width:3rem}.w-8{width:2rem}.w-24{width:6rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-separate{border-collapse:separate}.border-spacing-y-2{--tw-border-spacing-y:.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[max-content\,_repeat\(4\,_auto\)\]{grid-template-columns:max-content repeat(4,auto)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-10{gap:2.5rem}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.fill-red-500{fill:#ef4444}.fill-none{fill:none}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-500{stroke:#6b7280}.stroke-purple-600{stroke:#9333ea}.stroke-purple-100{stroke:#f3e8ff}.stroke-2{stroke-width:2}.p-6{padding:1.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-3{padding:.75rem}.p-2{padding:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}[x-cloak]{display:none}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}.\[\&\:nth-child\(1n\+11\)\]\:border-t:nth-child(1n+11){border-top-width:1px} +.ct-label{fill:#0006;color:#0006;font-size:.75rem;line-height:1}.ct-chart-bar .ct-label,.ct-chart-line .ct-label{display:flex}.ct-chart-donut .ct-label,.ct-chart-pie .ct-label{dominant-baseline:central}.ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:flex-start;text-align:left}.ct-label.ct-vertical.ct-start{align-items:flex-end;justify-content:flex-end;text-align:right}.ct-label.ct-vertical.ct-end{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar .ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:center;text-align:center}.ct-chart-bar .ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:center;text-align:center}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start{align-items:flex-end;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end{align-items:flex-start;justify-content:flex-start;text-align:left}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start{align-items:center;justify-content:flex-end;text-align:right}.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end{align-items:center;justify-content:flex-start;text-align:left}.ct-grid{stroke:#0003;stroke-width:1px;stroke-dasharray:2px}.ct-grid-background{fill:none}.ct-point{stroke-width:10px;stroke-linecap:round}.ct-line{fill:none;stroke-width:4px}.ct-area{stroke:none;fill-opacity:.1}.ct-bar{fill:none;stroke-width:10px}.ct-slice-donut{fill:none;stroke-width:60px}.ct-series-a .ct-bar,.ct-series-a .ct-line,.ct-series-a .ct-point,.ct-series-a .ct-slice-donut{stroke:#d70206}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#d70206}.ct-series-b .ct-bar,.ct-series-b .ct-line,.ct-series-b .ct-point,.ct-series-b .ct-slice-donut{stroke:#f05b4f}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#f05b4f}.ct-series-c .ct-bar,.ct-series-c .ct-line,.ct-series-c .ct-point,.ct-series-c .ct-slice-donut{stroke:#f4c63d}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#f4c63d}.ct-series-d .ct-bar,.ct-series-d .ct-line,.ct-series-d .ct-point,.ct-series-d .ct-slice-donut{stroke:#d17905}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#d17905}.ct-series-e .ct-bar,.ct-series-e .ct-line,.ct-series-e .ct-point,.ct-series-e .ct-slice-donut{stroke:#453d3f}.ct-series-e .ct-area,.ct-series-e .ct-slice-pie{fill:#453d3f}.ct-series-f .ct-bar,.ct-series-f .ct-line,.ct-series-f .ct-point,.ct-series-f .ct-slice-donut{stroke:#59922b}.ct-series-f .ct-area,.ct-series-f .ct-slice-pie{fill:#59922b}.ct-series-g .ct-bar,.ct-series-g .ct-line,.ct-series-g .ct-point,.ct-series-g .ct-slice-donut{stroke:#0544d3}.ct-series-g .ct-area,.ct-series-g .ct-slice-pie{fill:#0544d3}.ct-series-h .ct-bar,.ct-series-h .ct-line,.ct-series-h .ct-point,.ct-series-h .ct-slice-donut{stroke:#6b0392}.ct-series-h .ct-area,.ct-series-h .ct-slice-pie{fill:#6b0392}.ct-series-i .ct-bar,.ct-series-i .ct-line,.ct-series-i .ct-point,.ct-series-i .ct-slice-donut{stroke:#e6805e}.ct-series-i .ct-area,.ct-series-i .ct-slice-pie{fill:#e6805e}.ct-series-j .ct-bar,.ct-series-j .ct-line,.ct-series-j .ct-point,.ct-series-j .ct-slice-donut{stroke:#dda458}.ct-series-j .ct-area,.ct-series-j .ct-slice-pie{fill:#dda458}.ct-series-k .ct-bar,.ct-series-k .ct-line,.ct-series-k .ct-point,.ct-series-k .ct-slice-donut{stroke:#eacf7d}.ct-series-k .ct-area,.ct-series-k .ct-slice-pie{fill:#eacf7d}.ct-series-l .ct-bar,.ct-series-l .ct-line,.ct-series-l .ct-point,.ct-series-l .ct-slice-donut{stroke:#86797d}.ct-series-l .ct-area,.ct-series-l .ct-slice-pie{fill:#86797d}.ct-series-m .ct-bar,.ct-series-m .ct-line,.ct-series-m .ct-point,.ct-series-m .ct-slice-donut{stroke:#b2c326}.ct-series-m .ct-area,.ct-series-m .ct-slice-pie{fill:#b2c326}.ct-series-n .ct-bar,.ct-series-n .ct-line,.ct-series-n .ct-point,.ct-series-n .ct-slice-donut{stroke:#6188e2}.ct-series-n .ct-area,.ct-series-n .ct-slice-pie{fill:#6188e2}.ct-series-o .ct-bar,.ct-series-o .ct-line,.ct-series-o .ct-point,.ct-series-o .ct-slice-donut{stroke:#a748ca}.ct-series-o .ct-area,.ct-series-o .ct-slice-pie{fill:#a748ca}.ct-square{display:block;position:relative;width:100%}.ct-square:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:100%}.ct-square:after{content:"";display:table;clear:both}.ct-square>svg{display:block;position:absolute;top:0;left:0}.ct-minor-second{display:block;position:relative;width:100%}.ct-minor-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:93.75%}.ct-minor-second:after{content:"";display:table;clear:both}.ct-minor-second>svg{display:block;position:absolute;top:0;left:0}.ct-major-second{display:block;position:relative;width:100%}.ct-major-second:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:88.8888888889%}.ct-major-second:after{content:"";display:table;clear:both}.ct-major-second>svg{display:block;position:absolute;top:0;left:0}.ct-minor-third{display:block;position:relative;width:100%}.ct-minor-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:83.3333333333%}.ct-minor-third:after{content:"";display:table;clear:both}.ct-minor-third>svg{display:block;position:absolute;top:0;left:0}.ct-major-third{display:block;position:relative;width:100%}.ct-major-third:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:80%}.ct-major-third:after{content:"";display:table;clear:both}.ct-major-third>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fourth{display:block;position:relative;width:100%}.ct-perfect-fourth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:75%}.ct-perfect-fourth:after{content:"";display:table;clear:both}.ct-perfect-fourth>svg{display:block;position:absolute;top:0;left:0}.ct-perfect-fifth{display:block;position:relative;width:100%}.ct-perfect-fifth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:66.6666666667%}.ct-perfect-fifth:after{content:"";display:table;clear:both}.ct-perfect-fifth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-sixth{display:block;position:relative;width:100%}.ct-minor-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:62.5%}.ct-minor-sixth:after{content:"";display:table;clear:both}.ct-minor-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-golden-section{display:block;position:relative;width:100%}.ct-golden-section:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:61.804697157%}.ct-golden-section:after{content:"";display:table;clear:both}.ct-golden-section>svg{display:block;position:absolute;top:0;left:0}.ct-major-sixth{display:block;position:relative;width:100%}.ct-major-sixth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:60%}.ct-major-sixth:after{content:"";display:table;clear:both}.ct-major-sixth>svg{display:block;position:absolute;top:0;left:0}.ct-minor-seventh{display:block;position:relative;width:100%}.ct-minor-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:56.25%}.ct-minor-seventh:after{content:"";display:table;clear:both}.ct-minor-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-seventh{display:block;position:relative;width:100%}.ct-major-seventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:53.3333333333%}.ct-major-seventh:after{content:"";display:table;clear:both}.ct-major-seventh>svg{display:block;position:absolute;top:0;left:0}.ct-octave{display:block;position:relative;width:100%}.ct-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:50%}.ct-octave:after{content:"";display:table;clear:both}.ct-octave>svg{display:block;position:absolute;top:0;left:0}.ct-major-tenth{display:block;position:relative;width:100%}.ct-major-tenth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:40%}.ct-major-tenth:after{content:"";display:table;clear:both}.ct-major-tenth>svg{display:block;position:absolute;top:0;left:0}.ct-major-eleventh{display:block;position:relative;width:100%}.ct-major-eleventh:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:37.5%}.ct-major-eleventh:after{content:"";display:table;clear:both}.ct-major-eleventh>svg{display:block;position:absolute;top:0;left:0}.ct-major-twelfth{display:block;position:relative;width:100%}.ct-major-twelfth:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:33.3333333333%}.ct-major-twelfth:after{content:"";display:table;clear:both}.ct-major-twelfth>svg{display:block;position:absolute;top:0;left:0}.ct-double-octave{display:block;position:relative;width:100%}.ct-double-octave:before{display:block;float:left;content:"";width:0;height:0;padding-bottom:25%}.ct-double-octave:after{content:"";display:table;clear:both}.ct-double-octave>svg{display:block;position:absolute;top:0;left:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow:0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#2563eb}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}[type=checkbox]:checked:hover,[type=checkbox]:checked:focus,[type=radio]:checked:hover,[type=radio]:checked:focus{border-color:transparent;background-color:currentColor}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.relative{position:relative}.sticky{position:sticky}.top-0{top:0px}.col-span-3{grid-column:span 3 / span 3}.col-span-2{grid-column:span 2 / span 2}.col-span-6{grid-column:span 6 / span 6}.mx-auto{margin-left:auto;margin-right:auto}.mt-6{margin-top:1.5rem}.mt-2{margin-top:.5rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.h-6{height:1.5rem}.h-4{height:1rem}.h-full{height:100%}.h-32{height:8rem}.h-1{height:.25rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-8{height:2rem}.max-h-56{max-height:14rem}.min-h-screen{min-height:100vh}.w-6{width:1.5rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-3\/5{width:60%}.w-full{width:100%}.w-5{width:1.25rem}.w-1{width:.25rem}.w-32{width:8rem}.w-48{width:12rem}.w-12{width:3rem}.w-8{width:2rem}.w-24{width:6rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-separate{border-collapse:separate}.border-spacing-y-2{--tw-border-spacing-y:.5rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[max-content\,_repeat\(4\,_auto\)\]{grid-template-columns:max-content repeat(4,auto)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-6{gap:1.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-10{gap:2.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.fill-red-500{fill:#ef4444}.fill-none{fill:none}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-500{stroke:#6b7280}.stroke-purple-600{stroke:#9333ea}.stroke-purple-100{stroke:#f3e8ff}.stroke-2{stroke-width:2}.p-6{padding:1.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-3{padding:.75rem}.p-2{padding:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Figtree,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-25{opacity:.25}[x-cloak]{display:none}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}.\[\&\:nth-child\(1n\+11\)\]\:border-t:nth-child(1n+11){border-top-width:1px} diff --git a/dist/pulse.js b/dist/pulse.js index 41a0966e..97f26e9c 100644 --- a/dist/pulse.js +++ b/dist/pulse.js @@ -1 +1 @@ -const G={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},we=8,k={"&":"&","<":"<",">":">",'"':""","'":"'"};function ee(i,e){return typeof i=="number"?i+e:i}function T(i){if(typeof i=="string"){const e=/^(\d+)\s*(.*)$/g.exec(i);return{value:e?+e[1]:0,unit:(e==null?void 0:e[2])||void 0}}return{value:Number(i)}}function le(i){return String.fromCharCode(97+i%26)}const F=2221e-19;function ye(i){return Math.floor(Math.log(Math.abs(i))/Math.LN10)}function X(i,e,n){return e/n.range*i}function be(i,e){const n=Math.pow(10,e||we);return Math.round(i*n)/n}function Ee(i){if(i===1)return i;function e(a,l){return a%l===0?l:e(l,a%l)}function n(a){return a*a+1}let t=2,s=2,r;if(i%2===0)return 2;do t=n(t)%i,s=n(n(s))%i,r=e(Math.abs(t-s),i);while(r===1);return r}function Q(i,e,n,t){const s=(t-90)*Math.PI/180;return{x:i+n*Math.cos(s),y:e+n*Math.sin(s)}}function Ae(i,e,n){let t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const s={high:e.high,low:e.low,valueRange:0,oom:0,step:0,min:0,max:0,range:0,numberOfSteps:0,values:[]};s.valueRange=s.high-s.low,s.oom=ye(s.valueRange),s.step=Math.pow(10,s.oom),s.min=Math.floor(s.low/s.step)*s.step,s.max=Math.ceil(s.high/s.step)*s.step,s.range=s.max-s.min,s.numberOfSteps=Math.round(s.range/s.step);const a=X(i,s.step,s)=n)s.step=1;else if(t&&l=n)s.step=l;else{let u=0;for(;;){if(a&&X(i,s.step,s)<=n)s.step*=2;else if(!a&&X(i,s.step/2,s)>=n){if(s.step/=2,t&&s.step%1!==0){s.step*=2;break}}else break;if(u++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}}s.step=Math.max(s.step,F);function o(u,d){return u===(u+=d)&&(u*=1+(d>0?F:-F)),u}let f=s.min,c=s.max;for(;f+s.step<=s.low;)f=o(f,s.step);for(;c-s.step>=s.high;)c=o(c,-s.step);s.min=f,s.max=c,s.range=s.max-s.min;const m=[];for(let u=s.min;u<=s.max;u=o(u,s.step)){const d=be(u);d!==m[m.length-1]&&m.push(d)}return s.values=m,s}function P(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;ti;function te(i,e){return Array.from({length:i},e?(n,t)=>e(t):()=>{})}const Me=(i,e)=>i+(e||0);function w(i,e){return i!==null&&typeof i=="object"&&Reflect.has(i,e)}function R(i){return i!==null&&isFinite(i)}function oe(i){return!i&&i!==0}function j(i){return R(i)?Number(i):void 0}function Ne(i){return Array.isArray(i)?i.every(Array.isArray):!1}function Oe(i,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,t=0;i[n?"reduceRight":"reduce"]((s,r,a)=>e(r,t++,a),void 0)}function Le(i,e){const n=Array.isArray(i)?i[e]:w(i,"data")?i.data[e]:null;return w(n,"meta")?n.meta:void 0}function ue(i){return i==null||typeof i=="number"&&isNaN(i)}function Ce(i){return Array.isArray(i)&&i.every(e=>Array.isArray(e)||w(e,"data"))}function Se(i){return typeof i=="object"&&i!==null&&(Reflect.has(i,"x")||Reflect.has(i,"y"))}function _(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y";return Se(i)&&w(i,e)?j(i[e]):j(i)}function ze(i,e,n){e={...e,...n?n==="x"?e.axisX:e.axisY:{}};const t={high:e.high===void 0?-Number.MAX_VALUE:+e.high,low:e.low===void 0?Number.MAX_VALUE:+e.low},s=e.high===void 0,r=e.low===void 0;function a(l){if(!ue(l))if(Array.isArray(l))for(let o=0;ot.high&&(t.high=o),r&&o0||(t.high=1),t.low=0)),t}function ce(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0,t=arguments.length>3?arguments[3]:void 0,s;const r={labels:(i.labels||[]).slice(),series:Ie(i.series,n,t)},a=r.labels.length;return Ne(r.series)?(s=Math.max(a,...r.series.map(l=>l.length)),r.series.forEach(l=>{l.push(...te(Math.max(0,s-l.length)))})):s=r.series.length,r.labels.push(...te(Math.max(0,s-a),()=>"")),e&&je(r),r}function je(i){var e;(e=i.labels)===null||e===void 0||e.reverse(),i.series.reverse();for(const n of i.series)w(n,"data")?n.data.reverse():Array.isArray(n)&&n.reverse()}function Pe(i,e){let n,t;if(typeof i!="object"){const s=j(i);e==="x"?n=s:t=s}else w(i,"x")&&(n=j(i.x)),w(i,"y")&&(t=j(i.y));if(!(n===void 0&&t===void 0))return{x:n,y:t}}function ne(i,e){if(!ue(i))return e?Pe(i,e):j(i)}function Z(i,e){return Array.isArray(i)?i.map(n=>w(n,"value")?ne(n.value,e):ne(n,e)):Z(i.data,e)}function Ie(i,e,n){if(Ce(i))return i.map(s=>Z(s,e));const t=Z(i,e);return n?t.map(s=>[s]):t}function he(i,e,n){const t={increasingX:!1,fillHoles:!1,...n},s=[];let r=!0;for(let a=0;a=2&&i[a]<=i[a-2]&&(r=!0),r&&(s.push({pathCoordinates:[],valueData:[]}),r=!1),s[s.length-1].pathCoordinates.push(i[a],i[a+1]),s[s.length-1].valueData.push(e[a/2]));return s}function J(i){let e="";return i==null?i:(typeof i=="number"?e=""+i:typeof i=="object"?e=JSON.stringify({data:i}):e=String(i),Object.keys(k).reduce((n,t)=>n.replaceAll(t,k[t]),e))}class Be{call(e,n){return this.svgElements.forEach(t=>Reflect.apply(t[e],t,n)),this}attr(){for(var e=arguments.length,n=new Array(e),t=0;t3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4?arguments[4]:void 0;const{easing:r,...a}=n,l={};let o,f;r&&(o=Array.isArray(r)?r:fe[r]),a.begin=ee(a.begin,"ms"),a.dur=ee(a.dur,"ms"),o&&(a.calcMode="spline",a.keySplines=o.join(" "),a.keyTimes="0;1"),t&&(a.fill="freeze",l[e]=a.from,i.attr(l),f=T(a.begin||0).value,a.begin="indefinite");const c=i.elem("animate",{attributeName:e,...a});t&&setTimeout(()=>{try{c._node.beginElement()}catch{l[e]=a.to,i.attr(l),c.remove()}},f);const m=c.getNode();s&&m.addEventListener("beginEvent",()=>s.emit("animationBegin",{element:i,animate:m,params:n})),m.addEventListener("endEvent",()=>{s&&s.emit("animationEnd",{element:i,animate:m,params:n}),t&&(l[e]=a.to,i.attr(l),c.remove())})}class O{attr(e,n){return typeof e=="string"?n?this._node.getAttributeNS(n,e):this._node.getAttribute(e):(Object.keys(e).forEach(t=>{if(e[t]!==void 0)if(t.indexOf(":")!==-1){const s=t.split(":");this._node.setAttributeNS(G[s[0]],t,String(e[t]))}else this._node.setAttribute(t,String(e[t]))}),this)}elem(e,n,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return new O(e,n,t,this,s)}parent(){return this._node.parentNode instanceof SVGElement?new O(this._node.parentNode):null}root(){let e=this._node;for(;e.nodeName!=="svg"&&e.parentElement;)e=e.parentElement;return new O(e)}querySelector(e){const n=this._node.querySelector(e);return n?new O(n):null}querySelectorAll(e){const n=this._node.querySelectorAll(e);return new Be(n)}getNode(){return this._node}foreignObject(e,n,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r;if(typeof e=="string"){const l=document.createElement("div");l.innerHTML=e,r=l.firstChild}else r=e;r instanceof Element&&r.setAttribute("xmlns",G.xmlns);const a=this.elem("foreignObject",n,t,s);return a._node.appendChild(r),a}text(e){return this._node.appendChild(document.createTextNode(e)),this}empty(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}remove(){var e;return(e=this._node.parentNode)===null||e===void 0||e.removeChild(this._node),this.parent()}replace(e){var n;return(n=this._node.parentNode)===null||n===void 0||n.replaceChild(e._node,this._node),e}append(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)&&this._node.firstChild?this._node.insertBefore(e._node,this._node.firstChild):this._node.appendChild(e._node),this}classes(){const e=this._node.getAttribute("class");return e?e.trim().split(/\s+/):[]}addClass(e){return this._node.setAttribute("class",this.classes().concat(e.trim().split(/\s+/)).filter(function(n,t,s){return s.indexOf(n)===t}).join(" ")),this}removeClass(e){const n=e.trim().split(/\s+/);return this._node.setAttribute("class",this.classes().filter(t=>n.indexOf(t)===-1).join(" ")),this}removeAllClasses(){return this._node.setAttribute("class",""),this}height(){return this._node.getBoundingClientRect().height}width(){return this._node.getBoundingClientRect().width}animate(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=arguments.length>2?arguments[2]:void 0;return Object.keys(e).forEach(s=>{const r=e[s];Array.isArray(r)?r.forEach(a=>se(this,s,a,!1,t)):se(this,s,r,n,t)}),this}constructor(e,n,t,s,r=!1){e instanceof Element?this._node=e:(this._node=document.createElementNS(G.svg,e),e==="svg"&&this.attr({"xmlns:ct":G.ct})),n&&this.attr(n),t&&this.addClass(t),s&&(r&&s._node.firstChild?s._node.insertBefore(this._node,s._node.firstChild):s._node.appendChild(this._node))}}O.Easing=fe;function me(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"100%",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"100%",t=arguments.length>3?arguments[3]:void 0;Array.from(i.querySelectorAll("svg")).filter(r=>r.getAttributeNS(G.xmlns,"ct")).forEach(r=>i.removeChild(r));const s=new O("svg").attr({width:e,height:n}).attr({style:"width: ".concat(e,"; height: ").concat(n,";")});return t&&s.addClass(t),i.appendChild(s.getNode()),s}function Xe(i){return typeof i=="number"?{top:i,right:i,bottom:i,left:i}:i===void 0?{top:0,right:0,bottom:0,left:0}:{top:typeof i.top=="number"?i.top:0,right:typeof i.right=="number"?i.right:0,bottom:typeof i.bottom=="number"?i.bottom:0,left:typeof i.left=="number"?i.left:0}}function de(i,e){var n,t,s,r;const a=Boolean(e.axisX||e.axisY),l=((n=e.axisY)===null||n===void 0?void 0:n.offset)||0,o=((t=e.axisX)===null||t===void 0?void 0:t.offset)||0,f=(s=e.axisY)===null||s===void 0?void 0:s.position,c=(r=e.axisX)===null||r===void 0?void 0:r.position;let m=i.width()||T(e.width).value||0,u=i.height()||T(e.height).value||0;const d=Xe(e.chartPadding);m=Math.max(m,l+d.left+d.right),u=Math.max(u,o+d.top+d.bottom);const h={x1:0,x2:0,y1:0,y2:0,padding:d,width(){return this.x2-this.x1},height(){return this.y1-this.y2}};return a?(c==="start"?(h.y2=d.top+o,h.y1=Math.max(u-d.bottom,h.y2+1)):(h.y2=d.top,h.y1=Math.max(u-d.bottom-o,h.y2+1)),f==="start"?(h.x1=d.left+l,h.x2=Math.max(m-d.right,h.x1+1)):(h.x1=d.left,h.x2=Math.max(m-d.right-l,h.x1+1))):(h.x1=d.left,h.x2=Math.max(m-d.right,h.x1+1),h.y2=d.top,h.y1=Math.max(u-d.bottom,h.y2+1)),h}function Ye(i,e,n,t,s,r,a,l){const o={["".concat(n.units.pos,"1")]:i,["".concat(n.units.pos,"2")]:i,["".concat(n.counterUnits.pos,"1")]:t,["".concat(n.counterUnits.pos,"2")]:t+s},f=r.elem("line",o,a.join(" "));l.emit("draw",{type:"grid",axis:n,index:e,group:r,element:f,...o})}function Ge(i,e,n,t){const s=i.elem("rect",{x:e.x1,y:e.y2,width:e.width(),height:e.height()},n,!0);t.emit("draw",{type:"gridBackground",group:i,element:s})}function He(i,e,n,t,s,r,a,l,o,f){const c={[s.units.pos]:i+a[s.units.pos],[s.counterUnits.pos]:a[s.counterUnits.pos],[s.units.len]:e,[s.counterUnits.len]:Math.max(0,r-10)},m=Math.round(c[s.units.len]),u=Math.round(c[s.counterUnits.len]),d=document.createElement("span");d.className=o.join(" "),d.style[s.units.len]=m+"px",d.style[s.counterUnits.len]=u+"px",d.textContent=String(t);const h=l.foreignObject(d,{style:"overflow: visible;",...c});f.emit("draw",{type:"label",axis:s,index:n,group:l,element:h,text:t,...c})}function ie(i,e,n){let t;const s=[];function r(l){const o=t;t=P({},i),e&&e.forEach(f=>{window.matchMedia(f[0]).matches&&(t=P(t,f[1]))}),n&&l&&n.emit("optionsChanged",{previousOptions:o,currentOptions:t})}function a(){s.forEach(l=>l.removeEventListener("change",r))}if(window.matchMedia)e&&e.forEach(l=>{const o=window.matchMedia(l[0]);o.addEventListener("change",r),s.push(o)});else throw new Error("window.matchMedia not found! Make sure you're using a polyfill.");return r(),{removeMediaQueryListeners:a,getCurrentOptions(){return t}}}const K={m:["x","y"],l:["x","y"],c:["x1","y1","x2","y2","x","y"],a:["rx","ry","xAr","lAf","sf","x","y"]},Ve={accuracy:3};function V(i,e,n,t,s,r){const a={command:s?i.toLowerCase():i.toUpperCase(),...e,...r?{data:r}:{}};n.splice(t,0,a)}function $(i,e){i.forEach((n,t)=>{K[n.command.toLowerCase()].forEach((s,r)=>{e(n,s,t,r,i)})})}class b{static join(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=arguments.length>2?arguments[2]:void 0;const s=new b(n,t);for(let r=0;r2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3?arguments[3]:void 0;return V("M",{x:+e,y:+n},this.pathElements,this.pos++,t,s),this}line(e,n){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3?arguments[3]:void 0;return V("L",{x:+e,y:+n},this.pathElements,this.pos++,t,s),this}curve(e,n,t,s,r,a){let l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,o=arguments.length>7?arguments[7]:void 0;return V("C",{x1:+e,y1:+n,x2:+t,y2:+s,x:+r,y:+a},this.pathElements,this.pos++,l,o),this}arc(e,n,t,s,r,a,l){let o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,f=arguments.length>8?arguments[8]:void 0;return V("A",{rx:e,ry:n,xAr:t,lAf:s,sf:r,x:a,y:l},this.pathElements,this.pos++,o,f),this}parse(e){const n=e.replace(/([A-Za-z])(-?[0-9])/g,"$1 $2").replace(/([0-9])([A-Za-z])/g,"$1 $2").split(/[\s,]+/).reduce((s,r)=>(r.match(/[A-Za-z]/)&&s.push([]),s[s.length-1].push(r),s),[]);n[n.length-1][0].toUpperCase()==="Z"&&n.pop();const t=n.map(s=>{const r=s.shift(),a=K[r.toLowerCase()];return{command:r,...a.reduce((l,o,f)=>(l[o]=+s[f],l),{})}});return this.pathElements.splice(this.pos,0,...t),this.pos+=t.length,this}stringify(){const e=Math.pow(10,this.options.accuracy);return this.pathElements.reduce((n,t)=>{const s=K[t.command.toLowerCase()].map(r=>{const a=t[r];return this.options.accuracy?Math.round(a*e)/e:a});return n+t.command+s.join(",")},"")+(this.close?"Z":"")}scale(e,n){return $(this.pathElements,(t,s)=>{t[s]*=s[0]==="x"?e:n}),this}translate(e,n){return $(this.pathElements,(t,s)=>{t[s]+=s[0]==="x"?e:n}),this}transform(e){return $(this.pathElements,(n,t,s,r,a)=>{const l=e(n,t,s,r,a);(l||l===0)&&(n[t]=l)}),this}clone(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const n=new b(e||this.close);return n.pos=this.pos,n.pathElements=this.pathElements.slice().map(t=>({...t})),n.options={...this.options},n}splitByCommand(e){const n=[new b];return this.pathElements.forEach(t=>{t.command===e.toUpperCase()&&n[n.length-1].pathElements.length!==0&&n.push(new b),n[n.length-1].pathElements.push(t)}),n}constructor(e=!1,n){this.close=e,this.pathElements=[],this.pos=0,this.options={...Ve,...n}}}function I(i){const e={fillHoles:!1,...i};return function(t,s){const r=new b;let a=!0;for(let l=0;l1)return b.join(l.map(o=>s(o.pathCoordinates,o.valueData)));{if(r=l[0].pathCoordinates,a=l[0].valueData,r.length<=4)return I()(r,a);const o=new b().move(r[0],r[1],!1,a[0]),f=!1;for(let c=0,m=r.length;m-2*Number(!f)>c;c+=2){const u=[{x:+r[c-2],y:+r[c-1]},{x:+r[c],y:+r[c+1]},{x:+r[c+2],y:+r[c+3]},{x:+r[c+4],y:+r[c+5]}];m-4===c?u[3]=u[2]:c||(u[0]={x:+r[c],y:+r[c+1]}),o.curve(n*(-u[0].x+6*u[1].x+u[2].x)/6+t*u[2].x,n*(-u[0].y+6*u[1].y+u[2].y)/6+t*u[2].y,n*(u[1].x+6*u[2].x-u[3].x)/6+t*u[2].x,n*(u[1].y+6*u[2].y-u[3].y)/6+t*u[2].y,u[2].x,u[2].y,!1,a[(c+2)/2])}return o}}else return I()([],[])}}function ge(i){const e={fillHoles:!1,...i};return function n(t,s){const r=he(t,s,{fillHoles:e.fillHoles,increasingX:!0});if(r.length){if(r.length>1)return b.join(r.map(a=>n(a.pathCoordinates,a.valueData)));{if(t=r[0].pathCoordinates,s=r[0].valueData,t.length<=4)return I()(t,s);const a=[],l=[],o=t.length/2,f=[],c=[],m=[],u=[];for(let h=0;h0!=c[h]>0?f[h]=0:(f[h]=3*(u[h-1]+u[h])/((2*u[h]+u[h-1])/c[h-1]+(u[h]+2*u[h-1])/c[h]),isFinite(f[h])||(f[h]=0));const d=new b().move(a[0],l[0],!1,s[0]);for(let h=0;hr(n)),t.forEach(r=>r(e,n))}constructor(){this.listeners=new Map,this.allListeners=new Set}}const W=new WeakMap;class pe{update(e,n){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e&&(this.data=e||{},this.data.labels=this.data.labels||[],this.data.series=this.data.series||[],this.eventEmitter.emit("data",{type:"update",data:this.data})),n&&(this.options=P({},t?this.options:this.defaultOptions,n),!this.initializeTimeoutId)){var s;(s=this.optionsProvider)===null||s===void 0||s.removeMediaQueryListeners(),this.optionsProvider=ie(this.options,this.responsiveOptions,this.eventEmitter)}return!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){if(this.initializeTimeoutId)window.clearTimeout(this.initializeTimeoutId);else{var e;window.removeEventListener("resize",this.resizeListener),(e=this.optionsProvider)===null||e===void 0||e.removeMediaQueryListeners()}return W.delete(this.container),this}on(e,n){return this.eventEmitter.on(e,n),this}off(e,n){return this.eventEmitter.off(e,n),this}initialize(){window.addEventListener("resize",this.resizeListener),this.optionsProvider=ie(this.options,this.responsiveOptions,this.eventEmitter),this.eventEmitter.on("optionsChanged",()=>this.update()),this.options.plugins&&this.options.plugins.forEach(e=>{Array.isArray(e)?e[0](this,e[1]):e(this)}),this.eventEmitter.emit("data",{type:"initial",data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=null}constructor(e,n,t,s,r){this.data=n,this.defaultOptions=t,this.options=s,this.responsiveOptions=r,this.eventEmitter=new Fe,this.resizeListener=()=>this.update(),this.initializeTimeoutId=setTimeout(()=>this.initialize(),0);const a=typeof e=="string"?document.querySelector(e):e;if(!a)throw new Error("Target element is not found");this.container=a;const l=W.get(a);l&&l.detach(),W.set(a,this)}}const L={x:{pos:"x",len:"width",dir:"horizontal",rectStart:"x1",rectEnd:"x2",rectOffset:"y2"},y:{pos:"y",len:"height",dir:"vertical",rectStart:"y2",rectEnd:"y1",rectOffset:"x1"}};class ve{createGridAndLabels(e,n,t,s){const r=this.units.pos==="x"?t.axisX:t.axisY,a=this.ticks.map((o,f)=>this.projectValue(o,f)),l=this.ticks.map(r.labelInterpolationFnc);a.forEach((o,f)=>{const c=l[f],m={x:0,y:0};let u;a[f+1]?u=a[f+1]-o:u=Math.max(this.axisLength-o,this.axisLength/this.ticks.length),!(c!==""&&oe(c))&&(this.units.pos==="x"?(o=this.chartRect.x1+o,m.x=t.axisX.labelOffset.x,t.axisX.position==="start"?m.y=this.chartRect.padding.top+t.axisX.labelOffset.y+5:m.y=this.chartRect.y1+t.axisX.labelOffset.y+5):(o=this.chartRect.y1-o,m.y=t.axisY.labelOffset.y-u,t.axisY.position==="start"?m.x=this.chartRect.padding.left+t.axisY.labelOffset.x:m.x=this.chartRect.x2+t.axisY.labelOffset.x+10),r.showGrid&&Ye(o,f,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[t.classNames.grid,t.classNames[this.units.dir]],s),r.showLabel&&He(o,u,f,c,this,r.offset,m,n,[t.classNames.label,t.classNames[this.units.dir],r.position==="start"?t.classNames[r.position]:t.classNames.end],s))})}constructor(e,n,t){this.units=e,this.chartRect=n,this.ticks=t,this.counterUnits=e===L.x?L.y:L.x,this.axisLength=n[this.units.rectEnd]-n[this.units.rectStart],this.gridOffset=n[this.units.rectOffset]}}class Qe extends ve{projectValue(e){const n=Number(_(e,this.units.pos));return this.axisLength*(n-this.bounds.min)/this.bounds.range}constructor(e,n,t,s){const r=s.highLow||ze(n,s,e.pos),a=Ae(t[e.rectEnd]-t[e.rectStart],r,s.scaleMinSpace||20,s.onlyInteger),l={min:a.min,max:a.max};super(e,t,a.values),this.bounds=a,this.range=l}}class $e extends ve{projectValue(e,n){return this.stepLength*n}constructor(e,n,t,s){const r=s.ticks||[];super(e,t,r);const a=Math.max(1,r.length-(s.stretch?1:0));this.stepLength=this.axisLength/a,this.stretch=Boolean(s.stretch)}}function Y(i,e,n){var t;if(w(i,"name")&&i.name&&(!((t=e.series)===null||t===void 0)&&t[i.name])){const r=(e==null?void 0:e.series[i.name])[n];return r===void 0?e[n]:r}else return e[n]}const re={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:q,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:q,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};class We extends pe{createChart(e){const{data:n}=this,t=ce(n,e.reverseData,!0),s=me(this.container,e.width,e.height,e.classNames.chart);this.svg=s;const r=s.elem("g").addClass(e.classNames.gridGroup),a=s.elem("g"),l=s.elem("g").addClass(e.classNames.labelGroup),o=de(s,e);let f,c;e.axisX.type===void 0?f=new $e(L.x,t.series,o,{...e.axisX,ticks:t.labels,stretch:e.fullWidth}):f=new e.axisX.type(L.x,t.series,o,e.axisX),e.axisY.type===void 0?c=new Qe(L.y,t.series,o,{...e.axisY,high:R(e.high)?e.high:e.axisY.high,low:R(e.low)?e.low:e.axisY.low}):c=new e.axisY.type(L.y,t.series,o,e.axisY),f.createGridAndLabels(r,l,e,this.eventEmitter),c.createGridAndLabels(r,l,e,this.eventEmitter),e.showGridBackground&&Ge(r,o,e.classNames.gridBackground,this.eventEmitter),Oe(n.series,(m,u)=>{const d=a.elem("g"),h=w(m,"name")&&m.name,y=w(m,"className")&&m.className,p=w(m,"meta")?m.meta:void 0;h&&d.attr({"ct:series-name":h}),p&&d.attr({"ct:meta":J(p)}),d.addClass([e.classNames.series,y||"".concat(e.classNames.series,"-").concat(le(u))].join(" "));const C=[],S=[];t.series[u].forEach((v,g)=>{const x={x:o.x1+f.projectValue(v,g,t.series[u]),y:o.y1-c.projectValue(v,g,t.series[u])};C.push(x.x,x.y),S.push({value:v,valueIndex:g,meta:Le(m,g)})});const A={lineSmooth:Y(m,e,"lineSmooth"),showPoint:Y(m,e,"showPoint"),showLine:Y(m,e,"showLine"),showArea:Y(m,e,"showArea"),areaBase:Y(m,e,"areaBase")};let B;typeof A.lineSmooth=="function"?B=A.lineSmooth:B=A.lineSmooth?ge():I();const M=B(C,S);if(A.showPoint&&M.pathElements.forEach(v=>{const{data:g}=v,x=d.elem("line",{x1:v.x,y1:v.y,x2:v.x+.01,y2:v.y},e.classNames.point);if(g){let E,N;w(g.value,"x")&&(E=g.value.x),w(g.value,"y")&&(N=g.value.y),x.attr({"ct:value":[E,N].filter(R).join(","),"ct:meta":J(g.meta)})}this.eventEmitter.emit("draw",{type:"point",value:g==null?void 0:g.value,index:(g==null?void 0:g.valueIndex)||0,meta:g==null?void 0:g.meta,series:m,seriesIndex:u,axisX:f,axisY:c,group:d,element:x,x:v.x,y:v.y,chartRect:o})}),A.showLine){const v=d.elem("path",{d:M.stringify()},e.classNames.line,!0);this.eventEmitter.emit("draw",{type:"line",values:t.series[u],path:M.clone(),chartRect:o,index:u,series:m,seriesIndex:u,meta:p,axisX:f,axisY:c,group:d,element:v})}if(A.showArea&&c.range){const v=Math.max(Math.min(A.areaBase,c.range.max),c.range.min),g=o.y1-c.projectValue(v);M.splitByCommand("M").filter(x=>x.pathElements.length>1).map(x=>{const E=x.pathElements[0],N=x.pathElements[x.pathElements.length-1];return x.clone(!0).position(0).remove(1).move(E.x,g).line(E.x,E.y).position(x.pathElements.length+1).line(N.x,g)}).forEach(x=>{const E=d.elem("path",{d:x.stringify()},e.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:t.series[u],path:x.clone(),series:m,seriesIndex:u,axisX:f,axisY:c,chartRect:o,index:u,group:d,element:E,meta:p})})}},e.reverseData),this.eventEmitter.emit("created",{chartRect:o,axisX:f,axisY:c,svg:s,options:e})}constructor(e,n,t,s){super(e,n,re,P({},re,t),s),this.data=n}}const ae={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:q,labelDirection:"neutral",ignoreEmptyValues:!1};function qe(i,e,n){const t=e.x>i.x;return t&&n==="explode"||!t&&n==="implode"?"start":t&&n==="implode"||!t&&n==="explode"?"end":"middle"}class Ze extends pe{createChart(e){const{data:n}=this,t=ce(n),s=[];let r,a,l=e.startAngle;const o=me(this.container,e.width,e.height,e.donut?e.classNames.chartDonut:e.classNames.chartPie);this.svg=o;const f=de(o,e);let c=Math.min(f.width()/2,f.height()/2);const m=e.total||t.series.reduce(Me,0),u=T(e.donutWidth);u.unit==="%"&&(u.value*=c/100),c-=e.donut?u.value/2:0,e.labelPosition==="outside"||e.donut?a=c:e.labelPosition==="center"?a=0:a=c/2,e.labelOffset&&(a+=e.labelOffset);const d={x:f.x1+f.width()/2,y:f.y2+f.height()/2},h=n.series.filter(y=>w(y,"value")?y.value!==0:y!==0).length===1;n.series.forEach((y,p)=>s[p]=o.elem("g")),e.showLabel&&(r=o.elem("g")),n.series.forEach((y,p)=>{var C,S;if(t.series[p]===0&&e.ignoreEmptyValues)return;const A=w(y,"name")&&y.name,B=w(y,"className")&&y.className,M=w(y,"meta")?y.meta:void 0;A&&s[p].attr({"ct:series-name":A}),s[p].addClass([(C=e.classNames)===null||C===void 0?void 0:C.series,B||"".concat((S=e.classNames)===null||S===void 0?void 0:S.series,"-").concat(le(p))].join(" "));let v=m>0?l+t.series[p]/m*360:0;const g=Math.max(0,l-(p===0||h?0:.2));v-g>=359.99&&(v=g+359.99);const x=Q(d.x,d.y,c,g),E=Q(d.x,d.y,c,v),N=new b(!e.donut).move(E.x,E.y).arc(c,c,0,Number(v-l>180),0,x.x,x.y);e.donut||N.line(d.x,d.y);const U=s[p].elem("path",{d:N.stringify()},e.donut?e.classNames.sliceDonut:e.classNames.slicePie);if(U.attr({"ct:value":t.series[p],"ct:meta":J(M)}),e.donut&&U.attr({style:"stroke-width: "+u.value+"px"}),this.eventEmitter.emit("draw",{type:"slice",value:t.series[p],totalDataSum:m,index:p,meta:M,series:y,group:s[p],element:U,path:N.clone(),center:d,radius:c,startAngle:l,endAngle:v,chartRect:f}),e.showLabel){let z;n.series.length===1?z={x:d.x,y:d.y}:z=Q(d.x,d.y,a,l+(v-l)/2);let D;t.labels&&!oe(t.labels[p])?D=t.labels[p]:D=t.series[p];const H=e.labelInterpolationFnc(D,p);if(H||H===0){const xe=r.elem("text",{dx:z.x,dy:z.y,"text-anchor":qe(d,z,e.labelDirection)},e.classNames.label).text(String(H));this.eventEmitter.emit("draw",{type:"label",index:p,group:r,element:xe,text:""+H,chartRect:f,series:y,meta:M,...z})}}l=v}),this.eventEmitter.emit("created",{chartRect:f,svg:o,options:e})}constructor(e,n,t,s){super(e,n,ae,P({},ae,t),s),this.data=n}}window.LineChart=We;window.PieChart=Ze;window.Interpolation=De;window.pulse={initialDataLoaded:{},charts:{}}; +const G={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",ct:"http://gionkunz.github.com/chartist-js/ct"},we=8,k={"&":"&","<":"<",">":">",'"':""","'":"'"};function ee(i,e){return typeof i=="number"?i+e:i}function T(i){if(typeof i=="string"){const e=/^(\d+)\s*(.*)$/g.exec(i);return{value:e?+e[1]:0,unit:(e==null?void 0:e[2])||void 0}}return{value:Number(i)}}function le(i){return String.fromCharCode(97+i%26)}const F=2221e-19;function ye(i){return Math.floor(Math.log(Math.abs(i))/Math.LN10)}function X(i,e,n){return e/n.range*i}function be(i,e){const n=Math.pow(10,e||we);return Math.round(i*n)/n}function Ee(i){if(i===1)return i;function e(a,l){return a%l===0?l:e(l,a%l)}function n(a){return a*a+1}let t=2,s=2,r;if(i%2===0)return 2;do t=n(t)%i,s=n(n(s))%i,r=e(Math.abs(t-s),i);while(r===1);return r}function Q(i,e,n,t){const s=(t-90)*Math.PI/180;return{x:i+n*Math.cos(s),y:e+n*Math.sin(s)}}function Ae(i,e,n){let t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const s={high:e.high,low:e.low,valueRange:0,oom:0,step:0,min:0,max:0,range:0,numberOfSteps:0,values:[]};s.valueRange=s.high-s.low,s.oom=ye(s.valueRange),s.step=Math.pow(10,s.oom),s.min=Math.floor(s.low/s.step)*s.step,s.max=Math.ceil(s.high/s.step)*s.step,s.range=s.max-s.min,s.numberOfSteps=Math.round(s.range/s.step);const a=X(i,s.step,s)=n)s.step=1;else if(t&&l=n)s.step=l;else{let u=0;for(;;){if(a&&X(i,s.step,s)<=n)s.step*=2;else if(!a&&X(i,s.step/2,s)>=n){if(s.step/=2,t&&s.step%1!==0){s.step*=2;break}}else break;if(u++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}}s.step=Math.max(s.step,F);function o(u,d){return u===(u+=d)&&(u*=1+(d>0?F:-F)),u}let f=s.min,c=s.max;for(;f+s.step<=s.low;)f=o(f,s.step);for(;c-s.step>=s.high;)c=o(c,-s.step);s.min=f,s.max=c,s.range=s.max-s.min;const m=[];for(let u=s.min;u<=s.max;u=o(u,s.step)){const d=be(u);d!==m[m.length-1]&&m.push(d)}return s.values=m,s}function P(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};for(var e=arguments.length,n=new Array(e>1?e-1:0),t=1;ti;function te(i,e){return Array.from({length:i},e?(n,t)=>e(t):()=>{})}const Me=(i,e)=>i+(e||0);function w(i,e){return i!==null&&typeof i=="object"&&Reflect.has(i,e)}function R(i){return i!==null&&isFinite(i)}function oe(i){return!i&&i!==0}function j(i){return R(i)?Number(i):void 0}function Ne(i){return Array.isArray(i)?i.every(Array.isArray):!1}function Oe(i,e){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,t=0;i[n?"reduceRight":"reduce"]((s,r,a)=>e(r,t++,a),void 0)}function Le(i,e){const n=Array.isArray(i)?i[e]:w(i,"data")?i.data[e]:null;return w(n,"meta")?n.meta:void 0}function ue(i){return i==null||typeof i=="number"&&isNaN(i)}function Ce(i){return Array.isArray(i)&&i.every(e=>Array.isArray(e)||w(e,"data"))}function Se(i){return typeof i=="object"&&i!==null&&(Reflect.has(i,"x")||Reflect.has(i,"y"))}function _(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"y";return Se(i)&&w(i,e)?j(i[e]):j(i)}function ze(i,e,n){e={...e,...n?n==="x"?e.axisX:e.axisY:{}};const t={high:e.high===void 0?-Number.MAX_VALUE:+e.high,low:e.low===void 0?Number.MAX_VALUE:+e.low},s=e.high===void 0,r=e.low===void 0;function a(l){if(!ue(l))if(Array.isArray(l))for(let o=0;ot.high&&(t.high=o),r&&o0||(t.high=1),t.low=0)),t}function ce(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0,t=arguments.length>3?arguments[3]:void 0,s;const r={labels:(i.labels||[]).slice(),series:Ie(i.series,n,t)},a=r.labels.length;return Ne(r.series)?(s=Math.max(a,...r.series.map(l=>l.length)),r.series.forEach(l=>{l.push(...te(Math.max(0,s-l.length)))})):s=r.series.length,r.labels.push(...te(Math.max(0,s-a),()=>"")),e&&je(r),r}function je(i){var e;(e=i.labels)===null||e===void 0||e.reverse(),i.series.reverse();for(const n of i.series)w(n,"data")?n.data.reverse():Array.isArray(n)&&n.reverse()}function Pe(i,e){let n,t;if(typeof i!="object"){const s=j(i);e==="x"?n=s:t=s}else w(i,"x")&&(n=j(i.x)),w(i,"y")&&(t=j(i.y));if(!(n===void 0&&t===void 0))return{x:n,y:t}}function ne(i,e){if(!ue(i))return e?Pe(i,e):j(i)}function Z(i,e){return Array.isArray(i)?i.map(n=>w(n,"value")?ne(n.value,e):ne(n,e)):Z(i.data,e)}function Ie(i,e,n){if(Ce(i))return i.map(s=>Z(s,e));const t=Z(i,e);return n?t.map(s=>[s]):t}function he(i,e,n){const t={increasingX:!1,fillHoles:!1,...n},s=[];let r=!0;for(let a=0;a=2&&i[a]<=i[a-2]&&(r=!0),r&&(s.push({pathCoordinates:[],valueData:[]}),r=!1),s[s.length-1].pathCoordinates.push(i[a],i[a+1]),s[s.length-1].valueData.push(e[a/2]));return s}function J(i){let e="";return i==null?i:(typeof i=="number"?e=""+i:typeof i=="object"?e=JSON.stringify({data:i}):e=String(i),Object.keys(k).reduce((n,t)=>n.replaceAll(t,k[t]),e))}class Be{call(e,n){return this.svgElements.forEach(t=>Reflect.apply(t[e],t,n)),this}attr(){for(var e=arguments.length,n=new Array(e),t=0;t3&&arguments[3]!==void 0?arguments[3]:!1,s=arguments.length>4?arguments[4]:void 0;const{easing:r,...a}=n,l={};let o,f;r&&(o=Array.isArray(r)?r:fe[r]),a.begin=ee(a.begin,"ms"),a.dur=ee(a.dur,"ms"),o&&(a.calcMode="spline",a.keySplines=o.join(" "),a.keyTimes="0;1"),t&&(a.fill="freeze",l[e]=a.from,i.attr(l),f=T(a.begin||0).value,a.begin="indefinite");const c=i.elem("animate",{attributeName:e,...a});t&&setTimeout(()=>{try{c._node.beginElement()}catch{l[e]=a.to,i.attr(l),c.remove()}},f);const m=c.getNode();s&&m.addEventListener("beginEvent",()=>s.emit("animationBegin",{element:i,animate:m,params:n})),m.addEventListener("endEvent",()=>{s&&s.emit("animationEnd",{element:i,animate:m,params:n}),t&&(l[e]=a.to,i.attr(l),c.remove())})}class O{attr(e,n){return typeof e=="string"?n?this._node.getAttributeNS(n,e):this._node.getAttribute(e):(Object.keys(e).forEach(t=>{if(e[t]!==void 0)if(t.indexOf(":")!==-1){const s=t.split(":");this._node.setAttributeNS(G[s[0]],t,String(e[t]))}else this._node.setAttribute(t,String(e[t]))}),this)}elem(e,n,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return new O(e,n,t,this,s)}parent(){return this._node.parentNode instanceof SVGElement?new O(this._node.parentNode):null}root(){let e=this._node;for(;e.nodeName!=="svg"&&e.parentElement;)e=e.parentElement;return new O(e)}querySelector(e){const n=this._node.querySelector(e);return n?new O(n):null}querySelectorAll(e){const n=this._node.querySelectorAll(e);return new Be(n)}getNode(){return this._node}foreignObject(e,n,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,r;if(typeof e=="string"){const l=document.createElement("div");l.innerHTML=e,r=l.firstChild}else r=e;r instanceof Element&&r.setAttribute("xmlns",G.xmlns);const a=this.elem("foreignObject",n,t,s);return a._node.appendChild(r),a}text(e){return this._node.appendChild(document.createTextNode(e)),this}empty(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}remove(){var e;return(e=this._node.parentNode)===null||e===void 0||e.removeChild(this._node),this.parent()}replace(e){var n;return(n=this._node.parentNode)===null||n===void 0||n.replaceChild(e._node,this._node),e}append(e){return(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)&&this._node.firstChild?this._node.insertBefore(e._node,this._node.firstChild):this._node.appendChild(e._node),this}classes(){const e=this._node.getAttribute("class");return e?e.trim().split(/\s+/):[]}addClass(e){return this._node.setAttribute("class",this.classes().concat(e.trim().split(/\s+/)).filter(function(n,t,s){return s.indexOf(n)===t}).join(" ")),this}removeClass(e){const n=e.trim().split(/\s+/);return this._node.setAttribute("class",this.classes().filter(t=>n.indexOf(t)===-1).join(" ")),this}removeAllClasses(){return this._node.setAttribute("class",""),this}height(){return this._node.getBoundingClientRect().height}width(){return this._node.getBoundingClientRect().width}animate(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=arguments.length>2?arguments[2]:void 0;return Object.keys(e).forEach(s=>{const r=e[s];Array.isArray(r)?r.forEach(a=>se(this,s,a,!1,t)):se(this,s,r,n,t)}),this}constructor(e,n,t,s,r=!1){e instanceof Element?this._node=e:(this._node=document.createElementNS(G.svg,e),e==="svg"&&this.attr({"xmlns:ct":G.ct})),n&&this.attr(n),t&&this.addClass(t),s&&(r&&s._node.firstChild?s._node.insertBefore(this._node,s._node.firstChild):s._node.appendChild(this._node))}}O.Easing=fe;function me(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"100%",n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"100%",t=arguments.length>3?arguments[3]:void 0;Array.from(i.querySelectorAll("svg")).filter(r=>r.getAttributeNS(G.xmlns,"ct")).forEach(r=>i.removeChild(r));const s=new O("svg").attr({width:e,height:n}).attr({style:"width: ".concat(e,"; height: ").concat(n,";")});return t&&s.addClass(t),i.appendChild(s.getNode()),s}function Xe(i){return typeof i=="number"?{top:i,right:i,bottom:i,left:i}:i===void 0?{top:0,right:0,bottom:0,left:0}:{top:typeof i.top=="number"?i.top:0,right:typeof i.right=="number"?i.right:0,bottom:typeof i.bottom=="number"?i.bottom:0,left:typeof i.left=="number"?i.left:0}}function de(i,e){var n,t,s,r;const a=Boolean(e.axisX||e.axisY),l=((n=e.axisY)===null||n===void 0?void 0:n.offset)||0,o=((t=e.axisX)===null||t===void 0?void 0:t.offset)||0,f=(s=e.axisY)===null||s===void 0?void 0:s.position,c=(r=e.axisX)===null||r===void 0?void 0:r.position;let m=i.width()||T(e.width).value||0,u=i.height()||T(e.height).value||0;const d=Xe(e.chartPadding);m=Math.max(m,l+d.left+d.right),u=Math.max(u,o+d.top+d.bottom);const h={x1:0,x2:0,y1:0,y2:0,padding:d,width(){return this.x2-this.x1},height(){return this.y1-this.y2}};return a?(c==="start"?(h.y2=d.top+o,h.y1=Math.max(u-d.bottom,h.y2+1)):(h.y2=d.top,h.y1=Math.max(u-d.bottom-o,h.y2+1)),f==="start"?(h.x1=d.left+l,h.x2=Math.max(m-d.right,h.x1+1)):(h.x1=d.left,h.x2=Math.max(m-d.right-l,h.x1+1))):(h.x1=d.left,h.x2=Math.max(m-d.right,h.x1+1),h.y2=d.top,h.y1=Math.max(u-d.bottom,h.y2+1)),h}function Ye(i,e,n,t,s,r,a,l){const o={["".concat(n.units.pos,"1")]:i,["".concat(n.units.pos,"2")]:i,["".concat(n.counterUnits.pos,"1")]:t,["".concat(n.counterUnits.pos,"2")]:t+s},f=r.elem("line",o,a.join(" "));l.emit("draw",{type:"grid",axis:n,index:e,group:r,element:f,...o})}function Ge(i,e,n,t){const s=i.elem("rect",{x:e.x1,y:e.y2,width:e.width(),height:e.height()},n,!0);t.emit("draw",{type:"gridBackground",group:i,element:s})}function He(i,e,n,t,s,r,a,l,o,f){const c={[s.units.pos]:i+a[s.units.pos],[s.counterUnits.pos]:a[s.counterUnits.pos],[s.units.len]:e,[s.counterUnits.len]:Math.max(0,r-10)},m=Math.round(c[s.units.len]),u=Math.round(c[s.counterUnits.len]),d=document.createElement("span");d.className=o.join(" "),d.style[s.units.len]=m+"px",d.style[s.counterUnits.len]=u+"px",d.textContent=String(t);const h=l.foreignObject(d,{style:"overflow: visible;",...c});f.emit("draw",{type:"label",axis:s,index:n,group:l,element:h,text:t,...c})}function ie(i,e,n){let t;const s=[];function r(l){const o=t;t=P({},i),e&&e.forEach(f=>{window.matchMedia(f[0]).matches&&(t=P(t,f[1]))}),n&&l&&n.emit("optionsChanged",{previousOptions:o,currentOptions:t})}function a(){s.forEach(l=>l.removeEventListener("change",r))}if(window.matchMedia)e&&e.forEach(l=>{const o=window.matchMedia(l[0]);o.addEventListener("change",r),s.push(o)});else throw new Error("window.matchMedia not found! Make sure you're using a polyfill.");return r(),{removeMediaQueryListeners:a,getCurrentOptions(){return t}}}const K={m:["x","y"],l:["x","y"],c:["x1","y1","x2","y2","x","y"],a:["rx","ry","xAr","lAf","sf","x","y"]},Ve={accuracy:3};function V(i,e,n,t,s,r){const a={command:s?i.toLowerCase():i.toUpperCase(),...e,...r?{data:r}:{}};n.splice(t,0,a)}function $(i,e){i.forEach((n,t)=>{K[n.command.toLowerCase()].forEach((s,r)=>{e(n,s,t,r,i)})})}class b{static join(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,t=arguments.length>2?arguments[2]:void 0;const s=new b(n,t);for(let r=0;r2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3?arguments[3]:void 0;return V("M",{x:+e,y:+n},this.pathElements,this.pos++,t,s),this}line(e,n){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3?arguments[3]:void 0;return V("L",{x:+e,y:+n},this.pathElements,this.pos++,t,s),this}curve(e,n,t,s,r,a){let l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:!1,o=arguments.length>7?arguments[7]:void 0;return V("C",{x1:+e,y1:+n,x2:+t,y2:+s,x:+r,y:+a},this.pathElements,this.pos++,l,o),this}arc(e,n,t,s,r,a,l){let o=arguments.length>7&&arguments[7]!==void 0?arguments[7]:!1,f=arguments.length>8?arguments[8]:void 0;return V("A",{rx:e,ry:n,xAr:t,lAf:s,sf:r,x:a,y:l},this.pathElements,this.pos++,o,f),this}parse(e){const n=e.replace(/([A-Za-z])(-?[0-9])/g,"$1 $2").replace(/([0-9])([A-Za-z])/g,"$1 $2").split(/[\s,]+/).reduce((s,r)=>(r.match(/[A-Za-z]/)&&s.push([]),s[s.length-1].push(r),s),[]);n[n.length-1][0].toUpperCase()==="Z"&&n.pop();const t=n.map(s=>{const r=s.shift(),a=K[r.toLowerCase()];return{command:r,...a.reduce((l,o,f)=>(l[o]=+s[f],l),{})}});return this.pathElements.splice(this.pos,0,...t),this.pos+=t.length,this}stringify(){const e=Math.pow(10,this.options.accuracy);return this.pathElements.reduce((n,t)=>{const s=K[t.command.toLowerCase()].map(r=>{const a=t[r];return this.options.accuracy?Math.round(a*e)/e:a});return n+t.command+s.join(",")},"")+(this.close?"Z":"")}scale(e,n){return $(this.pathElements,(t,s)=>{t[s]*=s[0]==="x"?e:n}),this}translate(e,n){return $(this.pathElements,(t,s)=>{t[s]+=s[0]==="x"?e:n}),this}transform(e){return $(this.pathElements,(n,t,s,r,a)=>{const l=e(n,t,s,r,a);(l||l===0)&&(n[t]=l)}),this}clone(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const n=new b(e||this.close);return n.pos=this.pos,n.pathElements=this.pathElements.slice().map(t=>({...t})),n.options={...this.options},n}splitByCommand(e){const n=[new b];return this.pathElements.forEach(t=>{t.command===e.toUpperCase()&&n[n.length-1].pathElements.length!==0&&n.push(new b),n[n.length-1].pathElements.push(t)}),n}constructor(e=!1,n){this.close=e,this.pathElements=[],this.pos=0,this.options={...Ve,...n}}}function I(i){const e={fillHoles:!1,...i};return function(t,s){const r=new b;let a=!0;for(let l=0;l1)return b.join(l.map(o=>s(o.pathCoordinates,o.valueData)));{if(r=l[0].pathCoordinates,a=l[0].valueData,r.length<=4)return I()(r,a);const o=new b().move(r[0],r[1],!1,a[0]),f=!1;for(let c=0,m=r.length;m-2*Number(!f)>c;c+=2){const u=[{x:+r[c-2],y:+r[c-1]},{x:+r[c],y:+r[c+1]},{x:+r[c+2],y:+r[c+3]},{x:+r[c+4],y:+r[c+5]}];m-4===c?u[3]=u[2]:c||(u[0]={x:+r[c],y:+r[c+1]}),o.curve(n*(-u[0].x+6*u[1].x+u[2].x)/6+t*u[2].x,n*(-u[0].y+6*u[1].y+u[2].y)/6+t*u[2].y,n*(u[1].x+6*u[2].x-u[3].x)/6+t*u[2].x,n*(u[1].y+6*u[2].y-u[3].y)/6+t*u[2].y,u[2].x,u[2].y,!1,a[(c+2)/2])}return o}}else return I()([],[])}}function ge(i){const e={fillHoles:!1,...i};return function n(t,s){const r=he(t,s,{fillHoles:e.fillHoles,increasingX:!0});if(r.length){if(r.length>1)return b.join(r.map(a=>n(a.pathCoordinates,a.valueData)));{if(t=r[0].pathCoordinates,s=r[0].valueData,t.length<=4)return I()(t,s);const a=[],l=[],o=t.length/2,f=[],c=[],m=[],u=[];for(let h=0;h0!=c[h]>0?f[h]=0:(f[h]=3*(u[h-1]+u[h])/((2*u[h]+u[h-1])/c[h-1]+(u[h]+2*u[h-1])/c[h]),isFinite(f[h])||(f[h]=0));const d=new b().move(a[0],l[0],!1,s[0]);for(let h=0;hr(n)),t.forEach(r=>r(e,n))}constructor(){this.listeners=new Map,this.allListeners=new Set}}const W=new WeakMap;class pe{update(e,n){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(e&&(this.data=e||{},this.data.labels=this.data.labels||[],this.data.series=this.data.series||[],this.eventEmitter.emit("data",{type:"update",data:this.data})),n&&(this.options=P({},t?this.options:this.defaultOptions,n),!this.initializeTimeoutId)){var s;(s=this.optionsProvider)===null||s===void 0||s.removeMediaQueryListeners(),this.optionsProvider=ie(this.options,this.responsiveOptions,this.eventEmitter)}return!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){if(this.initializeTimeoutId)window.clearTimeout(this.initializeTimeoutId);else{var e;window.removeEventListener("resize",this.resizeListener),(e=this.optionsProvider)===null||e===void 0||e.removeMediaQueryListeners()}return W.delete(this.container),this}on(e,n){return this.eventEmitter.on(e,n),this}off(e,n){return this.eventEmitter.off(e,n),this}initialize(){window.addEventListener("resize",this.resizeListener),this.optionsProvider=ie(this.options,this.responsiveOptions,this.eventEmitter),this.eventEmitter.on("optionsChanged",()=>this.update()),this.options.plugins&&this.options.plugins.forEach(e=>{Array.isArray(e)?e[0](this,e[1]):e(this)}),this.eventEmitter.emit("data",{type:"initial",data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=null}constructor(e,n,t,s,r){this.data=n,this.defaultOptions=t,this.options=s,this.responsiveOptions=r,this.eventEmitter=new Fe,this.resizeListener=()=>this.update(),this.initializeTimeoutId=setTimeout(()=>this.initialize(),0);const a=typeof e=="string"?document.querySelector(e):e;if(!a)throw new Error("Target element is not found");this.container=a;const l=W.get(a);l&&l.detach(),W.set(a,this)}}const L={x:{pos:"x",len:"width",dir:"horizontal",rectStart:"x1",rectEnd:"x2",rectOffset:"y2"},y:{pos:"y",len:"height",dir:"vertical",rectStart:"y2",rectEnd:"y1",rectOffset:"x1"}};class ve{createGridAndLabels(e,n,t,s){const r=this.units.pos==="x"?t.axisX:t.axisY,a=this.ticks.map((o,f)=>this.projectValue(o,f)),l=this.ticks.map(r.labelInterpolationFnc);a.forEach((o,f)=>{const c=l[f],m={x:0,y:0};let u;a[f+1]?u=a[f+1]-o:u=Math.max(this.axisLength-o,this.axisLength/this.ticks.length),!(c!==""&&oe(c))&&(this.units.pos==="x"?(o=this.chartRect.x1+o,m.x=t.axisX.labelOffset.x,t.axisX.position==="start"?m.y=this.chartRect.padding.top+t.axisX.labelOffset.y+5:m.y=this.chartRect.y1+t.axisX.labelOffset.y+5):(o=this.chartRect.y1-o,m.y=t.axisY.labelOffset.y-u,t.axisY.position==="start"?m.x=this.chartRect.padding.left+t.axisY.labelOffset.x:m.x=this.chartRect.x2+t.axisY.labelOffset.x+10),r.showGrid&&Ye(o,f,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[t.classNames.grid,t.classNames[this.units.dir]],s),r.showLabel&&He(o,u,f,c,this,r.offset,m,n,[t.classNames.label,t.classNames[this.units.dir],r.position==="start"?t.classNames[r.position]:t.classNames.end],s))})}constructor(e,n,t){this.units=e,this.chartRect=n,this.ticks=t,this.counterUnits=e===L.x?L.y:L.x,this.axisLength=n[this.units.rectEnd]-n[this.units.rectStart],this.gridOffset=n[this.units.rectOffset]}}class Qe extends ve{projectValue(e){const n=Number(_(e,this.units.pos));return this.axisLength*(n-this.bounds.min)/this.bounds.range}constructor(e,n,t,s){const r=s.highLow||ze(n,s,e.pos),a=Ae(t[e.rectEnd]-t[e.rectStart],r,s.scaleMinSpace||20,s.onlyInteger),l={min:a.min,max:a.max};super(e,t,a.values),this.bounds=a,this.range=l}}class $e extends ve{projectValue(e,n){return this.stepLength*n}constructor(e,n,t,s){const r=s.ticks||[];super(e,t,r);const a=Math.max(1,r.length-(s.stretch?1:0));this.stepLength=this.axisLength/a,this.stretch=Boolean(s.stretch)}}function Y(i,e,n){var t;if(w(i,"name")&&i.name&&(!((t=e.series)===null||t===void 0)&&t[i.name])){const r=(e==null?void 0:e.series[i.name])[n];return r===void 0?e[n]:r}else return e[n]}const re={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:q,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:q,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:"ct-chart-line",label:"ct-label",labelGroup:"ct-labels",series:"ct-series",line:"ct-line",point:"ct-point",area:"ct-area",grid:"ct-grid",gridGroup:"ct-grids",gridBackground:"ct-grid-background",vertical:"ct-vertical",horizontal:"ct-horizontal",start:"ct-start",end:"ct-end"}};class We extends pe{createChart(e){const{data:n}=this,t=ce(n,e.reverseData,!0),s=me(this.container,e.width,e.height,e.classNames.chart);this.svg=s;const r=s.elem("g").addClass(e.classNames.gridGroup),a=s.elem("g"),l=s.elem("g").addClass(e.classNames.labelGroup),o=de(s,e);let f,c;e.axisX.type===void 0?f=new $e(L.x,t.series,o,{...e.axisX,ticks:t.labels,stretch:e.fullWidth}):f=new e.axisX.type(L.x,t.series,o,e.axisX),e.axisY.type===void 0?c=new Qe(L.y,t.series,o,{...e.axisY,high:R(e.high)?e.high:e.axisY.high,low:R(e.low)?e.low:e.axisY.low}):c=new e.axisY.type(L.y,t.series,o,e.axisY),f.createGridAndLabels(r,l,e,this.eventEmitter),c.createGridAndLabels(r,l,e,this.eventEmitter),e.showGridBackground&&Ge(r,o,e.classNames.gridBackground,this.eventEmitter),Oe(n.series,(m,u)=>{const d=a.elem("g"),h=w(m,"name")&&m.name,y=w(m,"className")&&m.className,p=w(m,"meta")?m.meta:void 0;h&&d.attr({"ct:series-name":h}),p&&d.attr({"ct:meta":J(p)}),d.addClass([e.classNames.series,y||"".concat(e.classNames.series,"-").concat(le(u))].join(" "));const C=[],S=[];t.series[u].forEach((v,g)=>{const x={x:o.x1+f.projectValue(v,g,t.series[u]),y:o.y1-c.projectValue(v,g,t.series[u])};C.push(x.x,x.y),S.push({value:v,valueIndex:g,meta:Le(m,g)})});const A={lineSmooth:Y(m,e,"lineSmooth"),showPoint:Y(m,e,"showPoint"),showLine:Y(m,e,"showLine"),showArea:Y(m,e,"showArea"),areaBase:Y(m,e,"areaBase")};let B;typeof A.lineSmooth=="function"?B=A.lineSmooth:B=A.lineSmooth?ge():I();const M=B(C,S);if(A.showPoint&&M.pathElements.forEach(v=>{const{data:g}=v,x=d.elem("line",{x1:v.x,y1:v.y,x2:v.x+.01,y2:v.y},e.classNames.point);if(g){let E,N;w(g.value,"x")&&(E=g.value.x),w(g.value,"y")&&(N=g.value.y),x.attr({"ct:value":[E,N].filter(R).join(","),"ct:meta":J(g.meta)})}this.eventEmitter.emit("draw",{type:"point",value:g==null?void 0:g.value,index:(g==null?void 0:g.valueIndex)||0,meta:g==null?void 0:g.meta,series:m,seriesIndex:u,axisX:f,axisY:c,group:d,element:x,x:v.x,y:v.y,chartRect:o})}),A.showLine){const v=d.elem("path",{d:M.stringify()},e.classNames.line,!0);this.eventEmitter.emit("draw",{type:"line",values:t.series[u],path:M.clone(),chartRect:o,index:u,series:m,seriesIndex:u,meta:p,axisX:f,axisY:c,group:d,element:v})}if(A.showArea&&c.range){const v=Math.max(Math.min(A.areaBase,c.range.max),c.range.min),g=o.y1-c.projectValue(v);M.splitByCommand("M").filter(x=>x.pathElements.length>1).map(x=>{const E=x.pathElements[0],N=x.pathElements[x.pathElements.length-1];return x.clone(!0).position(0).remove(1).move(E.x,g).line(E.x,E.y).position(x.pathElements.length+1).line(N.x,g)}).forEach(x=>{const E=d.elem("path",{d:x.stringify()},e.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:t.series[u],path:x.clone(),series:m,seriesIndex:u,axisX:f,axisY:c,chartRect:o,index:u,group:d,element:E,meta:p})})}},e.reverseData),this.eventEmitter.emit("created",{chartRect:o,axisX:f,axisY:c,svg:s,options:e})}constructor(e,n,t,s){super(e,n,re,P({},re,t),s),this.data=n}}const ae={width:void 0,height:void 0,chartPadding:5,classNames:{chartPie:"ct-chart-pie",chartDonut:"ct-chart-donut",series:"ct-series",slicePie:"ct-slice-pie",sliceDonut:"ct-slice-donut",label:"ct-label"},startAngle:0,total:void 0,donut:!1,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:q,labelDirection:"neutral",ignoreEmptyValues:!1};function qe(i,e,n){const t=e.x>i.x;return t&&n==="explode"||!t&&n==="implode"?"start":t&&n==="implode"||!t&&n==="explode"?"end":"middle"}class Ze extends pe{createChart(e){const{data:n}=this,t=ce(n),s=[];let r,a,l=e.startAngle;const o=me(this.container,e.width,e.height,e.donut?e.classNames.chartDonut:e.classNames.chartPie);this.svg=o;const f=de(o,e);let c=Math.min(f.width()/2,f.height()/2);const m=e.total||t.series.reduce(Me,0),u=T(e.donutWidth);u.unit==="%"&&(u.value*=c/100),c-=e.donut?u.value/2:0,e.labelPosition==="outside"||e.donut?a=c:e.labelPosition==="center"?a=0:a=c/2,e.labelOffset&&(a+=e.labelOffset);const d={x:f.x1+f.width()/2,y:f.y2+f.height()/2},h=n.series.filter(y=>w(y,"value")?y.value!==0:y!==0).length===1;n.series.forEach((y,p)=>s[p]=o.elem("g")),e.showLabel&&(r=o.elem("g")),n.series.forEach((y,p)=>{var C,S;if(t.series[p]===0&&e.ignoreEmptyValues)return;const A=w(y,"name")&&y.name,B=w(y,"className")&&y.className,M=w(y,"meta")?y.meta:void 0;A&&s[p].attr({"ct:series-name":A}),s[p].addClass([(C=e.classNames)===null||C===void 0?void 0:C.series,B||"".concat((S=e.classNames)===null||S===void 0?void 0:S.series,"-").concat(le(p))].join(" "));let v=m>0?l+t.series[p]/m*360:0;const g=Math.max(0,l-(p===0||h?0:.2));v-g>=359.99&&(v=g+359.99);const x=Q(d.x,d.y,c,g),E=Q(d.x,d.y,c,v),N=new b(!e.donut).move(E.x,E.y).arc(c,c,0,Number(v-l>180),0,x.x,x.y);e.donut||N.line(d.x,d.y);const U=s[p].elem("path",{d:N.stringify()},e.donut?e.classNames.sliceDonut:e.classNames.slicePie);if(U.attr({"ct:value":t.series[p],"ct:meta":J(M)}),e.donut&&U.attr({style:"stroke-width: "+u.value+"px"}),this.eventEmitter.emit("draw",{type:"slice",value:t.series[p],totalDataSum:m,index:p,meta:M,series:y,group:s[p],element:U,path:N.clone(),center:d,radius:c,startAngle:l,endAngle:v,chartRect:f}),e.showLabel){let z;n.series.length===1?z={x:d.x,y:d.y}:z=Q(d.x,d.y,a,l+(v-l)/2);let D;t.labels&&!oe(t.labels[p])?D=t.labels[p]:D=t.series[p];const H=e.labelInterpolationFnc(D,p);if(H||H===0){const xe=r.elem("text",{dx:z.x,dy:z.y,"text-anchor":qe(d,z,e.labelDirection)},e.classNames.label).text(String(H));this.eventEmitter.emit("draw",{type:"label",index:p,group:r,element:xe,text:""+H,chartRect:f,series:y,meta:M,...z})}}l=v}),this.eventEmitter.emit("created",{chartRect:f,svg:o,options:e})}constructor(e,n,t,s){super(e,n,ae,P({},ae,t),s),this.data=n}}window.LineChart=We;window.PieChart=Ze;window.Interpolation=De;window.pulse={charts:{}}; diff --git a/resources/js/pulse.js b/resources/js/pulse.js index b8b1dc10..d53a26f3 100644 --- a/resources/js/pulse.js +++ b/resources/js/pulse.js @@ -4,4 +4,4 @@ window.LineChart = LineChart; window.PieChart = PieChart; window.Interpolation = Interpolation; -window.pulse = { initialDataLoaded: {}, charts: {} } +window.pulse = { charts: {} } diff --git a/resources/views/components/loading-indicator.blade.php b/resources/views/components/loading-indicator.blade.php deleted file mode 100644 index 9fb97cc6..00000000 --- a/resources/views/components/loading-indicator.blade.php +++ /dev/null @@ -1,5 +0,0 @@ -
-
- LOADING -
-
diff --git a/resources/views/components/placeholder.blade.php b/resources/views/components/placeholder.blade.php new file mode 100644 index 00000000..928aa8aa --- /dev/null +++ b/resources/views/components/placeholder.blade.php @@ -0,0 +1,10 @@ + + +
+
+
+
+
+
+
+
diff --git a/resources/views/components/pulse.blade.php b/resources/views/components/pulse.blade.php index ffd1c83d..17e5107d 100644 --- a/resources/views/components/pulse.blade.php +++ b/resources/views/components/pulse.blade.php @@ -14,9 +14,6 @@ {!! Laravel\Pulse\Facades\Pulse::css() !!} - - @livewireStyles - @@ -50,7 +47,6 @@ - @livewireScripts @stack('scripts') diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index f9baa2b1..cd9dea71 100644 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -1,14 +1,14 @@ - - - {{-- --}} - {{-- --}} - {{-- --}} - - - - - - - + + + {{-- --}} + {{-- --}} + {{-- --}} + + + + + + + diff --git a/resources/views/livewire/cache.blade.php b/resources/views/livewire/cache.blade.php index 3dee10cc..87b36ce0 100644 --- a/resources/views/livewire/cache.blade.php +++ b/resources/views/livewire/cache.blade.php @@ -12,94 +12,82 @@
-
- -
- @if ($initialDataLoaded) -
-
- - {{ number_format($allCacheInteractions->hits) }} - - - Hits - -
-
- - {{ number_format($allCacheInteractions->count - $allCacheInteractions->hits) }} - - - Misses - -
-
- - {{ $allCacheInteractions->count > 0 ? round(($allCacheInteractions->hits / $allCacheInteractions->count) * 100, 2).'%' : '-' }} - - - Hit Rate - -
+
+
+
+ + {{ number_format($allCacheInteractions->hits) }} + + + Hits +
- @if ($monitoredCacheInteractions === []) -
-
- No keys configured to monitor -
+
+ + {{ number_format($allCacheInteractions->count - $allCacheInteractions->hits) }} + + + Misses + +
+
+ + {{ $allCacheInteractions->count > 0 ? round(($allCacheInteractions->hits / $allCacheInteractions->count) * 100, 2).'%' : '-' }} + + + Hit Rate + +
+
+ @if ($monitoredCacheInteractions === []) +
+
+ No keys configured to monitor
+
-
- @else - - +
+ @else + + + + Name + Hits + Misses + Hit Rate + + + + @foreach ($monitoredCacheInteractions as $interaction) - Name - Hits - Misses - Hit Rate + + + {{ $interaction->key }} + + + + {{ number_format($interaction->hits) }} + + + {{ number_format($interaction->count - $interaction->hits) }} + + + {{ $interaction->count > 0 ? round(($interaction->hits / $interaction->count) * 100, 2).'%' : '-' }} + -
- - @foreach ($monitoredCacheInteractions as $interaction) - - - - {{ $interaction->key }} - - - - {{ number_format($interaction->hits) }} - - - {{ number_format($interaction->count - $interaction->hits) }} - - - {{ $interaction->count > 0 ? round(($interaction->hits / $interaction->count) * 100, 2).'%' : '-' }} - - - @endforeach - -
- @endif + @endforeach + + @endif
diff --git a/resources/views/livewire/exceptions.blade.php b/resources/views/livewire/exceptions.blade.php index 60df2429..520caa74 100644 --- a/resources/views/livewire/exceptions.blade.php +++ b/resources/views/livewire/exceptions.blade.php @@ -13,7 +13,7 @@
Sort by