- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
import { useEffect, useState } from "react";
import { LineChart } from "@gunkin/uiify";
import { LineChartClient } from "@gunkin/uiify/components/line-chart/client";
const data = Array.from({ length: 48 }, (_, index) => ({
time: new Date(Date.UTC(2025, 0, 1 + index * 7)).toISOString().slice(0, 10),
value: Math.round((86 + index * 1.4 + Math.sin(index / 3.5) * 7) * 10) / 10,
}));
export default function Example() {
return (
<>
<LineChart
className={
"[--line-grid:color-mix(in_srgb,_currentcolor_10%,_transparent)] [--line-up:oklch(67%_0.14_166deg)] [--lin" +
"e-down:oklch(64%_0.21_24deg)] [--line-flat:light-dark(oklch(43%_0.05_165deg),_oklch(72%_0.04_165deg))] [-" +
"-line-axis:light-dark(_color-mix(in_oklch,_var(--muted-foreground)_70%,_var(--foreground)),_var(--muted-f" +
"oreground)_)] [--line-width:0.12rem] relative block [inline-size:100%] [min-block-size:21rem] [padding:1r" +
"em_0.75rem_0.5rem] overflow-clip [overscroll-behavior:none] isolate bg-transparent [color:light-dark(oklc" +
"h(28%_0.04_165deg),_oklch(82%_0.04_165deg))] data-[interactive]:[touch-action:none] [&[data-interactive]_" +
"[data-part=scroll-viewport]]:[overscroll-behavior-inline:none] [&>[data-part=plot]]:relative [&>[data-par" +
"t=plot]]:grid [&>[data-part=plot]]:[grid-template-columns:minmax(0,_1fr)_4.5rem] [&>[data-part=plot]]:[gr" +
"id-template-rows:minmax(18rem,_1fr)_calc(1.5rem_+_var(--line-scrollbar-size,_0px))] [&>[data-part=plot]]:" +
"[gap:0_0.75rem] [&>[data-part=plot]]:[min-inline-size:0] [&>[data-part=plot]]:[min-block-size:18rem] [&>[" +
"data-part=plot]]:[overscroll-behavior:none] [&_[data-part=scroll-viewport]]:[grid-column:1] [&_[data-part" +
"=scroll-viewport]]:[grid-row:1_/_span_2] [&_[data-part=scroll-viewport]]:[min-inline-size:0] [&_[data-par" +
"t=scroll-viewport]]:[min-block-size:18rem] [&_[data-part=scroll-viewport]]:[overflow:auto_hidden] [&_[dat" +
"a-part=scroll-viewport]]:[container-type:inline-size] [&_[data-part=scroll-viewport]]:[direction:rtl] [&_" +
"[data-part=canvas]]:grid [&_[data-part=canvas]]:[grid-template-rows:minmax(18rem,_1fr)_1.5rem] [&_[data-p" +
"art=canvas]]:[inline-size:calc(100%_*_var(--line-scale))] [&_[data-part=canvas]]:[min-inline-size:100%] [" +
"&_[data-part=canvas]]:[min-block-size:100%] [&_[data-part=canvas]]:[direction:ltr] [&_[data-part=viewport" +
"]]:[container-type:inline-size] [&_[data-part=viewport]]:relative [&_[data-part=viewport]]:[grid-column:1" +
"] [&_[data-part=viewport]]:[grid-row:1] [&_[data-part=viewport]]:[min-inline-size:0] [&_[data-part=viewpo" +
"rt]]:[min-block-size:18rem] [&_[data-part=viewport]]:overflow-clip [&_[data-part=viewport]]:[overscroll-b" +
"ehavior:none] [&>figcaption]:absolute [&>figcaption]:z-[1] [&>figcaption]:[inset-block-start:0.75rem] [&>" +
"figcaption]:[inset-inline-start:1rem] [&>figcaption]:[color:var(--line-axis)] [&>figcaption]:[font-size:0" +
".75rem] [&>figcaption]:[font-weight:650] [&>figcaption]:[letter-spacing:0.04em] [&>figcaption]:[text-tran" +
"sform:uppercase] [&_[data-part=readout]]:absolute [&_[data-part=readout]]:z-[1] [&_[data-part=readout]]:[" +
"inset-block-start:0.75rem] [&_[data-part=readout]]:[inset-inline-end:1rem] [&_[data-part=readout]]:flex [" +
"&_[data-part=readout]]:[gap:0.625rem] [&_[data-part=readout]]:items-baseline [&_[data-part=readout]]:[col" +
"or:var(--line-axis)] [&_[data-part=readout]]:[font-size:0.7rem] [&_[data-part=readout]]:[font-variant-num" +
"eric:tabular-nums] [&_[data-part=readout]]:leading-none [&_[data-part=readout]]:whitespace-nowrap [&_[dat" +
"a-part=readout-time]]:[font-weight:650] [&_[data-part=points]]:[container-type:size] [&_[data-part=points" +
"]]:absolute [&_[data-part=points]]:[inset:1rem_0] [&_[data-part=points]]:block [&_[data-part=points]]:m-0" +
" [&_[data-part=points]]:p-0 [&_[data-part=points]]:list-none [&_[data-part=points]]:[background-image:lin" +
"ear-gradient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid" +
")_1px,_transparent_1px)] [&_[data-part=points]]:[background-size:var(--line-segment-slot)_100%,_100%_20%]" +
" [&_[data-part=viewport]>[data-uiify-virtual-scroll]]:absolute [&_[data-part=viewport]>[data-uiify-virtua" +
"l-scroll]]:inset-0 [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-image:linear-gr" +
"adient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid)_1px," +
"_transparent_1px)] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-position:0_1rem" +
"] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-size:10%_100%,_100%_calc((100%_-" +
"_2rem)_/_5)] [&_[data-part=point]]:absolute [&_[data-part=point]]:[min-inline-size:0] [&_[data-part=point" +
"]]:[color:var(--line-flat)] [&_[data-part=point]]:list-none [&_[data-part=points]>[data-part=point]]:[ins" +
"et-block:0] [&_[data-part=points]>[data-part=point]]:[inset-inline-start:var(--line-prev-x,_var(--line-x)" +
")] [&_[data-part=points]>[data-part=point]]:[inline-size:var(--line-slot)] [&_[data-part=points]>[data-pa" +
"rt=point]]:[min-block-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[--line-point-block-si" +
"ze:calc(var(--line-plot-height,_18rem)_-_2rem)] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-" +
"block:1rem_auto] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-inline-start:-50%] [&_[data-uii" +
"fy-virtual-scroll]_[data-part=point]]:[inline-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]" +
"]:[block-size:var(--line-point-block-size)] [&_[data-part=point]::before]:[--line-dx:calc(var(--line-run," +
"_0)_*_1cqw)] [&_[data-part=point]::before]:[--line-dy:calc(var(--line-rise,_0)_/_100_*_var(--line-point-b" +
"lock-size,_100cqh))] [&_[data-part=point]::before]:absolute [&_[data-part=point]::before]:z-[1] [&_[data-" +
"part=point]::before]:[inset-block-start:calc(var(--line-prev-y)_-_var(--line-width))] [&_[data-part=point" +
"]::before]:[inset-inline-start:0] [&_[data-part=point]::before]:block [&_[data-part=point]::before]:[inli" +
"ne-size:hypot(var(--line-dx),_var(--line-dy))] [&_[data-part=point]::before]:[block-size:calc(var(--line-" +
"width)_*_2)] [&_[data-part=point]::before]:[border-radius:var(--line-width)] [&_[data-part=point]::before" +
"]:[background:currentcolor] [&_[data-part=point]::before]:content-[''] [&_[data-part=point]::before]:[tra" +
"nsform-origin:0_50%] [&_[data-part=point]::before]:[rotate:atan2(var(--line-dy),_var(--line-dx))] [&_[dat" +
"a-part=point][data-first]::before]:hidden [&_[data-part=point]::after]:absolute [&_[data-part=point]::aft" +
"er]:z-[2] [&_[data-part=point]::after]:[inset-block-start:var(--line-y)] [&_[data-part=point]::after]:[in" +
"set-inline-start:100%] [&_[data-part=point]::after]:block [&_[data-part=point]::after]:[inline-size:0.55r" +
"em] [&_[data-part=point]::after]:[block-size:0.55rem] [&_[data-part=point]::after]:border-0 [&_[data-part" +
"=point]::after]:border-current [&_[data-part=point]::after]:border-none [&_[data-part=point]::after]:roun" +
"ded-[50%] [&_[data-part=point]::after]:[background:currentcolor] [&_[data-part=point]::after]:content-[''" +
"] [&_[data-part=point]::after]:[transform:translate(-50%,_-50%)] [&_[data-part=points]>[data-part=point][" +
"data-first]::after]:[inset-inline-start:0] [&_[data-part=point][data-trend=up]]:[color:var(--line-up)] [&" +
"_[data-part=point][data-trend=down]]:[color:var(--line-down)] [&_[data-part=point-hit]]:absolute [&_[data" +
"-part=point-hit]]:z-[3] [&_[data-part=point-hit]]:inset-0 [&_[data-part=point-hit]]:[inline-size:100%] [&" +
"_[data-part=point-hit]]:[block-size:100%] [&_[data-part=point-hit]]:m-0 [&_[data-part=point-hit]]:p-0 [&_" +
"[data-part=point-hit]]:border-0 [&_[data-part=point-hit]]:border-current [&_[data-part=point-hit]]:border" +
"-none [&_[data-part=point-hit]]:appearance-none [&_[data-part=point-hit]]:bg-transparent [&_[data-part=po" +
"int-hit]]:text-transparent [&_[data-part=point-hit]]:[cursor:crosshair] [&_[data-part=point-hit]]:[font-s" +
"tyle:inherit] [&_[data-part=point-hit]]:[font-variant:inherit] [&_[data-part=point-hit]]:[font-weight:inh" +
"erit] [&_[data-part=point-hit]]:[font-stretch:inherit] [&_[data-part=point-hit]]:text-[length:inherit] [&" +
"_[data-part=point-hit]]:leading-[inherit] [&_[data-part=point-hit]]:font-[family-name:inherit] [&[data-in" +
"teractive]_[data-part=point][data-point-selected]::after]:[box-shadow:0_0_0_0.2rem_color-mix(in_srgb,_cur" +
"rentcolor_24%,_transparent)] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline:2px_solid" +
"_currentcolor] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline-offset:-2px] [&_[data-p" +
"art=crosshair]]:absolute [&_[data-part=crosshair]]:z-[4] [&_[data-part=crosshair]]:inset-0 [&_[data-part=" +
"crosshair]]:[inline-size:var(--line-content-size,_100%)] [&_[data-part=crosshair]]:[translate:calc(-1_*_v" +
"ar(--line-scroll-x,_0px))_0] [&_[data-part=crosshair]]:[block-size:100%] [&_[data-part=crosshair]]:[color" +
":light-dark(oklch(52%_0.01_0deg),_oklch(72%_0.01_0deg))] [&_[data-part=crosshair]]:pointer-events-none [&" +
"_[data-part=crosshair]::before]:absolute [&_[data-part=crosshair]::before]:block [&_[data-part=crosshair]" +
"::before]:[background:currentcolor] [&_[data-part=crosshair]::before]:content-[''] [&_[data-part=crosshai" +
"r]::after]:absolute [&_[data-part=crosshair]::after]:block [&_[data-part=crosshair]::after]:[background:c" +
"urrentcolor] [&_[data-part=crosshair]::after]:content-[''] [&_[data-part=crosshair]::before]:[inset-block" +
":0] [&_[data-part=crosshair]::before]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshai" +
"r]::before]:[inline-size:1px] [&_[data-part=crosshair]::before]:[background-image:repeating-linear-gradie" +
"nt(_to_bottom,_currentcolor_0_0.4rem,_transparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::before]:bg-t" +
"ransparent [&_[data-part=crosshair]::after]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] [&" +
"_[data-part=crosshair]::after]:[inset-inline:0] [&_[data-part=crosshair]::after]:[block-size:1px] [&_[dat" +
"a-part=crosshair]::after]:[background-image:repeating-linear-gradient(_to_right,_currentcolor_0_0.4rem,_t" +
"ransparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::after]:bg-transparent [&_[data-part=crosshair-marke" +
"r]]:absolute [&_[data-part=crosshair-marker]]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] " +
"[&_[data-part=crosshair-marker]]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshair-mar" +
"ker]]:[font-size:1rem] [&_[data-part=crosshair-marker]]:leading-none [&_[data-part=crosshair-marker]]:[tr" +
"ansform:translate(-50%,_-50%)] [&_[data-part=value-axis]]:m-0 [&_[data-part=value-axis]]:p-0 [&_[data-par" +
"t=value-axis]]:list-none [&_[data-part=time-axis]]:m-0 [&_[data-part=time-axis]]:p-0 [&_[data-part=time-a" +
"xis]]:list-none [&_[data-part=value-axis]]:relative [&_[data-part=value-axis]]:[grid-column:2] [&_[data-p" +
"art=value-axis]]:[grid-row:1] [&_[data-part=value-axis]]:[min-inline-size:0] [&_[data-part=value-axis]>li" +
"]:absolute [&_[data-part=value-axis]>li]:[inset-inline:0] [&_[data-part=value-axis]>li]:[inset-block-star" +
"t:var(--line-axis-y)] [&_[data-part=value-axis]>li]:overflow-hidden [&_[data-part=value-axis]>li]:[color:" +
"var(--line-axis)] [&_[data-part=value-axis]>li]:[font-size:0.65rem] [&_[data-part=value-axis]>li]:[font-v" +
"ariant-numeric:tabular-nums] [&_[data-part=value-axis]>li]:leading-none [&_[data-part=value-axis]>li]:tex" +
"t-end [&_[data-part=value-axis]>li]:[text-overflow:ellipsis] [&_[data-part=value-axis]>li]:whitespace-now" +
"rap [&_[data-part=value-axis]>li]:[transform:translateY(-50%)] [&_[data-part=value-axis]>li:first-child]:" +
"[transform:none] [&_[data-part=value-axis]>li:last-child]:[transform:translateY(-100%)] [&_[data-part=tim" +
"e-viewport]]:relative [&_[data-part=time-viewport]]:[grid-column:1] [&_[data-part=time-viewport]]:[grid-r" +
"ow:2] [&_[data-part=time-viewport]]:[min-inline-size:0] [&_[data-part=time-viewport]]:overflow-clip [&_[d" +
"ata-part=time-viewport]]:[overscroll-behavior:none] [&_[data-part=time-axis]]:relative [&_[data-part=time" +
"-axis]]:[inset-block:0] [&_[data-part=time-axis]]:[inline-size:var(--line-content-size,_100%)] [&_[data-p" +
"art=time-axis]]:[translate:calc(-1_*_var(--line-scroll-x,_0px))_0] [&_[data-part=time-axis]]:[min-inline-" +
"size:0] [&_[data-part=time-axis]>li]:absolute [&_[data-part=time-axis]>li]:[inset-block-start:0.375rem] [" +
"&_[data-part=time-axis]>li]:[inset-inline-start:var(--line-axis-x)] [&_[data-part=time-axis]>li]:[color:v" +
"ar(--line-axis)] [&_[data-part=time-axis]>li]:[font-size:0.7rem] [&_[data-part=time-axis]>li]:whitespace-" +
"nowrap [&_[data-part=time-axis]>li]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li:first-child]" +
":[transform:none] [&_[data-part=time-axis]>li:last-child]:[transform:translateX(-100%)] [&_[data-part=tim" +
"e-axis]>li:only-child]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li[data-part=crosshair-time]" +
"]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[pa" +
"dding:0.25rem_0.5rem] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[background:var(--line-axis)" +
"] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[color:Canvas] [&_[data-part=time-axis]>li[data-" +
"part=crosshair-time]]:[font-weight:650] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[transform" +
":translateX(-50%)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-block-start:calc(var(-" +
"-line-cursor-y,_50%)_+_1rem)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-inline-end:" +
"0] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[padding:0.25rem_0.5rem] [&_[data-part=value-" +
"axis]>li[data-part=crosshair-value]]:[background:var(--line-axis)] [&_[data-part=value-axis]>li[data-part" +
"=crosshair-value]]:[color:Canvas] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[font-weight:6" +
"50] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[transform:translateY(-50%)] [&>table]:absol" +
"ute [&>table]:[inline-size:1px] [&>table]:[block-size:1px] [&>table]:overflow-hidden [&>table]:[clip-path" +
":inset(50%)] [&>table]:whitespace-nowrap motion-safe:[&_[data-part=point]::after]:[transition:scale_180ms" +
"_ease] motion-safe:[&[data-interactive]_[data-part=point][data-point-selected]::after]:[scale:1.15]"
}
data={data}
aria-label="Weekly revenue"
/>
<LineChartClient
className={
"[--line-grid:color-mix(in_srgb,_currentcolor_10%,_transparent)] [--line-up:oklch(67%_0.14_166deg)] [--lin" +
"e-down:oklch(64%_0.21_24deg)] [--line-flat:light-dark(oklch(43%_0.05_165deg),_oklch(72%_0.04_165deg))] [-" +
"-line-axis:light-dark(_color-mix(in_oklch,_var(--muted-foreground)_70%,_var(--foreground)),_var(--muted-f" +
"oreground)_)] [--line-width:0.12rem] relative block [inline-size:100%] [min-block-size:21rem] [padding:1r" +
"em_0.75rem_0.5rem] overflow-clip [overscroll-behavior:none] isolate bg-transparent [color:light-dark(oklc" +
"h(28%_0.04_165deg),_oklch(82%_0.04_165deg))] data-[interactive]:[touch-action:none] [&[data-interactive]_" +
"[data-part=scroll-viewport]]:[overscroll-behavior-inline:none] [&>[data-part=plot]]:relative [&>[data-par" +
"t=plot]]:grid [&>[data-part=plot]]:[grid-template-columns:minmax(0,_1fr)_4.5rem] [&>[data-part=plot]]:[gr" +
"id-template-rows:minmax(18rem,_1fr)_calc(1.5rem_+_var(--line-scrollbar-size,_0px))] [&>[data-part=plot]]:" +
"[gap:0_0.75rem] [&>[data-part=plot]]:[min-inline-size:0] [&>[data-part=plot]]:[min-block-size:18rem] [&>[" +
"data-part=plot]]:[overscroll-behavior:none] [&_[data-part=scroll-viewport]]:[grid-column:1] [&_[data-part" +
"=scroll-viewport]]:[grid-row:1_/_span_2] [&_[data-part=scroll-viewport]]:[min-inline-size:0] [&_[data-par" +
"t=scroll-viewport]]:[min-block-size:18rem] [&_[data-part=scroll-viewport]]:[overflow:auto_hidden] [&_[dat" +
"a-part=scroll-viewport]]:[container-type:inline-size] [&_[data-part=scroll-viewport]]:[direction:rtl] [&_" +
"[data-part=canvas]]:grid [&_[data-part=canvas]]:[grid-template-rows:minmax(18rem,_1fr)_1.5rem] [&_[data-p" +
"art=canvas]]:[inline-size:calc(100%_*_var(--line-scale))] [&_[data-part=canvas]]:[min-inline-size:100%] [" +
"&_[data-part=canvas]]:[min-block-size:100%] [&_[data-part=canvas]]:[direction:ltr] [&_[data-part=viewport" +
"]]:[container-type:inline-size] [&_[data-part=viewport]]:relative [&_[data-part=viewport]]:[grid-column:1" +
"] [&_[data-part=viewport]]:[grid-row:1] [&_[data-part=viewport]]:[min-inline-size:0] [&_[data-part=viewpo" +
"rt]]:[min-block-size:18rem] [&_[data-part=viewport]]:overflow-clip [&_[data-part=viewport]]:[overscroll-b" +
"ehavior:none] [&>figcaption]:absolute [&>figcaption]:z-[1] [&>figcaption]:[inset-block-start:0.75rem] [&>" +
"figcaption]:[inset-inline-start:1rem] [&>figcaption]:[color:var(--line-axis)] [&>figcaption]:[font-size:0" +
".75rem] [&>figcaption]:[font-weight:650] [&>figcaption]:[letter-spacing:0.04em] [&>figcaption]:[text-tran" +
"sform:uppercase] [&_[data-part=readout]]:absolute [&_[data-part=readout]]:z-[1] [&_[data-part=readout]]:[" +
"inset-block-start:0.75rem] [&_[data-part=readout]]:[inset-inline-end:1rem] [&_[data-part=readout]]:flex [" +
"&_[data-part=readout]]:[gap:0.625rem] [&_[data-part=readout]]:items-baseline [&_[data-part=readout]]:[col" +
"or:var(--line-axis)] [&_[data-part=readout]]:[font-size:0.7rem] [&_[data-part=readout]]:[font-variant-num" +
"eric:tabular-nums] [&_[data-part=readout]]:leading-none [&_[data-part=readout]]:whitespace-nowrap [&_[dat" +
"a-part=readout-time]]:[font-weight:650] [&_[data-part=points]]:[container-type:size] [&_[data-part=points" +
"]]:absolute [&_[data-part=points]]:[inset:1rem_0] [&_[data-part=points]]:block [&_[data-part=points]]:m-0" +
" [&_[data-part=points]]:p-0 [&_[data-part=points]]:list-none [&_[data-part=points]]:[background-image:lin" +
"ear-gradient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid" +
")_1px,_transparent_1px)] [&_[data-part=points]]:[background-size:var(--line-segment-slot)_100%,_100%_20%]" +
" [&_[data-part=viewport]>[data-uiify-virtual-scroll]]:absolute [&_[data-part=viewport]>[data-uiify-virtua" +
"l-scroll]]:inset-0 [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-image:linear-gr" +
"adient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid)_1px," +
"_transparent_1px)] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-position:0_1rem" +
"] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-size:10%_100%,_100%_calc((100%_-" +
"_2rem)_/_5)] [&_[data-part=point]]:absolute [&_[data-part=point]]:[min-inline-size:0] [&_[data-part=point" +
"]]:[color:var(--line-flat)] [&_[data-part=point]]:list-none [&_[data-part=points]>[data-part=point]]:[ins" +
"et-block:0] [&_[data-part=points]>[data-part=point]]:[inset-inline-start:var(--line-prev-x,_var(--line-x)" +
")] [&_[data-part=points]>[data-part=point]]:[inline-size:var(--line-slot)] [&_[data-part=points]>[data-pa" +
"rt=point]]:[min-block-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[--line-point-block-si" +
"ze:calc(var(--line-plot-height,_18rem)_-_2rem)] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-" +
"block:1rem_auto] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-inline-start:-50%] [&_[data-uii" +
"fy-virtual-scroll]_[data-part=point]]:[inline-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]" +
"]:[block-size:var(--line-point-block-size)] [&_[data-part=point]::before]:[--line-dx:calc(var(--line-run," +
"_0)_*_1cqw)] [&_[data-part=point]::before]:[--line-dy:calc(var(--line-rise,_0)_/_100_*_var(--line-point-b" +
"lock-size,_100cqh))] [&_[data-part=point]::before]:absolute [&_[data-part=point]::before]:z-[1] [&_[data-" +
"part=point]::before]:[inset-block-start:calc(var(--line-prev-y)_-_var(--line-width))] [&_[data-part=point" +
"]::before]:[inset-inline-start:0] [&_[data-part=point]::before]:block [&_[data-part=point]::before]:[inli" +
"ne-size:hypot(var(--line-dx),_var(--line-dy))] [&_[data-part=point]::before]:[block-size:calc(var(--line-" +
"width)_*_2)] [&_[data-part=point]::before]:[border-radius:var(--line-width)] [&_[data-part=point]::before" +
"]:[background:currentcolor] [&_[data-part=point]::before]:content-[''] [&_[data-part=point]::before]:[tra" +
"nsform-origin:0_50%] [&_[data-part=point]::before]:[rotate:atan2(var(--line-dy),_var(--line-dx))] [&_[dat" +
"a-part=point][data-first]::before]:hidden [&_[data-part=point]::after]:absolute [&_[data-part=point]::aft" +
"er]:z-[2] [&_[data-part=point]::after]:[inset-block-start:var(--line-y)] [&_[data-part=point]::after]:[in" +
"set-inline-start:100%] [&_[data-part=point]::after]:block [&_[data-part=point]::after]:[inline-size:0.55r" +
"em] [&_[data-part=point]::after]:[block-size:0.55rem] [&_[data-part=point]::after]:border-0 [&_[data-part" +
"=point]::after]:border-current [&_[data-part=point]::after]:border-none [&_[data-part=point]::after]:roun" +
"ded-[50%] [&_[data-part=point]::after]:[background:currentcolor] [&_[data-part=point]::after]:content-[''" +
"] [&_[data-part=point]::after]:[transform:translate(-50%,_-50%)] [&_[data-part=points]>[data-part=point][" +
"data-first]::after]:[inset-inline-start:0] [&_[data-part=point][data-trend=up]]:[color:var(--line-up)] [&" +
"_[data-part=point][data-trend=down]]:[color:var(--line-down)] [&_[data-part=point-hit]]:absolute [&_[data" +
"-part=point-hit]]:z-[3] [&_[data-part=point-hit]]:inset-0 [&_[data-part=point-hit]]:[inline-size:100%] [&" +
"_[data-part=point-hit]]:[block-size:100%] [&_[data-part=point-hit]]:m-0 [&_[data-part=point-hit]]:p-0 [&_" +
"[data-part=point-hit]]:border-0 [&_[data-part=point-hit]]:border-current [&_[data-part=point-hit]]:border" +
"-none [&_[data-part=point-hit]]:appearance-none [&_[data-part=point-hit]]:bg-transparent [&_[data-part=po" +
"int-hit]]:text-transparent [&_[data-part=point-hit]]:[cursor:crosshair] [&_[data-part=point-hit]]:[font-s" +
"tyle:inherit] [&_[data-part=point-hit]]:[font-variant:inherit] [&_[data-part=point-hit]]:[font-weight:inh" +
"erit] [&_[data-part=point-hit]]:[font-stretch:inherit] [&_[data-part=point-hit]]:text-[length:inherit] [&" +
"_[data-part=point-hit]]:leading-[inherit] [&_[data-part=point-hit]]:font-[family-name:inherit] [&[data-in" +
"teractive]_[data-part=point][data-point-selected]::after]:[box-shadow:0_0_0_0.2rem_color-mix(in_srgb,_cur" +
"rentcolor_24%,_transparent)] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline:2px_solid" +
"_currentcolor] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline-offset:-2px] [&_[data-p" +
"art=crosshair]]:absolute [&_[data-part=crosshair]]:z-[4] [&_[data-part=crosshair]]:inset-0 [&_[data-part=" +
"crosshair]]:[inline-size:var(--line-content-size,_100%)] [&_[data-part=crosshair]]:[translate:calc(-1_*_v" +
"ar(--line-scroll-x,_0px))_0] [&_[data-part=crosshair]]:[block-size:100%] [&_[data-part=crosshair]]:[color" +
":light-dark(oklch(52%_0.01_0deg),_oklch(72%_0.01_0deg))] [&_[data-part=crosshair]]:pointer-events-none [&" +
"_[data-part=crosshair]::before]:absolute [&_[data-part=crosshair]::before]:block [&_[data-part=crosshair]" +
"::before]:[background:currentcolor] [&_[data-part=crosshair]::before]:content-[''] [&_[data-part=crosshai" +
"r]::after]:absolute [&_[data-part=crosshair]::after]:block [&_[data-part=crosshair]::after]:[background:c" +
"urrentcolor] [&_[data-part=crosshair]::after]:content-[''] [&_[data-part=crosshair]::before]:[inset-block" +
":0] [&_[data-part=crosshair]::before]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshai" +
"r]::before]:[inline-size:1px] [&_[data-part=crosshair]::before]:[background-image:repeating-linear-gradie" +
"nt(_to_bottom,_currentcolor_0_0.4rem,_transparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::before]:bg-t" +
"ransparent [&_[data-part=crosshair]::after]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] [&" +
"_[data-part=crosshair]::after]:[inset-inline:0] [&_[data-part=crosshair]::after]:[block-size:1px] [&_[dat" +
"a-part=crosshair]::after]:[background-image:repeating-linear-gradient(_to_right,_currentcolor_0_0.4rem,_t" +
"ransparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::after]:bg-transparent [&_[data-part=crosshair-marke" +
"r]]:absolute [&_[data-part=crosshair-marker]]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] " +
"[&_[data-part=crosshair-marker]]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshair-mar" +
"ker]]:[font-size:1rem] [&_[data-part=crosshair-marker]]:leading-none [&_[data-part=crosshair-marker]]:[tr" +
"ansform:translate(-50%,_-50%)] [&_[data-part=value-axis]]:m-0 [&_[data-part=value-axis]]:p-0 [&_[data-par" +
"t=value-axis]]:list-none [&_[data-part=time-axis]]:m-0 [&_[data-part=time-axis]]:p-0 [&_[data-part=time-a" +
"xis]]:list-none [&_[data-part=value-axis]]:relative [&_[data-part=value-axis]]:[grid-column:2] [&_[data-p" +
"art=value-axis]]:[grid-row:1] [&_[data-part=value-axis]]:[min-inline-size:0] [&_[data-part=value-axis]>li" +
"]:absolute [&_[data-part=value-axis]>li]:[inset-inline:0] [&_[data-part=value-axis]>li]:[inset-block-star" +
"t:var(--line-axis-y)] [&_[data-part=value-axis]>li]:overflow-hidden [&_[data-part=value-axis]>li]:[color:" +
"var(--line-axis)] [&_[data-part=value-axis]>li]:[font-size:0.65rem] [&_[data-part=value-axis]>li]:[font-v" +
"ariant-numeric:tabular-nums] [&_[data-part=value-axis]>li]:leading-none [&_[data-part=value-axis]>li]:tex" +
"t-end [&_[data-part=value-axis]>li]:[text-overflow:ellipsis] [&_[data-part=value-axis]>li]:whitespace-now" +
"rap [&_[data-part=value-axis]>li]:[transform:translateY(-50%)] [&_[data-part=value-axis]>li:first-child]:" +
"[transform:none] [&_[data-part=value-axis]>li:last-child]:[transform:translateY(-100%)] [&_[data-part=tim" +
"e-viewport]]:relative [&_[data-part=time-viewport]]:[grid-column:1] [&_[data-part=time-viewport]]:[grid-r" +
"ow:2] [&_[data-part=time-viewport]]:[min-inline-size:0] [&_[data-part=time-viewport]]:overflow-clip [&_[d" +
"ata-part=time-viewport]]:[overscroll-behavior:none] [&_[data-part=time-axis]]:relative [&_[data-part=time" +
"-axis]]:[inset-block:0] [&_[data-part=time-axis]]:[inline-size:var(--line-content-size,_100%)] [&_[data-p" +
"art=time-axis]]:[translate:calc(-1_*_var(--line-scroll-x,_0px))_0] [&_[data-part=time-axis]]:[min-inline-" +
"size:0] [&_[data-part=time-axis]>li]:absolute [&_[data-part=time-axis]>li]:[inset-block-start:0.375rem] [" +
"&_[data-part=time-axis]>li]:[inset-inline-start:var(--line-axis-x)] [&_[data-part=time-axis]>li]:[color:v" +
"ar(--line-axis)] [&_[data-part=time-axis]>li]:[font-size:0.7rem] [&_[data-part=time-axis]>li]:whitespace-" +
"nowrap [&_[data-part=time-axis]>li]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li:first-child]" +
":[transform:none] [&_[data-part=time-axis]>li:last-child]:[transform:translateX(-100%)] [&_[data-part=tim" +
"e-axis]>li:only-child]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li[data-part=crosshair-time]" +
"]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[pa" +
"dding:0.25rem_0.5rem] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[background:var(--line-axis)" +
"] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[color:Canvas] [&_[data-part=time-axis]>li[data-" +
"part=crosshair-time]]:[font-weight:650] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[transform" +
":translateX(-50%)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-block-start:calc(var(-" +
"-line-cursor-y,_50%)_+_1rem)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-inline-end:" +
"0] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[padding:0.25rem_0.5rem] [&_[data-part=value-" +
"axis]>li[data-part=crosshair-value]]:[background:var(--line-axis)] [&_[data-part=value-axis]>li[data-part" +
"=crosshair-value]]:[color:Canvas] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[font-weight:6" +
"50] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[transform:translateY(-50%)] [&>table]:absol" +
"ute [&>table]:[inline-size:1px] [&>table]:[block-size:1px] [&>table]:overflow-hidden [&>table]:[clip-path" +
":inset(50%)] [&>table]:whitespace-nowrap motion-safe:[&_[data-part=point]::after]:[transition:scale_180ms" +
"_ease] motion-safe:[&[data-interactive]_[data-part=point][data-point-selected]::after]:[scale:1.15]"
}
data={data}
aria-label="Interactive weekly revenue"
/>
<LiveChart />
</>
);
}
function LiveChart() {
const [points, setPoints] = useState(data);
const [running, setRunning] = useState(false);
useEffect(() => {
if (!running) return;
const timer = setInterval(() => {
setPoints((current) => {
const last = current.at(-1);
if (!last) return current;
const value = Math.round(last.value * (1 + (Math.random() - 0.5) * 0.02) * 10) / 10;
return [...current, { time: String(current.length), value }];
});
}, 1000);
return () => clearInterval(timer);
}, [running]);
return (
<>
<button type="button" onClick={() => setRunning((value) => !value)}>
{running ? "Stop" : "Start"}
</button>
{/* All points, virtualized; 20 fit the viewport and new ones stay in view at the end. */}
<LineChartClient
className={
"[--line-grid:color-mix(in_srgb,_currentcolor_10%,_transparent)] [--line-up:oklch(67%_0.14_166deg)] [--lin" +
"e-down:oklch(64%_0.21_24deg)] [--line-flat:light-dark(oklch(43%_0.05_165deg),_oklch(72%_0.04_165deg))] [-" +
"-line-axis:light-dark(_color-mix(in_oklch,_var(--muted-foreground)_70%,_var(--foreground)),_var(--muted-f" +
"oreground)_)] [--line-width:0.12rem] relative block [inline-size:100%] [min-block-size:21rem] [padding:1r" +
"em_0.75rem_0.5rem] overflow-clip [overscroll-behavior:none] isolate bg-transparent [color:light-dark(oklc" +
"h(28%_0.04_165deg),_oklch(82%_0.04_165deg))] data-[interactive]:[touch-action:none] [&[data-interactive]_" +
"[data-part=scroll-viewport]]:[overscroll-behavior-inline:none] [&>[data-part=plot]]:relative [&>[data-par" +
"t=plot]]:grid [&>[data-part=plot]]:[grid-template-columns:minmax(0,_1fr)_4.5rem] [&>[data-part=plot]]:[gr" +
"id-template-rows:minmax(18rem,_1fr)_calc(1.5rem_+_var(--line-scrollbar-size,_0px))] [&>[data-part=plot]]:" +
"[gap:0_0.75rem] [&>[data-part=plot]]:[min-inline-size:0] [&>[data-part=plot]]:[min-block-size:18rem] [&>[" +
"data-part=plot]]:[overscroll-behavior:none] [&_[data-part=scroll-viewport]]:[grid-column:1] [&_[data-part" +
"=scroll-viewport]]:[grid-row:1_/_span_2] [&_[data-part=scroll-viewport]]:[min-inline-size:0] [&_[data-par" +
"t=scroll-viewport]]:[min-block-size:18rem] [&_[data-part=scroll-viewport]]:[overflow:auto_hidden] [&_[dat" +
"a-part=scroll-viewport]]:[container-type:inline-size] [&_[data-part=scroll-viewport]]:[direction:rtl] [&_" +
"[data-part=canvas]]:grid [&_[data-part=canvas]]:[grid-template-rows:minmax(18rem,_1fr)_1.5rem] [&_[data-p" +
"art=canvas]]:[inline-size:calc(100%_*_var(--line-scale))] [&_[data-part=canvas]]:[min-inline-size:100%] [" +
"&_[data-part=canvas]]:[min-block-size:100%] [&_[data-part=canvas]]:[direction:ltr] [&_[data-part=viewport" +
"]]:[container-type:inline-size] [&_[data-part=viewport]]:relative [&_[data-part=viewport]]:[grid-column:1" +
"] [&_[data-part=viewport]]:[grid-row:1] [&_[data-part=viewport]]:[min-inline-size:0] [&_[data-part=viewpo" +
"rt]]:[min-block-size:18rem] [&_[data-part=viewport]]:overflow-clip [&_[data-part=viewport]]:[overscroll-b" +
"ehavior:none] [&>figcaption]:absolute [&>figcaption]:z-[1] [&>figcaption]:[inset-block-start:0.75rem] [&>" +
"figcaption]:[inset-inline-start:1rem] [&>figcaption]:[color:var(--line-axis)] [&>figcaption]:[font-size:0" +
".75rem] [&>figcaption]:[font-weight:650] [&>figcaption]:[letter-spacing:0.04em] [&>figcaption]:[text-tran" +
"sform:uppercase] [&_[data-part=readout]]:absolute [&_[data-part=readout]]:z-[1] [&_[data-part=readout]]:[" +
"inset-block-start:0.75rem] [&_[data-part=readout]]:[inset-inline-end:1rem] [&_[data-part=readout]]:flex [" +
"&_[data-part=readout]]:[gap:0.625rem] [&_[data-part=readout]]:items-baseline [&_[data-part=readout]]:[col" +
"or:var(--line-axis)] [&_[data-part=readout]]:[font-size:0.7rem] [&_[data-part=readout]]:[font-variant-num" +
"eric:tabular-nums] [&_[data-part=readout]]:leading-none [&_[data-part=readout]]:whitespace-nowrap [&_[dat" +
"a-part=readout-time]]:[font-weight:650] [&_[data-part=points]]:[container-type:size] [&_[data-part=points" +
"]]:absolute [&_[data-part=points]]:[inset:1rem_0] [&_[data-part=points]]:block [&_[data-part=points]]:m-0" +
" [&_[data-part=points]]:p-0 [&_[data-part=points]]:list-none [&_[data-part=points]]:[background-image:lin" +
"ear-gradient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid" +
")_1px,_transparent_1px)] [&_[data-part=points]]:[background-size:var(--line-segment-slot)_100%,_100%_20%]" +
" [&_[data-part=viewport]>[data-uiify-virtual-scroll]]:absolute [&_[data-part=viewport]>[data-uiify-virtua" +
"l-scroll]]:inset-0 [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-image:linear-gr" +
"adient(to_right,_var(--line-grid)_1px,_transparent_1px),_linear-gradient(to_bottom,_var(--line-grid)_1px," +
"_transparent_1px)] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-position:0_1rem" +
"] [&_[data-part=viewport]:has(>[data-uiify-virtual-scroll])]:[background-size:10%_100%,_100%_calc((100%_-" +
"_2rem)_/_5)] [&_[data-part=point]]:absolute [&_[data-part=point]]:[min-inline-size:0] [&_[data-part=point" +
"]]:[color:var(--line-flat)] [&_[data-part=point]]:list-none [&_[data-part=points]>[data-part=point]]:[ins" +
"et-block:0] [&_[data-part=points]>[data-part=point]]:[inset-inline-start:var(--line-prev-x,_var(--line-x)" +
")] [&_[data-part=points]>[data-part=point]]:[inline-size:var(--line-slot)] [&_[data-part=points]>[data-pa" +
"rt=point]]:[min-block-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[--line-point-block-si" +
"ze:calc(var(--line-plot-height,_18rem)_-_2rem)] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-" +
"block:1rem_auto] [&_[data-uiify-virtual-scroll]_[data-part=point]]:[inset-inline-start:-50%] [&_[data-uii" +
"fy-virtual-scroll]_[data-part=point]]:[inline-size:100%] [&_[data-uiify-virtual-scroll]_[data-part=point]" +
"]:[block-size:var(--line-point-block-size)] [&_[data-part=point]::before]:[--line-dx:calc(var(--line-run," +
"_0)_*_1cqw)] [&_[data-part=point]::before]:[--line-dy:calc(var(--line-rise,_0)_/_100_*_var(--line-point-b" +
"lock-size,_100cqh))] [&_[data-part=point]::before]:absolute [&_[data-part=point]::before]:z-[1] [&_[data-" +
"part=point]::before]:[inset-block-start:calc(var(--line-prev-y)_-_var(--line-width))] [&_[data-part=point" +
"]::before]:[inset-inline-start:0] [&_[data-part=point]::before]:block [&_[data-part=point]::before]:[inli" +
"ne-size:hypot(var(--line-dx),_var(--line-dy))] [&_[data-part=point]::before]:[block-size:calc(var(--line-" +
"width)_*_2)] [&_[data-part=point]::before]:[border-radius:var(--line-width)] [&_[data-part=point]::before" +
"]:[background:currentcolor] [&_[data-part=point]::before]:content-[''] [&_[data-part=point]::before]:[tra" +
"nsform-origin:0_50%] [&_[data-part=point]::before]:[rotate:atan2(var(--line-dy),_var(--line-dx))] [&_[dat" +
"a-part=point][data-first]::before]:hidden [&_[data-part=point]::after]:absolute [&_[data-part=point]::aft" +
"er]:z-[2] [&_[data-part=point]::after]:[inset-block-start:var(--line-y)] [&_[data-part=point]::after]:[in" +
"set-inline-start:100%] [&_[data-part=point]::after]:block [&_[data-part=point]::after]:[inline-size:0.55r" +
"em] [&_[data-part=point]::after]:[block-size:0.55rem] [&_[data-part=point]::after]:border-0 [&_[data-part" +
"=point]::after]:border-current [&_[data-part=point]::after]:border-none [&_[data-part=point]::after]:roun" +
"ded-[50%] [&_[data-part=point]::after]:[background:currentcolor] [&_[data-part=point]::after]:content-[''" +
"] [&_[data-part=point]::after]:[transform:translate(-50%,_-50%)] [&_[data-part=points]>[data-part=point][" +
"data-first]::after]:[inset-inline-start:0] [&_[data-part=point][data-trend=up]]:[color:var(--line-up)] [&" +
"_[data-part=point][data-trend=down]]:[color:var(--line-down)] [&_[data-part=point-hit]]:absolute [&_[data" +
"-part=point-hit]]:z-[3] [&_[data-part=point-hit]]:inset-0 [&_[data-part=point-hit]]:[inline-size:100%] [&" +
"_[data-part=point-hit]]:[block-size:100%] [&_[data-part=point-hit]]:m-0 [&_[data-part=point-hit]]:p-0 [&_" +
"[data-part=point-hit]]:border-0 [&_[data-part=point-hit]]:border-current [&_[data-part=point-hit]]:border" +
"-none [&_[data-part=point-hit]]:appearance-none [&_[data-part=point-hit]]:bg-transparent [&_[data-part=po" +
"int-hit]]:text-transparent [&_[data-part=point-hit]]:[cursor:crosshair] [&_[data-part=point-hit]]:[font-s" +
"tyle:inherit] [&_[data-part=point-hit]]:[font-variant:inherit] [&_[data-part=point-hit]]:[font-weight:inh" +
"erit] [&_[data-part=point-hit]]:[font-stretch:inherit] [&_[data-part=point-hit]]:text-[length:inherit] [&" +
"_[data-part=point-hit]]:leading-[inherit] [&_[data-part=point-hit]]:font-[family-name:inherit] [&[data-in" +
"teractive]_[data-part=point][data-point-selected]::after]:[box-shadow:0_0_0_0.2rem_color-mix(in_srgb,_cur" +
"rentcolor_24%,_transparent)] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline:2px_solid" +
"_currentcolor] [&[data-interactive]_[data-part=point-hit]:focus-visible]:[outline-offset:-2px] [&_[data-p" +
"art=crosshair]]:absolute [&_[data-part=crosshair]]:z-[4] [&_[data-part=crosshair]]:inset-0 [&_[data-part=" +
"crosshair]]:[inline-size:var(--line-content-size,_100%)] [&_[data-part=crosshair]]:[translate:calc(-1_*_v" +
"ar(--line-scroll-x,_0px))_0] [&_[data-part=crosshair]]:[block-size:100%] [&_[data-part=crosshair]]:[color" +
":light-dark(oklch(52%_0.01_0deg),_oklch(72%_0.01_0deg))] [&_[data-part=crosshair]]:pointer-events-none [&" +
"_[data-part=crosshair]::before]:absolute [&_[data-part=crosshair]::before]:block [&_[data-part=crosshair]" +
"::before]:[background:currentcolor] [&_[data-part=crosshair]::before]:content-[''] [&_[data-part=crosshai" +
"r]::after]:absolute [&_[data-part=crosshair]::after]:block [&_[data-part=crosshair]::after]:[background:c" +
"urrentcolor] [&_[data-part=crosshair]::after]:content-[''] [&_[data-part=crosshair]::before]:[inset-block" +
":0] [&_[data-part=crosshair]::before]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshai" +
"r]::before]:[inline-size:1px] [&_[data-part=crosshair]::before]:[background-image:repeating-linear-gradie" +
"nt(_to_bottom,_currentcolor_0_0.4rem,_transparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::before]:bg-t" +
"ransparent [&_[data-part=crosshair]::after]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] [&" +
"_[data-part=crosshair]::after]:[inset-inline:0] [&_[data-part=crosshair]::after]:[block-size:1px] [&_[dat" +
"a-part=crosshair]::after]:[background-image:repeating-linear-gradient(_to_right,_currentcolor_0_0.4rem,_t" +
"ransparent_0.4rem_0.8rem_)] [&_[data-part=crosshair]::after]:bg-transparent [&_[data-part=crosshair-marke" +
"r]]:absolute [&_[data-part=crosshair-marker]]:[inset-block-start:calc(var(--line-cursor-y,_50%)_+_1rem)] " +
"[&_[data-part=crosshair-marker]]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=crosshair-mar" +
"ker]]:[font-size:1rem] [&_[data-part=crosshair-marker]]:leading-none [&_[data-part=crosshair-marker]]:[tr" +
"ansform:translate(-50%,_-50%)] [&_[data-part=value-axis]]:m-0 [&_[data-part=value-axis]]:p-0 [&_[data-par" +
"t=value-axis]]:list-none [&_[data-part=time-axis]]:m-0 [&_[data-part=time-axis]]:p-0 [&_[data-part=time-a" +
"xis]]:list-none [&_[data-part=value-axis]]:relative [&_[data-part=value-axis]]:[grid-column:2] [&_[data-p" +
"art=value-axis]]:[grid-row:1] [&_[data-part=value-axis]]:[min-inline-size:0] [&_[data-part=value-axis]>li" +
"]:absolute [&_[data-part=value-axis]>li]:[inset-inline:0] [&_[data-part=value-axis]>li]:[inset-block-star" +
"t:var(--line-axis-y)] [&_[data-part=value-axis]>li]:overflow-hidden [&_[data-part=value-axis]>li]:[color:" +
"var(--line-axis)] [&_[data-part=value-axis]>li]:[font-size:0.65rem] [&_[data-part=value-axis]>li]:[font-v" +
"ariant-numeric:tabular-nums] [&_[data-part=value-axis]>li]:leading-none [&_[data-part=value-axis]>li]:tex" +
"t-end [&_[data-part=value-axis]>li]:[text-overflow:ellipsis] [&_[data-part=value-axis]>li]:whitespace-now" +
"rap [&_[data-part=value-axis]>li]:[transform:translateY(-50%)] [&_[data-part=value-axis]>li:first-child]:" +
"[transform:none] [&_[data-part=value-axis]>li:last-child]:[transform:translateY(-100%)] [&_[data-part=tim" +
"e-viewport]]:relative [&_[data-part=time-viewport]]:[grid-column:1] [&_[data-part=time-viewport]]:[grid-r" +
"ow:2] [&_[data-part=time-viewport]]:[min-inline-size:0] [&_[data-part=time-viewport]]:overflow-clip [&_[d" +
"ata-part=time-viewport]]:[overscroll-behavior:none] [&_[data-part=time-axis]]:relative [&_[data-part=time" +
"-axis]]:[inset-block:0] [&_[data-part=time-axis]]:[inline-size:var(--line-content-size,_100%)] [&_[data-p" +
"art=time-axis]]:[translate:calc(-1_*_var(--line-scroll-x,_0px))_0] [&_[data-part=time-axis]]:[min-inline-" +
"size:0] [&_[data-part=time-axis]>li]:absolute [&_[data-part=time-axis]>li]:[inset-block-start:0.375rem] [" +
"&_[data-part=time-axis]>li]:[inset-inline-start:var(--line-axis-x)] [&_[data-part=time-axis]>li]:[color:v" +
"ar(--line-axis)] [&_[data-part=time-axis]>li]:[font-size:0.7rem] [&_[data-part=time-axis]>li]:whitespace-" +
"nowrap [&_[data-part=time-axis]>li]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li:first-child]" +
":[transform:none] [&_[data-part=time-axis]>li:last-child]:[transform:translateX(-100%)] [&_[data-part=tim" +
"e-axis]>li:only-child]:[transform:translateX(-50%)] [&_[data-part=time-axis]>li[data-part=crosshair-time]" +
"]:[inset-inline-start:var(--line-crosshair-x)] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[pa" +
"dding:0.25rem_0.5rem] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[background:var(--line-axis)" +
"] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[color:Canvas] [&_[data-part=time-axis]>li[data-" +
"part=crosshair-time]]:[font-weight:650] [&_[data-part=time-axis]>li[data-part=crosshair-time]]:[transform" +
":translateX(-50%)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-block-start:calc(var(-" +
"-line-cursor-y,_50%)_+_1rem)] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[inset-inline-end:" +
"0] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[padding:0.25rem_0.5rem] [&_[data-part=value-" +
"axis]>li[data-part=crosshair-value]]:[background:var(--line-axis)] [&_[data-part=value-axis]>li[data-part" +
"=crosshair-value]]:[color:Canvas] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[font-weight:6" +
"50] [&_[data-part=value-axis]>li[data-part=crosshair-value]]:[transform:translateY(-50%)] [&>table]:absol" +
"ute [&>table]:[inline-size:1px] [&>table]:[block-size:1px] [&>table]:overflow-hidden [&>table]:[clip-path" +
":inset(50%)] [&>table]:whitespace-nowrap motion-safe:[&_[data-part=point]::after]:[transition:scale_180ms" +
"_ease] motion-safe:[&[data-interactive]_[data-part=point][data-point-selected]::after]:[scale:1.15]"
}
data={points}
visibleCount={20}
aria-label="Live revenue"
/>
</>
);
}