@fusion.dev/helix-docs 0.12.3 → 0.13.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 +12 -10
- package/dist/sources.generated.js +12 -10
- package/package.json +2 -2
package/content/metrics.mdx
CHANGED
|
@@ -59,10 +59,10 @@ repository does that. The per-component tables are what a page pays.
|
|
|
59
59
|
| Package | Raw | Gzip | Brotli | |
|
|
60
60
|
|---|---|---|---|---|
|
|
61
61
|
| `@fusion.dev/helix-core` | 138,269 | 45,441 | 39,008 | Element base class, mixins, decorators, floating positioning. |
|
|
62
|
-
| `@fusion.dev/helix-headless` |
|
|
62
|
+
| `@fusion.dev/helix-headless` | 528,413 | 133,936 | 104,810 | Every headless family, which is what the barrel means. |
|
|
63
63
|
| `@fusion.dev/helix-icons` | 47,484 | 14,907 | 12,553 | The whole glyph set. |
|
|
64
64
|
| `@fusion.dev/helix-theme` | 3,288 | 1,571 | 1,355 | The derivation engine. Build time for most consumers, runtime for a theme switcher. |
|
|
65
|
-
| `@fusion.dev/helix` |
|
|
65
|
+
| `@fusion.dev/helix` | 979,573 | 223,187 | 163,871 | Every styled family. |
|
|
66
66
|
| `lit` | 15,394 | 6,118 | 5,460 | Not ours. Here so it can be subtracted from every row above it. |
|
|
67
67
|
|
|
68
68
|
## The stylesheets
|
|
@@ -76,20 +76,20 @@ is the whole cost of adopting the base layer on its own.
|
|
|
76
76
|
| File | Raw | Gzip | Brotli | |
|
|
77
77
|
|---|---|---|---|---|
|
|
78
78
|
| `base.css` | 23,077 | 3,548 | 3,058 | The base layer. Recipes for markup Helix does not render, usable with no JavaScript at all. |
|
|
79
|
-
| `elements.css` | 7,
|
|
79
|
+
| `elements.css` | 7,137 | 1,224 | 1,101 | Hides each element until its definition loads, generated from the tags in `@fusion.dev/helix`. |
|
|
80
80
|
| `helix.css` | 207 | 148 | 118 | The four above in one import, in the order they have to be in. |
|
|
81
81
|
| `primitives.css` | 6,275 | 1,234 | 1,062 | The primitive layer. Private, shipped because `tokens.css` resolves into it. |
|
|
82
82
|
| `tokens.css` | 19,989 | 2,460 | 2,044 | The 185 semantic tokens. Nothing paints without this. |
|
|
83
83
|
|
|
84
84
|
## What the numbers say
|
|
85
85
|
|
|
86
|
-
**Most of a first component is the runtime under it.** The median styled family is 13,
|
|
86
|
+
**Most of a first component is the runtime under it.** The median styled family is 13,974 bytes gzipped alone and adds 2,519 to a page that already has Helix on it, so 82 percent of the first one is shared and 18 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.
|
|
87
87
|
|
|
88
|
-
Across the tier: the cheapest is `code` at 9,065 gzipped alone, the dearest `data-table` at 51,725, over
|
|
88
|
+
Across the tier: the cheapest is `code` at 9,065 gzipped alone, the dearest `data-table` at 51,725, over 95 components. Every family at once is 223,187.
|
|
89
89
|
|
|
90
|
-
**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 133,
|
|
90
|
+
**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 133,936 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.
|
|
91
91
|
|
|
92
|
-
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
|
|
92
|
+
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.
|
|
93
93
|
|
|
94
94
|
## Against other systems
|
|
95
95
|
|
|
@@ -215,6 +215,7 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
215
215
|
| `drilldown` | 80,657 | 26,804 | 22,019 | 5,059 | 1,766 | 1,068 |
|
|
216
216
|
| `empty` | 26,988 | 9,226 | 8,147 | 816 | 405 | 98 |
|
|
217
217
|
| `file-input` | 85,388 | 28,229 | 23,148 | 6,217 | 2,206 | 1,525 |
|
|
218
|
+
| `filter-input` | 83,960 | 27,636 | 22,652 | 3,041 | 1,217 | 649 |
|
|
218
219
|
| `format-date` | 30,381 | 10,333 | 9,146 | 2,805 | 955 | 486 |
|
|
219
220
|
| `heatmap` | 69,136 | 23,403 | 20,696 | 11,040 | 3,622 | 2,526 |
|
|
220
221
|
| `icon` | 73,561 | 24,431 | 20,290 | 850 | 417 | 188 |
|
|
@@ -311,6 +312,7 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
311
312
|
| `drilldown` | 85,015 | 27,777 | 22,820 | 9,404 | 2,724 | 1,918 |
|
|
312
313
|
| `empty` | 28,295 | 9,601 | 8,463 | 2,107 | 794 | 412 |
|
|
313
314
|
| `file-input` | 96,131 | 30,389 | 24,987 | 16,953 | 4,334 | 3,274 |
|
|
315
|
+
| `filter-input` | 90,242 | 28,998 | 23,774 | 9,317 | 2,538 | 1,875 |
|
|
314
316
|
| `flex` | 27,799 | 9,392 | 8,240 | 1,986 | 665 | 493 |
|
|
315
317
|
| `format-date` | 31,029 | 10,471 | 9,280 | 3,435 | 1,121 | 728 |
|
|
316
318
|
| `grid` | 28,326 | 9,564 | 8,449 | 2,511 | 856 | 576 |
|
|
@@ -383,11 +385,11 @@ column is what was removed rather than part of what remains.
|
|
|
383
385
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
384
386
|
|---|---|---|---|---|
|
|
385
387
|
| `@fusion.dev/helix-core` | 702,704 | 119 | 166,453 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
|
|
386
|
-
| `@fusion.dev/helix-headless` | 8,
|
|
388
|
+
| `@fusion.dev/helix-headless` | 8,503,448 | 426 | 709,614 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
|
|
387
389
|
| `@fusion.dev/helix-icons` | 65,943 | 11 | 20,928 | none |
|
|
388
|
-
| `@fusion.dev/helix-styles` | 90,
|
|
390
|
+
| `@fusion.dev/helix-styles` | 90,374 | 6 | 0 | none |
|
|
389
391
|
| `@fusion.dev/helix-theme` | 461,551 | 8 | 4,699 | none |
|
|
390
|
-
| `@fusion.dev/helix` | 9,
|
|
392
|
+
| `@fusion.dev/helix` | 9,514,215 | 732 | 308,735 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
|
|
391
393
|
|
|
392
394
|
## Not measured yet
|
|
393
395
|
|
|
@@ -1913,10 +1913,10 @@ repository does that. The per-component tables are what a page pays.
|
|
|
1913
1913
|
| Package | Raw | Gzip | Brotli | |
|
|
1914
1914
|
|---|---|---|---|---|
|
|
1915
1915
|
| \`@fusion.dev/helix-core\` | 138,269 | 45,441 | 39,008 | Element base class, mixins, decorators, floating positioning. |
|
|
1916
|
-
| \`@fusion.dev/helix-headless\` |
|
|
1916
|
+
| \`@fusion.dev/helix-headless\` | 528,413 | 133,936 | 104,810 | Every headless family, which is what the barrel means. |
|
|
1917
1917
|
| \`@fusion.dev/helix-icons\` | 47,484 | 14,907 | 12,553 | The whole glyph set. |
|
|
1918
1918
|
| \`@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\` |
|
|
1919
|
+
| \`@fusion.dev/helix\` | 979,573 | 223,187 | 163,871 | Every styled family. |
|
|
1920
1920
|
| \`lit\` | 15,394 | 6,118 | 5,460 | Not ours. Here so it can be subtracted from every row above it. |
|
|
1921
1921
|
|
|
1922
1922
|
## The stylesheets
|
|
@@ -1930,20 +1930,20 @@ is the whole cost of adopting the base layer on its own.
|
|
|
1930
1930
|
| File | Raw | Gzip | Brotli | |
|
|
1931
1931
|
|---|---|---|---|---|
|
|
1932
1932
|
| \`base.css\` | 23,077 | 3,548 | 3,058 | The base layer. Recipes for markup Helix does not render, usable with no JavaScript at all. |
|
|
1933
|
-
| \`elements.css\` | 7,
|
|
1933
|
+
| \`elements.css\` | 7,137 | 1,224 | 1,101 | Hides each element until its definition loads, generated from the tags in \`@fusion.dev/helix\`. |
|
|
1934
1934
|
| \`helix.css\` | 207 | 148 | 118 | The four above in one import, in the order they have to be in. |
|
|
1935
1935
|
| \`primitives.css\` | 6,275 | 1,234 | 1,062 | The primitive layer. Private, shipped because \`tokens.css\` resolves into it. |
|
|
1936
1936
|
| \`tokens.css\` | 19,989 | 2,460 | 2,044 | The 185 semantic tokens. Nothing paints without this. |
|
|
1937
1937
|
|
|
1938
1938
|
## What the numbers say
|
|
1939
1939
|
|
|
1940
|
-
**Most of a first component is the runtime under it.** The median styled family is 13,
|
|
1940
|
+
**Most of a first component is the runtime under it.** The median styled family is 13,974 bytes gzipped alone and adds 2,519 to a page that already has Helix on it, so 82 percent of the first one is shared and 18 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
1941
|
|
|
1942
|
-
Across the tier: the cheapest is \`code\` at 9,065 gzipped alone, the dearest \`data-table\` at 51,725, over
|
|
1942
|
+
Across the tier: the cheapest is \`code\` at 9,065 gzipped alone, the dearest \`data-table\` at 51,725, over 95 components. Every family at once is 223,187.
|
|
1943
1943
|
|
|
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 133,
|
|
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 133,936 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.
|
|
1945
1945
|
|
|
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
|
|
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.
|
|
1947
1947
|
|
|
1948
1948
|
## Against other systems
|
|
1949
1949
|
|
|
@@ -2069,6 +2069,7 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
2069
2069
|
| \`drilldown\` | 80,657 | 26,804 | 22,019 | 5,059 | 1,766 | 1,068 |
|
|
2070
2070
|
| \`empty\` | 26,988 | 9,226 | 8,147 | 816 | 405 | 98 |
|
|
2071
2071
|
| \`file-input\` | 85,388 | 28,229 | 23,148 | 6,217 | 2,206 | 1,525 |
|
|
2072
|
+
| \`filter-input\` | 83,960 | 27,636 | 22,652 | 3,041 | 1,217 | 649 |
|
|
2072
2073
|
| \`format-date\` | 30,381 | 10,333 | 9,146 | 2,805 | 955 | 486 |
|
|
2073
2074
|
| \`heatmap\` | 69,136 | 23,403 | 20,696 | 11,040 | 3,622 | 2,526 |
|
|
2074
2075
|
| \`icon\` | 73,561 | 24,431 | 20,290 | 850 | 417 | 188 |
|
|
@@ -2165,6 +2166,7 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2165
2166
|
| \`drilldown\` | 85,015 | 27,777 | 22,820 | 9,404 | 2,724 | 1,918 |
|
|
2166
2167
|
| \`empty\` | 28,295 | 9,601 | 8,463 | 2,107 | 794 | 412 |
|
|
2167
2168
|
| \`file-input\` | 96,131 | 30,389 | 24,987 | 16,953 | 4,334 | 3,274 |
|
|
2169
|
+
| \`filter-input\` | 90,242 | 28,998 | 23,774 | 9,317 | 2,538 | 1,875 |
|
|
2168
2170
|
| \`flex\` | 27,799 | 9,392 | 8,240 | 1,986 | 665 | 493 |
|
|
2169
2171
|
| \`format-date\` | 31,029 | 10,471 | 9,280 | 3,435 | 1,121 | 728 |
|
|
2170
2172
|
| \`grid\` | 28,326 | 9,564 | 8,449 | 2,511 | 856 | 576 |
|
|
@@ -2237,11 +2239,11 @@ column is what was removed rather than part of what remains.
|
|
|
2237
2239
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
2238
2240
|
|---|---|---|---|---|
|
|
2239
2241
|
| \`@fusion.dev/helix-core\` | 702,704 | 119 | 166,453 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
|
|
2240
|
-
| \`@fusion.dev/helix-headless\` | 8,
|
|
2242
|
+
| \`@fusion.dev/helix-headless\` | 8,503,448 | 426 | 709,614 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
|
|
2241
2243
|
| \`@fusion.dev/helix-icons\` | 65,943 | 11 | 20,928 | none |
|
|
2242
|
-
| \`@fusion.dev/helix-styles\` | 90,
|
|
2244
|
+
| \`@fusion.dev/helix-styles\` | 90,374 | 6 | 0 | none |
|
|
2243
2245
|
| \`@fusion.dev/helix-theme\` | 461,551 | 8 | 4,699 | none |
|
|
2244
|
-
| \`@fusion.dev/helix\` | 9,
|
|
2246
|
+
| \`@fusion.dev/helix\` | 9,514,215 | 732 | 308,735 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
|
|
2245
2247
|
|
|
2246
2248
|
## Not measured yet
|
|
2247
2249
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-docs",
|
|
3
3
|
"description": "Versioned documentation content and registry for Helix.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.13.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@fusion.dev/helix-cem": "0.
|
|
38
|
+
"@fusion.dev/helix-cem": "0.13.0",
|
|
39
39
|
"@fusion.dev/scripts": "0.0.0-dev"
|
|
40
40
|
},
|
|
41
41
|
"homepage": "https://fusion.dev",
|