@fusion.dev/helix-docs 0.139.0 → 0.141.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/content/color.mdx +10 -5
- package/content/intent-reference.mdx +15 -6
- package/content/maps.mdx +3 -3
- package/content/metrics.mdx +226 -226
- package/content/surfaces-and-separation.mdx +1 -1
- package/content/theme-builder.mdx +5 -0
- package/content/theming.mdx +33 -4
- package/dist/sources.generated.js +293 -245
- package/package.json +9 -9
|
@@ -837,14 +837,18 @@ separation](./surfaces-and-separation).
|
|
|
837
837
|
Inks are the colors that go on grounds. The base ink is \`foreground\`.
|
|
838
838
|
|
|
839
839
|
- \`foreground-muted\` and \`foreground-subtle\` are for text that recedes.
|
|
840
|
-
-
|
|
840
|
+
- Text on a filled color takes the ink named for that fill:
|
|
841
|
+
- \`foreground-on-primary\` on \`primary-surface\`
|
|
842
|
+
- \`foreground-on-accent\` on \`accent-surface\`
|
|
843
|
+
- \`foreground-on-status\` on the four status fills
|
|
841
844
|
|
|
842
845
|
### Intent
|
|
843
846
|
|
|
844
847
|
Intent colors show what something means.
|
|
845
848
|
|
|
846
849
|
- \`primary\` and \`accent\` are for emphasis. Each has \`-hover\`, \`-active\`, and
|
|
847
|
-
\`-subtle\` variants.
|
|
850
|
+
\`-subtle\` variants. With no brand color set, both are ink: near-black in
|
|
851
|
+
light mode and near-white in dark mode.
|
|
848
852
|
- \`info\`, \`success\`, \`warning\`, and \`danger\` are for status. Each has a
|
|
849
853
|
\`-surface\` and a \`-surface-hover\` variant for the tinted box that holds the
|
|
850
854
|
message.
|
|
@@ -873,9 +877,10 @@ OKLCH lets the theme engine *solve* for a palette from your brand color. See
|
|
|
873
877
|
|
|
874
878
|
## How the engine meets contrast targets
|
|
875
879
|
|
|
876
|
-
The engine measures each ink against the ground it will be painted on.
|
|
877
|
-
|
|
878
|
-
the target.
|
|
880
|
+
The engine measures each ink against the ground it will be painted on. A brand
|
|
881
|
+
color that already meets the target there is used as it is. For any other color,
|
|
882
|
+
the engine searches for the lightness that meets the target. Every pair it
|
|
883
|
+
produces meets the target.
|
|
879
884
|
|
|
880
885
|
The engine can solve only the pairs it knows about, so we check two things:
|
|
881
886
|
|
|
@@ -2356,16 +2361,17 @@ const theme = engine.derive({ brand: '#2563eb' })
|
|
|
2356
2361
|
|
|
2357
2362
|
[Deriving a theme](./theming) shows how Node loads the engine.
|
|
2358
2363
|
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
\`brand\`
|
|
2364
|
+
**Every input is optional.** With no \`brand\`, the theme is ink: the primary
|
|
2365
|
+
color is near-black in light mode and near-white in dark mode. Every other field
|
|
2366
|
+
has a default, computed from \`brand\` or from the Helix design language, so an
|
|
2367
|
+
empty intent, \`{}\`, is a valid theme.
|
|
2362
2368
|
|
|
2363
2369
|
## Color
|
|
2364
2370
|
|
|
2365
2371
|
| Field | What it controls |
|
|
2366
2372
|
|---|---|
|
|
2367
|
-
| \`brand\` | Your main brand color.
|
|
2368
|
-
| \`accent\` | The second emphasis color. Defaults to the brand color. \`{ from: 'brand', rotate: 180 }\` gives the complementary color |
|
|
2373
|
+
| \`brand\` | Your main brand color, or \`{ light, dark }\` for a different one in each mode. Without one, the theme is ink, and so is a mode the pair leaves out |
|
|
2374
|
+
| \`accent\` | The second emphasis color. Defaults to the brand color, or to ink with no brand. \`{ from: 'brand', rotate: 180 }\` gives the complementary color, and needs a brand |
|
|
2369
2375
|
| \`background\` | The page's color, \`{ light, dark }\`, for a page that is not pure white or pure black. The surfaces keep their contrast with it, and the grays take its tint. A page no text color can reach the contrast target on is refused |
|
|
2370
2376
|
| \`neutral\` | The gray ramp, which can be tinted toward the brand. With \`background\`, it takes the page's tint |
|
|
2371
2377
|
| \`status\` | \`info\`, \`success\`, \`warning\`, and \`danger\`. A color pins one. An object adjusts its hue while it keeps its meaning |
|
|
@@ -2373,6 +2379,12 @@ computed from \`brand\` or from the Helix design language. A theme that sets onl
|
|
|
2373
2379
|
| \`scheme\` | \`'light'\` or \`'dark'\`, for a theme that has only one mode |
|
|
2374
2380
|
| \`tokens\` | Literal overrides by token name, for values no other field sets |
|
|
2375
2381
|
|
|
2382
|
+
**A brand color that already meets the contrast target is used as it is.**
|
|
2383
|
+
Where it clears every surface it lands on, it is the primary color, and where
|
|
2384
|
+
its label clears on it, it is the fill. A navy brand stays navy on a light page.
|
|
2385
|
+
A color that does not meet the target keeps its hue and chroma, and its
|
|
2386
|
+
lightness moves only as far as the target needs.
|
|
2387
|
+
|
|
2376
2388
|
\`accent\` can be defined relative to the brand. \`status\` colors cannot. If
|
|
2377
2389
|
\`danger\` rotated with the brand, your users would have to learn a new warning
|
|
2378
2390
|
color for each product.
|
|
@@ -2385,7 +2397,9 @@ settings:
|
|
|
2385
2397
|
- \`scale\` multiplies the chroma the brand color supplies.
|
|
2386
2398
|
|
|
2387
2399
|
Both apply to every derived color, including the brand color, because in a
|
|
2388
|
-
monotone theme the brand is gray too.
|
|
2400
|
+
monotone theme the brand is gray too. A gray brand is solved like any other, to
|
|
2401
|
+
the gray nearest the page that meets the contrast target, which is a mid gray.
|
|
2402
|
+
For black and white, leave out \`brand\`. Neither applies to a color you pinned. A
|
|
2389
2403
|
pinned color is used exactly as you set it.
|
|
2390
2404
|
|
|
2391
2405
|
## Contrast
|
|
@@ -2815,15 +2829,15 @@ fixes a sanitizing flaw in earlier versions, so use 6.4.1 or later.
|
|
|
2815
2829
|
- Land uses \`surface\`.
|
|
2816
2830
|
- Water uses \`info\`.
|
|
2817
2831
|
- Parks use \`success\`.
|
|
2818
|
-
- Main roads use \`primary\`, your brand color.
|
|
2832
|
+
- Main roads use \`primary\`, your brand color, or ink with no brand.
|
|
2819
2833
|
- Smaller roads, buildings, borders, and labels use \`foreground\`.
|
|
2820
2834
|
|
|
2821
2835
|
It also draws landmarks, highway signs, and neighborhood names:
|
|
2822
2836
|
|
|
2823
2837
|
- A landmark is an icon on a disc and its name, in a color for its kind:
|
|
2824
2838
|
parks, museums, schools, hotels, hospitals, stations, and stadiums from zoom
|
|
2825
|
-
14, and food and shops from zoom 16. Each color is a fixed hue at
|
|
2826
|
-
|
|
2839
|
+
14, and food and shops from zoom 16. Each color is a fixed hue at the
|
|
2840
|
+
lightness of \`primary\`, so the kinds stay apart in any theme.
|
|
2827
2841
|
- A highway's number is on its sign, drawn to the Federal Highway
|
|
2828
2842
|
Administration's outlines: the red and blue Interstate shield, the white US
|
|
2829
2843
|
route shield, the white circle of a state route, and a plain plate for other
|
|
@@ -3391,7 +3405,7 @@ on its own.
|
|
|
3391
3405
|
|
|
3392
3406
|
| | Raw | Gzip | Brotli |
|
|
3393
3407
|
|---|---|---|---|
|
|
3394
|
-
| Lit and \`@fusion.dev/helix-core\` |
|
|
3408
|
+
| Lit and \`@fusion.dev/helix-core\` | 186,211 | 59,378 | 50,238 |
|
|
3395
3409
|
|
|
3396
3410
|
## Whole packages
|
|
3397
3411
|
|
|
@@ -3402,11 +3416,11 @@ either barrel. The per-component tables show what your page pays.
|
|
|
3402
3416
|
|
|
3403
3417
|
| Package | Raw | Gzip | Brotli | |
|
|
3404
3418
|
|---|---|---|---|---|
|
|
3405
|
-
| \`@fusion.dev/helix-core\` |
|
|
3406
|
-
| \`@fusion.dev/helix-headless\` |
|
|
3419
|
+
| \`@fusion.dev/helix-core\` | 185,764 | 59,007 | 49,979 | The element base class, mixins, decorators, and floating positioning. |
|
|
3420
|
+
| \`@fusion.dev/helix-headless\` | 749,093 | 194,398 | 150,742 | Every headless family. The barrel entry includes all of them. |
|
|
3407
3421
|
| \`@fusion.dev/helix-icons\` | 55,565 | 17,727 | 14,864 | The whole glyph set. |
|
|
3408
3422
|
| \`@fusion.dev/helix-theme\` | 3,626 | 1,597 | 1,384 | The derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
|
|
3409
|
-
| \`@fusion.dev/helix\` | 1,
|
|
3423
|
+
| \`@fusion.dev/helix\` | 1,296,493 | 303,277 | 221,588 | Every styled family. |
|
|
3410
3424
|
| \`lit\` | 15,394 | 6,118 | 5,460 | Lit itself, listed so you can subtract it from every row above. |
|
|
3411
3425
|
|
|
3412
3426
|
## Stylesheets
|
|
@@ -3419,21 +3433,21 @@ shows the whole cost of using the base layer on its own.
|
|
|
3419
3433
|
|
|
3420
3434
|
| File | Raw | Gzip | Brotli | |
|
|
3421
3435
|
|---|---|---|---|---|
|
|
3422
|
-
| \`base.css\` | 30,
|
|
3436
|
+
| \`base.css\` | 30,786 | 4,465 | 3,884 | The base layer. It styles markup Helix does not render, and it works with no JavaScript. |
|
|
3423
3437
|
| \`elements.css\` | 8,807 | 1,488 | 1,318 | Hides each element until its definition loads. It is generated from the tags in \`@fusion.dev/helix\`. |
|
|
3424
3438
|
| \`helix.css\` | 207 | 148 | 118 | The other four stylesheets in one import, in the order they must load. |
|
|
3425
|
-
| \`primitives.css\` |
|
|
3426
|
-
| \`tokens.css\` |
|
|
3439
|
+
| \`primitives.css\` | 7,510 | 1,402 | 1,201 | The primitive layer. It is private, and it ships because \`tokens.css\` refers to it. |
|
|
3440
|
+
| \`tokens.css\` | 22,349 | 2,664 | 2,247 | The 193 semantic tokens. Every styled component needs them. |
|
|
3427
3441
|
|
|
3428
3442
|
## What the numbers say
|
|
3429
3443
|
|
|
3430
|
-
**Most of your first component is the shared runtime.** The median styled family is 21,
|
|
3444
|
+
**Most of your first component is the shared runtime.** The median styled family is 21,977 bytes gzipped alone, and it adds 2,262 to a page that already has Helix. The shared runtime is 90 percent of the first component, and the component itself is 10 percent. Ten typical components cost the first number once, plus nine of the added number. The two columns in the tables below let you work that out for your own components.
|
|
3431
3445
|
|
|
3432
|
-
Across the 104 styled components, the smallest is \`code\` at 10,
|
|
3446
|
+
Across the 104 styled components, the smallest is \`code\` at 10,492 bytes gzipped alone, and the largest is \`data-table\` at 64,440. Every family together is 303,277.
|
|
3433
3447
|
|
|
3434
|
-
No family imports a barrel. The \`barrels\` rule in \`fusion workspace\` enforces that. \`@fusion.dev/helix-headless\` marks every module in \`dist\` as having side effects, which is true of a file that calls \`customElements.define\`. A bundler can remove none of it. One \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs
|
|
3448
|
+
No family imports a barrel. The \`barrels\` rule in \`fusion workspace\` enforces that. \`@fusion.dev/helix-headless\` marks every module in \`dist\` as having side effects, which is true of a file that calls \`customElements.define\`. A bundler can remove none of it. One \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs 194,398 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 104 styled families import the headless family they extend directly. The rule checks the shape of the import, so it applies to any package that sets \`sideEffects\`, whatever its name.
|
|
3435
3449
|
|
|
3436
|
-
The headless tier never had the problem, so it serves as the control. \`@fusion.dev/helix-core\` is \`sideEffects: false\`, and the median headless family is 22,
|
|
3450
|
+
The headless tier never had the problem, so it serves as the control. \`@fusion.dev/helix-core\` is \`sideEffects: false\`, and the median headless family is 22,536 bytes gzipped alone.
|
|
3437
3451
|
|
|
3438
3452
|
## Compared with other systems
|
|
3439
3453
|
|
|
@@ -3445,43 +3459,43 @@ The table has no whole-library row. That row would compare how many components e
|
|
|
3445
3459
|
|
|
3446
3460
|
| Component | System | Raw | Gzip | Brotli |
|
|
3447
3461
|
|---|---|---|---|---|
|
|
3448
|
-
| \`button\` | **Helix** |
|
|
3462
|
+
| \`button\` | **Helix** | 45,627 | 13,160 | 11,553 |
|
|
3449
3463
|
| | Carbon | 133,058 | 20,959 | 17,685 |
|
|
3450
3464
|
| | Material Web | 47,060 | 14,173 | 12,591 |
|
|
3451
3465
|
| | Shoelace | 62,628 | 18,287 | 15,805 |
|
|
3452
3466
|
| | Spectrum | 98,792 | 22,045 | 18,674 |
|
|
3453
|
-
| \`checkbox\` | **Helix** |
|
|
3467
|
+
| \`checkbox\` | **Helix** | 50,794 | 14,479 | 12,765 |
|
|
3454
3468
|
| | Carbon | 60,255 | 15,609 | 13,550 |
|
|
3455
3469
|
| | Material Web | 43,785 | 13,556 | 12,015 |
|
|
3456
3470
|
| | Shoelace | 47,614 | 15,177 | 13,301 |
|
|
3457
3471
|
| | Spectrum | 62,492 | 15,437 | 13,481 |
|
|
3458
|
-
| \`dialog\` | **Helix** |
|
|
3472
|
+
| \`dialog\` | **Helix** | 42,582 | 12,668 | 11,140 |
|
|
3459
3473
|
| | Carbon | 510,866 | 67,390 | 39,189 |
|
|
3460
3474
|
| | Material Web | 34,238 | 11,510 | 10,229 |
|
|
3461
3475
|
| | Shoelace | 52,754 | 17,698 | 15,554 |
|
|
3462
3476
|
| | Spectrum | 155,708 | 31,899 | 26,262 |
|
|
3463
|
-
| \`radio\` | **Helix** |
|
|
3477
|
+
| \`radio\` | **Helix** | 54,213 | 14,925 | 13,148 |
|
|
3464
3478
|
| | Carbon | 63,055 | 16,887 | 14,605 |
|
|
3465
3479
|
| | Material Web | 41,044 | 13,234 | 11,757 |
|
|
3466
3480
|
| | Shoelace | 34,865 | 12,027 | 10,559 |
|
|
3467
3481
|
| | Spectrum | 38,685 | 10,660 | 9,370 |
|
|
3468
|
-
| \`switch\` | **Helix** |
|
|
3482
|
+
| \`switch\` | **Helix** | 47,784 | 13,981 | 12,276 |
|
|
3469
3483
|
| | Carbon | 69,423 | 17,127 | 14,764 |
|
|
3470
3484
|
| | Material Web | 50,155 | 14,577 | 12,935 |
|
|
3471
3485
|
| | Shoelace | 37,833 | 11,814 | 10,568 |
|
|
3472
3486
|
| | Spectrum | 62,322 | 15,059 | 13,321 |
|
|
3473
|
-
| \`tabs\` | **Helix** |
|
|
3487
|
+
| \`tabs\` | **Helix** | 48,895 | 14,048 | 12,331 |
|
|
3474
3488
|
| | Carbon | 578,766 | 73,537 | 43,235 |
|
|
3475
3489
|
| | Material Web | 38,883 | 12,820 | 11,368 |
|
|
3476
3490
|
| | Shoelace | 54,573 | 17,140 | 15,068 |
|
|
3477
3491
|
| | Spectrum | 64,875 | 18,298 | 16,283 |
|
|
3478
|
-
| \`tooltip\` | **Helix** |
|
|
3492
|
+
| \`tooltip\` | **Helix** | 69,601 | 22,599 | 19,919 |
|
|
3479
3493
|
| | Carbon | 189,382 | 30,354 | 22,273 |
|
|
3480
3494
|
| | Material Web | | not shipped | |
|
|
3481
3495
|
| | Shoelace | 57,412 | 20,220 | 17,933 |
|
|
3482
3496
|
| | Spectrum | 136,599 | 40,552 | 35,286 |
|
|
3483
3497
|
|
|
3484
|
-
At least one system is smaller than Helix on \`checkbox\`, \`dialog\`, \`radio\`, \`switch\`, \`tabs\`, \`tooltip\`. The largest gap is radio against Spectrum, at
|
|
3498
|
+
At least one system is smaller than Helix on \`checkbox\`, \`dialog\`, \`radio\`, \`switch\`, \`tabs\`, \`tooltip\`. The largest gap is radio against Spectrum, at 4,265 bytes gzipped. 8 of 28 peer measurements are smaller than the Helix row.
|
|
3485
3499
|
|
|
3486
3500
|
- **Carbon** \`@carbon/web-components@2.61.0\`. Its dialog is Modal, its radio is Radio Button, and its switch is Toggle.
|
|
3487
3501
|
- **Material Web** \`@material/web@2.5.0\`. Ships no tooltip. Its button is measured as the filled one, there being no single button element.
|
|
@@ -3525,104 +3539,104 @@ Structure, accessibility, state, and form participation. It has no presentation
|
|
|
3525
3539
|
|
|
3526
3540
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
3527
3541
|
|---|---|---|---|---|---|---|
|
|
3528
|
-
| \`accordion\` |
|
|
3529
|
-
| \`announcement\` |
|
|
3530
|
-
| \`app-header\` |
|
|
3531
|
-
| \`area-chart\` |
|
|
3532
|
-
| \`avatar\` |
|
|
3533
|
-
| \`badge\` |
|
|
3534
|
-
| \`bar-chart\` |
|
|
3535
|
-
| \`blockquote\` |
|
|
3536
|
-
| \`breadcrumbs\` |
|
|
3537
|
-
| \`button\` |
|
|
3538
|
-
| \`button-group\` |
|
|
3539
|
-
| \`callout\` |
|
|
3540
|
-
| \`canvas\` |
|
|
3541
|
-
| \`card\` |
|
|
3542
|
-
| \`carousel\` |
|
|
3543
|
-
| \`chat\` |
|
|
3544
|
-
| \`checkbox\` |
|
|
3545
|
-
| \`checkbox-group\` |
|
|
3546
|
-
| \`code\` |
|
|
3547
|
-
| \`code-block\` |
|
|
3548
|
-
| \`color-input\` |
|
|
3549
|
-
| \`color-picker\` |
|
|
3550
|
-
| \`combobox\` |
|
|
3551
|
-
| \`command\` |
|
|
3552
|
-
| \`copy-button\` |
|
|
3553
|
-
| \`data-table\` |
|
|
3554
|
-
| \`date-input\` |
|
|
3555
|
-
| \`date-picker\` |
|
|
3556
|
-
| \`description-list\` |
|
|
3557
|
-
| \`dialog\` |
|
|
3558
|
-
| \`divider\` |
|
|
3559
|
-
| \`donut-chart\` |
|
|
3560
|
-
| \`drawer\` |
|
|
3561
|
-
| \`drilldown\` |
|
|
3562
|
-
| \`empty\` |
|
|
3563
|
-
| \`file-input\` |
|
|
3564
|
-
| \`filter-input\` |
|
|
3565
|
-
| \`format-date\` |
|
|
3566
|
-
| \`graph\` |
|
|
3567
|
-
| \`heatmap\` |
|
|
3568
|
-
| \`icon\` |
|
|
3569
|
-
| \`icon-button\` |
|
|
3570
|
-
| \`image\` |
|
|
3571
|
-
| \`input\` |
|
|
3572
|
-
| \`kbd\` |
|
|
3573
|
-
| \`legend\` |
|
|
3574
|
-
| \`lightbox\` |
|
|
3575
|
-
| \`line-chart\` |
|
|
3576
|
-
| \`list\` |
|
|
3577
|
-
| \`listbox\` |
|
|
3578
|
-
| \`loader\` |
|
|
3579
|
-
| \`map\` |
|
|
3580
|
-
| \`megamenu\` |
|
|
3581
|
-
| \`menu\` |
|
|
3582
|
-
| \`meter\` |
|
|
3583
|
-
| \`navigation\` |
|
|
3584
|
-
| \`notifications\` |
|
|
3585
|
-
| \`number-input\` |
|
|
3586
|
-
| \`object-inspector\` |
|
|
3587
|
-
| \`option\` |
|
|
3588
|
-
| \`outline\` |
|
|
3589
|
-
| \`pagination\` |
|
|
3590
|
-
| \`pin-input\` |
|
|
3591
|
-
| \`popover\` |
|
|
3592
|
-
| \`progress\` |
|
|
3593
|
-
| \`qr-code\` |
|
|
3594
|
-
| \`quote\` |
|
|
3595
|
-
| \`radio\` |
|
|
3596
|
-
| \`rating\` |
|
|
3597
|
-
| \`scatter-chart\` |
|
|
3598
|
-
| \`scroll-area\` |
|
|
3599
|
-
| \`select\` |
|
|
3600
|
-
| \`skeleton\` |
|
|
3601
|
-
| \`skip-link\` |
|
|
3602
|
-
| \`slider\` |
|
|
3603
|
-
| \`sparkline\` |
|
|
3604
|
-
| \`speed-dial\` |
|
|
3605
|
-
| \`splitter\` |
|
|
3606
|
-
| \`stat\` |
|
|
3607
|
-
| \`steps\` |
|
|
3608
|
-
| \`switch\` |
|
|
3609
|
-
| \`table\` |
|
|
3610
|
-
| \`tabs\` |
|
|
3611
|
-
| \`tag\` |
|
|
3612
|
-
| \`textarea\` |
|
|
3613
|
-
| \`time-input\` |
|
|
3614
|
-
| \`time-picker\` |
|
|
3615
|
-
| \`timeline\` |
|
|
3616
|
-
| \`toast\` |
|
|
3617
|
-
| \`toggle\` |
|
|
3618
|
-
| \`toolbar\` |
|
|
3619
|
-
| \`tooltip\` |
|
|
3620
|
-
| \`tour\` |
|
|
3621
|
-
| \`tree\` |
|
|
3622
|
-
| \`trend\` |
|
|
3623
|
-
| \`video\` |
|
|
3624
|
-
| \`video-playlist\` |
|
|
3625
|
-
| \`virtual-list\` |
|
|
3542
|
+
| \`accordion\` | 94,146 | 30,683 | 25,053 | 2,875 | 725 | 613 |
|
|
3543
|
+
| \`announcement\` | 91,561 | 29,855 | 24,275 | 1,386 | 365 | 337 |
|
|
3544
|
+
| \`app-header\` | 35,147 | 10,773 | 9,481 | 1,248 | 260 | 265 |
|
|
3545
|
+
| \`area-chart\` | 81,239 | 26,783 | 23,668 | 11,166 | 3,382 | 2,828 |
|
|
3546
|
+
| \`avatar\` | 37,234 | 11,387 | 10,034 | 3,296 | 894 | 763 |
|
|
3547
|
+
| \`badge\` | 34,683 | 10,703 | 9,377 | 1,163 | 300 | 261 |
|
|
3548
|
+
| \`bar-chart\` | 82,848 | 27,157 | 23,956 | 12,769 | 3,695 | 3,127 |
|
|
3549
|
+
| \`blockquote\` | 34,697 | 10,730 | 9,416 | 774 | 176 | 174 |
|
|
3550
|
+
| \`breadcrumbs\` | 90,601 | 29,203 | 23,959 | 1,965 | 443 | 402 |
|
|
3551
|
+
| \`button\` | 39,369 | 11,986 | 10,544 | 3,195 | 817 | 676 |
|
|
3552
|
+
| \`button-group\` | 34,553 | 10,610 | 9,332 | 661 | 140 | 173 |
|
|
3553
|
+
| \`callout\` | 89,781 | 29,092 | 23,929 | 975 | 274 | 220 |
|
|
3554
|
+
| \`canvas\` | 95,827 | 28,300 | 24,785 | 50,036 | 14,959 | 12,629 |
|
|
3555
|
+
| \`card\` | 34,587 | 10,627 | 9,363 | 694 | 139 | 135 |
|
|
3556
|
+
| \`carousel\` | 100,004 | 32,186 | 26,390 | 10,943 | 2,734 | 2,366 |
|
|
3557
|
+
| \`chat\` | 113,488 | 37,076 | 30,386 | 17,449 | 5,101 | 4,283 |
|
|
3558
|
+
| \`checkbox\` | 44,186 | 13,038 | 11,429 | 2,821 | 785 | 601 |
|
|
3559
|
+
| \`checkbox-group\` | 47,310 | 13,723 | 12,077 | 5,425 | 1,365 | 1,087 |
|
|
3560
|
+
| \`code\` | 33,172 | 10,193 | 8,956 | 451 | 78 | 134 |
|
|
3561
|
+
| \`code-block\` | 135,605 | 44,216 | 37,258 | 17,443 | 4,510 | 3,894 |
|
|
3562
|
+
| \`color-input\` | 153,586 | 48,219 | 40,668 | 25,853 | 6,031 | 5,022 |
|
|
3563
|
+
| \`color-picker\` | 119,956 | 37,674 | 31,011 | 19,676 | 4,707 | 3,995 |
|
|
3564
|
+
| \`combobox\` | 148,369 | 46,881 | 39,443 | 21,175 | 5,213 | 4,341 |
|
|
3565
|
+
| \`command\` | 118,287 | 36,947 | 30,227 | 18,064 | 4,593 | 3,835 |
|
|
3566
|
+
| \`copy-button\` | 130,185 | 42,566 | 35,804 | 12,019 | 2,959 | 2,452 |
|
|
3567
|
+
| \`data-table\` | 188,875 | 57,528 | 48,600 | 57,535 | 14,589 | 12,116 |
|
|
3568
|
+
| \`date-input\` | 146,628 | 46,371 | 39,045 | 19,212 | 4,831 | 4,058 |
|
|
3569
|
+
| \`date-picker\` | 101,780 | 32,896 | 26,900 | 9,900 | 2,706 | 2,146 |
|
|
3570
|
+
| \`description-list\` | 34,656 | 10,565 | 9,287 | 1,132 | 172 | 149 |
|
|
3571
|
+
| \`dialog\` | 38,205 | 11,659 | 10,269 | 2,717 | 777 | 632 |
|
|
3572
|
+
| \`divider\` | 34,903 | 10,809 | 9,498 | 981 | 255 | 247 |
|
|
3573
|
+
| \`donut-chart\` | 78,982 | 25,781 | 22,769 | 10,339 | 2,969 | 2,523 |
|
|
3574
|
+
| \`drawer\` | 36,958 | 11,299 | 9,898 | 1,761 | 470 | 416 |
|
|
3575
|
+
| \`drilldown\` | 98,646 | 32,042 | 26,067 | 5,704 | 1,493 | 1,142 |
|
|
3576
|
+
| \`empty\` | 35,150 | 10,853 | 9,533 | 956 | 243 | 214 |
|
|
3577
|
+
| \`file-input\` | 102,144 | 32,877 | 26,883 | 6,266 | 1,808 | 1,480 |
|
|
3578
|
+
| \`filter-input\` | 158,975 | 49,594 | 41,794 | 28,070 | 6,798 | 5,676 |
|
|
3579
|
+
| \`format-date\` | 38,166 | 11,770 | 10,398 | 2,868 | 694 | 511 |
|
|
3580
|
+
| \`graph\` | 116,500 | 37,045 | 30,485 | 11,480 | 3,231 | 2,760 |
|
|
3581
|
+
| \`heatmap\` | 80,204 | 25,983 | 22,869 | 10,997 | 2,991 | 2,466 |
|
|
3582
|
+
| \`icon\` | 89,288 | 28,882 | 23,713 | 1,018 | 246 | 276 |
|
|
3583
|
+
| \`icon-button\` | 39,768 | 12,019 | 10,553 | 3,594 | 857 | 774 |
|
|
3584
|
+
| \`image\` | 36,726 | 11,156 | 9,824 | 3,157 | 811 | 677 |
|
|
3585
|
+
| \`input\` | 101,182 | 32,362 | 26,466 | 4,746 | 1,276 | 1,000 |
|
|
3586
|
+
| \`kbd\` | 36,507 | 11,395 | 10,041 | 2,976 | 915 | 766 |
|
|
3587
|
+
| \`legend\` | 38,559 | 11,901 | 10,462 | 1,080 | 276 | 311 |
|
|
3588
|
+
| \`lightbox\` | 42,999 | 12,949 | 11,376 | 4,807 | 1,236 | 1,040 |
|
|
3589
|
+
| \`line-chart\` | 80,779 | 26,486 | 23,373 | 10,792 | 3,085 | 2,616 |
|
|
3590
|
+
| \`list\` | 35,609 | 10,806 | 9,492 | 1,726 | 332 | 335 |
|
|
3591
|
+
| \`listbox\` | 109,996 | 35,061 | 28,622 | 11,263 | 3,065 | 2,481 |
|
|
3592
|
+
| \`loader\` | 34,793 | 10,731 | 9,409 | 900 | 230 | 195 |
|
|
3593
|
+
| \`map\` | 135,023 | 40,242 | 33,378 | 33,030 | 7,707 | 6,281 |
|
|
3594
|
+
| \`megamenu\` | 65,092 | 21,481 | 18,888 | 4,941 | 1,278 | 1,087 |
|
|
3595
|
+
| \`menu\` | 128,815 | 42,454 | 35,637 | 8,856 | 2,186 | 1,770 |
|
|
3596
|
+
| \`meter\` | 37,983 | 11,582 | 10,196 | 4,100 | 1,064 | 986 |
|
|
3597
|
+
| \`navigation\` | 36,542 | 11,280 | 9,892 | 1,417 | 341 | 281 |
|
|
3598
|
+
| \`notifications\` | 105,825 | 33,645 | 27,451 | 11,384 | 2,616 | 2,194 |
|
|
3599
|
+
| \`number-input\` | 104,106 | 33,173 | 27,123 | 7,671 | 1,990 | 1,621 |
|
|
3600
|
+
| \`object-inspector\` | 143,395 | 46,771 | 39,416 | 19,705 | 5,248 | 4,431 |
|
|
3601
|
+
| \`option\` | 36,848 | 11,171 | 9,854 | 2,959 | 665 | 504 |
|
|
3602
|
+
| \`outline\` | 39,911 | 12,458 | 10,942 | 4,628 | 1,325 | 1,038 |
|
|
3603
|
+
| \`pagination\` | 152,465 | 47,581 | 40,041 | 27,823 | 6,528 | 5,332 |
|
|
3604
|
+
| \`pin-input\` | 46,366 | 13,784 | 12,116 | 5,242 | 1,562 | 1,215 |
|
|
3605
|
+
| \`popover\` | 62,296 | 20,724 | 18,269 | 1,899 | 512 | 405 |
|
|
3606
|
+
| \`progress\` | 35,834 | 11,003 | 9,690 | 1,951 | 489 | 469 |
|
|
3607
|
+
| \`qr-code\` | 46,483 | 15,044 | 13,253 | 12,984 | 4,827 | 3,974 |
|
|
3608
|
+
| \`quote\` | 34,076 | 10,491 | 9,221 | 552 | 118 | 89 |
|
|
3609
|
+
| \`radio\` | 45,916 | 13,427 | 11,815 | 2,874 | 726 | 598 |
|
|
3610
|
+
| \`rating\` | 48,121 | 14,397 | 12,663 | 6,689 | 1,880 | 1,492 |
|
|
3611
|
+
| \`scatter-chart\` | 80,683 | 26,413 | 23,260 | 11,471 | 3,371 | 2,786 |
|
|
3612
|
+
| \`scroll-area\` | 36,319 | 11,164 | 9,807 | 2,743 | 736 | 599 |
|
|
3613
|
+
| \`select\` | 140,575 | 45,036 | 37,784 | 16,146 | 4,083 | 3,271 |
|
|
3614
|
+
| \`skeleton\` | 33,265 | 10,227 | 9,002 | 544 | 105 | 126 |
|
|
3615
|
+
| \`skip-link\` | 34,855 | 10,796 | 9,462 | 1,178 | 333 | 318 |
|
|
3616
|
+
| \`slider\` | 46,905 | 13,805 | 12,204 | 5,628 | 1,517 | 1,296 |
|
|
3617
|
+
| \`sparkline\` | 40,978 | 12,925 | 11,384 | 2,387 | 793 | 694 |
|
|
3618
|
+
| \`speed-dial\` | 120,323 | 40,071 | 33,679 | 3,743 | 918 | 592 |
|
|
3619
|
+
| \`splitter\` | 44,358 | 13,240 | 11,693 | 10,283 | 2,586 | 2,208 |
|
|
3620
|
+
| \`stat\` | 35,041 | 10,666 | 9,401 | 1,148 | 184 | 175 |
|
|
3621
|
+
| \`steps\` | 98,861 | 31,678 | 25,897 | 6,295 | 1,469 | 1,236 |
|
|
3622
|
+
| \`switch\` | 43,417 | 12,921 | 11,361 | 1,650 | 514 | 514 |
|
|
3623
|
+
| \`table\` | 100,971 | 32,855 | 26,781 | 10,159 | 2,795 | 2,339 |
|
|
3624
|
+
| \`tabs\` | 42,654 | 12,774 | 11,197 | 3,925 | 822 | 779 |
|
|
3625
|
+
| \`tag\` | 90,014 | 29,133 | 23,816 | 908 | 198 | 223 |
|
|
3626
|
+
| \`textarea\` | 45,604 | 13,423 | 11,826 | 3,997 | 1,064 | 803 |
|
|
3627
|
+
| \`time-input\` | 159,758 | 49,619 | 41,895 | 29,051 | 7,092 | 5,877 |
|
|
3628
|
+
| \`time-picker\` | 118,842 | 37,643 | 30,850 | 19,136 | 5,108 | 4,164 |
|
|
3629
|
+
| \`timeline\` | 90,450 | 29,131 | 23,972 | 1,809 | 361 | 328 |
|
|
3630
|
+
| \`toast\` | 93,807 | 30,268 | 24,767 | 4,078 | 949 | 763 |
|
|
3631
|
+
| \`toggle\` | 47,603 | 13,958 | 12,296 | 3,342 | 815 | 735 |
|
|
3632
|
+
| \`toolbar\` | 36,647 | 11,354 | 9,981 | 2,624 | 704 | 550 |
|
|
3633
|
+
| \`tooltip\` | 66,523 | 21,820 | 19,314 | 6,494 | 1,748 | 1,473 |
|
|
3634
|
+
| \`tour\` | 72,280 | 23,251 | 20,426 | 11,097 | 2,771 | 2,205 |
|
|
3635
|
+
| \`tree\` | 100,665 | 32,488 | 26,496 | 7,224 | 1,878 | 1,561 |
|
|
3636
|
+
| \`trend\` | 89,328 | 28,928 | 23,747 | 1,056 | 268 | 330 |
|
|
3637
|
+
| \`video\` | 157,146 | 49,283 | 41,783 | 32,577 | 7,665 | 6,523 |
|
|
3638
|
+
| \`video-playlist\` | 136,305 | 44,053 | 37,048 | 14,942 | 3,424 | 2,826 |
|
|
3639
|
+
| \`virtual-list\` | 40,597 | 12,665 | 11,139 | 2,413 | 718 | 635 |
|
|
3626
3640
|
|
|
3627
3641
|
### Styled tier
|
|
3628
3642
|
|
|
@@ -3630,110 +3644,110 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
|
|
|
3630
3644
|
|
|
3631
3645
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
3632
3646
|
|---|---|---|---|---|---|---|
|
|
3633
|
-
| \`accordion\` |
|
|
3634
|
-
| \`announcement\` |
|
|
3635
|
-
| \`app-header\` |
|
|
3636
|
-
| \`area-chart\` |
|
|
3637
|
-
| \`aura\` |
|
|
3638
|
-
| \`avatar\` |
|
|
3639
|
-
| \`badge\` |
|
|
3640
|
-
| \`bar-chart\` |
|
|
3641
|
-
| \`blockquote\` |
|
|
3642
|
-
| \`breadcrumbs\` |
|
|
3643
|
-
| \`button\` |
|
|
3644
|
-
| \`button-group\` |
|
|
3645
|
-
| \`callout\` |
|
|
3646
|
-
| \`canvas\` |
|
|
3647
|
-
| \`card\` |
|
|
3648
|
-
| \`carousel\` |
|
|
3649
|
-
| \`chat\` |
|
|
3650
|
-
| \`checkbox\` |
|
|
3651
|
-
| \`checkbox-group\` |
|
|
3652
|
-
| \`code\` |
|
|
3653
|
-
| \`code-block\` |
|
|
3654
|
-
| \`color-input\` |
|
|
3655
|
-
| \`color-picker\` |
|
|
3656
|
-
| \`combobox\` |
|
|
3657
|
-
| \`command\` |
|
|
3658
|
-
| \`copy-button\` |
|
|
3659
|
-
| \`data-table\` |
|
|
3660
|
-
| \`date-input\` |
|
|
3661
|
-
| \`date-picker\` |
|
|
3662
|
-
| \`description-list\` |
|
|
3663
|
-
| \`dialog\` |
|
|
3664
|
-
| \`divider\` |
|
|
3665
|
-
| \`donut-chart\` |
|
|
3666
|
-
| \`drawer\` |
|
|
3667
|
-
| \`drilldown\` |
|
|
3668
|
-
| \`empty\` |
|
|
3669
|
-
| \`file-input\` |
|
|
3670
|
-
| \`filter-input\` |
|
|
3671
|
-
| \`flex\` |
|
|
3672
|
-
| \`format-date\` |
|
|
3673
|
-
| \`graph\` |
|
|
3674
|
-
| \`grid\` |
|
|
3675
|
-
| \`heatmap\` |
|
|
3676
|
-
| \`icon\` |
|
|
3677
|
-
| \`icon-button\` |
|
|
3678
|
-
| \`image\` |
|
|
3679
|
-
| \`input\` |
|
|
3680
|
-
| \`kbd\` |
|
|
3681
|
-
| \`legend\` |
|
|
3682
|
-
| \`lightbox\` |
|
|
3683
|
-
| \`line-chart\` |
|
|
3684
|
-
| \`list\` |
|
|
3685
|
-
| \`listbox\` |
|
|
3686
|
-
| \`loader\` |
|
|
3687
|
-
| \`map\` |
|
|
3688
|
-
| \`megamenu\` |
|
|
3689
|
-
| \`menu\` |
|
|
3690
|
-
| \`meter\` |
|
|
3691
|
-
| \`navigation\` |
|
|
3692
|
-
| \`notifications\` |
|
|
3693
|
-
| \`number-input\` |
|
|
3694
|
-
| \`object-inspector\` |
|
|
3695
|
-
| \`option\` |
|
|
3696
|
-
| \`orb\` |
|
|
3697
|
-
| \`outline\` |
|
|
3698
|
-
| \`pagination\` |
|
|
3699
|
-
| \`pin-input\` |
|
|
3700
|
-
| \`popover\` |
|
|
3701
|
-
| \`progress\` |
|
|
3702
|
-
| \`qr-code\` |
|
|
3703
|
-
| \`quote\` |
|
|
3704
|
-
| \`radio\` |
|
|
3705
|
-
| \`rating\` |
|
|
3706
|
-
| \`sandbox\` |
|
|
3707
|
-
| \`scatter-chart\` |
|
|
3708
|
-
| \`scroll-area\` |
|
|
3709
|
-
| \`select\` |
|
|
3710
|
-
| \`skeleton\` |
|
|
3711
|
-
| \`skip-link\` |
|
|
3712
|
-
| \`slider\` |
|
|
3713
|
-
| \`sparkline\` |
|
|
3714
|
-
| \`speed-dial\` |
|
|
3715
|
-
| \`splitter\` |
|
|
3716
|
-
| \`stat\` |
|
|
3717
|
-
| \`steps\` |
|
|
3718
|
-
| \`switch\` |
|
|
3719
|
-
| \`table\` |
|
|
3720
|
-
| \`tabs\` |
|
|
3721
|
-
| \`tag\` |
|
|
3722
|
-
| \`text\` |
|
|
3723
|
-
| \`textarea\` |
|
|
3724
|
-
| \`time-input\` |
|
|
3725
|
-
| \`time-picker\` |
|
|
3726
|
-
| \`timeline\` |
|
|
3727
|
-
| \`toast\` |
|
|
3728
|
-
| \`toggle\` |
|
|
3729
|
-
| \`toolbar\` |
|
|
3730
|
-
| \`tooltip\` |
|
|
3731
|
-
| \`tour\` |
|
|
3732
|
-
| \`tree\` |
|
|
3733
|
-
| \`trend\` |
|
|
3734
|
-
| \`video\` |
|
|
3735
|
-
| \`video-playlist\` |
|
|
3736
|
-
| \`virtual-list\` |
|
|
3647
|
+
| \`accordion\` | 97,484 | 31,527 | 25,751 | 6,204 | 1,539 | 1,288 |
|
|
3648
|
+
| \`announcement\` | 96,325 | 30,966 | 25,320 | 6,133 | 1,433 | 1,257 |
|
|
3649
|
+
| \`app-header\` | 39,037 | 11,664 | 10,284 | 5,121 | 1,173 | 1,011 |
|
|
3650
|
+
| \`area-chart\` | 88,624 | 28,374 | 25,003 | 18,528 | 4,995 | 4,143 |
|
|
3651
|
+
| \`aura\` | 102,182 | 34,150 | 29,615 | 65,492 | 23,022 | 19,715 |
|
|
3652
|
+
| \`avatar\` | 40,820 | 12,142 | 10,680 | 6,872 | 1,666 | 1,432 |
|
|
3653
|
+
| \`badge\` | 38,056 | 11,452 | 10,043 | 4,519 | 1,047 | 858 |
|
|
3654
|
+
| \`bar-chart\` | 95,653 | 29,690 | 26,157 | 25,550 | 6,313 | 5,232 |
|
|
3655
|
+
| \`blockquote\` | 35,853 | 11,017 | 9,669 | 1,914 | 481 | 441 |
|
|
3656
|
+
| \`breadcrumbs\` | 94,168 | 30,039 | 24,652 | 5,518 | 1,237 | 1,051 |
|
|
3657
|
+
| \`button\` | 45,627 | 13,160 | 11,553 | 9,435 | 2,011 | 1,682 |
|
|
3658
|
+
| \`button-group\` | 36,229 | 10,989 | 9,650 | 2,320 | 527 | 420 |
|
|
3659
|
+
| \`callout\` | 91,867 | 29,665 | 24,389 | 3,044 | 803 | 773 |
|
|
3660
|
+
| \`canvas\` | 116,132 | 32,041 | 27,935 | 70,330 | 18,726 | 15,770 |
|
|
3661
|
+
| \`card\` | 37,868 | 11,465 | 10,062 | 3,963 | 987 | 908 |
|
|
3662
|
+
| \`carousel\` | 110,792 | 33,934 | 27,967 | 21,720 | 4,518 | 3,904 |
|
|
3663
|
+
| \`chat\` | 127,645 | 39,596 | 32,637 | 31,592 | 7,644 | 6,399 |
|
|
3664
|
+
| \`checkbox\` | 50,794 | 14,479 | 12,765 | 9,413 | 2,242 | 1,918 |
|
|
3665
|
+
| \`checkbox-group\` | 49,591 | 14,306 | 12,574 | 7,692 | 1,940 | 1,503 |
|
|
3666
|
+
| \`code\` | 34,249 | 10,492 | 9,219 | 1,511 | 371 | 243 |
|
|
3667
|
+
| \`code-block\` | 152,056 | 47,070 | 39,652 | 33,873 | 7,293 | 6,181 |
|
|
3668
|
+
| \`color-input\` | 187,784 | 53,476 | 45,393 | 60,032 | 11,434 | 9,724 |
|
|
3669
|
+
| \`color-picker\` | 148,452 | 42,352 | 35,083 | 48,165 | 9,437 | 8,065 |
|
|
3670
|
+
| \`combobox\` | 163,625 | 49,536 | 41,816 | 36,412 | 7,971 | 6,581 |
|
|
3671
|
+
| \`command\` | 129,039 | 39,047 | 32,118 | 28,805 | 6,714 | 5,654 |
|
|
3672
|
+
| \`copy-button\` | 140,190 | 44,376 | 37,356 | 22,010 | 4,707 | 3,947 |
|
|
3673
|
+
| \`data-table\` | 227,144 | 64,440 | 54,210 | 95,535 | 21,432 | 17,554 |
|
|
3674
|
+
| \`date-input\` | 162,787 | 49,387 | 41,725 | 35,359 | 7,915 | 6,733 |
|
|
3675
|
+
| \`date-picker\` | 107,397 | 34,083 | 27,918 | 15,499 | 3,867 | 3,254 |
|
|
3676
|
+
| \`description-list\` | 37,034 | 11,136 | 9,781 | 3,502 | 769 | 647 |
|
|
3677
|
+
| \`dialog\` | 42,582 | 12,668 | 11,140 | 7,079 | 1,783 | 1,557 |
|
|
3678
|
+
| \`divider\` | 37,059 | 11,328 | 9,929 | 3,120 | 770 | 699 |
|
|
3679
|
+
| \`donut-chart\` | 88,088 | 27,651 | 24,367 | 19,422 | 4,910 | 4,151 |
|
|
3680
|
+
| \`drawer\` | 41,221 | 12,296 | 10,804 | 6,007 | 1,482 | 1,278 |
|
|
3681
|
+
| \`drilldown\` | 103,343 | 33,143 | 27,019 | 10,391 | 2,512 | 2,101 |
|
|
3682
|
+
| \`empty\` | 36,590 | 11,297 | 9,897 | 2,380 | 703 | 627 |
|
|
3683
|
+
| \`file-input\` | 113,670 | 35,207 | 28,861 | 17,794 | 4,073 | 3,425 |
|
|
3684
|
+
| \`filter-input\` | 187,314 | 54,146 | 45,761 | 56,402 | 11,409 | 9,569 |
|
|
3685
|
+
| \`flex\` | 35,610 | 10,843 | 9,515 | 2,078 | 453 | 434 |
|
|
3686
|
+
| \`format-date\` | 38,814 | 11,917 | 10,547 | 3,498 | 869 | 701 |
|
|
3687
|
+
| \`graph\` | 131,342 | 39,600 | 32,614 | 26,303 | 5,764 | 4,989 |
|
|
3688
|
+
| \`grid\` | 36,203 | 11,032 | 9,694 | 2,667 | 625 | 562 |
|
|
3689
|
+
| \`heatmap\` | 87,000 | 27,374 | 24,124 | 17,773 | 4,424 | 3,674 |
|
|
3690
|
+
| \`icon\` | 89,994 | 29,073 | 23,815 | 1,707 | 413 | 342 |
|
|
3691
|
+
| \`icon-button\` | 45,786 | 13,032 | 11,471 | 9,596 | 1,871 | 1,684 |
|
|
3692
|
+
| \`image\` | 38,428 | 11,635 | 10,226 | 4,841 | 1,286 | 1,034 |
|
|
3693
|
+
| \`input\` | 107,548 | 33,803 | 27,690 | 11,102 | 2,659 | 2,197 |
|
|
3694
|
+
| \`kbd\` | 37,919 | 11,848 | 10,420 | 4,373 | 1,374 | 1,181 |
|
|
3695
|
+
| \`legend\` | 43,375 | 13,019 | 11,400 | 5,790 | 1,390 | 1,258 |
|
|
3696
|
+
| \`lightbox\` | 46,011 | 13,699 | 11,982 | 7,803 | 1,988 | 1,586 |
|
|
3697
|
+
| \`line-chart\` | 90,551 | 28,485 | 25,133 | 20,543 | 5,161 | 4,292 |
|
|
3698
|
+
| \`list\` | 39,692 | 11,749 | 10,323 | 5,799 | 1,305 | 1,140 |
|
|
3699
|
+
| \`listbox\` | 114,516 | 36,116 | 29,506 | 15,768 | 4,062 | 3,290 |
|
|
3700
|
+
| \`loader\` | 37,959 | 11,498 | 10,087 | 4,051 | 995 | 942 |
|
|
3701
|
+
| \`map\` | 172,078 | 45,778 | 38,170 | 70,072 | 13,195 | 11,047 |
|
|
3702
|
+
| \`megamenu\` | 69,973 | 22,584 | 19,916 | 9,806 | 2,356 | 2,033 |
|
|
3703
|
+
| \`menu\` | 136,343 | 44,103 | 37,021 | 16,360 | 3,787 | 3,198 |
|
|
3704
|
+
| \`meter\` | 43,381 | 12,723 | 11,239 | 9,480 | 2,236 | 1,969 |
|
|
3705
|
+
| \`navigation\` | 38,193 | 11,742 | 10,282 | 3,051 | 806 | 700 |
|
|
3706
|
+
| \`notifications\` | 118,939 | 36,071 | 29,635 | 24,488 | 5,037 | 4,324 |
|
|
3707
|
+
| \`number-input\` | 108,991 | 34,360 | 28,113 | 12,537 | 3,136 | 2,649 |
|
|
3708
|
+
| \`object-inspector\` | 157,035 | 49,043 | 41,493 | 33,323 | 7,593 | 6,376 |
|
|
3709
|
+
| \`option\` | 40,102 | 12,078 | 10,647 | 6,203 | 1,565 | 1,271 |
|
|
3710
|
+
| \`orb\` | 44,808 | 14,467 | 12,781 | 8,624 | 3,203 | 2,704 |
|
|
3711
|
+
| \`outline\` | 43,651 | 13,234 | 11,683 | 8,351 | 2,118 | 1,795 |
|
|
3712
|
+
| \`pagination\` | 170,448 | 50,616 | 42,675 | 45,787 | 9,636 | 7,898 |
|
|
3713
|
+
| \`pin-input\` | 49,531 | 14,596 | 12,848 | 8,390 | 2,385 | 1,866 |
|
|
3714
|
+
| \`popover\` | 64,967 | 21,370 | 18,852 | 4,552 | 1,174 | 1,066 |
|
|
3715
|
+
| \`progress\` | 40,863 | 12,174 | 10,744 | 6,962 | 1,676 | 1,470 |
|
|
3716
|
+
| \`qr-code\` | 48,148 | 15,475 | 13,640 | 14,629 | 5,259 | 4,471 |
|
|
3717
|
+
| \`quote\` | 34,731 | 10,653 | 9,341 | 1,191 | 291 | 230 |
|
|
3718
|
+
| \`radio\` | 54,213 | 14,925 | 13,148 | 11,161 | 2,282 | 1,895 |
|
|
3719
|
+
| \`rating\` | 52,430 | 15,623 | 13,778 | 10,984 | 3,118 | 2,678 |
|
|
3720
|
+
| \`sandbox\` | 70,095 | 18,502 | 16,357 | 35,720 | 7,874 | 6,671 |
|
|
3721
|
+
| \`scatter-chart\` | 89,076 | 28,200 | 24,805 | 19,840 | 5,218 | 4,335 |
|
|
3722
|
+
| \`scroll-area\` | 39,467 | 11,819 | 10,381 | 5,874 | 1,383 | 1,120 |
|
|
3723
|
+
| \`select\` | 153,428 | 47,407 | 39,844 | 28,985 | 6,519 | 5,330 |
|
|
3724
|
+
| \`skeleton\` | 35,783 | 10,980 | 9,660 | 2,242 | 595 | 490 |
|
|
3725
|
+
| \`skip-link\` | 36,318 | 11,202 | 9,783 | 2,624 | 721 | 609 |
|
|
3726
|
+
| \`slider\` | 57,985 | 15,794 | 13,969 | 16,691 | 3,550 | 3,035 |
|
|
3727
|
+
| \`sparkline\` | 44,898 | 13,878 | 12,241 | 6,293 | 1,748 | 1,430 |
|
|
3728
|
+
| \`speed-dial\` | 127,953 | 41,580 | 34,922 | 11,355 | 2,362 | 1,902 |
|
|
3729
|
+
| \`splitter\` | 50,430 | 14,234 | 12,617 | 16,337 | 3,634 | 3,149 |
|
|
3730
|
+
| \`stat\` | 38,466 | 11,377 | 10,006 | 4,565 | 916 | 777 |
|
|
3731
|
+
| \`steps\` | 112,667 | 34,217 | 28,078 | 20,087 | 3,975 | 3,511 |
|
|
3732
|
+
| \`switch\` | 47,784 | 13,981 | 12,276 | 6,002 | 1,571 | 1,320 |
|
|
3733
|
+
| \`table\` | 106,565 | 34,049 | 27,900 | 15,748 | 3,973 | 3,448 |
|
|
3734
|
+
| \`tabs\` | 48,895 | 14,048 | 12,331 | 10,154 | 2,153 | 1,840 |
|
|
3735
|
+
| \`tag\` | 93,365 | 30,080 | 24,615 | 4,244 | 1,062 | 1,034 |
|
|
3736
|
+
| \`text\` | 37,730 | 11,196 | 9,819 | 4,200 | 929 | 733 |
|
|
3737
|
+
| \`textarea\` | 49,038 | 14,259 | 12,513 | 7,416 | 1,937 | 1,562 |
|
|
3738
|
+
| \`time-input\` | 181,396 | 53,205 | 45,008 | 50,671 | 10,793 | 9,101 |
|
|
3739
|
+
| \`time-picker\` | 130,570 | 39,823 | 32,805 | 30,854 | 7,357 | 6,137 |
|
|
3740
|
+
| \`timeline\` | 93,763 | 29,912 | 24,584 | 5,110 | 1,130 | 1,124 |
|
|
3741
|
+
| \`toast\` | 101,341 | 31,985 | 26,191 | 11,599 | 2,621 | 2,252 |
|
|
3742
|
+
| \`toggle\` | 52,798 | 15,150 | 13,322 | 8,526 | 2,061 | 1,681 |
|
|
3743
|
+
| \`toolbar\` | 37,939 | 11,649 | 10,232 | 3,899 | 1,021 | 853 |
|
|
3744
|
+
| \`tooltip\` | 69,601 | 22,599 | 19,919 | 9,554 | 2,494 | 2,086 |
|
|
3745
|
+
| \`tour\` | 81,996 | 24,885 | 21,972 | 20,795 | 4,495 | 3,765 |
|
|
3746
|
+
| \`tree\` | 106,515 | 33,905 | 27,737 | 13,067 | 3,290 | 2,858 |
|
|
3747
|
+
| \`trend\` | 92,548 | 29,699 | 24,399 | 4,271 | 981 | 898 |
|
|
3748
|
+
| \`video\` | 176,566 | 52,761 | 44,820 | 51,979 | 11,227 | 9,592 |
|
|
3749
|
+
| \`video-playlist\` | 150,421 | 46,636 | 39,254 | 29,040 | 5,998 | 5,123 |
|
|
3750
|
+
| \`virtual-list\` | 41,389 | 12,878 | 11,348 | 3,187 | 935 | 706 |
|
|
3737
3751
|
|
|
3738
3752
|
## What an install adds to \`node_modules\`
|
|
3739
3753
|
|
|
@@ -3745,12 +3759,12 @@ stripped column shows the bytes we removed.
|
|
|
3745
3759
|
|
|
3746
3760
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
3747
3761
|
|---|---|---|---|---|
|
|
3748
|
-
| \`@fusion.dev/helix-core\` | 1,
|
|
3749
|
-
| \`@fusion.dev/helix-headless\` | 13,
|
|
3762
|
+
| \`@fusion.dev/helix-core\` | 1,219,204 | 179 | 274,659 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
|
|
3763
|
+
| \`@fusion.dev/helix-headless\` | 13,709,247 | 511 | 1,079,071 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
|
|
3750
3764
|
| \`@fusion.dev/helix-icons\` | 150,162 | 21 | 50,346 | \`svgo\` |
|
|
3751
|
-
| \`@fusion.dev/helix-styles\` |
|
|
3752
|
-
| \`@fusion.dev/helix-theme\` |
|
|
3753
|
-
| \`@fusion.dev/helix\` | 14,
|
|
3765
|
+
| \`@fusion.dev/helix-styles\` | 106,097 | 6 | 0 | none |
|
|
3766
|
+
| \`@fusion.dev/helix-theme\` | 528,598 | 8 | 5,393 | none |
|
|
3767
|
+
| \`@fusion.dev/helix\` | 14,852,492 | 877 | 373,887 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
|
|
3754
3768
|
|
|
3755
3769
|
## Not measured yet
|
|
3756
3770
|
|
|
@@ -5575,7 +5589,7 @@ its own components, and the same applies to anything you build with it.
|
|
|
5575
5589
|
|
|
5576
5590
|
The theme engine measures each ink against the ground it is actually painted
|
|
5577
5591
|
on. The ladder records which pairs occur. For example, \`foreground\` on
|
|
5578
|
-
\`surface-overlay\` is a real pair, and \`foreground-on-
|
|
5592
|
+
\`surface-overlay\` is a real pair, and \`foreground-on-primary\` on \`surface\` is
|
|
5579
5593
|
not. See [Color](./color).
|
|
5580
5594
|
`,
|
|
5581
5595
|
svelte: `---
|
|
@@ -5675,6 +5689,11 @@ drawn with the theme, and the stylesheet the theme generates beside it.
|
|
|
5675
5689
|
The Color scheme field picks which half you see: light, dark, or the site's own
|
|
5676
5690
|
mode. See [Color modes](./color-modes).
|
|
5677
5691
|
|
|
5692
|
+
The builder starts from ink, the palette Helix draws with no brand color:
|
|
5693
|
+
near-black in light mode and near-white in dark. Turn on **Brand color** to
|
|
5694
|
+
derive the palette from a color of your own. The accent angle is measured from
|
|
5695
|
+
the brand, so it applies only with one.
|
|
5696
|
+
|
|
5678
5697
|
## A page of your own color
|
|
5679
5698
|
|
|
5680
5699
|
The Light page and Dark page fields give the page a color, such as a warm cream
|
|
@@ -5758,6 +5777,22 @@ title: Deriving a theme
|
|
|
5758
5777
|
|
|
5759
5778
|
Helix computes your color tokens from a few inputs, such as your brand color.
|
|
5760
5779
|
|
|
5780
|
+
## Without a brand color
|
|
5781
|
+
|
|
5782
|
+
With no brand color set, Helix draws in ink. The primary color is near-black in
|
|
5783
|
+
light mode and near-white in dark mode, and a filled button is the opposite of
|
|
5784
|
+
the page, with the page's own color for its label. The neutral ramp supplies
|
|
5785
|
+
both, so a gray with a tint gives a tinted ink. Set a brand color to replace the
|
|
5786
|
+
ink, as a seed in CSS or as \`brand\` in the theme engine.
|
|
5787
|
+
|
|
5788
|
+
Before ink, the default was a blue. To keep it, set it as your seed:
|
|
5789
|
+
|
|
5790
|
+
\`\`\`css
|
|
5791
|
+
:root {
|
|
5792
|
+
--helix-seed-brand: oklch(0.539 0.19 258);
|
|
5793
|
+
}
|
|
5794
|
+
\`\`\`
|
|
5795
|
+
|
|
5761
5796
|
When a design system ships two hundred fixed color values, you theme it by
|
|
5762
5797
|
changing them one at a time. A change to one value can break the contrast of a
|
|
5763
5798
|
component elsewhere, and nothing tells you.
|
|
@@ -5788,8 +5823,9 @@ resolved at the root. The stylesheet declares the ramp again on each
|
|
|
5788
5823
|
|
|
5789
5824
|
Tuned does not guarantee contrast. CSS has no contrast function.
|
|
5790
5825
|
\`oklch(from …)\` can step and rotate a color, but it cannot search for the
|
|
5791
|
-
lightness that meets a target. The contrast figures built into the ramp
|
|
5792
|
-
exact for
|
|
5826
|
+
lightness that meets a target. The contrast figures built into the ramp were
|
|
5827
|
+
measured on one blue seed, so they are exact for that seed and approximate for
|
|
5828
|
+
any other.
|
|
5793
5829
|
|
|
5794
5830
|
**Verified** uses the theme engine. It searches for each color that meets its
|
|
5795
5831
|
target, measures every pair, and returns the theme with any violations:
|
|
@@ -5860,6 +5896,16 @@ console.log(css[':root'])
|
|
|
5860
5896
|
A value that is not a color and still changes with the mode, such as the edge
|
|
5861
5897
|
of a floating surface, is set by rules after the block, one for each mode.
|
|
5862
5898
|
|
|
5899
|
+
The CLI writes the same block. \`helix theme init\` writes a \`helix.theme.json\`,
|
|
5900
|
+
with your brand color if you pass \`--brand\`. \`helix theme build\` derives it in
|
|
5901
|
+
both modes, unless the file names a \`scheme\`, and refuses to write a theme with
|
|
5902
|
+
a pair that misses its target:
|
|
5903
|
+
|
|
5904
|
+
\`\`\`sh
|
|
5905
|
+
helix theme init --brand '#0b3d91'
|
|
5906
|
+
helix theme build --out theme.css
|
|
5907
|
+
\`\`\`
|
|
5908
|
+
|
|
5863
5909
|
## Color one section
|
|
5864
5910
|
|
|
5865
5911
|
A section in a color of its own, such as a deep teal band on a cream page, is a
|
|
@@ -5899,8 +5945,10 @@ Equal numeric steps in sRGB do not look like equal steps. That makes scales and
|
|
|
5899
5945
|
contrast math in sRGB unreliable. Helix computes themes in OKLCH for this
|
|
5900
5946
|
reason. Colors are written in OKLCH and converted to other formats on output.
|
|
5901
5947
|
|
|
5902
|
-
The engine keeps your brand color's hue and chroma
|
|
5903
|
-
|
|
5948
|
+
The engine keeps your brand color's hue and chroma. Where the color already
|
|
5949
|
+
meets the contrast target, the engine uses it as it is: a navy brand stays navy
|
|
5950
|
+
on a light page. Where it does not, the engine changes only its lightness, by as
|
|
5951
|
+
little as the target needs. Your brand color stays recognizable, and its
|
|
5904
5952
|
contrast is guaranteed.
|
|
5905
5953
|
|
|
5906
5954
|
## Errors the engine prevents
|