@lolmath/ui 9.5.0 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1,185 +1,3 @@
1
- @layer lol {
2
- /* ----- CSS reset ----- */
3
- *,
4
- *::before,
5
- *::after {
6
- box-sizing: border-box;
7
- }
8
-
9
- /* ----- Default CSS variables ----- */
10
-
11
- :root {
12
- color-scheme: dark;
13
-
14
- --lol-z-index-app: 100;
15
- --lol-z-index-modal: 200;
16
- --lol-z-index-popover: 300;
17
- --lol-z-index-overlay: 400;
18
- --lol-z-index-max: 9999;
19
-
20
- --lol-scale: 1;
21
-
22
- --lol-color-blue-100: #cdfafa;
23
- --lol-color-blue-200: #0ac8b9;
24
- --lol-color-blue-300: #0397ab;
25
- --lol-color-blue-400: #005a82;
26
- --lol-color-blue-500: #0a323c;
27
- --lol-color-blue-600: #091428;
28
- --lol-color-blue-700: #0a1428;
29
-
30
- --lol-color-grey-100: #a09b8c;
31
- --lol-color-grey-150: #5b5a56;
32
- --lol-color-grey-200: #3c3c41;
33
- --lol-color-grey-300: #1e2328;
34
- --lol-color-grey-cool: #1e282d;
35
-
36
- --lol-color-hextech-black: #010a13;
37
-
38
- --lol-color-gold-100: #f0e6d2;
39
- --lol-color-gold-200: #c8aa6e;
40
- --lol-color-gold-300: #cdbe91;
41
- --lol-color-gold-400: #c89b3c;
42
- --lol-color-gold-500: #785a28;
43
- --lol-color-gold-600: #463714;
44
- --lol-color-gold-700: #32281e;
45
-
46
- --lol-font-size-h1: 3.3333rem;
47
- --lol-line-height-h1: 3.5rem;
48
- --lol-letter-spacing-h1: 0.05em;
49
- --lol-font-weight-h1: 700;
50
-
51
- --lol-font-size-h2: 2.3333rem;
52
- --lol-line-height-h2: 2.6667rem;
53
- --lol-letter-spacing-h2: 0.05em;
54
- --lol-font-weight-h2: 700;
55
-
56
- --lol-font-size-h3: 1.9167rem;
57
- --lol-line-height-h3: 2.3333rem;
58
- --lol-letter-spacing-h3: 0.05em;
59
- --lol-font-weight-h3: 700;
60
-
61
- --lol-font-size-h4: 1.5rem;
62
- --lol-line-height-h4: 1.8333rem;
63
- --lol-letter-spacing-h4: 0.05em;
64
- --lol-font-weight-h4: 700;
65
-
66
- --lol-font-size-h5: 1.1667rem;
67
- --lol-line-height-h5: 1.5rem;
68
- --lol-letter-spacing-h5: 0.075em;
69
- --lol-font-weight-h5: 700;
70
-
71
- --lol-font-size-label: 0.9167rem;
72
- --lol-line-height-label: 1.3333rem;
73
- --lol-letter-spacing-label: 0.05em;
74
- --lol-font-weight-label: 700;
75
-
76
- --lol-font-size-stat: 1.1667rem;
77
- --lol-line-height-stat: 1.6667rem;
78
- --lol-letter-spacing-stat: 0.05em;
79
- --lol-font-weight-stat: 700;
80
-
81
- --lol-font-size-large-number: 4.75rem;
82
- --lol-line-height-large-number: 5.1667rem;
83
- --lol-letter-spacing-large-number: 0.025em;
84
- --lol-font-weight-large-number: 500;
85
-
86
- --lol-font-size-xs: 0.75rem;
87
- --lol-line-height-xs: 1rem;
88
- --lol-letter-spacing-xs: 0.025em;
89
- --lol-font-weight-xs: 400;
90
-
91
- --lol-font-size-sm: 0.875rem;
92
- --lol-line-height-sm: 1.1025rem;
93
- --lol-letter-spacing-sm: 0.02em;
94
- --lol-font-weight-sm: 400;
95
-
96
- --lol-font-size-base: 1rem;
97
- --lol-line-height-base: 1.24rem;
98
- --lol-letter-spacing-base: 0.01em;
99
- --lol-font-weight-base: 400;
100
-
101
- --lol-font-size-md: 1.1667rem;
102
- --lol-line-height-md: 1.6667rem;
103
- --lol-letter-spacing-md: 0.025em;
104
- --lol-font-weight-md: 400;
105
-
106
- --lol-font-size-lg: 1.5rem;
107
- --lol-line-height-lg: 1.875rem;
108
- --lol-letter-spacing-lg: 0.025em;
109
- --lol-font-weight-lg: 400;
110
-
111
- --lol-font-family-beaufort: "beaufort";
112
- --lol-font-family-spiegel: "spiegel";
113
-
114
- --lol-gradient-gold: linear-gradient(
115
- to top,
116
- var(--lol-color-gold-500),
117
- var(--lol-color-gold-400),
118
- var(--lol-color-gold-200)
119
- );
120
- --lol-gradient-gold-hover: linear-gradient(
121
- to top,
122
- var(--lol-color-gold-400),
123
- var(--lol-color-gold-200),
124
- var(--lol-color-gold-100)
125
- );
126
- --lol-gradient-gold-press: linear-gradient(
127
- to top,
128
- var(--lol-color-gold-600),
129
- var(--lol-color-gold-600),
130
- var(--lol-color-gold-500)
131
- );
132
-
133
- --lol-gradient-grey-300: linear-gradient(
134
- to top,
135
- var(--lol-color-grey-300),
136
- var(--lol-color-grey-300),
137
- var(--lol-color-grey-300)
138
- );
139
- --lol-gradient-grey-focus: linear-gradient(
140
- to top,
141
- var(--lol-color-grey-200),
142
- var(--lol-color-grey-300),
143
- var(--lol-color-grey-300)
144
- );
145
- --lol-gradient-hextech-black: linear-gradient(
146
- to top,
147
- var(--lol-color-hextech-black),
148
- var(--lol-color-hextech-black)
149
- );
150
- --lol-gradient-disabled: linear-gradient(
151
- to top,
152
- var(--lol-color-grey-150),
153
- var(--lol-color-grey-150),
154
- var(--lol-color-grey-150)
155
- );
156
- --lol-gradient-transparent: linear-gradient(
157
- to top,
158
- transparent,
159
- transparent
160
- );
161
-
162
- --lol-gradient-hextech: linear-gradient(
163
- to top,
164
- var(--lol-color-blue-200),
165
- var(--lol-color-blue-400)
166
- );
167
- --lol-gradient-hextech-hover: linear-gradient(
168
- to top,
169
- var(--lol-color-blue-100),
170
- var(--lol-color-blue-300)
171
- );
172
- --lol-gradient-hextech-press: linear-gradient(
173
- to top,
174
- var(--lol-color-blue-500),
175
- var(--lol-color-blue-400)
176
- );
177
-
178
- --lol-form-height-small: 2rem;
179
- --lol-form-height-medium: 2.25rem;
180
- --lol-form-height-large: 2.5rem;
181
- }
182
- }
183
1
  @layer lol {
184
2
  ._breadcrumbs_1gzfl_2 {
185
3
  display: flex;
@@ -3388,3 +3206,502 @@
3388
3206
  text-align: end;
3389
3207
  }
3390
3208
  }
