@fusion.dev/helix-docs 0.23.0 → 0.24.1

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.
@@ -414,9 +414,30 @@ title: Charting
414
414
 
415
415
  # Charting
416
416
 
417
- Six chart families: \`Bar Chart\`, \`Line Chart\`, \`Donut Chart\`, \`Sparkline\`,
418
- \`Trend\` and the shared \`Legend\`. Each has its own API page. Here is how the data
419
- gets in, which is the same for all of them.
417
+ The chart families are \`Bar Chart\`, \`Line Chart\`, \`Area Chart\`,
418
+ \`Scatter Chart\`, \`Donut Chart\`, \`Heatmap\`, \`Sparkline\`, \`Trend\` and the shared
419
+ \`Legend\`. Each has its own API page. Here is which one answers which question,
420
+ and how the data gets in, which is the same for all of them.
421
+
422
+ ## Which chart
423
+
424
+ Pick by the question, not by the picture.
425
+
426
+ - **How much, compared.** \`Bar Chart\`. A bar's length is its value, so it always
427
+ starts at zero.
428
+ - **How something moved over time.** \`Line Chart\`. It measures from the data's
429
+ own range, so a small change still shows. Its \`area\` puts a light wash under
430
+ each line, each drawn from the floor on its own and overlapping the others.
431
+ - **How a total is made up over time.** \`Area Chart\`. Each column is stacked on
432
+ the one below, so the top edge is the total and a band's thickness is its
433
+ share. This is the one to reach for when the parts add up to something, and
434
+ \`Line Chart\` with \`area\` is not a substitute: that overlaps the series, this
435
+ adds them.
436
+ - **Parts of one whole, at one moment.** \`Donut Chart\`.
437
+ - **Whether two measures relate.** \`Scatter Chart\`, one point per row.
438
+ - **How each day or check went.** \`Heatmap\`: uptime, contributions, activity.
439
+ - **The shape of a series beside its number.** \`Sparkline\`, with no axes. And
440
+ \`Trend\` for which way one measurement moved and whether that is good news.
420
441
 
421
442
  ## The data is a table in the document
422
443
 
@@ -492,8 +513,8 @@ Charts animate on entry and on data change, and every one of them answers
492
513
  ## What these are not
493
514
 
494
515
  **Not a charting library.** There is no axis configuration language, no plugin
495
- system, and no chart type you build by composing scales. Six drawings that read
496
- a table, styled by the token system, with an accessible representation by
516
+ system, and no chart type you build by composing scales. Drawings that read a
517
+ table, styled by the token system, with an accessible representation by
497
518
  construction. When you need a grammar of graphics, use one.
498
519
  `,
