@lolmath/ui 9.4.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/charts.d.mts +352 -0
- package/dist/charts.mjs +942 -0
- package/dist/charts.mjs.map +1 -0
- package/dist/index.css +813 -227
- package/dist/index.d.mts +133 -8
- package/dist/index.mjs +232 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +17 -3
- package/readme.md +156 -0
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;
|
|
@@ -2412,12 +2230,14 @@
|
|
|
2412
2230
|
}
|
|
2413
2231
|
}
|
|
2414
2232
|
@layer lol {
|
|
2415
|
-
.
|
|
2233
|
+
._resizableContainer_1ftu2_2 {
|
|
2416
2234
|
overflow: auto;
|
|
2417
2235
|
position: relative;
|
|
2418
2236
|
}
|
|
2419
2237
|
|
|
2420
|
-
.
|
|
2238
|
+
._table_1ftu2_7 {
|
|
2239
|
+
--lol-table-indent: 1.125rem;
|
|
2240
|
+
|
|
2421
2241
|
border-collapse: collapse;
|
|
2422
2242
|
border-spacing: 0;
|
|
2423
2243
|
width: 100%;
|
|
@@ -2433,9 +2253,38 @@
|
|
|
2433
2253
|
outline: 1px solid var(--lol-color-gold-400);
|
|
2434
2254
|
outline-offset: 0.25rem;
|
|
2435
2255
|
}
|
|
2256
|
+
|
|
2257
|
+
/* The whole table is the drop target when a drag is dropped on it rather
|
|
2258
|
+
than between two of its rows. */
|
|
2259
|
+
&[data-drop-target] {
|
|
2260
|
+
outline: 1px solid var(--lol-color-gold-400);
|
|
2261
|
+
outline-offset: 0.25rem;
|
|
2262
|
+
}
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
/* Inside a `Virtualizer` the table is a <div> whose rows are placed by the
|
|
2266
|
+
layout, and it scrolls them itself — which is what the virtualizer measures
|
|
2267
|
+
against, so it is the one table that needs a height of its own. */
|
|
2268
|
+
div._table_1ftu2_7 {
|
|
2269
|
+
overflow: auto;
|
|
2270
|
+
position: relative;
|
|
2271
|
+
|
|
2272
|
+
/* That also makes the header stick over the rows as they scroll past. The
|
|
2273
|
+
header cells tile the full width of the row, so frosting each one covers
|
|
2274
|
+
the strip; without it the rows read straight through the labels. The
|
|
2275
|
+
tint is the client's page black, which is what any surface the table
|
|
2276
|
+
sits on is a shade of. */
|
|
2277
|
+
& ._column_1ftu2_46 {
|
|
2278
|
+
background-color: color-mix(
|
|
2279
|
+
in srgb,
|
|
2280
|
+
var(--lol-color-hextech-black),
|
|
2281
|
+
transparent 4%
|
|
2282
|
+
);
|
|
2283
|
+
backdrop-filter: blur(12px);
|
|
2284
|
+
}
|
|
2436
2285
|
}
|
|
2437
2286
|
|
|
2438
|
-
.
|
|
2287
|
+
._row_1ftu2_56 {
|
|
2439
2288
|
color: var(--lol-color-grey-100);
|
|
2440
2289
|
outline: none;
|
|
2441
2290
|
transition: color 0.3s ease;
|
|
@@ -2488,13 +2337,28 @@
|
|
|
2488
2337
|
cursor: default;
|
|
2489
2338
|
}
|
|
2490
2339
|
|
|
2340
|
+
&[data-dragging] {
|
|
2341
|
+
opacity: 0.4;
|
|
2342
|
+
}
|
|
2343
|
+
|
|
2491
2344
|
&[data-focus-visible] {
|
|
2492
2345
|
outline: 1px solid var(--lol-color-gold-400);
|
|
2493
2346
|
outline-offset: -1px;
|
|
2494
2347
|
}
|
|
2348
|
+
|
|
2349
|
+
/* A row is only its own drop target when the table takes drops onto rows;
|
|
2350
|
+
reordering draws the `.dropIndicator` between them instead. */
|
|
2351
|
+
&[data-drop-target] {
|
|
2352
|
+
color: var(--lol-color-gold-100);
|
|
2353
|
+
--lol-table-row-highlight: linear-gradient(
|
|
2354
|
+
90deg,
|
|
2355
|
+
rgb(from var(--lol-color-gold-400) r g b / 0.35),
|
|
2356
|
+
rgb(from var(--lol-color-gold-400) r g b / 0.1)
|
|
2357
|
+
);
|
|
2358
|
+
}
|
|
2495
2359
|
}
|
|
2496
2360
|
|
|
2497
|
-
.
|
|
2361
|
+
._cell_1ftu2_130 {
|
|
2498
2362
|
/*
|
|
2499
2363
|
* Collapsed borders are resolved between neighbours, and Chrome paints the
|
|
2500
2364
|
* winning hairline once per edge when the losing side is styled `none`. The
|
|
@@ -2512,7 +2376,7 @@
|
|
|
2512
2376
|
}
|
|
2513
2377
|
}
|
|
2514
2378
|
|
|
2515
|
-
.
|
|
2379
|
+
._resizer_1ftu2_148 {
|
|
2516
2380
|
position: absolute;
|
|
2517
2381
|
inset-block: 0;
|
|
2518
2382
|
inset-inline-end: 0;
|
|
@@ -2544,7 +2408,7 @@
|
|
|
2544
2408
|
}
|
|
2545
2409
|
|
|
2546
2410
|
/* Fixed footprint so toggling the sort direction never shifts the header. */
|
|
2547
|
-
.
|
|
2411
|
+
._sortIndicator_1ftu2_180 {
|
|
2548
2412
|
display: inline-block;
|
|
2549
2413
|
vertical-align: middle;
|
|
2550
2414
|
width: 0.5rem;
|
|
@@ -2568,7 +2432,7 @@
|
|
|
2568
2432
|
}
|
|
2569
2433
|
}
|
|
2570
2434
|
|
|
2571
|
-
.
|
|
2435
|
+
._column_1ftu2_46 {
|
|
2572
2436
|
position: relative;
|
|
2573
2437
|
font-family: var(--lol-font-family-beaufort);
|
|
2574
2438
|
color: var(--lol-color-gold-100);
|
|
@@ -2604,15 +2468,15 @@
|
|
|
2604
2468
|
color: var(--lol-color-gold-500);
|
|
2605
2469
|
}
|
|
2606
2470
|
|
|
2607
|
-
&[data-hovered] .
|
|
2471
|
+
&[data-hovered] ._sortIndicator_1ftu2_180 {
|
|
2608
2472
|
opacity: 0.5;
|
|
2609
2473
|
}
|
|
2610
2474
|
|
|
2611
|
-
&[data-sort-direction] .
|
|
2475
|
+
&[data-sort-direction] ._sortIndicator_1ftu2_180 {
|
|
2612
2476
|
opacity: 1;
|
|
2613
2477
|
}
|
|
2614
2478
|
|
|
2615
|
-
&[data-sort-direction="descending"] .
|
|
2479
|
+
&[data-sort-direction="descending"] ._sortIndicator_1ftu2_180::after {
|
|
2616
2480
|
border-width: 0.375rem 0.25rem 0;
|
|
2617
2481
|
border-top-color: currentColor;
|
|
2618
2482
|
border-bottom-color: transparent;
|
|
@@ -2624,55 +2488,191 @@
|
|
|
2624
2488
|
}
|
|
2625
2489
|
}
|
|
2626
2490
|
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2491
|
+
/* The checkbox and the drag handle sit in columns of their own, added by
|
|
2492
|
+
`TableHeader` and `TableRow`. Both shrink to their content: a percentage
|
|
2493
|
+
width smaller than the content is the table layout's way of saying "as
|
|
2494
|
+
narrow as this can go". */
|
|
2495
|
+
._selectionColumn_1ftu2_264,
|
|
2496
|
+
._selectionCell_1ftu2_265,
|
|
2497
|
+
._gripColumn_1ftu2_266,
|
|
2498
|
+
._gripCell_1ftu2_267 {
|
|
2499
|
+
width: 1%;
|
|
2500
|
+
white-space: nowrap;
|
|
2633
2501
|
}
|
|
2634
2502
|
|
|
2635
|
-
.
|
|
2636
|
-
|
|
2637
|
-
|
|
2503
|
+
._selectionCell_1ftu2_265,
|
|
2504
|
+
._gripCell_1ftu2_267 {
|
|
2505
|
+
padding-inline-end: 0;
|
|
2638
2506
|
}
|
|
2639
2507
|
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2508
|
+
._grip_1ftu2_266 {
|
|
2509
|
+
/* A <button> we never paint: without this it falls back to the UA's
|
|
2510
|
+
`buttonface` slab, which is grey under `color-scheme: dark`. */
|
|
2511
|
+
appearance: none;
|
|
2512
|
+
border: 0;
|
|
2513
|
+
margin: 0;
|
|
2643
2514
|
padding: 0;
|
|
2644
|
-
|
|
2515
|
+
font: inherit;
|
|
2516
|
+
color: inherit;
|
|
2645
2517
|
|
|
2646
|
-
|
|
2647
|
-
|
|
2518
|
+
display: block;
|
|
2519
|
+
width: 0.625rem;
|
|
2520
|
+
height: 0.75rem;
|
|
2521
|
+
outline: none;
|
|
2522
|
+
/* Three hairlines, the client's drag affordance. */
|
|
2523
|
+
background: repeating-linear-gradient(
|
|
2524
|
+
to bottom,
|
|
2525
|
+
currentColor 0 1px,
|
|
2526
|
+
transparent 1px 0.25rem
|
|
2527
|
+
);
|
|
2648
2528
|
}
|
|
2649
2529
|
|
|
2650
|
-
|
|
2651
|
-
|
|
2530
|
+
/* React aria drags the row itself and leaves the handle inert, so the cursor
|
|
2531
|
+
has to come from the row. */
|
|
2532
|
+
._table_1ftu2_7[data-allows-dragging] ._row_1ftu2_56 {
|
|
2533
|
+
cursor: grab;
|
|
2652
2534
|
}
|
|
2653
2535
|
|
|
2654
|
-
|
|
2655
|
-
|
|
2536
|
+
/* The indicator is a row of its own with a single full-width cell, so the
|
|
2537
|
+
line is drawn by a pseudo element that takes up no space of its own. */
|
|
2538
|
+
._dropIndicator_1ftu2_119 {
|
|
2539
|
+
& > td,
|
|
2540
|
+
& > th {
|
|
2541
|
+
position: relative;
|
|
2542
|
+
}
|
|
2543
|
+
|
|
2544
|
+
&[data-drop-target] > td::after,
|
|
2545
|
+
&[data-drop-target] > th::after {
|
|
2546
|
+
content: "";
|
|
2547
|
+
position: absolute;
|
|
2548
|
+
inset-inline: 0;
|
|
2549
|
+
top: -1px;
|
|
2550
|
+
height: 2px;
|
|
2551
|
+
background-color: var(--lol-color-gold-400);
|
|
2552
|
+
}
|
|
2656
2553
|
}
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2554
|
+
|
|
2555
|
+
/* The expand chevron of a `treeColumn` cell, and the indent that puts a
|
|
2556
|
+
nested row under its parent. React aria sets `--table-row-level` on every
|
|
2557
|
+
row, starting at 1. */
|
|
2558
|
+
._treeContent_1ftu2_327 {
|
|
2661
2559
|
display: flex;
|
|
2560
|
+
align-items: center;
|
|
2561
|
+
gap: 0.375rem;
|
|
2562
|
+
padding-inline-start: calc(
|
|
2563
|
+
(var(--table-row-level, 1) - 1) *
|
|
2564
|
+
var(--lol-table-indent)
|
|
2565
|
+
);
|
|
2662
2566
|
}
|
|
2663
2567
|
|
|
2664
|
-
.
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2568
|
+
._chevron_1ftu2_337 {
|
|
2569
|
+
appearance: none;
|
|
2570
|
+
border: 0;
|
|
2571
|
+
margin: 0;
|
|
2572
|
+
padding: 0;
|
|
2573
|
+
font: inherit;
|
|
2574
|
+
letter-spacing: inherit;
|
|
2575
|
+
color: inherit;
|
|
2576
|
+
|
|
2577
|
+
flex: none;
|
|
2578
|
+
width: 0.5rem;
|
|
2579
|
+
height: 0.75rem;
|
|
2580
|
+
outline: none;
|
|
2581
|
+
cursor: pointer;
|
|
2582
|
+
|
|
2583
|
+
--lol-table-chevron: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAoCAYAAADg+OpoAAABF0lEQVR42r3WMY7CQAxA0R8r2oobUMBB9hTLPegguQJUNHuJLbZb7RU4BvQIiZaKJiNFo0wy8dhYiiJNLD+N5RmlOv9sGYgtsAQajKJOICeg6p69BSQjCMAOOFpDMYIlJhOIGSbAqitSTeQWYQJcgQ3wzMhXY6F1f8CXJ9YfBlcsHm83TAbWXDBJrJtjMvLNFJOJAmaYZBQwwSRzaIoxmXEUijCZecDVmCiuLRVWKy/jgP0CHxmYakchHpm7ArhpoU/gH1hk5DbAUd6BaFqnQuZCamQOVITkQsVIDmSCTEFmyBhkiqQgc2QIckFiyA3pQ65IgNbeSIAuwLcn0m9dCxy8kHgYUlgxMjTeMWaCpP4Z2u59t0IAXn+VXtMKZ5riAAAAAElFTkSuQmCC");
|
|
2584
|
+
background: var(--lol-table-chevron) no-repeat center / contain;
|
|
2585
|
+
transition: rotate 0.15s ease;
|
|
2586
|
+
|
|
2587
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2588
|
+
transition: none;
|
|
2589
|
+
}
|
|
2590
|
+
|
|
2591
|
+
&[data-focus-visible] {
|
|
2592
|
+
outline: 1px solid var(--lol-color-gold-400);
|
|
2593
|
+
outline-offset: 0.125rem;
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
|
|
2597
|
+
._chevronSpacer_1ftu2_366 {
|
|
2598
|
+
flex: none;
|
|
2599
|
+
width: 0.5rem;
|
|
2600
|
+
}
|
|
2601
|
+
|
|
2602
|
+
._row_1ftu2_56[data-expanded] ._chevron_1ftu2_337 {
|
|
2603
|
+
rotate: 90deg;
|
|
2604
|
+
}
|
|
2605
|
+
|
|
2606
|
+
._row_1ftu2_56[data-hovered] ._chevron_1ftu2_337,
|
|
2607
|
+
._chevron_1ftu2_337[data-hovered],
|
|
2608
|
+
._chevron_1ftu2_337[data-focus-visible] {
|
|
2609
|
+
--lol-table-chevron: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAoCAYAAADg+OpoAAABGElEQVR42r3WO47CMBCA4T+jaCtuQLEcZE+x3IOOxxVIRcM1tlvtPTgBNFQIQUu1TSxFVpw44xlGiiI5o/nk0dhK9bie6IkVMAe2GEWdQA5A1T4bC0gGEIA10FhDMYIlJiOIGSbAZ1ukGsktwgS4AEvglZGvxkLrfoFvT6w7DK5YPN5umPSsuWCSWDfHZOCbKSYjBcwwyShggknm0BRjMuEoFGEy8YCrMVFcWyqsVl7GAfsBPjIw1Y5CPDN3BXDTQl/AHzDLyN0CjbwD0bROhUyF1MgUqAjJhYqRHMgEGYPMkCHIFElB5kgf5ILEkBvShVyRAC28kQCdgaMn0m3dDth7IfEwpLBipG+8Y8wESf0z7Nr33QoB+AdPzF+bRdCP8QAAAABJRU5ErkJggg==");
|
|
2610
|
+
}
|
|
2611
|
+
|
|
2612
|
+
._row_1ftu2_56[data-disabled] ._chevron_1ftu2_337 {
|
|
2613
|
+
cursor: default;
|
|
2614
|
+
filter: grayscale(100%);
|
|
2615
|
+
}
|
|
2616
|
+
|
|
2617
|
+
._loadMore_1ftu2_386 > td,
|
|
2618
|
+
._loadMore_1ftu2_386 > th {
|
|
2619
|
+
padding: 0.5rem;
|
|
2620
|
+
}
|
|
2621
|
+
|
|
2622
|
+
._spinner_1ftu2_391 {
|
|
2623
|
+
width: 1.5rem;
|
|
2624
|
+
margin-inline: auto;
|
|
2625
|
+
}
|
|
2626
|
+
|
|
2627
|
+
._footer_1ftu2_396 {
|
|
2628
|
+
color: var(--lol-color-gold-300);
|
|
2629
|
+
|
|
2630
|
+
& ._cell_1ftu2_130 {
|
|
2631
|
+
border-top: 1px solid rgb(from var(--lol-color-grey-100) r g b / 0.25);
|
|
2632
|
+
}
|
|
2633
|
+
}
|
|
2634
|
+
|
|
2635
|
+
._empty_1ftu2_404 {
|
|
2636
|
+
padding: 1rem 0.75rem;
|
|
2637
|
+
text-align: center;
|
|
2638
|
+
}
|
|
2639
|
+
|
|
2640
|
+
/* React aria renders the empty state in a row it builds itself, so that cell
|
|
2641
|
+
never gets `.cell` and keeps the UA's 1px padding. */
|
|
2642
|
+
._table_1ftu2_7 [data-empty] > tr > td {
|
|
2643
|
+
padding: 0;
|
|
2644
|
+
}
|
|
2645
|
+
|
|
2646
|
+
._start_1ftu2_415 {
|
|
2647
|
+
text-align: start;
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2650
|
+
._center_1ftu2_419 {
|
|
2651
|
+
text-align: center;
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2654
|
+
._end_1ftu2_423 {
|
|
2655
|
+
text-align: end;
|
|
2656
|
+
}
|
|
2657
|
+
}
|
|
2658
|
+
@layer lol {
|
|
2659
|
+
._list_nrxix_2 {
|
|
2660
|
+
margin-left: -1rem;
|
|
2661
|
+
display: flex;
|
|
2662
|
+
}
|
|
2663
|
+
|
|
2664
|
+
._tab_nrxix_7 {
|
|
2665
|
+
font-family: var(--lol-font-family-beaufort);
|
|
2666
|
+
color: var(--lol-color-gold-300);
|
|
2667
|
+
position: relative;
|
|
2668
|
+
cursor: pointer;
|
|
2669
|
+
user-select: none;
|
|
2670
|
+
padding: 0.25rem 1rem;
|
|
2671
|
+
font-size: 0.75rem;
|
|
2672
|
+
font-weight: 500;
|
|
2673
|
+
text-transform: uppercase;
|
|
2674
|
+
letter-spacing: 0.1em;
|
|
2675
|
+
line-height: 1rem;
|
|
2676
2676
|
outline: none;
|
|
2677
2677
|
|
|
2678
2678
|
&[data-selected] {
|
|
@@ -3119,3 +3119,589 @@
|
|
|
3119
3119
|
width: 1.5rem;
|
|
3120
3120
|
}
|
|
3121
3121
|
}
|
|
3122
|
+
@layer lol {
|
|
3123
|
+
._table_v9mcp_2 {
|
|
3124
|
+
border-collapse: collapse;
|
|
3125
|
+
border-spacing: 0;
|
|
3126
|
+
width: 100%;
|
|
3127
|
+
|
|
3128
|
+
font-family: var(--lol-font-family-spiegel);
|
|
3129
|
+
font-size: var(--lol-font-size-sm);
|
|
3130
|
+
line-height: var(--lol-line-height-sm);
|
|
3131
|
+
letter-spacing: var(--lol-letter-spacing-sm);
|
|
3132
|
+
font-weight: var(--lol-font-weight-sm);
|
|
3133
|
+
color: var(--lol-color-grey-100);
|
|
3134
|
+
}
|
|
3135
|
+
|
|
3136
|
+
/*
|
|
3137
|
+
* Both headings are set the same way — the client's heading face, in gold
|
|
3138
|
+
* over the grey of the data. What tells them apart is only which edge of the
|
|
3139
|
+
* table they run along.
|
|
3140
|
+
*
|
|
3141
|
+
* The zero-width `solid` on the edges each one leaves alone is the guard the
|
|
3142
|
+
* table's own cells carry: collapsed borders are resolved between
|
|
3143
|
+
* neighbours, and Chrome paints the winning hairline once per edge when the
|
|
3144
|
+
* losing side is styled `none`, so a 25%-opacity line blends twice and comes
|
|
3145
|
+
* out twice as bright.
|
|
3146
|
+
*/
|
|
3147
|
+
._fieldHeader_v9mcp_26,
|
|
3148
|
+
._recordHeader_v9mcp_27,
|
|
3149
|
+
._corner_v9mcp_28 {
|
|
3150
|
+
border: 0 solid;
|
|
3151
|
+
}
|
|
3152
|
+
|
|
3153
|
+
._fieldHeader_v9mcp_26,
|
|
3154
|
+
._recordHeader_v9mcp_27 {
|
|
3155
|
+
font-family: var(--lol-font-family-beaufort);
|
|
3156
|
+
color: var(--lol-color-gold-100);
|
|
3157
|
+
font-size: 0.75rem;
|
|
3158
|
+
font-weight: 700;
|
|
3159
|
+
letter-spacing: 0.075em;
|
|
3160
|
+
line-height: 1rem;
|
|
3161
|
+
text-transform: uppercase;
|
|
3162
|
+
white-space: nowrap;
|
|
3163
|
+
padding: 0.375rem 0.75rem;
|
|
3164
|
+
}
|
|
3165
|
+
|
|
3166
|
+
/* The field names head their rows, so the hairline that separates the
|
|
3167
|
+
heading from the data runs down the table rather than across it. */
|
|
3168
|
+
._fieldHeader_v9mcp_26 {
|
|
3169
|
+
text-align: start;
|
|
3170
|
+
border-inline-end: 1px solid
|
|
3171
|
+
rgb(from var(--lol-color-grey-100) r g b / 0.25);
|
|
3172
|
+
/* Shrink to the names: a percentage under the content width is the table
|
|
3173
|
+
layout's way of saying "as narrow as this can go". */
|
|
3174
|
+
width: 1%;
|
|
3175
|
+
}
|
|
3176
|
+
|
|
3177
|
+
._recordHeader_v9mcp_27 {
|
|
3178
|
+
border-bottom: 1px solid rgb(from var(--lol-color-grey-100) r g b / 0.25);
|
|
3179
|
+
}
|
|
3180
|
+
|
|
3181
|
+
/* The blank corner over the field names carries both hairlines, so the one
|
|
3182
|
+
under the record names and the one beside the field names meet instead of
|
|
3183
|
+
stopping short of each other. */
|
|
3184
|
+
._corner_v9mcp_28 {
|
|
3185
|
+
padding: 0;
|
|
3186
|
+
border-bottom: 1px solid rgb(from var(--lol-color-grey-100) r g b / 0.25);
|
|
3187
|
+
border-inline-end: 1px solid
|
|
3188
|
+
rgb(from var(--lol-color-grey-100) r g b / 0.25);
|
|
3189
|
+
}
|
|
3190
|
+
|
|
3191
|
+
._cell_v9mcp_70 {
|
|
3192
|
+
border: 0 solid;
|
|
3193
|
+
padding: 0.375rem 0.75rem;
|
|
3194
|
+
vertical-align: middle;
|
|
3195
|
+
}
|
|
3196
|
+
|
|
3197
|
+
._start_v9mcp_76 {
|
|
3198
|
+
text-align: start;
|
|
3199
|
+
}
|
|
3200
|
+
|
|
3201
|
+
._center_v9mcp_80 {
|
|
3202
|
+
text-align: center;
|
|
3203
|
+
}
|
|
3204
|
+
|
|
3205
|
+
._end_v9mcp_84 {
|
|
3206
|
+
text-align: end;
|
|
3207
|
+
}
|
|
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
|
+
}
|