3209
+ @layer lol {
3210
+ /*
3211
+ * "Metal linework as a framing element to support and draw focus towards
3212
+ * key pieces of information." The frame is a one-pixel hairline and nothing
3213
+ * more: a gradient painted into the border box, the plot painted into the
3214
+ * padding box. Anything heavier would compete with the data.
3215
+ */
3216
+ ._frame_7dkb0_8 {
3217
+ display: flex;
3218
+ flex-direction: column;
3219
+ position: relative;
3220
+ border: 1px solid transparent;
3221
+ background:
3222
+ var(--lol-chart-frame-fill) padding-box,
3223
+ var(--lol-chart-frame-border) border-box;
3224
+ color: var(--lol-chart-foreground);
3225
+ font-family: var(--lol-chart-font-body);
3226
+ /* A <figure>: the UA gives it 1em block and 40px inline margins. */
3227
+ margin: 0;
3228
+ padding: 1rem 1.125rem 1.125rem;
3229
+ gap: 0.75rem;
3230
+ }
3231
+
3232
+ /* Unframed: the same type and colours, no metal. For charts that already
3233
+ * sit inside a panel of their own. */
3234
+ ._bare_7dkb0_26 {
3235
+ border-color: transparent;
3236
+ background: none;
3237
+ padding: 0;
3238
+ }
3239
+
3240
+ /*
3241
+ * The diamond is the language's accent piece — it "guides attention toward
3242
+ * key information". Four of them pin the frame's corners to the grid the
3243
+ * square establishes. They are decoration, so they are hidden from the
3244
+ * accessibility tree by the component.
3245
+ */
3246
+ ._corner_7dkb0_38 {
3247
+ position: absolute;
3248
+ width: 5px;
3249
+ height: 5px;
3250
+ rotate: 45deg;
3251
+ border: 1px solid var(--lol-chart-frame-accent);
3252
+ background: var(--lol-chart-surface);
3253
+ }
3254
+
3255
+ ._bare_7dkb0_26 ._corner_7dkb0_38 {
3256
+ display: none;
3257
+ }
3258
+
3259
+ ._cornerTopLeft_7dkb0_51 {
3260
+ top: -3px;
3261
+ left: -3px;
3262
+ }
3263
+
3264
+ ._cornerTopRight_7dkb0_56 {
3265
+ top: -3px;
3266
+ right: -3px;
3267
+ }
3268
+
3269
+ ._cornerBottomLeft_7dkb0_61 {
3270
+ bottom: -3px;
3271
+ left: -3px;
3272
+ }
3273
+
3274
+ ._cornerBottomRight_7dkb0_66 {
3275
+ bottom: -3px;
3276
+ right: -3px;
3277
+ }
3278
+
3279
+ ._header_7dkb0_71 {
3280
+ display: flex;
3281
+ align-items: flex-start;
3282
+ justify-content: space-between;
3283
+ gap: 1rem;
3284
+ }
3285
+
3286
+ ._headings_7dkb0_78 {
3287
+ display: flex;
3288
+ flex-direction: column;
3289
+ gap: 0.125rem;
3290
+ min-width: 0;
3291
+ }
3292
+
3293
+ /* Beaufort, spaced and uppercased — the client's voice for anything that
3294
+ * names a thing rather than measures it. */
3295
+ ._title_7dkb0_87 {
3296
+ margin: 0;
3297
+ font-family: var(--lol-chart-font-display);
3298
+ font-size: var(--lol-font-size-h5, 1.1667rem);
3299
+ line-height: var(--lol-line-height-h5, 1.5);
3300
+ letter-spacing: var(--lol-letter-spacing-h5, 0.075em);
3301
+ font-weight: var(--lol-font-weight-h5, 700);
3302
+ text-transform: uppercase;
3303
+ color: var(--lol-chart-foreground);
3304
+ }
3305
+
3306
+ ._subtitle_7dkb0_98 {
3307
+ margin: 0;
3308
+ font-size: var(--lol-font-size-sm, 0.875rem);
3309
+ line-height: var(--lol-line-height-sm, 1.1025rem);
3310
+ letter-spacing: var(--lol-letter-spacing-sm, 0.02em);
3311
+ color: var(--lol-chart-muted);
3312
+ }
3313
+
3314
+ ._actions_7dkb0_106 {
3315
+ display: flex;
3316
+ align-items: center;
3317
+ gap: 0.5rem;
3318
+ flex-shrink: 0;
3319
+ }
3320
+
3321
+ /* A rule terminated at both ends by a diamond: the same figure the client
3322
+ * draws under every panel heading. */
3323
+ ._rule_7dkb0_115 {
3324
+ display: flex;
3325
+ align-items: center;
3326
+ gap: 0.375rem;
3327
+ }
3328
+
3329
+ ._ruleLine_7dkb0_121 {
3330
+ height: 1px;
3331
+ flex-grow: 1;
3332
+ border: none;
3333
+ margin: 0;
3334
+ background-image: linear-gradient(
3335
+ to right,
3336
+ transparent,
3337
+ var(--lol-chart-frame-rule) 15%,
3338
+ var(--lol-chart-frame-rule) 85%,
3339
+ transparent
3340
+ );
3341
+ }
3342
+
3343
+ ._ruleDiamond_7dkb0_135 {
3344
+ width: 4px;
3345
+ height: 4px;
3346
+ rotate: 45deg;
3347
+ border: 1px solid var(--lol-chart-frame-rule);
3348
+ flex-shrink: 0;
3349
+ }
3350
+
3351
+ ._body_7dkb0_143 {
3352
+ display: flex;
3353
+ flex-direction: column;
3354
+ min-width: 0;
3355
+ }
3356
+
3357
+ ._footer_7dkb0_149 {
3358
+ display: flex;
3359
+ flex-wrap: wrap;
3360
+ align-items: center;
3361
+ justify-content: space-between;
3362
+ gap: 0.5rem 1rem;
3363
+ }
3364
+ }
3365
+ @layer lol {
3366
+ ._legend_1rk8r_2 {
3367
+ display: flex;
3368
+ flex-wrap: wrap;
3369
+ align-items: center;
3370
+ gap: 0.375rem 1.25rem;
3371
+ /* A <ul>: the UA gives it block margins and a list marker. */
3372
+ margin: 0;
3373
+ padding: 0;
3374
+ list-style: none;
3375
+ }
3376
+
3377
+ ._item_1rk8r_13 {
3378
+ display: inline-flex;
3379
+ align-items: center;
3380
+ gap: 0.5rem;
3381
+ /* Never the series colour. Identity comes from the swatch beside the
3382
+ * label; a light teal or gold set as text would not clear contrast. */
3383
+ color: var(--lol-chart-muted);
3384
+ font-size: var(--lol-font-size-sm, 0.875rem);
3385
+ line-height: var(--lol-line-height-sm, 1.1025rem);
3386
+ letter-spacing: var(--lol-letter-spacing-sm, 0.02em);
3387
+ }
3388
+
3389
+ /* The diamond again, at series scale, lit by the hue it stands for. */
3390
+ ._swatch_1rk8r_26 {
3391
+ width: 0.5rem;
3392
+ height: 0.5rem;
3393
+ flex-shrink: 0;
3394
+ rotate: 45deg;
3395
+ background: var(--lol-chart-legend-color);
3396
+ box-shadow: 0 0 5px var(--lol-chart-legend-color);
3397
+ }
3398
+
3399
+ ._square_1rk8r_35 {
3400
+ rotate: none;
3401
+ }
3402
+
3403
+ ._line_1rk8r_39 {
3404
+ width: 0.875rem;
3405
+ height: 2px;
3406
+ rotate: none;
3407
+ box-shadow: none;
3408
+ }
3409
+ }
3410
+ @layer lol {
3411
+ ._chart_1mnqy_2 {
3412
+ width: 100%;
3413
+ min-width: 0;
3414
+ }
3415
+ }
3416
+ @layer lol {
3417
+ /* ----- CSS reset ----- */
3418
+ *,
3419
+ *::before,
3420
+ *::after {
3421
+ box-sizing: border-box;
3422
+ }
3423
+
3424
+ /* ----- Default CSS variables ----- */
3425
+
3426
+ :root {
3427
+ color-scheme: dark;
3428
+
3429
+ --lol-z-index-app: 100;
3430
+ --lol-z-index-modal: 200;
3431
+ --lol-z-index-popover: 300;
3432
+ --lol-z-index-overlay: 400;
3433
+ --lol-z-index-max: 9999;
3434
+
3435
+ --lol-scale: 1;
3436
+
3437
+ --lol-color-blue-100: #cdfafa;
3438
+ --lol-color-blue-200: #0ac8b9;
3439
+ --lol-color-blue-300: #0397ab;
3440
+ --lol-color-blue-400: #005a82;
3441
+ --lol-color-blue-500: #0a323c;
3442
+ --lol-color-blue-600: #091428;
3443
+ --lol-color-blue-700: #0a1428;
3444
+
3445
+ --lol-color-grey-100: #a09b8c;
3446
+ --lol-color-grey-150: #5b5a56;
3447
+ --lol-color-grey-200: #3c3c41;
3448
+ --lol-color-grey-300: #1e2328;
3449
+ --lol-color-grey-cool: #1e282d;
3450
+
3451
+ --lol-color-hextech-black: #010a13;
3452
+
3453
+ --lol-color-gold-100: #f0e6d2;
3454
+ --lol-color-gold-200: #c8aa6e;
3455
+ --lol-color-gold-300: #cdbe91;
3456
+ --lol-color-gold-400: #c89b3c;
3457
+ --lol-color-gold-500: #785a28;
3458
+ --lol-color-gold-600: #463714;
3459
+ --lol-color-gold-700: #32281e;
3460
+
3461
+ --lol-font-size-h1: 3.3333rem;
3462
+ --lol-line-height-h1: 3.5rem;
3463
+ --lol-letter-spacing-h1: 0.05em;
3464
+ --lol-font-weight-h1: 700;
3465
+
3466
+ --lol-font-size-h2: 2.3333rem;
3467
+ --lol-line-height-h2: 2.6667rem;
3468
+ --lol-letter-spacing-h2: 0.05em;
3469
+ --lol-font-weight-h2: 700;
3470
+
3471
+ --lol-font-size-h3: 1.9167rem;
3472
+ --lol-line-height-h3: 2.3333rem;
3473
+ --lol-letter-spacing-h3: 0.05em;
3474
+ --lol-font-weight-h3: 700;
3475
+
3476
+ --lol-font-size-h4: 1.5rem;
3477
+ --lol-line-height-h4: 1.8333rem;
3478
+ --lol-letter-spacing-h4: 0.05em;
3479
+ --lol-font-weight-h4: 700;
3480
+
3481
+ --lol-font-size-h5: 1.1667rem;
3482
+ --lol-line-height-h5: 1.5rem;
3483
+ --lol-letter-spacing-h5: 0.075em;
3484
+ --lol-font-weight-h5: 700;
3485
+
3486
+ --lol-font-size-label: 0.9167rem;
3487
+ --lol-line-height-label: 1.3333rem;
3488
+ --lol-letter-spacing-label: 0.05em;
3489
+ --lol-font-weight-label: 700;
3490
+
3491
+ --lol-font-size-stat: 1.1667rem;
3492
+ --lol-line-height-stat: 1.6667rem;
3493
+ --lol-letter-spacing-stat: 0.05em;
3494
+ --lol-font-weight-stat: 700;
3495
+
3496
+ --lol-font-size-large-number: 4.75rem;
3497
+ --lol-line-height-large-number: 5.1667rem;
3498
+ --lol-letter-spacing-large-number: 0.025em;
3499
+ --lol-font-weight-large-number: 500;
3500
+
3501
+ --lol-font-size-xs: 0.75rem;
3502
+ --lol-line-height-xs: 1rem;
3503
+ --lol-letter-spacing-xs: 0.025em;
3504
+ --lol-font-weight-xs: 400;
3505
+
3506
+ --lol-font-size-sm: 0.875rem;
3507
+ --lol-line-height-sm: 1.1025rem;
3508
+ --lol-letter-spacing-sm: 0.02em;
3509
+ --lol-font-weight-sm: 400;
3510
+
3511
+ --lol-font-size-base: 1rem;
3512
+ --lol-line-height-base: 1.24rem;
3513
+ --lol-letter-spacing-base: 0.01em;
3514
+ --lol-font-weight-base: 400;
3515
+
3516
+ --lol-font-size-md: 1.1667rem;
3517
+ --lol-line-height-md: 1.6667rem;
3518
+ --lol-letter-spacing-md: 0.025em;
3519
+ --lol-font-weight-md: 400;
3520
+
3521
+ --lol-font-size-lg: 1.5rem;
3522
+ --lol-line-height-lg: 1.875rem;
3523
+ --lol-letter-spacing-lg: 0.025em;
3524
+ --lol-font-weight-lg: 400;
3525
+
3526
+ --lol-font-family-beaufort: "beaufort";
3527
+ --lol-font-family-spiegel: "spiegel";
3528
+
3529
+ --lol-gradient-gold: linear-gradient(
3530
+ to top,
3531
+ var(--lol-color-gold-500),
3532
+ var(--lol-color-gold-400),
3533
+ var(--lol-color-gold-200)
3534
+ );
3535
+ --lol-gradient-gold-hover: linear-gradient(
3536
+ to top,
3537
+ var(--lol-color-gold-400),
3538
+ var(--lol-color-gold-200),
3539
+ var(--lol-color-gold-100)
3540
+ );
3541
+ --lol-gradient-gold-press: linear-gradient(
3542
+ to top,
3543
+ var(--lol-color-gold-600),
3544
+ var(--lol-color-gold-600),
3545
+ var(--lol-color-gold-500)
3546
+ );
3547
+
3548
+ --lol-gradient-grey-300: linear-gradient(
3549
+ to top,
3550
+ var(--lol-color-grey-300),
3551
+ var(--lol-color-grey-300),
3552
+ var(--lol-color-grey-300)
3553
+ );
3554
+ --lol-gradient-grey-focus: linear-gradient(
3555
+ to top,
3556
+ var(--lol-color-grey-200),
3557
+ var(--lol-color-grey-300),
3558
+ var(--lol-color-grey-300)
3559
+ );
3560
+ --lol-gradient-hextech-black: linear-gradient(
3561
+ to top,
3562
+ var(--lol-color-hextech-black),
3563
+ var(--lol-color-hextech-black)
3564
+ );
3565
+ --lol-gradient-disabled: linear-gradient(
3566
+ to top,
3567
+ var(--lol-color-grey-150),
3568
+ var(--lol-color-grey-150),
3569
+ var(--lol-color-grey-150)
3570
+ );
3571
+ --lol-gradient-transparent: linear-gradient(
3572
+ to top,
3573
+ transparent,
3574
+ transparent
3575
+ );
3576
+
3577
+ --lol-gradient-hextech: linear-gradient(
3578
+ to top,
3579
+ var(--lol-color-blue-200),
3580
+ var(--lol-color-blue-400)
3581
+ );
3582
+ --lol-gradient-hextech-hover: linear-gradient(
3583
+ to top,
3584
+ var(--lol-color-blue-100),
3585
+ var(--lol-color-blue-300)
3586
+ );
3587
+ --lol-gradient-hextech-press: linear-gradient(
3588
+ to top,
3589
+ var(--lol-color-blue-500),
3590
+ var(--lol-color-blue-400)
3591
+ );
3592
+
3593
+ --lol-form-height-small: 2rem;
3594
+ --lol-form-height-medium: 2.25rem;
3595
+ --lol-form-height-large: 2.5rem;
3596
+
3597
+ /* ----- Charts -----
3598
+ *
3599
+ * Hextech separates the interface into two materials: metal linework
3600
+ * that *frames* information, and hextech magic that *is* it. A chart
3601
+ * maps onto that split exactly — gold for the frame, the axes and the
3602
+ * grid; the magic palette for the marks — so the ink and frame tokens
3603
+ * below are gold and the series tokens are not.
3604
+ *
3605
+ * Used by `@lolmath/ui/charts`, but defined here so a host page can
3606
+ * retune them from one place, and so a chart built by hand against
3607
+ * TanStack Charts picks them up too. */
3608
+
3609
+ /* Parchment gold for what you read, dimmer gold for what merely
3610
+ * orients you. The chart engine paints tick labels at 0.68 opacity on
3611
+ * top of these, so `muted` is deliberately brighter than it looks. */
3612
+ --lol-chart-foreground: var(--lol-color-gold-100);
3613
+ --lol-chart-muted: var(--lol-color-gold-300);
3614
+ /* The grid is painted at 0.11 opacity — it has to start bright to
3615
+ * survive that and still read as gold rather than grey. */
3616
+ --lol-chart-grid: var(--lol-color-gold-200);
3617
+ --lol-chart-surface: var(--lol-color-hextech-black);
3618
+
3619
+ --lol-chart-frame-fill: linear-gradient(
3620
+ 180deg,
3621
+ var(--lol-color-blue-600) 0%,
3622
+ var(--lol-color-hextech-black) 100%
3623
+ );
3624
+ --lol-chart-frame-border: linear-gradient(
3625
+ 180deg,
3626
+ var(--lol-color-gold-500) 0%,
3627
+ var(--lol-color-gold-600) 55%,
3628
+ var(--lol-color-gold-500) 100%
3629
+ );
3630
+ --lol-chart-frame-accent: var(--lol-color-gold-400);
3631
+ --lol-chart-frame-rule: var(--lol-color-gold-500);
3632
+
3633
+ /* Six categorical slots in a fixed order, assigned in sequence and
3634
+ * never cycled. Slots 1 and 2 are the Hextech signature (teal energy,
3635
+ * Piltover gold); the rest reach into the wider Runeterra palette,
3636
+ * because a palette that stayed inside gold and teal could not be told
3637
+ * apart. The set is validated on the hextech-black surface for the
3638
+ * OKLCH lightness band, the chroma floor, protan/deutan separation and
3639
+ * contrast — see the readme before changing a value. */
3640
+ --lol-chart-series-1: #0aa89b;
3641
+ --lol-chart-series-2: #ba8c2e;
3642
+ --lol-chart-series-3: #8e6be8;
3643
+ --lol-chart-series-4: #e8574f;
3644
+ --lol-chart-series-5: #1e8fd5;
3645
+ --lol-chart-series-6: #4fa83a;
3646
+
3647
+ /* Reserved meanings. Never spend these on "series 4". */
3648
+ --lol-chart-positive: #2e9e63;
3649
+ --lol-chart-negative: #d6453c;
3650
+
3651
+ --lol-chart-font-display:
3652
+ var(--lol-font-family-beaufort), "Times New Roman", serif;
3653
+ --lol-chart-font-body:
3654
+ var(--lol-font-family-spiegel), system-ui, sans-serif;
3655
+
3656
+ /* Bridge to TanStack Charts' own defaults, so a chart definition
3657
+ * written by hand — one that never sets a theme — still picks up the
3658
+ * Hextech palette and tooltip. */
3659
+ --ts-chart-1: var(--lol-chart-series-1);
3660
+ --ts-chart-2: var(--lol-chart-series-2);
3661
+ --ts-chart-3: var(--lol-chart-series-3);
3662
+ --ts-chart-4: var(--lol-chart-series-4);
3663
+ --ts-chart-5: var(--lol-chart-series-5);
3664
+ --ts-chart-6: var(--lol-chart-series-6);
3665
+ --ts-chart-focus-fill: var(--lol-chart-surface);
3666
+ --ts-chart-crosshair-marker-fill: var(--lol-chart-surface);
3667
+ --ts-chart-crosshair-label-halo: var(--lol-chart-surface);
3668
+
3669
+ --ts-chart-tooltip-background: var(--lol-chart-surface);
3670
+ --ts-chart-tooltip-border: 1px solid var(--lol-color-gold-500);
3671
+ --ts-chart-tooltip-border-radius: 0;
3672
+ --ts-chart-tooltip-color: var(--lol-chart-foreground);
3673
+ --ts-chart-tooltip-padding: 0.5rem 0.7rem;
3674
+ --ts-chart-tooltip-shadow:
3675
+ 0 0 0 1px var(--lol-color-hextech-black), 0 8px 24px rgb(1 10 19 / 0.75);
3676
+ --ts-chart-tooltip-font: 400 0.8125rem / 1.35 var(--lol-chart-font-body);
3677
+ }
3678
+
3679
+ /*
3680
+ * The scene TanStack Charts paints is plain SVG with stable class names on
3681
+ * it, so the parts CSS does better than JS — line caps, the magic glow —
3682
+ * are done here. `[data-lol-chart]` is set by `HextechChart`; nothing
3683
+ * outside a Hextech chart is touched.
3684
+ */
3685
+ [data-lol-chart] {
3686
+ font-family: var(--lol-chart-font-body);
3687
+ color: var(--lol-chart-foreground);
3688
+ }
3689
+
3690
+ [data-lol-chart] .ts-chart__line {
3691
+ stroke-linecap: round;
3692
+ stroke-linejoin: round;
3693
+ }
3694
+
3695
+ /*
3696
+ * "Its brightest executions are reserved for pivotal moments." The glow is
3697
+ * the one place the marks are allowed to be loud, so it stays faint.
3698
+ */
3699
+ [data-lol-chart-glow="true"] .ts-chart__line,
3700
+ [data-lol-chart-glow="true"] .ts-chart__area {
3701
+ filter: drop-shadow(0 0 3px rgb(10 168 155 / 0.18));
3702
+ }
3703
+
3704
+ [data-lol-chart] .ts-chart__crosshair {
3705
+ pointer-events: none;
3706
+ }
3707
+ }
package/dist/index.d.mts CHANGED
@@ -18,7 +18,7 @@ interface ButtonProps$1 extends ButtonProps {
18
18
  size?: ButtonSize;
19
19
  }
