@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.
- package/content/metrics.mdx +213 -213
- package/content/react.mdx +1 -1
- package/content/server-rendering.mdx +55 -2
- package/content/using-the-elements.mdx +5 -5
- package/dist/sources.generated.js +274 -221
- package/package.json +2 -2
|
@@ -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,
|
|
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\` |
|
|
1937
|
-
| \`@fusion.dev/helix-headless\` |
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
2061
|
-
| \`announcement\` | 76,
|
|
2062
|
-
| \`app-header\` | 28,
|
|
2063
|
-
| \`area-chart\` | 71,
|
|
2064
|
-
| \`avatar\` | 30,
|
|
2065
|
-
| \`badge\` | 28,
|
|
2066
|
-
| \`bar-chart\` |
|
|
2067
|
-
| \`blockquote\` | 28,
|
|
2068
|
-
| \`breadcrumbs\` | 76,
|
|
2069
|
-
| \`button\` | 32,
|
|
2070
|
-
| \`button-group\` | 28,
|
|
2071
|
-
| \`callout\` | 75,
|
|
2072
|
-
| \`card\` | 28,
|
|
2073
|
-
| \`carousel\` | 82,
|
|
2074
|
-
| \`chat\` | 98,
|
|
2075
|
-
| \`checkbox\` | 35,
|
|
2076
|
-
| \`checkbox-group\` | 38,
|
|
2077
|
-
| \`code\` | 26,
|
|
2078
|
-
| \`code-block\` | 118,
|
|
2079
|
-
| \`color-input\` | 132,
|
|
2080
|
-
| \`color-picker\` | 101,
|
|
2081
|
-
| \`combobox\` | 130,
|
|
2082
|
-
| \`command\` | 102,
|
|
2083
|
-
| \`copy-button\` | 113,
|
|
2084
|
-
| \`data-table\` | 166,
|
|
2085
|
-
| \`date-input\` | 127,
|
|
2086
|
-
| \`date-picker\` | 86,
|
|
2087
|
-
| \`description-list\` | 28,
|
|
2088
|
-
| \`dialog\` | 31,
|
|
2089
|
-
| \`divider\` | 28,
|
|
2090
|
-
| \`donut-chart\` |
|
|
2091
|
-
| \`drawer\` | 30,
|
|
2092
|
-
| \`drilldown\` | 81,
|
|
2093
|
-
| \`empty\` | 28,
|
|
2094
|
-
| \`file-input\` | 86,
|
|
2095
|
-
| \`filter-input\` | 140,
|
|
2096
|
-
| \`format-date\` | 31,
|
|
2097
|
-
| \`heatmap\` | 70,
|
|
2098
|
-
| \`icon\` | 74,
|
|
2099
|
-
| \`icon-button\` | 32,
|
|
2100
|
-
| \`image\` | 30,
|
|
2101
|
-
| \`input\` | 85,
|
|
2102
|
-
| \`kbd\` |
|
|
2103
|
-
| \`legend\` | 30,
|
|
2104
|
-
| \`line-chart\` |
|
|
2105
|
-
| \`list\` | 29,
|
|
2106
|
-
| \`listbox\` |
|
|
2107
|
-
| \`loader\` | 28,
|
|
2108
|
-
| \`megamenu\` | 57,
|
|
2109
|
-
| \`menu\` | 112,
|
|
2110
|
-
| \`meter\` | 31,
|
|
2111
|
-
| \`navigation\` | 30,
|
|
2112
|
-
| \`notifications\` | 90,
|
|
2113
|
-
| \`number-input\` | 88,
|
|
2114
|
-
| \`object-inspector\` | 124,
|
|
2115
|
-
| \`option\` | 30,
|
|
2116
|
-
| \`outline\` | 33,
|
|
2117
|
-
| \`pagination\` | 133,
|
|
2118
|
-
| \`pin-input\` | 38,
|
|
2119
|
-
| \`popover\` | 54,
|
|
2120
|
-
| \`progress\` | 29,
|
|
2121
|
-
| \`qr-code\` | 39,
|
|
2122
|
-
| \`quote\` | 27,
|
|
2123
|
-
| \`radio\` | 37,
|
|
2124
|
-
| \`rating\` | 39,
|
|
2125
|
-
| \`scatter-chart\` | 70,
|
|
2126
|
-
| \`scroll-area\` | 29,
|
|
2127
|
-
| \`select\` |
|
|
2128
|
-
| \`skeleton\` | 26,
|
|
2129
|
-
| \`skip-link\` | 28,
|
|
2130
|
-
| \`slider\` | 39,
|
|
2131
|
-
| \`sparkline\` |
|
|
2132
|
-
| \`speed-dial\` | 104,
|
|
2133
|
-
| \`splitter\` | 37,
|
|
2134
|
-
| \`stat\` | 28,
|
|
2135
|
-
| \`steps\` | 84,
|
|
2136
|
-
| \`switch\` | 35,
|
|
2137
|
-
| \`table\` | 82,
|
|
2138
|
-
| \`tabs\` | 35,
|
|
2139
|
-
| \`tag\` | 75,
|
|
2140
|
-
| \`textarea\` | 38,
|
|
2141
|
-
| \`time-input\` | 139,
|
|
2142
|
-
| \`time-picker\` | 102,
|
|
2143
|
-
| \`timeline\` | 76,
|
|
2144
|
-
| \`toast\` | 79,
|
|
2145
|
-
| \`toggle\` | 39,
|
|
2146
|
-
| \`toolbar\` | 29,
|
|
2147
|
-
| \`tooltip\` | 58,
|
|
2148
|
-
| \`tour\` | 63,
|
|
2149
|
-
| \`tree\` | 85,
|
|
2150
|
-
| \`trend\` | 74,
|
|
2151
|
-
| \`video\` | 136,
|
|
2152
|
-
| \`video-playlist\` | 119,
|
|
2153
|
-
| \`virtual-list\` | 33,
|
|
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,
|
|
2162
|
-
| \`announcement\` | 80,
|
|
2163
|
-
| \`app-header\` | 32,
|
|
2164
|
-
| \`area-chart\` | 81,
|
|
2165
|
-
| \`aura\` | 89,
|
|
2166
|
-
| \`avatar\` | 33,
|
|
2167
|
-
| \`badge\` | 31,
|
|
2168
|
-
| \`bar-chart\` | 88,
|
|
2169
|
-
| \`blockquote\` | 29,
|
|
2170
|
-
| \`breadcrumbs\` | 79,
|
|
2171
|
-
| \`button\` | 38,
|
|
2172
|
-
| \`button-group\` | 29,
|
|
2173
|
-
| \`callout\` | 77,
|
|
2174
|
-
| \`card\` | 31,
|
|
2175
|
-
| \`carousel\` | 92,
|
|
2176
|
-
| \`chat\` | 111,
|
|
2177
|
-
| \`checkbox\` | 41,
|
|
2178
|
-
| \`checkbox-group\` | 41,
|
|
2179
|
-
| \`code\` | 27,
|
|
2180
|
-
| \`code-block\` | 134,
|
|
2181
|
-
| \`color-input\` | 164,
|
|
2182
|
-
| \`color-picker\` | 127,
|
|
2183
|
-
| \`combobox\` | 144,
|
|
2184
|
-
| \`command\` | 112,
|
|
2185
|
-
| \`copy-button\` | 124,
|
|
2186
|
-
| \`data-table\` | 199,
|
|
2187
|
-
| \`date-input\` | 142,
|
|
2188
|
-
| \`date-picker\` | 92,
|
|
2189
|
-
| \`description-list\` | 30,
|
|
2190
|
-
| \`dialog\` | 36,
|
|
2191
|
-
| \`divider\` | 30,
|
|
2192
|
-
| \`donut-chart\` | 80,
|
|
2193
|
-
| \`drawer\` | 34,
|
|
2194
|
-
| \`drilldown\` | 86,
|
|
2195
|
-
| \`empty\` | 29,
|
|
2196
|
-
| \`file-input\` | 97,
|
|
2197
|
-
| \`filter-input\` | 169,
|
|
2198
|
-
| \`flex\` |
|
|
2199
|
-
| \`format-date\` | 32,
|
|
2200
|
-
| \`grid\` | 29,
|
|
2201
|
-
| \`heatmap\` | 77,
|
|
2202
|
-
| \`icon\` | 75,
|
|
2203
|
-
| \`icon-button\` | 38,
|
|
2204
|
-
| \`image\` | 31,
|
|
2205
|
-
| \`input\` | 92,
|
|
2206
|
-
| \`kbd\` | 31,
|
|
2207
|
-
| \`legend\` | 35,
|
|
2208
|
-
| \`line-chart\` | 83,
|
|
2209
|
-
| \`list\` | 33,
|
|
2210
|
-
| \`listbox\` | 98,
|
|
2211
|
-
| \`loader\` | 31,
|
|
2212
|
-
| \`megamenu\` | 61,
|
|
2213
|
-
| \`menu\` | 119,
|
|
2214
|
-
| \`meter\` | 36,
|
|
2215
|
-
| \`navigation\` | 31,
|
|
2216
|
-
| \`notifications\` | 103,
|
|
2217
|
-
| \`number-input\` | 93,
|
|
2218
|
-
| \`object-inspector\` | 139,
|
|
2219
|
-
| \`option\` | 33,
|
|
2220
|
-
| \`orb\` | 36,
|
|
2221
|
-
| \`outline\` | 37,
|
|
2222
|
-
| \`pagination\` | 151,
|
|
2223
|
-
| \`pin-input\` | 41,
|
|
2224
|
-
| \`popover\` | 57,
|
|
2225
|
-
| \`progress\` | 34,
|
|
2226
|
-
| \`qr-code\` | 41,
|
|
2227
|
-
| \`quote\` | 28,
|
|
2228
|
-
| \`radio\` | 44,
|
|
2229
|
-
| \`rating\` | 42,
|
|
2230
|
-
| \`sandbox\` | 62,
|
|
2231
|
-
| \`scatter-chart\` | 81,
|
|
2232
|
-
| \`scroll-area\` | 32,
|
|
2233
|
-
| \`select\` | 135,
|
|
2234
|
-
| \`skeleton\` | 29,
|
|
2235
|
-
| \`skip-link\` | 29,
|
|
2236
|
-
| \`slider\` |
|
|
2237
|
-
| \`sparkline\` | 36,
|
|
2238
|
-
| \`speed-dial\` | 111,
|
|
2239
|
-
| \`splitter\` | 43,
|
|
2240
|
-
| \`stat\` | 31,
|
|
2241
|
-
| \`steps\` | 97,
|
|
2242
|
-
| \`switch\` | 39,
|
|
2243
|
-
| \`table\` | 87,
|
|
2244
|
-
| \`tabs\` | 41,
|
|
2245
|
-
| \`tag\` | 78,
|
|
2246
|
-
| \`text\` |
|
|
2247
|
-
| \`textarea\` | 41,
|
|
2248
|
-
| \`time-input\` | 160,
|
|
2249
|
-
| \`time-picker\` | 113,
|
|
2250
|
-
| \`timeline\` | 79,
|
|
2251
|
-
| \`toast\` | 86,
|
|
2252
|
-
| \`toggle\` | 44,
|
|
2253
|
-
| \`toolbar\` | 31,
|
|
2254
|
-
| \`tooltip\` | 61,
|
|
2255
|
-
| \`tour\` | 73,
|
|
2256
|
-
| \`tree\` | 90,
|
|
2257
|
-
| \`trend\` |
|
|
2258
|
-
| \`video\` | 154,
|
|
2259
|
-
| \`video-playlist\` | 133,
|
|
2260
|
-
| \`virtual-list\` | 34,
|
|
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\` |
|
|
2273
|
-
| \`@fusion.dev/helix-headless\` | 10,
|
|
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,
|
|
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
|
-
##
|
|
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
|
|
3326
|
-
|
|
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
|
-
##
|
|
4885
|
+
## Declarative shadow DOM is opt-in
|
|
4833
4886
|
|
|
4834
|
-
|
|
4835
|
-
|
|
4836
|
-
|
|
4837
|
-
|
|
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
|