@fusion.dev/helix-docs 0.24.0 → 0.25.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.
@@ -1922,7 +1922,7 @@ nobody ever downloads this floor on its own.
1922
1922
 
1923
1923
  | | Raw | Gzip | Brotli |
1924
1924
  |---|---|---|---|
1925
- | Lit and \`@fusion.dev/helix-core\` | 141,349 | 47,166 | 39,719 |
1925
+ | Lit and \`@fusion.dev/helix-core\` | 141,656 | 47,287 | 39,881 |
1926
1926
 
1927
1927
  ## Whole packages
1928
1928
 
@@ -1933,11 +1933,11 @@ repository does that. The per-component tables are what a page pays.
1933
1933
 
1934
1934
  | Package | Raw | Gzip | Brotli | |
1935
1935
  |---|---|---|---|---|
1936
- | \`@fusion.dev/helix-core\` | 140,903 | 46,714 | 39,533 | Element base class, mixins, decorators, floating positioning. |
1937
- | \`@fusion.dev/helix-headless\` | 590,435 | 151,207 | 117,546 | 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. |
1938
1938
  | \`@fusion.dev/helix-icons\` | 47,484 | 14,907 | 12,553 | The whole glyph set. |
1939
1939
  | \`@fusion.dev/helix-theme\` | 3,288 | 1,571 | 1,355 | The derivation engine. Build time for most consumers, runtime for a theme switcher. |
1940
- | \`@fusion.dev/helix\` | 1,070,627 | 247,094 | 179,192 | Every styled family. |
1940
+ | \`@fusion.dev/helix\` | 1,072,671 | 247,677 | 179,742 | Every styled family. |
1941
1941
  | \`lit\` | 15,394 | 6,118 | 5,460 | Not ours. Here so it can be subtracted from every row above it. |
1942
1942
 
1943
1943
  ## The stylesheets
@@ -1958,13 +1958,13 @@ is the whole cost of adopting the base layer on its own.
1958
1958
 
1959
1959
  ## What the numbers say
1960
1960
 
1961
- **Most of a first component is the runtime under it.** The median styled family is 18,404 bytes gzipped alone and adds 2,264 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.
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.
1962
1962
 
1963
- Across the tier: the cheapest is \`code\` at 9,326 gzipped alone, the dearest \`data-table\` at 56,688, over 100 components. Every family at once is 247,094.
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.
1964
1964
 
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,207 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.
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.
1966
1966
 
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,917 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.
1968
1968
 
1969
1969
  ## Against other systems
1970
1970
 
@@ -1976,43 +1976,43 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by \`
1976
1976
 
1977
1977
  | Component | System | Raw | Gzip | Brotli |
1978
1978
  |---|---|---|---|---|
1979
- | \`button\` | **Helix** | 38,590 | 11,816 | 10,415 |
1979
+ | \`button\` | **Helix** | 38,634 | 11,831 | 10,427 |
1980
1980
  | | Carbon | 133,058 | 20,959 | 17,685 |
1981
1981
  | | Material Web | 47,060 | 14,173 | 12,591 |
1982
1982
  | | Shoelace | 62,628 | 18,287 | 15,805 |
1983
1983
  | | Spectrum | 98,792 | 22,045 | 18,674 |
1984
- | \`checkbox\` | **Helix** | 41,918 | 12,833 | 11,305 |
1984
+ | \`checkbox\` | **Helix** | 41,962 | 12,848 | 11,331 |
1985
1985
  | | Carbon | 60,255 | 15,609 | 13,550 |
1986
1986
  | | Material Web | 43,785 | 13,556 | 12,015 |
1987
1987
  | | Shoelace | 47,614 | 15,177 | 13,301 |
1988
1988
  | | Spectrum | 62,492 | 15,437 | 13,481 |
1989
- | \`dialog\` | **Helix** | 36,004 | 11,491 | 10,169 |
1989
+ | \`dialog\` | **Helix** | 36,048 | 11,505 | 10,181 |
1990
1990
  | | Carbon | 510,866 | 67,390 | 39,189 |
1991
1991
  | | Material Web | 34,238 | 11,510 | 10,229 |
1992
1992
  | | Shoelace | 52,754 | 17,698 | 15,554 |
1993
1993
  | | Spectrum | 155,708 | 31,899 | 26,262 |
1994
- | \`radio\` | **Helix** | 44,722 | 13,106 | 11,547 |
1994
+ | \`radio\` | **Helix** | 44,766 | 13,120 | 11,563 |
1995
1995
  | | Carbon | 63,055 | 16,887 | 14,605 |
1996
1996
  | | Material Web | 41,044 | 13,234 | 11,757 |
1997
1997
  | | Shoelace | 34,865 | 12,027 | 10,559 |
1998
1998
  | | Spectrum | 38,685 | 10,660 | 9,370 |
1999
- | \`switch\` | **Helix** | 39,787 | 12,417 | 10,921 |
1999
+ | \`switch\` | **Helix** | 39,831 | 12,428 | 10,949 |
2000
2000
  | | Carbon | 69,423 | 17,127 | 14,764 |
2001
2001
  | | Material Web | 50,155 | 14,577 | 12,935 |
2002
2002
  | | Shoelace | 37,833 | 11,814 | 10,568 |
2003
2003
  | | Spectrum | 62,322 | 15,059 | 13,321 |
2004
- | \`tabs\` | **Helix** | 41,381 | 12,601 | 11,079 |
2004
+ | \`tabs\` | **Helix** | 41,425 | 12,614 | 11,091 |
2005
2005
  | | Carbon | 578,766 | 73,537 | 43,235 |
2006
2006
  | | Material Web | 38,883 | 12,820 | 11,368 |
2007
2007
  | | Shoelace | 54,573 | 17,140 | 15,068 |
2008
2008
  | | Spectrum | 64,875 | 18,298 | 16,283 |
2009
- | \`tooltip\` | **Helix** | 61,704 | 20,831 | 18,442 |
2009
+ | \`tooltip\` | **Helix** | 61,748 | 20,840 | 18,403 |
2010
2010
  | | Carbon | 189,382 | 30,354 | 22,273 |
2011
2011
  | | Material Web | | not shipped | |
2012
2012
  | | Shoelace | 57,412 | 20,220 | 17,933 |
2013
2013
  | | Spectrum | 136,599 | 40,552 | 35,286 |
2014
2014
 
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,446 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.
2016
2016
 
2017
2017
  - **Carbon** \`@carbon/web-components@2.61.0\`. Its dialog is Modal, its radio is Radio Button, and its switch is Toggle.
2018
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.
@@ -2057,100 +2057,100 @@ Structure, accessibility, state and form participation. No presentation, and no
2057
2057
 
2058
2058
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
2059
2059
  |---|---|---|---|---|---|---|
2060
- | \`accordion\` | 78,558 | 26,151 | 21,383 | 3,228 | 885 | 734 |
2061
- | \`announcement\` | 76,589 | 25,578 | 20,932 | 1,374 | 387 | 373 |
2062
- | \`app-header\` | 28,610 | 9,586 | 8,465 | 1,248 | 324 | 207 |
2063
- | \`area-chart\` | 71,510 | 24,519 | 21,654 | 10,966 | 3,341 | 2,846 |
2064
- | \`avatar\` | 30,044 | 10,052 | 8,866 | 2,642 | 761 | 598 |
2065
- | \`badge\` | 28,146 | 9,522 | 8,386 | 1,162 | 295 | 247 |
2066
- | \`bar-chart\` | 72,968 | 24,809 | 21,903 | 12,509 | 3,687 | 3,149 |
2067
- | \`blockquote\` | 28,024 | 9,490 | 8,360 | 917 | 225 | 174 |
2068
- | \`breadcrumbs\` | 76,210 | 25,208 | 20,780 | 1,956 | 451 | 399 |
2069
- | \`button\` | 32,497 | 10,703 | 9,422 | 3,168 | 845 | 667 |
2070
- | \`button-group\` | 28,017 | 9,435 | 8,304 | 661 | 135 | 91 |
2071
- | \`callout\` | 75,340 | 25,075 | 20,703 | 912 | 242 | 201 |
2072
- | \`card\` | 28,051 | 9,448 | 8,337 | 694 | 151 | 181 |
2073
- | \`carousel\` | 82,359 | 27,169 | 22,351 | 7,954 | 2,081 | 1,664 |
2074
- | \`chat\` | 98,002 | 32,568 | 26,800 | 16,967 | 4,954 | 4,143 |
2075
- | \`checkbox\` | 35,831 | 11,431 | 10,083 | 2,253 | 670 | 453 |
2076
- | \`checkbox-group\` | 38,930 | 12,087 | 10,658 | 4,833 | 1,286 | 949 |
2077
- | \`code\` | 26,636 | 9,018 | 7,942 | 451 | 81 | 217 |
2078
- | \`code-block\` | 118,581 | 39,671 | 33,350 | 16,494 | 4,374 | 3,741 |
2079
- | \`color-input\` | 132,496 | 43,014 | 36,148 | 26,106 | 6,659 | 5,708 |
2080
- | \`color-picker\` | 101,625 | 32,808 | 27,024 | 19,532 | 5,250 | 4,503 |
2081
- | \`combobox\` | 130,524 | 42,094 | 35,317 | 20,312 | 4,968 | 4,233 |
2082
- | \`command\` | 102,092 | 32,424 | 26,581 | 17,428 | 4,434 | 3,826 |
2083
- | \`copy-button\` | 113,578 | 38,109 | 31,998 | 11,492 | 2,890 | 2,359 |
2084
- | \`data-table\` | 166,182 | 51,526 | 43,390 | 52,839 | 13,378 | 11,233 |
2085
- | \`date-input\` | 127,106 | 41,323 | 34,697 | 19,264 | 4,848 | 4,118 |
2086
- | \`date-picker\` | 86,811 | 28,609 | 23,584 | 9,803 | 2,725 | 2,220 |
2087
- | \`description-list\` | 28,120 | 9,387 | 8,256 | 1,135 | 195 | 128 |
2088
- | \`dialog\` | 31,669 | 10,484 | 9,229 | 2,717 | 825 | 685 |
2089
- | \`divider\` | 28,221 | 9,563 | 8,386 | 1,115 | 292 | 180 |
2090
- | \`donut-chart\` | 68,878 | 23,393 | 20,656 | 9,769 | 2,856 | 2,362 |
2091
- | \`drawer\` | 30,453 | 10,134 | 8,896 | 1,792 | 509 | 499 |
2092
- | \`drilldown\` | 81,944 | 27,180 | 22,231 | 5,057 | 1,364 | 1,164 |
2093
- | \`empty\` | 28,173 | 9,491 | 8,374 | 816 | 187 | 145 |
2094
- | \`file-input\` | 86,573 | 28,553 | 23,378 | 6,215 | 1,770 | 1,541 |
2095
- | \`filter-input\` | 140,746 | 44,865 | 37,605 | 27,466 | 6,690 | 5,736 |
2096
- | \`format-date\` | 31,585 | 10,596 | 9,367 | 2,822 | 706 | 546 |
2097
- | \`heatmap\` | 70,342 | 23,668 | 20,909 | 11,059 | 3,100 | 2,525 |
2098
- | \`icon\` | 74,746 | 24,834 | 20,496 | 850 | 192 | 130 |
2099
- | \`icon-button\` | 32,896 | 10,733 | 9,456 | 3,567 | 877 | 791 |
2100
- | \`image\` | 30,001 | 9,952 | 8,749 | 2,967 | 793 | 650 |
2101
- | \`input\` | 85,940 | 28,239 | 23,085 | 4,795 | 1,359 | 1,058 |
2102
- | \`kbd\` | 29,891 | 10,185 | 8,982 | 2,897 | 1,015 | 783 |
2103
- | \`legend\` | 30,372 | 10,328 | 9,094 | 1,097 | 308 | 302 |
2104
- | \`line-chart\` | 70,994 | 24,212 | 21,430 | 10,536 | 3,072 | 2,556 |
2105
- | \`list\` | 29,072 | 9,624 | 8,468 | 1,728 | 359 | 260 |
2106
- | \`listbox\` | 93,965 | 30,617 | 24,970 | 10,788 | 2,954 | 2,421 |
2107
- | \`loader\` | 28,257 | 9,554 | 8,437 | 900 | 222 | 174 |
2108
- | \`megamenu\` | 57,078 | 19,802 | 17,496 | 4,932 | 1,363 | 1,148 |
2109
- | \`menu\` | 112,387 | 37,985 | 31,764 | 8,909 | 2,234 | 1,846 |
2110
- | \`meter\` | 31,149 | 10,340 | 9,132 | 3,801 | 987 | 841 |
2111
- | \`navigation\` | 30,016 | 10,071 | 8,863 | 1,582 | 402 | 266 |
2112
- | \`notifications\` | 90,674 | 29,427 | 24,196 | 11,852 | 2,824 | 2,365 |
2113
- | \`number-input\` | 88,416 | 28,885 | 23,625 | 7,358 | 1,995 | 1,509 |
2114
- | \`object-inspector\` | 124,902 | 41,669 | 35,065 | 18,555 | 4,995 | 4,303 |
2115
- | \`option\` | 30,060 | 9,914 | 8,744 | 2,707 | 603 | 449 |
2116
- | \`outline\` | 33,431 | 11,201 | 9,884 | 4,946 | 1,478 | 1,210 |
2117
- | \`pagination\` | 133,820 | 42,655 | 35,726 | 26,208 | 6,083 | 5,179 |
2118
- | \`pin-input\` | 38,720 | 12,275 | 10,842 | 5,135 | 1,523 | 1,179 |
2119
- | \`popover\` | 54,375 | 19,067 | 16,800 | 1,986 | 549 | 483 |
2120
- | \`progress\` | 29,298 | 9,830 | 8,675 | 1,951 | 498 | 471 |
2121
- | \`qr-code\` | 39,772 | 13,809 | 12,207 | 12,808 | 4,620 | 4,037 |
2122
- | \`quote\` | 27,540 | 9,303 | 8,187 | 552 | 135 | 169 |
2123
- | \`radio\` | 37,184 | 11,711 | 10,327 | 3,138 | 851 | 562 |
2124
- | \`rating\` | 39,218 | 12,500 | 11,023 | 5,615 | 1,603 | 1,336 |
2125
- | \`scatter-chart\` | 70,763 | 24,093 | 21,280 | 11,089 | 3,319 | 2,699 |
2126
- | \`scroll-area\` | 29,650 | 10,001 | 8,775 | 2,610 | 786 | 595 |
2127
- | \`select\` | 122,983 | 40,357 | 33,710 | 15,500 | 3,921 | 3,201 |
2128
- | \`skeleton\` | 26,729 | 9,052 | 7,957 | 544 | 112 | 94 |
2129
- | \`skip-link\` | 28,212 | 9,567 | 8,401 | 1,226 | 375 | 330 |
2130
- | \`slider\` | 39,081 | 12,327 | 10,895 | 5,251 | 1,481 | 1,165 |
2131
- | \`sparkline\` | 32,830 | 11,350 | 10,026 | 2,531 | 841 | 751 |
2132
- | \`speed-dial\` | 104,085 | 35,625 | 29,915 | 3,868 | 1,005 | 784 |
2133
- | \`splitter\` | 37,514 | 11,925 | 10,571 | 10,163 | 2,572 | 2,212 |
2134
- | \`stat\` | 28,505 | 9,487 | 8,344 | 1,151 | 205 | 131 |
2135
- | \`steps\` | 84,083 | 27,583 | 22,602 | 6,302 | 1,526 | 1,214 |
2136
- | \`switch\` | 35,499 | 11,369 | 10,017 | 1,798 | 564 | 374 |
2137
- | \`table\` | 82,875 | 27,347 | 22,351 | 7,091 | 1,868 | 1,484 |
2138
- | \`tabs\` | 35,120 | 11,314 | 9,950 | 4,470 | 1,018 | 775 |
2139
- | \`tag\` | 75,624 | 25,179 | 20,676 | 897 | 199 | 177 |
2140
- | \`textarea\` | 38,186 | 12,008 | 10,582 | 4,116 | 1,161 | 871 |
2141
- | \`time-input\` | 139,685 | 44,601 | 37,393 | 28,913 | 7,136 | 6,127 |
2142
- | \`time-picker\` | 102,108 | 33,005 | 27,094 | 18,387 | 4,991 | 4,176 |
2143
- | \`timeline\` | 76,156 | 25,167 | 20,775 | 1,897 | 424 | 397 |
2144
- | \`toast\` | 79,354 | 26,261 | 21,525 | 4,008 | 963 | 775 |
2145
- | \`toggle\` | 39,416 | 12,361 | 10,925 | 3,929 | 1,046 | 825 |
2146
- | \`toolbar\` | 29,919 | 10,080 | 8,867 | 2,932 | 937 | 723 |
2147
- | \`tooltip\` | 58,139 | 20,032 | 17,726 | 6,238 | 1,732 | 1,375 |
2148
- | \`tour\` | 63,132 | 21,119 | 18,708 | 10,269 | 2,536 | 2,048 |
2149
- | \`tree\` | 85,790 | 28,247 | 23,098 | 7,132 | 1,965 | 1,560 |
2150
- | \`trend\` | 74,949 | 24,933 | 20,601 | 1,056 | 289 | 229 |
2151
- | \`video\` | 136,267 | 43,693 | 36,846 | 32,538 | 7,624 | 6,742 |
2152
- | \`video-playlist\` | 119,836 | 39,593 | 33,176 | 14,955 | 3,483 | 2,964 |
2153
- | \`virtual-list\` | 33,799 | 11,369 | 10,025 | 2,509 | 772 | 562 |
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 |
2154
2154
 
2155
2155
  ### Styled tier
2156
2156
 
@@ -2158,106 +2158,106 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
2158
2158
 
2159
2159
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
2160
2160
  |---|---|---|---|---|---|---|
2161
- | \`accordion\` | 81,919 | 26,966 | 22,078 | 6,574 | 1,694 | 1,439 |
2162
- | \`announcement\` | 80,874 | 26,574 | 21,853 | 5,643 | 1,339 | 1,125 |
2163
- | \`app-header\` | 32,262 | 10,421 | 9,193 | 4,883 | 1,171 | 891 |
2164
- | \`area-chart\` | 81,552 | 26,323 | 23,223 | 20,990 | 5,197 | 4,274 |
2165
- | \`aura\` | 89,027 | 31,117 | 26,922 | 60,880 | 21,437 | 18,523 |
2166
- | \`avatar\` | 33,618 | 10,793 | 9,538 | 6,203 | 1,509 | 1,241 |
2167
- | \`badge\` | 31,250 | 10,230 | 8,983 | 4,249 | 1,017 | 887 |
2168
- | \`bar-chart\` | 88,430 | 27,577 | 24,310 | 27,952 | 6,484 | 5,602 |
2169
- | \`blockquote\` | 29,200 | 9,788 | 8,612 | 2,077 | 542 | 534 |
2170
- | \`breadcrumbs\` | 79,600 | 25,984 | 21,435 | 5,331 | 1,206 | 1,070 |
2171
- | \`button\` | 38,590 | 11,816 | 10,415 | 9,243 | 1,964 | 1,669 |
2172
- | \`button-group\` | 29,693 | 9,813 | 8,658 | 2,320 | 541 | 394 |
2173
- | \`callout\` | 77,357 | 25,624 | 21,203 | 2,913 | 786 | 723 |
2174
- | \`card\` | 31,284 | 10,275 | 9,042 | 3,915 | 979 | 829 |
2175
- | \`carousel\` | 92,213 | 28,760 | 23,859 | 17,797 | 3,652 | 3,101 |
2176
- | \`chat\` | 111,545 | 34,966 | 28,929 | 30,495 | 7,346 | 6,253 |
2177
- | \`checkbox\` | 41,918 | 12,833 | 11,305 | 8,324 | 2,063 | 1,753 |
2178
- | \`checkbox-group\` | 41,177 | 12,660 | 11,158 | 7,066 | 1,868 | 1,432 |
2179
- | \`code\` | 27,731 | 9,326 | 8,231 | 1,529 | 387 | 321 |
2180
- | \`code-block\` | 134,439 | 42,366 | 35,611 | 32,330 | 6,927 | 6,031 |
2181
- | \`color-input\` | 164,078 | 47,813 | 40,385 | 57,671 | 11,516 | 10,016 |
2182
- | \`color-picker\` | 127,917 | 36,962 | 30,752 | 45,818 | 9,465 | 8,164 |
2183
- | \`combobox\` | 144,760 | 44,641 | 37,483 | 34,529 | 7,473 | 6,546 |
2184
- | \`command\` | 112,401 | 34,399 | 28,302 | 27,722 | 6,420 | 5,489 |
2185
- | \`copy-button\` | 124,120 | 39,957 | 33,536 | 22,016 | 4,640 | 4,018 |
2186
- | \`data-table\` | 199,836 | 56,688 | 47,631 | 86,474 | 18,592 | 15,583 |
2187
- | \`date-input\` | 142,596 | 44,248 | 37,316 | 34,728 | 7,704 | 6,787 |
2188
- | \`date-picker\` | 92,426 | 29,779 | 24,592 | 15,400 | 3,870 | 3,294 |
2189
- | \`description-list\` | 30,498 | 9,957 | 8,764 | 3,502 | 786 | 654 |
2190
- | \`dialog\` | 36,004 | 11,491 | 10,169 | 7,037 | 1,838 | 1,539 |
2191
- | \`divider\` | 30,366 | 10,079 | 8,841 | 3,243 | 813 | 754 |
2192
- | \`donut-chart\` | 80,480 | 25,446 | 22,422 | 21,354 | 4,980 | 4,130 |
2193
- | \`drawer\` | 34,325 | 11,023 | 9,708 | 5,647 | 1,401 | 1,245 |
2194
- | \`drilldown\` | 86,302 | 28,159 | 23,045 | 9,402 | 2,290 | 1,982 |
2195
- | \`empty\` | 29,480 | 9,866 | 8,662 | 2,107 | 563 | 484 |
2196
- | \`file-input\` | 97,287 | 30,720 | 25,226 | 16,922 | 3,871 | 3,356 |
2197
- | \`filter-input\` | 169,096 | 49,241 | 41,282 | 55,800 | 11,109 | 9,364 |
2198
- | \`flex\` | 28,984 | 9,652 | 8,475 | 1,987 | 464 | 369 |
2199
- | \`format-date\` | 32,233 | 10,741 | 9,534 | 3,452 | 865 | 727 |
2200
- | \`grid\` | 29,511 | 9,824 | 8,675 | 2,511 | 633 | 625 |
2201
- | \`heatmap\` | 77,683 | 25,116 | 22,252 | 18,382 | 4,566 | 3,808 |
2202
- | \`icon\` | 75,441 | 25,008 | 20,618 | 1,528 | 369 | 315 |
2203
- | \`icon-button\` | 38,911 | 11,749 | 10,334 | 9,568 | 1,895 | 1,586 |
2204
- | \`image\` | 31,749 | 10,432 | 9,161 | 4,697 | 1,278 | 1,005 |
2205
- | \`input\` | 92,044 | 29,546 | 24,176 | 10,892 | 2,628 | 2,201 |
2206
- | \`kbd\` | 31,303 | 10,644 | 9,391 | 4,294 | 1,467 | 1,199 |
2207
- | \`legend\` | 35,206 | 11,410 | 10,030 | 5,924 | 1,440 | 1,094 |
2208
- | \`line-chart\` | 83,270 | 26,395 | 23,326 | 22,794 | 5,306 | 4,530 |
2209
- | \`list\` | 33,125 | 10,555 | 9,302 | 5,768 | 1,311 | 1,177 |
2210
- | \`listbox\` | 98,080 | 31,558 | 25,751 | 14,890 | 3,912 | 3,241 |
2211
- | \`loader\` | 31,263 | 10,297 | 9,071 | 3,891 | 957 | 918 |
2212
- | \`megamenu\` | 61,953 | 20,869 | 18,483 | 9,792 | 2,427 | 2,070 |
2213
- | \`menu\` | 119,386 | 39,482 | 33,107 | 15,890 | 3,690 | 3,105 |
2214
- | \`meter\` | 36,545 | 11,494 | 10,179 | 9,179 | 2,157 | 1,954 |
2215
- | \`navigation\` | 31,397 | 10,467 | 9,210 | 2,947 | 812 | 604 |
2216
- | \`notifications\` | 103,386 | 31,717 | 26,180 | 24,550 | 5,094 | 4,452 |
2217
- | \`number-input\` | 93,229 | 30,007 | 24,552 | 12,157 | 3,077 | 2,569 |
2218
- | \`object-inspector\` | 139,175 | 44,099 | 37,194 | 32,807 | 7,372 | 6,391 |
2219
- | \`option\` | 33,327 | 10,823 | 9,539 | 5,962 | 1,498 | 1,191 |
2220
- | \`orb\` | 36,853 | 12,880 | 11,365 | 9,445 | 3,499 | 3,020 |
2221
- | \`outline\` | 37,160 | 11,974 | 10,591 | 8,658 | 2,276 | 1,817 |
2222
- | \`pagination\` | 151,404 | 45,658 | 38,331 | 43,774 | 9,056 | 7,783 |
2223
- | \`pin-input\` | 41,832 | 13,065 | 11,472 | 8,230 | 2,331 | 1,959 |
2224
- | \`popover\` | 57,011 | 19,712 | 17,416 | 4,604 | 1,221 | 1,027 |
2225
- | \`progress\` | 34,345 | 11,014 | 9,727 | 6,980 | 1,677 | 1,518 |
2226
- | \`qr-code\` | 41,423 | 14,229 | 12,540 | 14,442 | 5,033 | 4,438 |
2227
- | \`quote\` | 28,215 | 9,471 | 8,341 | 1,211 | 323 | 241 |
2228
- | \`radio\` | 44,722 | 13,106 | 11,547 | 10,669 | 2,252 | 1,896 |
2229
- | \`rating\` | 42,193 | 13,433 | 11,824 | 8,572 | 2,507 | 2,104 |
2230
- | \`sandbox\` | 62,575 | 17,096 | 15,163 | 34,926 | 7,655 | 6,685 |
2231
- | \`scatter-chart\` | 81,739 | 26,093 | 22,955 | 22,046 | 5,362 | 4,442 |
2232
- | \`scroll-area\` | 32,616 | 10,634 | 9,353 | 5,559 | 1,432 | 1,138 |
2233
- | \`select\` | 135,163 | 42,616 | 35,742 | 27,659 | 6,156 | 5,195 |
2234
- | \`skeleton\` | 29,247 | 9,810 | 8,627 | 2,242 | 610 | 597 |
2235
- | \`skip-link\` | 29,675 | 9,976 | 8,738 | 2,672 | 786 | 664 |
2236
- | \`slider\` | 48,963 | 14,109 | 12,447 | 15,116 | 3,259 | 2,804 |
2237
- | \`sparkline\` | 36,596 | 12,284 | 10,845 | 6,285 | 1,781 | 1,631 |
2238
- | \`speed-dial\` | 111,537 | 37,071 | 31,110 | 11,298 | 2,353 | 1,999 |
2239
- | \`splitter\` | 43,626 | 12,937 | 11,483 | 16,257 | 3,595 | 3,205 |
2240
- | \`stat\` | 31,139 | 10,048 | 8,887 | 3,772 | 799 | 742 |
2241
- | \`steps\` | 97,695 | 29,995 | 24,753 | 19,902 | 3,899 | 3,441 |
2242
- | \`switch\` | 39,787 | 12,417 | 10,921 | 6,071 | 1,632 | 1,292 |
2243
- | \`table\` | 87,479 | 28,255 | 23,197 | 11,687 | 2,761 | 2,301 |
2244
- | \`tabs\` | 41,381 | 12,601 | 11,079 | 10,720 | 2,317 | 1,984 |
2245
- | \`tag\` | 78,817 | 26,046 | 21,369 | 4,075 | 1,029 | 929 |
2246
- | \`text\` | 30,970 | 9,944 | 8,710 | 3,976 | 832 | 622 |
2247
- | \`textarea\` | 41,535 | 12,809 | 11,273 | 7,448 | 1,973 | 1,594 |
2248
- | \`time-input\` | 160,219 | 48,005 | 40,381 | 49,432 | 10,542 | 9,070 |
2249
- | \`time-picker\` | 113,408 | 35,091 | 28,973 | 29,682 | 7,123 | 6,050 |
2250
- | \`timeline\` | 79,422 | 25,919 | 21,404 | 5,149 | 1,156 | 1,013 |
2251
- | \`toast\` | 86,887 | 27,931 | 23,032 | 11,526 | 2,597 | 2,220 |
2252
- | \`toggle\` | 44,449 | 13,515 | 11,977 | 8,954 | 2,201 | 1,848 |
2253
- | \`toolbar\` | 31,211 | 10,376 | 9,126 | 4,207 | 1,250 | 930 |
2254
- | \`tooltip\` | 61,704 | 20,831 | 18,442 | 9,785 | 2,513 | 2,027 |
2255
- | \`tour\` | 73,007 | 22,810 | 20,210 | 20,128 | 4,189 | 3,572 |
2256
- | \`tree\` | 90,813 | 29,428 | 24,123 | 12,143 | 3,127 | 2,596 |
2257
- | \`trend\` | 77,982 | 25,594 | 21,139 | 4,081 | 924 | 828 |
2258
- | \`video\` | 154,440 | 46,971 | 39,702 | 50,690 | 10,904 | 9,628 |
2259
- | \`video-playlist\` | 133,245 | 41,965 | 35,231 | 28,345 | 5,824 | 4,979 |
2260
- | \`virtual-list\` | 34,631 | 11,596 | 10,222 | 3,323 | 999 | 835 |
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 |
2261
2261
 
2262
2262
  ## What lands in \`node_modules\`
2263
2263
 
@@ -2269,12 +2269,12 @@ column is what was removed rather than part of what remains.
2269
2269
 
2270
2270
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
2271
2271
  |---|---|---|---|---|
2272
- | \`@fusion.dev/helix-core\` | 742,666 | 119 | 172,577 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
2273
- | \`@fusion.dev/helix-headless\` | 10,235,441 | 462 | 839,641 | \`@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\` |
2274
2274
  | \`@fusion.dev/helix-icons\` | 65,943 | 11 | 20,928 | none |
2275
2275
  | \`@fusion.dev/helix-styles\` | 100,938 | 6 | 0 | none |
2276
2276
  | \`@fusion.dev/helix-theme\` | 465,413 | 8 | 4,703 | none |
2277
- | \`@fusion.dev/helix\` | 11,196,588 | 790 | 329,523 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2277
+ | \`@fusion.dev/helix\` | 11,301,856 | 790 | 329,523 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2278
2278
 
2279
2279
  ## Not measured yet
2280
2280
 
@@ -2844,7 +2844,7 @@ Render it once in your layout. **Your pages stay server components.** An
2844
2844
  unregistered tag is an unknown element in the HTML that upgrades when the
2845
2845
  definition lands, so nothing about a server component needs to change.
2846
2846
 
2847
- ## There is no declarative shadow DOM
2847
+ ## Server components get no declarative shadow DOM
2848
2848
 
2849
2849
  A server component's output is replayed from the flight payload through DOM APIs
2850
2850
  rather than parsed as HTML, and declarative shadow DOM cannot activate for
@@ -3322,8 +3322,61 @@ Before those two guards, neither component could be server-rendered at all. Both
3322
3322
  looked correct in every browser, because the client always has a root and always
3323
3323
  has a tree.
3324
3324
 
3325
- **Anything that inspects the tree runs in \`firstUpdated\` or later**, and is
3326
- 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).
3327
3380
 
3328
3381
  ## Never initialize state in \`connectedCallback\`
3329
3382
 
@@ -4829,12 +4882,12 @@ import '@fusion.dev/helix' // ❌ the barrel
4829
4882
 
4830
4883
  One family per module, so you are not shipping the library to use a button.
4831
4884
 
4832
- ## There is no declarative shadow DOM
4885
+ ## Declarative shadow DOM is opt-in
4833
4886
 
4834
- Components render on the server through Lit SSR in our own tests, but the app
4835
- ships no DSD, and the shadow styles arrive with the definition rather than in
4836
- the markup. You do not need to configure anything for this; it is here so the
4837
- 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).
4838
4891
 
4839
4892
  The short version of why: DSD cannot activate for script-inserted nodes, a
4840
4893
  server component's output is replayed from the flight payload through DOM APIs