20
20
  declare const button: (props?: ({
21
- preset?: "hextech" | "primary" | "secondary" | "text" | "dimmed" | undefined;
21
+ preset?: "primary" | "secondary" | "text" | "hextech" | "dimmed" | undefined;
22
22
  shape?: "round" | "square" | "normal" | undefined;
23
23
  thin?: boolean | undefined;
24
24
  size?: "small" | "medium" | "large" | undefined;
@@ -616,7 +616,7 @@ interface TokenInputProps<T extends TokenFieldValue$1 = TokenFieldValue$1> exten
616
616
  /** The editable area of a `TokenField`, rendering a `Token` per token segment. */
617
617
  declare function TokenInput<T extends TokenFieldValue$1 = TokenFieldValue$1>({ className, placeholder, size, ...props }: TokenInputProps<T>): import("react").JSX.Element;
618
618
  declare const token: (props?: ({
619
- variant?: "gold" | "hextech" | "grey" | undefined;
619
+ variant?: "hextech" | "gold" | "grey" | undefined;
620
620
  } & ({
621
621
  class?: import("cva").ClassValue;
622
622
  className?: never;
package/dist/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ /* empty css */
1
2
  import { Autocomplete, Autocomplete as Autocomplete$1, AutocompleteContext, AutocompleteStateContext, Breadcrumb as Breadcrumb$1, Breadcrumbs as Breadcrumbs$1, Button as Button$1, Calendar as Calendar$1, CalendarCell as CalendarCell$1, CalendarGrid as CalendarGrid$1, CalendarGridBody, CalendarGridHeader as CalendarGridHeader$1, CalendarHeaderCell as CalendarHeaderCell$1, CalendarHeading, CalendarMonthPicker, CalendarYearPicker, Cell, CheckboxButton as CheckboxButton$1, CheckboxField as CheckboxField$1, Collection, Collection as Collection$1, Column, ColumnResizer, DateField as DateField$1, DateInput as DateInput$1, DatePicker as DatePicker$1, DateRangePicker as DateRangePicker$1, DateSegment as DateSegment$1, Dialog, Dialog as Dialog$1, DialogTrigger, Disclosure as Disclosure$1, DisclosureGroup as DisclosureGroup$1, DisclosurePanel as DisclosurePanel$1, DropIndicator, FieldError, Focusable, GridLayout, Group as Group$1, Header, Heading as Heading$1, Input, Label as Label$1, Link, ListBox, ListBoxItem, ListBoxItem as ListBoxItem$1, ListLayout, ListLayout as ListLayout$1, Menu as Menu$1, MenuItem as MenuItem$1, MenuSection as MenuSection$1, MenuTrigger as MenuTrigger$1, Modal as Modal$1, ModalOverlay, NumberField as NumberField$1, OverlayArrow, Popover as Popover$1, Popover as UnstyledPopover, Pressable, PreviewTrigger, ProgressBar as ProgressBar$1, RadioButton as RadioButton$1, RadioField as RadioField$1, RadioGroup as RadioGroup$1, RangeCalendar as RangeCalendar$1, ResizableTableContainer as ResizableTableContainer$1, RouterProvider, Row, SearchField as SearchField$1, Select, Select as Select$1, SelectValue, SelectValue as SelectValue$1, SelectionIndicator, Separator, Size, Slider as Slider$1, SliderFill, SliderOutput as SliderOutput$1, SliderThumb, SliderTrack, SubmenuTrigger as SubmenuTrigger$1, SwitchButton as SwitchButton$1, SwitchField as SwitchField$1, Tab as Tab$1, TabList as TabList$1, TabPanel as TabPanel$1, Table as Table$1, TableBody as TableBody$1, TableFooter as TableFooter$1, TableHeader as TableHeader$1, TableLayout, TableLoadMoreItem as TableLoadMoreItem$1, Tabs as Tabs$1, Tag as Tag$1, TagGroup as TagGroup$1, TagList as TagList$1, Text as Text$1, TextArea as TextArea$1, TextField as TextField$1, TimeField as TimeField$1, ToggleButton as ToggleButton$1, ToggleButtonGroup as ToggleButtonGroup$1, Token as Token$1, TokenField as TokenField$1, TokenFieldValue, TokenInput as TokenInput$1, Toolbar as Toolbar$1, Tree as Tree$1, TreeItem as TreeItem$1, TreeItemContent as TreeItemContent$1, TreeLoadMoreItem as TreeLoadMoreItem$1, Virtualizer, Virtualizer as Virtualizer$1, WaterfallLayout, composeRenderProps, isTextDropItem, useAsyncList, useDragAndDrop, useDragAndDrop as useDragAndDrop$1, useFilter, useFilter as useFilter$1, useListData, useTableOptions } from "react-aria-components";
2
3
  import { cva, cx } from "cva";
3
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";