499
520
  'coding-agents': `---
@@ -1604,7 +1625,7 @@ a valid theme.
1604
1625
  | Field | Decides |
1605
1626
  |---|---|
1606
1627
  | \`brand\` | The one color most consumers care about. Required |
1607
- | \`accent\` | The second emphasis. Defaults to the complement, \`{ from: 'brand', rotate: 180 }\` |
1628
+ | \`accent\` | The second emphasis. Unnamed, it is the brand; \`{ from: 'brand', rotate: 180 }\` asks for the complement |
1608
1629
  | \`neutral\` | The gray ramp, which can be tinted toward the brand |
1609
1630
  | \`status\` | \`info\`, \`success\`, \`warning\`, \`danger\`. A color pins one; an object nudges its hue within the meaning it already carries |
1610
1631
  | \`chroma\` | How saturated the palette is, independent of hue |
@@ -1901,7 +1922,7 @@ nobody ever downloads this floor on its own.
1901
1922
 
1902
1923
  | | Raw | Gzip | Brotli |
1903
1924
  |---|---|---|---|
1904
- | Lit and \`@fusion.dev/helix-core\` | 139,512 | 46,720 | 39,363 |
1925
+ | Lit and \`@fusion.dev/helix-core\` | 141,656 | 47,287 | 39,881 |
1905
1926
 
1906
1927
  ## Whole packages
1907
1928
 
@@ -1912,11 +1933,11 @@ repository does that. The per-component tables are what a page pays.
1912
1933
 
1913
1934
  | Package | Raw | Gzip | Brotli | |
1914
1935
  |---|---|---|---|---|
1915
- | \`@fusion.dev/helix-core\` | 139,066 | 46,297 | 39,137 | Element base class, mixins, decorators, floating positioning. |
1916
- | \`@fusion.dev/helix-headless\` | 533,486 | 135,220 | 105,839 | Every headless family, which is what the barrel means. |
1936
+ | \`@fusion.dev/helix-core\` | 141,210 | 46,827 | 39,612 | Element base class, mixins, decorators, floating positioning. |
1937
+ | \`@fusion.dev/helix-headless\` | 592,498 | 151,748 | 117,979 | Every headless family, which is what the barrel means. |
1917
1938
  | \`@fusion.dev/helix-icons\` | 47,484 | 14,907 | 12,553 | The whole glyph set. |
1918
1939
  | \`@fusion.dev/helix-theme\` | 3,288 | 1,571 | 1,355 | The derivation engine. Build time for most consumers, runtime for a theme switcher. |
1919
- | \`@fusion.dev/helix\` | 990,000 | 225,536 | 165,320 | Every styled family. |
1940
+ | \`@fusion.dev/helix\` | 1,072,671 | 247,677 | 179,742 | Every styled family. |
1920
1941
  | \`lit\` | 15,394 | 6,118 | 5,460 | Not ours. Here so it can be subtracted from every row above it. |
1921
1942
 
1922
1943
  ## The stylesheets
@@ -1929,21 +1950,21 @@ is the whole cost of adopting the base layer on its own.
1929
1950
 
1930
1951
  | File | Raw | Gzip | Brotli | |
1931
1952
  |---|---|---|---|---|
1932
- | \`base.css\` | 24,948 | 3,798 | 3,295 | The base layer. Recipes for markup Helix does not render, usable with no JavaScript at all. |
1933
- | \`elements.css\` | 7,137 | 1,224 | 1,101 | Hides each element until its definition loads, generated from the tags in \`@fusion.dev/helix\`. |
1953
+ | \`base.css\` | 30,471 | 4,391 | 3,819 | The base layer. Recipes for markup Helix does not render, usable with no JavaScript at all. |
1954
+ | \`elements.css\` | 7,848 | 1,341 | 1,202 | Hides each element until its definition loads, generated from the tags in \`@fusion.dev/helix\`. |
1934
1955
  | \`helix.css\` | 207 | 148 | 118 | The four above in one import, in the order they have to be in. |
1935
- | \`primitives.css\` | 6,275 | 1,234 | 1,062 | The primitive layer. Private, shipped because \`tokens.css\` resolves into it. |
1936
- | \`tokens.css\` | 19,989 | 2,460 | 2,044 | The 185 semantic tokens. Nothing paints without this. |
1956
+ | \`primitives.css\` | 6,390 | 1,260 | 1,084 | The primitive layer. Private, shipped because \`tokens.css\` resolves into it. |
1957
+ | \`tokens.css\` | 20,987 | 2,567 | 2,138 | The 191 semantic tokens. Nothing paints without this. |
1937
1958
 
1938
1959
  ## What the numbers say
1939
1960
 
1940
- **Most of a first component is the runtime under it.** The median styled family is 13,974 bytes gzipped alone and adds 2,160 to a page that already has Helix on it, so 85 percent of the first one is shared and 15 percent is the component. Ten typical components are one plus nine additions rather than ten of the first number, and the pair of columns below is what lets that be worked out rather than guessed.
1961
+ **Most of a first component is the runtime under it.** The median styled family is 18,415 bytes gzipped alone and adds 2,256 to a page that already has Helix on it, so 88 percent of the first one is shared and 12 percent is the component. Ten typical components are one plus nine additions rather than ten of the first number, and the pair of columns below is what lets that be worked out rather than guessed.
1941
1962
 
1942
- Across the tier: the cheapest is \`code\` at 9,065 gzipped alone, the dearest \`data-table\` at 51,951, over 95 components. Every family at once is 225,536.
1963
+ Across the tier: the cheapest is \`code\` at 9,337 gzipped alone, the dearest \`data-table\` at 56,690, over 100 components. Every family at once is 247,677.
1943
1964
 
1944
- **No family imports a barrel, and the \`barrels\` rule in \`fusion workspace\` is what keeps it that way.** \`@fusion.dev/helix-headless\` is \`sideEffects\` over every module in \`dist\`, which is true of a file that calls \`customElements.define\` and which means a bundler may drop none of it: one \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs 135,220 bytes gzipped whatever else the page does, which is 10 times the median family measured above. The styled tier imports the family it extends instead, all 95 of them, and the check refuses the shape rather than the package name, so the rule follows \`sideEffects\` wherever it goes.
1965
+ **No family imports a barrel, and the \`barrels\` rule in \`fusion workspace\` is what keeps it that way.** \`@fusion.dev/helix-headless\` is \`sideEffects\` over every module in \`dist\`, which is true of a file that calls \`customElements.define\` and which means a bundler may drop none of it: one \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs 151,748 bytes gzipped whatever else the page does, which is 8 times the median family measured above. The styled tier imports the family it extends instead, all 100 of them, and the check refuses the shape rather than the package name, so the rule follows \`sideEffects\` wherever it goes.
1945
1966
 
1946
- The headless tier never had the problem, and it is the control: \`@fusion.dev/helix-core\` is \`sideEffects: false\`, and a headless family is a median of 18,820 bytes gzipped alone.
1967
+ The headless tier never had the problem, and it is the control: \`@fusion.dev/helix-core\` is \`sideEffects: false\`, and a headless family is a median of 19,928 bytes gzipped alone.
1947
1968
 
1948
1969
  ## Against other systems
1949
1970
 
@@ -1955,43 +1976,43 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by \`
1955
1976
 
1956
1977
  | Component | System | Raw | Gzip | Brotli |
1957
1978
  |---|---|---|---|---|
1958
- | \`button\` | **Helix** | 37,405 | 11,546 | 10,175 |
1979
+ | \`button\` | **Helix** | 38,634 | 11,831 | 10,427 |
1959
1980
  | | Carbon | 133,058 | 20,959 | 17,685 |
1960
1981
  | | Material Web | 47,060 | 14,173 | 12,591 |
1961
1982
  | | Shoelace | 62,628 | 18,287 | 15,805 |
1962
1983
  | | Spectrum | 98,792 | 22,045 | 18,674 |
1963
- | \`checkbox\` | **Helix** | 40,733 | 12,575 | 11,075 |
1984
+ | \`checkbox\` | **Helix** | 41,962 | 12,848 | 11,331 |
1964
1985
  | | Carbon | 60,255 | 15,609 | 13,550 |
1965
1986
  | | Material Web | 43,785 | 13,556 | 12,015 |
1966
1987
  | | Shoelace | 47,614 | 15,177 | 13,301 |
1967
1988
  | | Spectrum | 62,492 | 15,437 | 13,481 |
1968
- | \`dialog\` | **Helix** | 34,819 | 11,243 | 9,909 |
1989
+ | \`dialog\` | **Helix** | 36,048 | 11,505 | 10,181 |
1969
1990
  | | Carbon | 510,866 | 67,390 | 39,189 |
1970
1991
  | | Material Web | 34,238 | 11,510 | 10,229 |
1971
1992
  | | Shoelace | 52,754 | 17,698 | 15,554 |
1972
1993
  | | Spectrum | 155,708 | 31,899 | 26,262 |
1973
- | \`radio\` | **Helix** | 43,537 | 12,855 | 11,332 |
1994
+ | \`radio\` | **Helix** | 44,766 | 13,120 | 11,563 |
1974
1995
  | | Carbon | 63,055 | 16,887 | 14,605 |
1975
1996
  | | Material Web | 41,044 | 13,234 | 11,757 |
1976
1997
  | | Shoelace | 34,865 | 12,027 | 10,559 |
1977
1998
  | | Spectrum | 38,685 | 10,660 | 9,370 |
1978
- | \`switch\` | **Helix** | 38,602 | 12,159 | 10,741 |
1999
+ | \`switch\` | **Helix** | 39,831 | 12,428 | 10,949 |
1979
2000
  | | Carbon | 69,423 | 17,127 | 14,764 |
1980
2001
  | | Material Web | 50,155 | 14,577 | 12,935 |
1981
2002
  | | Shoelace | 37,833 | 11,814 | 10,568 |
1982
2003
  | | Spectrum | 62,322 | 15,059 | 13,321 |
1983
- | \`tabs\` | **Helix** | 40,196 | 12,348 | 10,882 |
2004
+ | \`tabs\` | **Helix** | 41,425 | 12,614 | 11,091 |
1984
2005
  | | Carbon | 578,766 | 73,537 | 43,235 |
1985
2006
  | | Material Web | 38,883 | 12,820 | 11,368 |
1986
2007
  | | Shoelace | 54,573 | 17,140 | 15,068 |
1987
2008
  | | Spectrum | 64,875 | 18,298 | 16,283 |
1988
- | \`tooltip\` | **Helix** | 60,498 | 20,576 | 18,184 |
2009
+ | \`tooltip\` | **Helix** | 61,748 | 20,840 | 18,403 |
1989
2010
  | | Carbon | 189,382 | 30,354 | 22,273 |
1990
2011
  | | Material Web | | not shipped | |
1991
2012
  | | Shoelace | 57,412 | 20,220 | 17,933 |
1992
2013
  | | Spectrum | 136,599 | 40,552 | 35,286 |
1993
2014
 
1994
- **Where Helix loses**, which is the half of a comparison table worth reading: \`radio\`, \`switch\`, \`tooltip\`. The largest gap is radio against Spectrum, by 2,195 bytes gzipped. 4 of 28 peer measurements come in under ours.
2015
+ **Where Helix loses**, which is the half of a comparison table worth reading: \`radio\`, \`switch\`, \`tooltip\`. The largest gap is radio against Spectrum, by 2,460 bytes gzipped. 4 of 28 peer measurements come in under ours.
1995
2016
 
1996
2017
  - **Carbon** \`@carbon/web-components@2.61.0\`. Its dialog is Modal, its radio is Radio Button, and its switch is Toggle.
1997
2018
  - **Material Web** \`@material/web@2.5.0\`. Ships no tooltip. Its button is measured as the filled one, there being no single button element.
@@ -2036,95 +2057,100 @@ Structure, accessibility, state and form participation. No presentation, and no
2036
2057
 
2037
2058
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
2038
2059
  |---|---|---|---|---|---|---|
2039
- | \`accordion\` | 77,373 | 25,872 | 21,186 | 3,228 | 901 | 740 |
2040
- | \`announcement\` | 75,404 | 25,289 | 20,723 | 1,374 | 383 | 339 |
2041
- | \`app-header\` | 27,425 | 9,322 | 8,205 | 1,248 | 331 | 220 |
2042
- | \`avatar\` | 28,859 | 9,794 | 8,642 | 2,642 | 758 | 652 |
2043
- | \`badge\` | 26,961 | 9,260 | 8,161 | 1,162 | 299 | 295 |
2044
- | \`bar-chart\` | 71,762 | 24,550 | 21,701 | 12,488 | 3,685 | 3,025 |
2045
- | \`blockquote\` | 26,839 | 9,232 | 8,140 | 917 | 222 | 170 |
2046
- | \`breadcrumbs\` | 75,025 | 24,906 | 20,552 | 1,956 | 455 | 341 |
2047
- | \`button\` | 31,312 | 10,445 | 9,216 | 3,168 | 848 | 684 |
2048
- | \`button-group\` | 26,832 | 9,170 | 8,068 | 661 | 145 | 29 |
2049
- | \`callout\` | 74,155 | 24,779 | 20,462 | 912 | 244 | 262 |
2050
- | \`card\` | 26,866 | 9,186 | 8,102 | 694 | 160 | 103 |
2051
- | \`carousel\` | 80,904 | 26,792 | 22,106 | 7,684 | 2,010 | 1,677 |
2052
- | \`chat\` | 85,008 | 28,081 | 23,113 | 9,592 | 2,468 | 2,000 |
2053
- | \`checkbox\` | 34,646 | 11,172 | 9,831 | 2,253 | 673 | 421 |
2054
- | \`checkbox-group\` | 37,568 | 11,801 | 10,426 | 4,656 | 1,261 | 916 |
2055
- | \`code\` | 25,451 | 8,754 | 7,715 | 451 | 81 | 48 |
2056
- | \`code-block\` | 113,692 | 38,111 | 31,973 | 12,790 | 3,143 | 2,660 |
2057
- | \`color-input\` | 131,269 | 42,754 | 36,060 | 26,064 | 6,663 | 5,727 |
2058
- | \`color-picker\` | 100,398 | 32,507 | 26,725 | 19,490 | 5,236 | 4,522 |
2059
- | \`combobox\` | 129,150 | 41,795 | 35,051 | 20,225 | 4,939 | 4,167 |
2060
- | \`command\` | 100,718 | 32,097 | 26,349 | 17,341 | 4,412 | 3,670 |
2061
- | \`copy-button\` | 112,372 | 37,841 | 31,814 | 11,471 | 2,883 | 2,388 |
2062
- | \`data-table\` | 149,954 | 47,589 | 40,032 | 39,656 | 9,922 | 8,467 |
2063
- | \`date-input\` | 125,921 | 41,093 | 34,520 | 19,264 | 4,853 | 4,138 |
2064
- | \`date-picker\` | 85,626 | 28,307 | 23,254 | 9,803 | 2,735 | 2,272 |
2065
- | \`dialog\` | 30,484 | 10,235 | 9,019 | 2,717 | 828 | 573 |
2066
- | \`divider\` | 27,036 | 9,307 | 8,174 | 1,115 | 293 | 211 |
2067
- | \`donut-chart\` | 67,672 | 23,131 | 20,423 | 9,748 | 2,852 | 2,411 |
2068
- | \`drawer\` | 29,268 | 9,874 | 8,685 | 1,792 | 502 | 375 |
2069
- | \`drilldown\` | 80,657 | 26,901 | 22,031 | 5,057 | 1,370 | 1,089 |
2070
- | \`empty\` | 26,988 | 9,226 | 8,147 | 816 | 195 | 184 |
2071
- | \`file-input\` | 85,388 | 28,283 | 23,130 | 6,215 | 1,791 | 1,419 |
2072
- | \`filter-input\` | 112,620 | 37,846 | 31,717 | 6,637 | 1,935 | 1,629 |
2073
- | \`format-date\` | 30,381 | 10,333 | 9,146 | 2,803 | 699 | 508 |
2074
- | \`heatmap\` | 69,136 | 23,403 | 20,699 | 11,038 | 3,090 | 2,454 |
2075
- | \`icon\` | 73,561 | 24,524 | 20,254 | 850 | 196 | 169 |
2076
- | \`icon-button\` | 31,711 | 10,475 | 9,230 | 3,567 | 888 | 703 |
2077
- | \`image\` | 28,816 | 9,691 | 8,518 | 2,967 | 798 | 610 |
2078
- | \`input\` | 84,755 | 27,962 | 22,850 | 4,795 | 1,360 | 1,160 |
2079
- | \`kbd\` | 28,706 | 9,926 | 8,748 | 2,897 | 1,014 | 763 |
2080
- | \`legend\` | 29,187 | 10,066 | 8,845 | 1,097 | 308 | 261 |
2081
- | \`line-chart\` | 69,788 | 23,947 | 21,196 | 10,515 | 3,074 | 2,580 |
2082
- | \`list\` | 27,887 | 9,360 | 8,245 | 1,728 | 365 | 316 |
2083
- | \`listbox\` | 92,591 | 30,290 | 24,790 | 10,701 | 2,934 | 2,420 |
2084
- | \`loader\` | 27,072 | 9,293 | 8,182 | 900 | 231 | 232 |
2085
- | \`megamenu\` | 55,893 | 19,552 | 17,265 | 4,932 | 1,358 | 1,032 |
2086
- | \`menu\` | 110,750 | 37,578 | 31,447 | 8,559 | 2,123 | 1,662 |
2087
- | \`meter\` | 29,964 | 10,079 | 8,879 | 3,801 | 989 | 846 |
2088
- | \`navigation\` | 28,831 | 9,815 | 8,680 | 1,582 | 404 | 284 |
2089
- | \`notifications\` | 84,980 | 28,157 | 23,149 | 8,638 | 2,194 | 1,829 |
2090
- | \`number-input\` | 86,974 | 28,552 | 23,346 | 7,101 | 1,950 | 1,531 |
2091
- | \`option\` | 28,875 | 9,651 | 8,521 | 2,707 | 614 | 483 |
2092
- | \`outline\` | 31,837 | 10,811 | 9,517 | 4,537 | 1,356 | 1,008 |
2093
- | \`pagination\` | 132,446 | 42,357 | 35,481 | 26,121 | 6,042 | 5,094 |
2094
- | \`pin-input\` | 37,535 | 12,009 | 10,627 | 5,135 | 1,528 | 1,206 |
2095
- | \`popover\` | 53,190 | 18,820 | 16,606 | 1,986 | 549 | 410 |
2096
- | \`progress\` | 28,113 | 9,566 | 8,450 | 1,951 | 494 | 443 |
2097
- | \`qr-code\` | 38,587 | 13,554 | 11,997 | 12,808 | 4,637 | 4,047 |
2098
- | \`quote\` | 26,355 | 9,041 | 7,964 | 552 | 143 | 162 |
2099
- | \`radio\` | 35,999 | 11,457 | 10,117 | 3,138 | 856 | 585 |
2100
- | \`rating\` | 38,033 | 12,238 | 10,784 | 5,615 | 1,612 | 1,266 |
2101
- | \`scroll-area\` | 28,465 | 9,748 | 8,556 | 2,610 | 797 | 623 |
2102
- | \`select\` | 121,609 | 40,066 | 33,502 | 15,413 | 3,883 | 3,288 |
2103
- | \`skeleton\` | 25,544 | 8,786 | 7,725 | 544 | 112 | 85 |
2104
- | \`slider\` | 37,896 | 12,065 | 10,659 | 5,251 | 1,482 | 1,259 |
2105
- | \`sparkline\` | 31,645 | 11,088 | 9,794 | 2,531 | 856 | 686 |
2106
- | \`speed-dial\` | 102,854 | 35,356 | 29,669 | 3,822 | 984 | 715 |
2107
- | \`splitter\` | 36,329 | 11,667 | 10,338 | 10,163 | 2,579 | 2,184 |
2108
- | \`stat\` | 27,320 | 9,222 | 8,136 | 1,151 | 212 | 150 |
2109
- | \`steps\` | 82,898 | 27,313 | 22,416 | 6,302 | 1,537 | 1,207 |
2110
- | \`switch\` | 34,314 | 11,106 | 9,826 | 1,798 | 561 | 357 |
2111
- | \`table\` | 31,861 | 10,274 | 9,086 | 4,371 | 1,040 | 764 |
2112
- | \`tabs\` | 33,935 | 11,060 | 9,721 | 4,470 | 1,018 | 824 |
2113
- | \`tag\` | 74,439 | 24,890 | 20,452 | 897 | 202 | 130 |
2114
- | \`textarea\` | 37,001 | 11,743 | 10,362 | 4,116 | 1,161 | 831 |
2115
- | \`time-input\` | 138,189 | 44,304 | 37,149 | 28,704 | 7,081 | 6,043 |
2116
- | \`time-picker\` | 100,612 | 32,667 | 26,835 | 18,178 | 4,958 | 4,192 |
2117
- | \`timeline\` | 74,971 | 24,867 | 20,572 | 1,897 | 425 | 311 |
2118
- | \`toast\` | 78,169 | 25,971 | 21,309 | 4,008 | 976 | 784 |
2119
- | \`toggle\` | 38,231 | 12,109 | 10,660 | 3,929 | 1,054 | 778 |
2120
- | \`toolbar\` | 28,734 | 9,827 | 8,655 | 2,932 | 935 | 650 |
2121
- | \`tooltip\` | 56,933 | 19,770 | 17,504 | 6,217 | 1,725 | 1,351 |
2122
- | \`tour\` | 61,947 | 20,874 | 18,463 | 10,269 | 2,529 | 2,015 |
2123
- | \`tree\` | 84,423 | 27,911 | 22,833 | 7,052 | 1,930 | 1,584 |
2124
- | \`trend\` | 73,764 | 24,631 | 20,344 | 1,056 | 289 | 295 |
2125
- | \`video\` | 134,131 | 43,126 | 36,304 | 31,689 | 7,372 | 6,518 |
2126
- | \`video-playlist\` | 118,199 | 39,196 | 32,825 | 14,605 | 3,364 | 2,850 |
2127
- | \`virtual-list\` | 31,983 | 10,952 | 9,662 | 2,358 | 730 | 628 |
2060
+ | \`accordion\` | 78,602 | 26,162 | 21,408 | 3,228 | 883 | 599 |
2061
+ | \`announcement\` | 76,633 | 25,591 | 20,979 | 1,374 | 389 | 235 |
2062
+ | \`app-header\` | 28,654 | 9,599 | 8,484 | 1,248 | 324 | 220 |
2063
+ | \`area-chart\` | 71,702 | 24,573 | 21,752 | 10,966 | 3,334 | 2,751 |
2064
+ | \`avatar\` | 30,381 | 10,148 | 8,973 | 2,935 | 858 | 584 |
2065
+ | \`badge\` | 28,190 | 9,535 | 8,382 | 1,162 | 300 | 207 |
2066
+ | \`bar-chart\` | 73,160 | 24,865 | 21,990 | 12,509 | 3,667 | 3,087 |
2067
+ | \`blockquote\` | 28,068 | 9,501 | 8,363 | 917 | 230 | 137 |
2068
+ | \`breadcrumbs\` | 76,254 | 25,219 | 20,772 | 1,956 | 441 | 323 |
2069
+ | \`button\` | 32,541 | 10,717 | 9,426 | 3,168 | 831 | 672 |
2070
+ | \`button-group\` | 28,061 | 9,448 | 8,321 | 661 | 140 | 22 |
2071
+ | \`callout\` | 75,384 | 25,086 | 20,706 | 912 | 245 | 167 |
2072
+ | \`card\` | 28,095 | 9,459 | 8,325 | 694 | 152 | -18 |
2073
+ | \`carousel\` | 82,528 | 27,218 | 22,428 | 8,079 | 2,102 | 1,613 |
2074
+ | \`chat\` | 98,046 | 32,580 | 26,781 | 16,967 | 4,941 | 4,062 |
2075
+ | \`checkbox\` | 35,875 | 11,445 | 10,107 | 2,253 | 663 | 463 |
2076
+ | \`checkbox-group\` | 38,974 | 12,099 | 10,683 | 4,833 | 1,279 | 863 |
2077
+ | \`code\` | 26,680 | 9,030 | 7,937 | 451 | 80 | -25 |
2078
+ | \`code-block\` | 118,625 | 39,681 | 33,397 | 16,494 | 4,369 | 3,702 |
2079
+ | \`color-input\` | 132,540 | 43,024 | 36,168 | 26,106 | 6,646 | 5,596 |
2080
+ | \`color-picker\` | 101,669 | 32,821 | 26,988 | 19,532 | 5,238 | 4,464 |
2081
+ | \`combobox\` | 130,751 | 42,177 | 35,346 | 20,495 | 5,027 | 4,235 |
2082
+ | \`command\` | 102,317 | 32,488 | 26,592 | 17,609 | 4,472 | 3,713 |
2083
+ | \`copy-button\` | 113,622 | 38,118 | 32,024 | 11,492 | 2,879 | 2,305 |
2084
+ | \`data-table\` | 166,227 | 51,528 | 43,302 | 52,840 | 13,364 | 11,116 |
2085
+ | \`date-input\` | 127,150 | 41,334 | 34,675 | 19,264 | 4,844 | 4,187 |
2086
+ | \`date-picker\` | 86,855 | 28,620 | 23,518 | 9,803 | 2,720 | 2,174 |
2087
+ | \`description-list\` | 28,164 | 9,399 | 8,277 | 1,135 | 188 | 88 |
2088
+ | \`dialog\` | 31,713 | 10,498 | 9,262 | 2,717 | 821 | 609 |
2089
+ | \`divider\` | 28,265 | 9,573 | 8,404 | 1,115 | 292 | 146 |
2090
+ | \`donut-chart\` | 69,070 | 23,450 | 20,784 | 9,769 | 2,845 | 2,336 |
2091
+ | \`drawer\` | 30,497 | 10,146 | 8,899 | 1,792 | 509 | 335 |
2092
+ | \`drilldown\` | 81,988 | 27,190 | 22,280 | 5,057 | 1,349 | 1,049 |
2093
+ | \`empty\` | 28,217 | 9,502 | 8,369 | 816 | 186 | 59 |
2094
+ | \`file-input\` | 86,617 | 28,565 | 23,347 | 6,215 | 1,759 | 1,370 |
2095
+ | \`filter-input\` | 140,790 | 44,876 | 37,603 | 27,466 | 6,677 | 5,660 |
2096
+ | \`format-date\` | 31,674 | 10,615 | 9,402 | 2,867 | 717 | 511 |
2097
+ | \`heatmap\` | 70,534 | 23,725 | 20,955 | 11,059 | 3,094 | 2,505 |
2098
+ | \`icon\` | 74,790 | 24,844 | 20,463 | 850 | 197 | 69 |
2099
+ | \`icon-button\` | 32,940 | 10,746 | 9,463 | 3,567 | 867 | 630 |
2100
+ | \`image\` | 30,179 | 10,000 | 8,815 | 3,101 | 830 | 567 |
2101
+ | \`input\` | 85,984 | 28,252 | 23,065 | 4,795 | 1,352 | 933 |
2102
+ | \`kbd\` | 30,014 | 10,221 | 9,000 | 2,976 | 1,038 | 791 |
2103
+ | \`legend\` | 30,564 | 10,385 | 9,130 | 1,097 | 308 | 152 |
2104
+ | \`line-chart\` | 71,186 | 24,266 | 21,437 | 10,536 | 3,065 | 2,533 |
2105
+ | \`list\` | 29,116 | 9,635 | 8,477 | 1,728 | 354 | 288 |
2106
+ | \`listbox\` | 94,013 | 30,632 | 25,070 | 10,792 | 2,953 | 2,369 |
2107
+ | \`loader\` | 28,301 | 9,567 | 8,443 | 900 | 221 | 64 |
2108
+ | \`megamenu\` | 57,122 | 19,814 | 17,501 | 4,932 | 1,348 | 1,061 |
2109
+ | \`menu\` | 112,431 | 37,994 | 31,798 | 8,909 | 2,225 | 1,766 |
2110
+ | \`meter\` | 31,193 | 10,350 | 9,130 | 3,801 | 976 | 832 |
2111
+ | \`navigation\` | 30,060 | 10,085 | 8,894 | 1,582 | 405 | 247 |
2112
+ | \`notifications\` | 90,763 | 29,445 | 24,215 | 11,897 | 2,823 | 2,302 |
2113
+ | \`number-input\` | 88,460 | 28,896 | 23,609 | 7,358 | 1,986 | 1,511 |
2114
+ | \`object-inspector\` | 124,946 | 41,679 | 35,058 | 18,555 | 4,982 | 4,151 |
2115
+ | \`option\` | 30,108 | 9,930 | 8,756 | 2,711 | 597 | 416 |
2116
+ | \`outline\` | 33,475 | 11,211 | 9,887 | 4,946 | 1,476 | 1,129 |
2117
+ | \`pagination\` | 133,865 | 42,664 | 35,769 | 26,209 | 6,077 | 5,084 |
2118
+ | \`pin-input\` | 38,764 | 12,290 | 10,842 | 5,135 | 1,519 | 1,115 |
2119
+ | \`popover\` | 54,419 | 19,079 | 16,841 | 1,986 | 549 | 343 |
2120
+ | \`progress\` | 29,342 | 9,842 | 8,670 | 1,951 | 492 | 389 |
2121
+ | \`qr-code\` | 39,989 | 13,875 | 12,254 | 12,981 | 4,675 | 4,019 |
2122
+ | \`quote\` | 27,584 | 9,317 | 8,204 | 552 | 130 | -23 |
2123
+ | \`radio\` | 37,228 | 11,723 | 10,305 | 3,138 | 846 | 601 |
2124
+ | \`rating\` | 39,453 | 12,569 | 11,083 | 5,806 | 1,675 | 1,283 |
2125
+ | \`scatter-chart\` | 70,955 | 24,148 | 21,272 | 11,089 | 3,313 | 2,659 |
2126
+ | \`scroll-area\` | 29,694 | 10,012 | 8,810 | 2,610 | 786 | 533 |
2127
+ | \`select\` | 123,028 | 40,344 | 33,731 | 15,501 | 3,901 | 3,197 |
2128
+ | \`skeleton\` | 26,773 | 9,063 | 7,978 | 544 | 111 | 8 |
2129
+ | \`skip-link\` | 28,256 | 9,579 | 8,420 | 1,226 | 379 | 216 |
2130
+ | \`slider\` | 39,125 | 12,337 | 10,909 | 5,251 | 1,471 | 1,132 |
2131
+ | \`sparkline\` | 33,022 | 11,405 | 10,044 | 2,531 | 836 | 594 |
2132
+ | \`speed-dial\` | 104,129 | 35,636 | 29,901 | 3,868 | 994 | 658 |
2133
+ | \`splitter\` | 37,558 | 11,936 | 10,565 | 10,163 | 2,557 | 2,099 |
2134
+ | \`stat\` | 28,549 | 9,500 | 8,361 | 1,151 | 199 | 49 |
2135
+ | \`steps\` | 84,245 | 27,640 | 22,680 | 6,324 | 1,533 | 1,202 |
2136
+ | \`switch\` | 35,543 | 11,383 | 10,032 | 1,798 | 568 | 381 |
2137
+ | \`table\` | 82,919 | 27,357 | 22,356 | 7,091 | 1,863 | 1,478 |
2138
+ | \`tabs\` | 35,164 | 11,328 | 9,971 | 4,470 | 1,006 | 681 |
2139
+ | \`tag\` | 75,668 | 25,190 | 20,655 | 897 | 200 | 71 |
2140
+ | \`textarea\` | 38,230 | 12,021 | 10,572 | 4,116 | 1,156 | 798 |
2141
+ | \`time-input\` | 139,733 | 44,615 | 37,411 | 28,917 | 7,132 | 6,052 |
2142
+ | \`time-picker\` | 102,156 | 33,020 | 27,100 | 18,391 | 4,986 | 4,130 |
2143
+ | \`timeline\` | 76,200 | 25,178 | 20,771 | 1,897 | 417 | 346 |
2144
+ | \`toast\` | 79,398 | 26,271 | 21,504 | 4,008 | 951 | 714 |
2145
+ | \`toggle\` | 39,460 | 12,372 | 10,948 | 3,929 | 1,037 | 683 |
2146
+ | \`toolbar\` | 29,963 | 10,094 | 8,887 | 2,932 | 932 | 656 |
2147
+ | \`tooltip\` | 58,183 | 20,042 | 17,752 | 6,238 | 1,725 | 1,336 |
2148
+ | \`tour\` | 63,648 | 21,294 | 18,865 | 10,645 | 2,645 | 2,152 |
2149
+ | \`tree\` | 85,834 | 28,258 | 23,055 | 7,132 | 1,951 | 1,506 |
2150
+ | \`trend\` | 74,993 | 24,944 | 20,646 | 1,056 | 291 | 211 |
2151
+ | \`video\` | 136,374 | 43,719 | 36,844 | 32,601 | 7,631 | 6,679 |
2152
+ | \`video-playlist\` | 119,880 | 39,602 | 33,192 | 14,955 | 3,471 | 2,894 |
2153
+ | \`virtual-list\` | 33,843 | 11,381 | 10,045 | 2,509 | 777 | 573 |
2128
2154
 
2129
2155
  ### Styled tier
2130
2156
 
@@ -2132,101 +2158,106 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
2132
2158
 
2133
2159
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
2134
2160
  |---|---|---|---|---|---|---|
2135
- | \`accordion\` | 80,591 | 26,672 | 21,819 | 6,431 | 1,679 | 1,397 |
2136
- | \`announcement\` | 79,200 | 26,190 | 21,495 | 5,154 | 1,266 | 1,098 |
2137
- | \`app-header\` | 30,683 | 10,087 | 8,885 | 4,489 | 1,096 | 862 |
2138
- | \`aura\` | 87,842 | 30,863 | 26,680 | 60,880 | 21,428 | 18,522 |
2139
- | \`avatar\` | 32,433 | 10,538 | 9,281 | 6,203 | 1,522 | 1,231 |
2140
- | \`badge\` | 30,065 | 9,970 | 8,761 | 4,249 | 1,014 | 835 |
2141
- | \`bar-chart\` | 87,351 | 27,295 | 24,040 | 28,057 | 6,473 | 5,517 |
2142
- | \`blockquote\` | 28,015 | 9,529 | 8,383 | 2,077 | 547 | 453 |
2143
- | \`breadcrumbs\` | 78,415 | 25,683 | 21,265 | 5,331 | 1,218 | 1,015 |
2144
- | \`button\` | 37,405 | 11,546 | 10,175 | 9,243 | 1,971 | 1,633 |
2145
- | \`button-group\` | 28,508 | 9,547 | 8,419 | 2,320 | 538 | 412 |
2146
- | \`callout\` | 76,172 | 25,338 | 20,952 | 2,913 | 784 | 674 |
2147
- | \`card\` | 30,099 | 10,015 | 8,818 | 3,915 | 978 | 788 |
2148
- | \`carousel\` | 90,758 | 28,397 | 23,548 | 17,527 | 3,590 | 3,007 |
2149
- | \`chat\` | 97,033 | 30,305 | 25,056 | 21,606 | 4,618 | 3,949 |
2150
- | \`checkbox\` | 40,733 | 12,575 | 11,075 | 8,324 | 2,066 | 1,759 |
2151
- | \`checkbox-group\` | 39,815 | 12,374 | 10,903 | 6,889 | 1,839 | 1,424 |
2152
- | \`code\` | 26,546 | 9,065 | 7,981 | 1,529 | 392 | 354 |
2153
- | \`code-block\` | 126,792 | 40,279 | 33,837 | 25,868 | 5,235 | 4,499 |
2154
- | \`color-input\` | 162,851 | 47,582 | 40,143 | 57,629 | 11,489 | 9,916 |
2155
- | \`color-picker\` | 126,690 | 36,663 | 30,481 | 45,776 | 9,442 | 8,173 |
2156
- | \`combobox\` | 143,386 | 44,345 | 37,183 | 34,442 | 7,453 | 6,386 |
2157
- | \`command\` | 111,027 | 34,077 | 28,141 | 27,635 | 6,401 | 5,520 |
2158
- | \`copy-button\` | 122,914 | 39,691 | 33,321 | 21,995 | 4,637 | 3,954 |
2159
- | \`data-table\` | 178,487 | 51,951 | 43,764 | 68,169 | 14,324 | 12,283 |
2160
- | \`date-input\` | 141,411 | 44,013 | 37,024 | 34,728 | 7,723 | 6,644 |
2161
- | \`date-picker\` | 91,241 | 29,482 | 24,305 | 15,400 | 3,884 | 3,252 |
2162
- | \`dialog\` | 34,819 | 11,243 | 9,909 | 7,037 | 1,841 | 1,507 |
2163
- | \`divider\` | 29,181 | 9,820 | 8,635 | 3,243 | 811 | 678 |
2164
- | \`donut-chart\` | 79,399 | 25,131 | 22,233 | 21,458 | 4,923 | 4,089 |
2165
- | \`drawer\` | 33,140 | 10,768 | 9,487 | 5,647 | 1,410 | 1,207 |
2166
- | \`drilldown\` | 85,015 | 27,868 | 22,914 | 9,402 | 2,310 | 1,875 |
2167
- | \`empty\` | 28,295 | 9,601 | 8,463 | 2,107 | 563 | 454 |
2168
- | \`file-input\` | 96,102 | 30,451 | 25,071 | 16,922 | 3,890 | 3,329 |
2169
- | \`filter-input\` | 127,135 | 40,741 | 34,245 | 21,133 | 4,692 | 3,952 |
2170
- | \`flex\` | 27,799 | 9,392 | 8,240 | 1,987 | 466 | 396 |
2171
- | \`format-date\` | 31,029 | 10,471 | 9,280 | 3,433 | 859 | 696 |
2172
- | \`grid\` | 28,326 | 9,564 | 8,449 | 2,511 | 631 | 622 |
2173
- | \`heatmap\` | 72,928 | 24,253 | 21,489 | 14,812 | 3,961 | 3,252 |
2174
- | \`icon\` | 74,256 | 24,701 | 20,369 | 1,528 | 360 | 278 |
2175
- | \`icon-button\` | 37,726 | 11,481 | 10,096 | 9,568 | 1,896 | 1,529 |
2176
- | \`image\` | 30,564 | 10,174 | 8,943 | 4,697 | 1,273 | 960 |
2177
- | \`input\` | 90,859 | 29,274 | 23,952 | 10,892 | 2,642 | 2,175 |
2178
- | \`kbd\` | 30,118 | 10,380 | 9,130 | 4,294 | 1,466 | 1,202 |
2179
- | \`legend\` | 34,021 | 11,147 | 9,781 | 5,924 | 1,440 | 1,095 |
2180
- | \`line-chart\` | 82,192 | 26,075 | 23,059 | 22,901 | 5,259 | 4,414 |
2181
- | \`list\` | 31,940 | 10,292 | 9,050 | 5,768 | 1,319 | 1,191 |
2182
- | \`listbox\` | 96,706 | 31,239 | 25,552 | 14,803 | 3,892 | 3,219 |
2183
- | \`loader\` | 30,078 | 10,034 | 8,834 | 3,891 | 957 | 834 |
2184
- | \`megamenu\` | 60,768 | 20,623 | 18,268 | 9,792 | 2,437 | 2,064 |
2185
- | \`menu\` | 117,415 | 39,032 | 32,686 | 15,206 | 3,521 | 2,992 |
2186
- | \`meter\` | 35,360 | 11,235 | 9,926 | 9,179 | 2,160 | 1,936 |
2187
- | \`navigation\` | 30,214 | 10,212 | 8,987 | 2,949 | 813 | 713 |
2188
- | \`notifications\` | 93,030 | 29,780 | 24,596 | 16,675 | 3,777 | 3,220 |
2189
- | \`number-input\` | 91,787 | 29,672 | 24,278 | 11,900 | 3,035 | 2,417 |
2190
- | \`option\` | 32,142 | 10,562 | 9,308 | 5,962 | 1,497 | 1,201 |
2191
- | \`orb\` | 35,668 | 12,611 | 11,162 | 9,445 | 3,512 | 2,984 |
2192
- | \`outline\` | 35,566 | 11,582 | 10,202 | 8,249 | 2,152 | 1,771 |
2193
- | \`pagination\` | 150,030 | 45,365 | 38,081 | 43,687 | 9,002 | 7,681 |
2194
- | \`pin-input\` | 40,647 | 12,800 | 11,309 | 8,230 | 2,331 | 1,872 |
2195
- | \`popover\` | 55,826 | 19,462 | 17,177 | 4,604 | 1,223 | 1,014 |
2196
- | \`progress\` | 33,160 | 10,749 | 9,508 | 6,980 | 1,670 | 1,472 |
2197
- | \`qr-code\` | 40,238 | 13,974 | 12,313 | 14,442 | 5,051 | 4,401 |
2198
- | \`quote\` | 27,030 | 9,207 | 8,088 | 1,211 | 327 | 249 |
2199
- | \`radio\` | 43,537 | 12,855 | 11,332 | 10,669 | 2,266 | 1,877 |
2200
- | \`rating\` | 41,008 | 13,169 | 11,612 | 8,572 | 2,520 | 2,071 |
2201
- | \`sandbox\` | 60,999 | 16,779 | 14,889 | 34,535 | 7,596 | 6,584 |
2202
- | \`scroll-area\` | 31,431 | 10,376 | 9,102 | 5,559 | 1,432 | 1,176 |
2203
- | \`select\` | 133,789 | 42,315 | 35,578 | 27,572 | 6,121 | 5,220 |
2204
- | \`skeleton\` | 28,062 | 9,544 | 8,416 | 2,242 | 613 | 513 |
2205
- | \`slider\` | 47,778 | 13,853 | 12,267 | 15,116 | 3,261 | 2,751 |
2206
- | \`sparkline\` | 35,411 | 12,016 | 10,618 | 6,285 | 1,794 | 1,551 |
2207
- | \`speed-dial\` | 110,306 | 36,805 | 30,886 | 11,252 | 2,334 | 1,979 |
2208
- | \`splitter\` | 42,441 | 12,678 | 11,269 | 16,257 | 3,594 | 3,014 |
2209
- | \`stat\` | 29,954 | 9,789 | 8,646 | 3,772 | 807 | 633 |
2210
- | \`steps\` | 96,254 | 29,675 | 24,434 | 19,646 | 3,868 | 3,276 |
2211
- | \`switch\` | 38,602 | 12,159 | 10,741 | 6,071 | 1,635 | 1,318 |
2212
- | \`table\` | 35,190 | 10,865 | 9,580 | 7,690 | 1,656 | 1,289 |
2213
- | \`tabs\` | 40,196 | 12,348 | 10,882 | 10,720 | 2,326 | 1,919 |
2214
- | \`tag\` | 77,632 | 25,755 | 21,150 | 4,075 | 1,034 | 912 |
2215
- | \`text\` | 29,734 | 9,670 | 8,508 | 3,923 | 809 | 634 |
2216
- | \`textarea\` | 40,350 | 12,544 | 11,034 | 7,448 | 1,979 | 1,530 |
2217
- | \`time-input\` | 158,723 | 47,719 | 40,129 | 49,223 | 10,483 | 9,011 |
2218
- | \`time-picker\` | 111,912 | 34,763 | 28,718 | 29,473 | 7,083 | 5,989 |
2219
- | \`timeline\` | 78,237 | 25,616 | 21,150 | 5,149 | 1,161 | 1,028 |
2220
- | \`toast\` | 85,469 | 27,600 | 22,735 | 11,293 | 2,556 | 2,150 |
2221
- | \`toggle\` | 43,264 | 13,266 | 11,722 | 8,954 | 2,208 | 1,762 |
2222
- | \`toolbar\` | 29,632 | 10,054 | 8,841 | 3,813 | 1,184 | 908 |
2223
- | \`tooltip\` | 60,498 | 20,576 | 18,184 | 9,764 | 2,508 | 2,094 |
2224
- | \`tour\` | 71,822 | 22,542 | 19,957 | 20,128 | 4,181 | 3,553 |
2225
- | \`tree\` | 89,446 | 29,091 | 23,871 | 12,063 | 3,109 | 2,562 |
2226
- | \`trend\` | 76,797 | 25,297 | 20,860 | 4,081 | 934 | 851 |
2227
- | \`video\` | 151,970 | 46,404 | 39,147 | 49,507 | 10,580 | 9,329 |
2228
- | \`video-playlist\` | 131,274 | 41,530 | 34,852 | 27,661 | 5,649 | 4,846 |
2229
- | \`virtual-list\` | 32,815 | 11,180 | 9,827 | 3,172 | 960 | 768 |
2161
+ | \`accordion\` | 81,963 | 26,979 | 22,089 | 6,574 | 1,692 | 1,240 |
2162
+ | \`announcement\` | 80,918 | 26,589 | 21,809 | 5,643 | 1,347 | 1,013 |
2163
+ | \`app-header\` | 32,306 | 10,433 | 9,188 | 4,883 | 1,163 | 848 |
2164
+ | \`area-chart\` | 81,744 | 26,377 | 23,270 | 20,990 | 5,190 | 4,308 |
2165
+ | \`aura\` | 89,071 | 31,128 | 26,936 | 60,880 | 21,432 | 18,433 |
2166
+ | \`avatar\` | 33,955 | 10,888 | 9,600 | 6,496 | 1,603 | 1,246 |
2167
+ | \`badge\` | 31,294 | 10,242 | 8,986 | 4,249 | 1,014 | 783 |
2168
+ | \`bar-chart\` | 88,622 | 27,632 | 24,302 | 27,952 | 6,471 | 5,440 |
2169
+ | \`blockquote\` | 29,244 | 9,798 | 8,633 | 2,077 | 543 | 442 |
2170
+ | \`breadcrumbs\` | 79,644 | 25,995 | 21,412 | 5,331 | 1,197 | 974 |
2171
+ | \`button\` | 38,634 | 11,831 | 10,427 | 9,243 | 1,951 | 1,567 |
2172
+ | \`button-group\` | 29,737 | 9,827 | 8,651 | 2,320 | 535 | 402 |
2173
+ | \`callout\` | 77,401 | 25,635 | 21,223 | 2,913 | 783 | 599 |
2174
+ | \`card\` | 31,328 | 10,287 | 9,066 | 3,915 | 970 | 784 |
2175
+ | \`carousel\` | 92,382 | 28,810 | 23,893 | 17,922 | 3,680 | 3,048 |
2176
+ | \`chat\` | 111,589 | 34,977 | 28,938 | 30,495 | 7,343 | 6,209 |
2177
+ | \`checkbox\` | 41,962 | 12,848 | 11,331 | 8,324 | 2,058 | 1,662 |
2178
+ | \`checkbox-group\` | 41,221 | 12,671 | 11,174 | 7,066 | 1,863 | 1,371 |
2179
+ | \`code\` | 27,775 | 9,337 | 8,239 | 1,529 | 385 | 289 |
2180
+ | \`code-block\` | 134,483 | 42,377 | 35,647 | 32,330 | 6,921 | 5,973 |
2181
+ | \`color-input\` | 164,122 | 47,824 | 40,399 | 57,671 | 11,513 | 9,936 |
2182
+ | \`color-picker\` | 127,961 | 36,973 | 30,710 | 45,818 | 9,455 | 8,177 |
2183
+ | \`combobox\` | 144,987 | 44,731 | 37,514 | 34,712 | 7,532 | 6,412 |
2184
+ | \`command\` | 112,626 | 34,463 | 28,344 | 27,903 | 6,453 | 5,508 |
2185
+ | \`copy-button\` | 124,164 | 39,968 | 33,627 | 22,016 | 4,631 | 3,937 |
2186
+ | \`data-table\` | 199,881 | 56,690 | 47,670 | 86,475 | 18,574 | 15,454 |
2187
+ | \`date-input\` | 142,640 | 44,260 | 37,217 | 34,728 | 7,699 | 6,716 |
2188
+ | \`date-picker\` | 92,470 | 29,789 | 24,571 | 15,400 | 3,862 | 3,365 |
2189
+ | \`description-list\` | 30,542 | 9,970 | 8,772 | 3,502 | 778 | 648 |
2190
+ | \`dialog\` | 36,048 | 11,505 | 10,181 | 7,037 | 1,836 | 1,498 |
2191
+ | \`divider\` | 30,410 | 10,091 | 8,854 | 3,243 | 814 | 600 |
2192
+ | \`donut-chart\` | 80,672 | 25,503 | 22,451 | 21,354 | 4,977 | 4,113 |
2193
+ | \`drawer\` | 34,369 | 11,035 | 9,736 | 5,647 | 1,396 | 1,166 |
2194
+ | \`drilldown\` | 86,346 | 28,167 | 23,111 | 9,402 | 2,279 | 1,818 |
2195
+ | \`empty\` | 29,524 | 9,877 | 8,689 | 2,107 | 564 | 456 |
2196
+ | \`file-input\` | 97,331 | 30,732 | 25,273 | 16,922 | 3,866 | 3,308 |
2197
+ | \`filter-input\` | 169,144 | 49,254 | 41,341 | 55,804 | 11,105 | 9,327 |
2198
+ | \`flex\` | 29,028 | 9,663 | 8,493 | 1,987 | 458 | 390 |
2199
+ | \`format-date\` | 32,322 | 10,759 | 9,547 | 3,497 | 873 | 676 |
2200
+ | \`grid\` | 29,555 | 9,837 | 8,659 | 2,511 | 636 | 521 |
2201
+ | \`heatmap\` | 77,875 | 25,170 | 22,262 | 18,382 | 4,556 | 3,734 |
2202
+ | \`icon\` | 75,485 | 25,018 | 20,638 | 1,528 | 368 | 260 |
2203
+ | \`icon-button\` | 38,955 | 11,764 | 10,349 | 9,568 | 1,887 | 1,551 |
2204
+ | \`image\` | 31,927 | 10,481 | 9,207 | 4,831 | 1,308 | 963 |
2205
+ | \`input\` | 92,088 | 29,558 | 24,216 | 10,892 | 2,624 | 2,151 |
2206
+ | \`kbd\` | 31,426 | 10,679 | 9,401 | 4,373 | 1,505 | 1,130 |
2207
+ | \`legend\` | 35,398 | 11,468 | 10,052 | 5,924 | 1,432 | 1,040 |
2208
+ | \`line-chart\` | 83,462 | 26,450 | 23,349 | 22,794 | 5,296 | 4,349 |
2209
+ | \`list\` | 33,169 | 10,567 | 9,321 | 5,768 | 1,306 | 1,115 |
2210
+ | \`listbox\` | 98,128 | 31,576 | 25,772 | 14,894 | 3,906 | 3,149 |
2211
+ | \`loader\` | 31,307 | 10,308 | 9,067 | 3,891 | 947 | 698 |
2212
+ | \`megamenu\` | 61,997 | 20,880 | 18,495 | 9,792 | 2,417 | 1,997 |
2213
+ | \`menu\` | 119,430 | 39,491 | 33,129 | 15,890 | 3,677 | 3,106 |
2214
+ | \`meter\` | 36,589 | 11,505 | 10,173 | 9,179 | 2,143 | 1,811 |
2215
+ | \`navigation\` | 31,441 | 10,481 | 9,213 | 2,947 | 815 | 531 |
2216
+ | \`notifications\` | 103,475 | 31,734 | 26,180 | 24,595 | 5,099 | 4,308 |
2217
+ | \`number-input\` | 93,273 | 30,016 | 24,583 | 12,157 | 3,071 | 2,494 |
2218
+ | \`object-inspector\` | 139,219 | 44,110 | 37,159 | 32,807 | 7,361 | 6,303 |
2219
+ | \`option\` | 33,375 | 10,839 | 9,558 | 5,966 | 1,491 | 1,159 |
2220
+ | \`orb\` | 36,897 | 12,890 | 11,419 | 9,445 | 3,494 | 2,943 |
2221
+ | \`outline\` | 37,204 | 11,985 | 10,595 | 8,658 | 2,267 | 1,802 |
2222
+ | \`pagination\` | 151,449 | 45,673 | 38,333 | 43,775 | 9,062 | 7,631 |
2223
+ | \`pin-input\` | 41,876 | 13,079 | 11,521 | 8,230 | 2,326 | 1,786 |
2224
+ | \`popover\` | 57,055 | 19,725 | 17,428 | 4,604 | 1,217 | 969 |
2225
+ | \`progress\` | 34,389 | 11,025 | 9,737 | 6,980 | 1,663 | 1,406 |
2226
+ | \`qr-code\` | 41,640 | 14,293 | 12,603 | 14,615 | 5,080 | 4,375 |
2227
+ | \`quote\` | 28,259 | 9,484 | 8,350 | 1,211 | 326 | 115 |
2228
+ | \`radio\` | 44,766 | 13,120 | 11,563 | 10,669 | 2,244 | 1,901 |
2229
+ | \`rating\` | 42,428 | 13,504 | 11,929 | 8,763 | 2,577 | 2,081 |
2230
+ | \`sandbox\` | 62,619 | 17,105 | 15,155 | 34,926 | 7,645 | 6,427 |
2231
+ | \`scatter-chart\` | 81,931 | 26,151 | 23,070 | 22,046 | 5,355 | 4,369 |
2232
+ | \`scroll-area\` | 32,660 | 10,647 | 9,332 | 5,559 | 1,430 | 1,082 |
2233
+ | \`select\` | 135,208 | 42,604 | 35,738 | 27,660 | 6,122 | 5,097 |
2234
+ | \`skeleton\` | 29,291 | 9,820 | 8,640 | 2,242 | 613 | 440 |
2235
+ | \`skip-link\` | 29,719 | 9,988 | 8,752 | 2,672 | 792 | 552 |
2236
+ | \`slider\` | 49,007 | 14,124 | 12,493 | 15,116 | 3,257 | 2,754 |
2237
+ | \`sparkline\` | 36,788 | 12,339 | 10,907 | 6,285 | 1,769 | 1,502 |
2238
+ | \`speed-dial\` | 111,581 | 37,082 | 31,152 | 11,298 | 2,340 | 1,848 |
2239
+ | \`splitter\` | 43,670 | 12,947 | 11,504 | 16,257 | 3,585 | 3,065 |
2240
+ | \`stat\` | 31,183 | 10,062 | 8,888 | 3,772 | 788 | 645 |
2241
+ | \`steps\` | 97,857 | 30,056 | 24,790 | 19,924 | 3,896 | 3,243 |
2242
+ | \`switch\` | 39,831 | 12,428 | 10,949 | 6,071 | 1,634 | 1,248 |
2243
+ | \`table\` | 87,523 | 28,265 | 23,193 | 11,687 | 2,747 | 2,226 |
2244
+ | \`tabs\` | 41,425 | 12,614 | 11,091 | 10,720 | 2,313 | 1,866 |
2245
+ | \`tag\` | 78,861 | 26,058 | 21,373 | 4,075 | 1,030 | 798 |
2246
+ | \`text\` | 31,014 | 9,956 | 8,736 | 3,976 | 820 | 586 |
2247
+ | \`textarea\` | 41,579 | 12,823 | 11,292 | 7,448 | 1,965 | 1,527 |
2248
+ | \`time-input\` | 160,267 | 48,017 | 40,390 | 49,436 | 10,542 | 9,014 |
2249
+ | \`time-picker\` | 113,456 | 35,107 | 28,968 | 29,686 | 7,111 | 5,997 |
2250
+ | \`timeline\` | 79,466 | 25,930 | 21,438 | 5,149 | 1,145 | 925 |
2251
+ | \`toast\` | 86,931 | 27,943 | 22,986 | 11,526 | 2,596 | 2,117 |
2252
+ | \`toggle\` | 44,493 | 13,530 | 11,975 | 8,954 | 2,195 | 1,700 |
2253
+ | \`toolbar\` | 31,255 | 10,390 | 9,147 | 4,207 | 1,248 | 906 |
2254
+ | \`tooltip\` | 61,748 | 20,840 | 18,403 | 9,785 | 2,504 | 2,015 |
2255
+ | \`tour\` | 73,523 | 22,991 | 20,306 | 20,504 | 4,296 | 3,659 |
2256
+ | \`tree\` | 90,857 | 29,438 | 24,151 | 12,143 | 3,117 | 2,512 |
2257
+ | \`trend\` | 78,026 | 25,605 | 21,170 | 4,081 | 916 | 828 |
2258
+ | \`video\` | 154,547 | 47,000 | 39,708 | 50,753 | 10,922 | 9,599 |
2259
+ | \`video-playlist\` | 133,289 | 41,974 | 35,281 | 28,345 | 5,810 | 4,934 |
2260
+ | \`virtual-list\` | 34,675 | 11,607 | 10,255 | 3,323 | 989 | 734 |
2230
2261
 
2231
2262
  ## What lands in \`node_modules\`
2232
2263
 
@@ -2238,12 +2269,12 @@ column is what was removed rather than part of what remains.
2238
2269
 
2239
2270
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
2240
2271
  |---|---|---|---|---|
2241
- | \`@fusion.dev/helix-core\` | 712,206 | 119 | 167,831 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
2242
- | \`@fusion.dev/helix-headless\` | 8,613,706 | 426 | 717,703 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
2272
+ | \`@fusion.dev/helix-core\` | 748,860 | 119 | 173,480 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
2273
+ | \`@fusion.dev/helix-headless\` | 10,340,958 | 462 | 844,553 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
2243
2274
  | \`@fusion.dev/helix-icons\` | 65,943 | 11 | 20,928 | none |
2244
- | \`@fusion.dev/helix-styles\` | 92,245 | 6 | 0 | none |
2245
- | \`@fusion.dev/helix-theme\` | 461,551 | 8 | 4,699 | none |
2246
- | \`@fusion.dev/helix\` | 9,621,104 | 734 | 309,756 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2275
+ | \`@fusion.dev/helix-styles\` | 100,938 | 6 | 0 | none |
2276
+ | \`@fusion.dev/helix-theme\` | 465,413 | 8 | 4,703 | none |
2277
+ | \`@fusion.dev/helix\` | 11,301,856 | 790 | 329,523 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2247
2278
 
2248
2279
  ## Not measured yet
2249
2280
 
@@ -2813,7 +2844,7 @@ Render it once in your layout. **Your pages stay server components.** An
2813
2844
  unregistered tag is an unknown element in the HTML that upgrades when the
2814
2845
  definition lands, so nothing about a server component needs to change.
2815
2846
 
2816
- ## There is no declarative shadow DOM
2847
+ ## Server components get no declarative shadow DOM
2817
2848
 
2818
2849
  A server component's output is replayed from the flight payload through DOM APIs
2819
2850
  rather than parsed as HTML, and declarative shadow DOM cannot activate for
@@ -2926,6 +2957,17 @@ scroll pays continuously. Where the effect is about depth rather than texture,
2926
2957
  Headings take the type scale, paragraphs take the measure and leading, lists and
2927
2958
  links and inline code all follow. See [Typography](./typography).
2928
2959
 
2960
+ If you own the markdown renderer, map two things to components, because markup
2961
+ can't carry what they need:
2962
+
2963
+ - **Fenced code** to \`helix-code-block\`, with the fence's language as its \`label\`.
2964
+ A \`<pre>\` has no label or copy button.
2965
+ - **Alerts** such as \`> [!WARNING]\` to \`helix-callout\`. A \`<blockquote>\` has no
2966
+ tone. \`NOTE\` and \`IMPORTANT\` become \`tone="info"\`, \`TIP\` becomes \`success\`,
2967
+ \`WARNING\` becomes \`warning\`, and \`CAUTION\` becomes \`danger\`.
2968
+
2969
+ Prose spaces each one the same as the element it replaces.
2970
+
2929
2971
  ## Region axes
2930
2972
 
2931
2973
  These two are API rather than styling, and they are the reason the base layer is
@@ -3280,8 +3322,61 @@ Before those two guards, neither component could be server-rendered at all. Both
3280
3322
  looked correct in every browser, because the client always has a root and always
3281
3323
  has a tree.
3282
3324
 
3283
- **Anything that inspects the tree runs in \`firstUpdated\` or later**, and is
3284
- therefore a client-side enhancement by definition.
3325
+ **Anything that inspects the tree reads it through \`this.knownChildren\`**, in
3326
+ \`willUpdate\` or in a getter the render calls. It is every child on a client and
3327
+ none on a server, so the server renders "not known yet" and the client's first
3328
+ render already has the answer. Reading after the render instead means two
3329
+ renders on every client, which Lit's dev build warns about.
3330
+
3331
+ Not known is not empty. \`this.childrenKnown\` is false on a server, and a list
3332
+ there doesn't render its "Nothing to show" over items it can't see.
3333
+
3334
+ ## Declarative shadow DOM
3335
+
3336
+ If you render with Lit SSR, its declarative shadow DOM hydrates. Load Lit's
3337
+ hydration support before the components:
3338
+
3339
+ \`\`\`ts
3340
+ import '@lit-labs/ssr-client/lit-element-hydrate-support.js'
3341
+ import '@fusion.dev/helix'
3342
+ \`\`\`
3343
+
3344
+ Hydration assumes the markup already shows the client's first render. A value
3345
+ that differs is never written, so the page keeps the server's, and a template
3346
+ that differs throws. So while hydrating, a component renders exactly what the
3347
+ server did, and anything it could only learn in a browser waits for the update
3348
+ after:
3349
+
3350
+ - \`this.hydrating\` is true for the render that hydrates.
3351
+ - \`this.knownChildren\` is empty during it, as on the server.
3352
+ - \`this.finishHydration()\`, called from \`firstUpdated\`, asks for the update that
3353
+ reads what was skipped.
3354
+
3355
+ Two things the platform does before any script can listen, and how components
3356
+ answer them:
3357
+
3358
+ - **A declarative shadow root reports its slots as it is parsed.** A component
3359
+ never learns what's slotted from \`slotchange\` alone. It reads its children
3360
+ first and uses \`slotchange\` for later changes.
3361
+ - **The parser fetches images.** A \`load\` or \`error\` can fire before hydration,
3362
+ so a component asks the image what happened (\`this.serverRendered\`) and relays
3363
+ the event a task later.
3364
+
3365
+ A component that assigns its slots by hand gets a root that can only assign by
3366
+ name, because HTML can't declare manual assignment. On such a root
3367
+ (\`this.assignsByName\`) it writes \`slot\` onto its children with \`this.route()\`,
3368
+ and only there.
3369
+
3370
+ A page's own scripts should run after the definitions load. That's the order
3371
+ hydration expects: a property set before hydration is one the server never
3372
+ rendered with.
3373
+
3374
+ \`bun run check:spec:dsd\` renders every example with Lit SSR, hydrates it in
3375
+ Chromium, and compares it with the same example rendered on a client.
3376
+
3377
+ React server components don't use any of this. Their output is replayed through
3378
+ DOM APIs, and DSD doesn't activate for nodes a script inserts. See
3379
+ [React](./react).
3285
3380
 
3286
3381
  ## Never initialize state in \`connectedCallback\`
3287
3382
 
@@ -4787,12 +4882,12 @@ import '@fusion.dev/helix' // ❌ the barrel
4787
4882
 
4788
4883
  One family per module, so you are not shipping the library to use a button.
4789
4884
 
4790
- ## There is no declarative shadow DOM
4885
+ ## Declarative shadow DOM is opt-in
4791
4886
 
4792
- Components render on the server through Lit SSR in our own tests, but the app
4793
- ships no DSD, and the shadow styles arrive with the definition rather than in
4794
- the markup. You do not need to configure anything for this; it is here so the
4795
- absence is not mistaken for something missing.
4887
+ The site ships no DSD, and the shadow styles arrive with the definition rather
4888
+ than in the markup. You don't need to configure anything for that. If you render
4889
+ with Lit SSR yourself, its declarative shadow DOM hydrates: see
4890
+ [Server rendering](./server-rendering).
4796
4891
 
4797
4892
  The short version of why: DSD cannot activate for script-inserted nodes, a
4798
4893
  server component's output is replayed from the flight payload through DOM APIs
@@ -4885,7 +4980,7 @@ vocabularies. You cannot invent a value, and a component may take a subset.
4885
4980
 
4886
4981
  | Axis | Values |
4887
4982
  |---|---|
4888
- | \`emphasis\` | \`ghost\`, \`outlined\`, \`solid\`, \`subtle\` |
4983
+ | \`emphasis\` | \`ghost\`, \`muted\`, \`outlined\`, \`solid\`, \`subtle\` |
4889
4984
  | \`material\` | \`frosted\`, \`glass\`, \`transparent\` |
4890
4985
  | \`separation\` | \`elevated\`, \`filled\`, \`outlined\`, \`plain\` |
4891
4986
  | \`tone\` | The status and intent words: \`primary\`, \`accent\`, \`neutral\`, \`danger\`, and so on |