@fusion.dev/helix-docs 0.39.0 → 0.40.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.
@@ -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` | 145,557 | 47,913 | 40,606 | Element base class, mixins, decorators, floating positioning. |
62
- | `@fusion.dev/helix-headless` | 601,460 | 155,711 | 121,113 | Every headless family, which is what the barrel means. |
62
+ | `@fusion.dev/helix-headless` | 601,513 | 155,734 | 121,149 | 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` | 1,073,815 | 251,423 | 184,161 | Every styled family. |
65
+ | `@fusion.dev/helix` | 1,073,868 | 251,442 | 184,124 | 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
@@ -83,11 +83,11 @@ is the whole cost of adopting the base layer on its own.
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 18,751 bytes gzipped alone and adds 2,222 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.
86
+ **Most of a first component is the runtime under it.** The median styled family is 18,751 bytes gzipped alone and adds 2,229 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.
87
87
 
88
- Across the tier: the cheapest is `code` at 9,451 gzipped alone, the dearest `data-table` at 59,002, over 100 components. Every family at once is 251,423.
88
+ Across the tier: the cheapest is `code` at 9,451 gzipped alone, the dearest `data-table` at 59,002, over 100 components. Every family at once is 251,442.
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 155,711 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.
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 155,734 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.
91
91
 
92
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 20,532 bytes gzipped alone.
93
93
 
@@ -126,7 +126,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by `t
126
126
  | | Material Web | 50,155 | 14,577 | 12,935 |
127
127
  | | Shoelace | 37,833 | 11,814 | 10,568 |
128
128
  | | Spectrum | 62,322 | 15,059 | 13,321 |
129
- | `tabs` | **Helix** | 41,523 | 12,717 | 11,237 |
129
+ | `tabs` | **Helix** | 41,576 | 12,738 | 11,235 |
130
130
  | | Carbon | 578,766 | 73,537 | 43,235 |
131
131
  | | Material Web | 38,883 | 12,820 | 11,368 |
132
132
  | | Shoelace | 54,573 | 17,140 | 15,068 |
@@ -260,7 +260,7 @@ Structure, accessibility, state and form participation. No presentation, and no
260
260
  | `steps` | 84,636 | 27,790 | 22,788 | 6,293 | 1,521 | 1,168 |
261
261
  | `switch` | 35,811 | 11,505 | 10,179 | 1,699 | 535 | 284 |
262
262
  | `table` | 85,447 | 28,372 | 23,228 | 9,221 | 2,604 | 2,017 |
263
- | `tabs` | 35,284 | 11,444 | 10,081 | 4,097 | 904 | 667 |
263
+ | `tabs` | 35,337 | 11,462 | 10,107 | 4,150 | 929 | 614 |
264
264
  | `tag` | 75,927 | 25,307 | 20,762 | 897 | 194 | 106 |
265
265
  | `textarea` | 38,413 | 12,129 | 10,701 | 4,018 | 1,110 | 746 |
266
266
  | `time-input` | 142,479 | 45,399 | 38,105 | 27,951 | 6,982 | 5,849 |
@@ -366,7 +366,7 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
366
366
  | `steps` | 98,259 | 30,212 | 24,901 | 19,904 | 3,915 | 3,310 |
367
367
  | `switch` | 40,035 | 12,546 | 11,059 | 5,908 | 1,588 | 1,244 |
368
368
  | `table` | 90,805 | 29,473 | 24,204 | 14,568 | 3,664 | 3,080 |
369
- | `tabs` | 41,523 | 12,717 | 11,237 | 10,325 | 2,201 | 1,829 |
369
+ | `tabs` | 41,576 | 12,738 | 11,235 | 10,378 | 2,223 | 1,760 |
370
370
  | `tag` | 79,131 | 26,169 | 21,479 | 4,086 | 1,022 | 908 |
371
371
  | `text` | 31,284 | 10,085 | 8,852 | 3,987 | 789 | 517 |
372
372
  | `textarea` | 41,750 | 12,939 | 11,399 | 7,341 | 1,937 | 1,485 |
@@ -395,11 +395,11 @@ column is what was removed rather than part of what remains.
395
395
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
396
396
  |---|---|---|---|---|
397
397
  | `@fusion.dev/helix-core` | 839,504 | 123 | 185,274 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
398
- | `@fusion.dev/helix-headless` | 11,069,261 | 472 | 854,374 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
398
+ | `@fusion.dev/helix-headless` | 11,070,743 | 472 | 854,545 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
399
399
  | `@fusion.dev/helix-icons` | 65,943 | 11 | 20,928 | none |
400
400
  | `@fusion.dev/helix-styles` | 101,139 | 6 | 0 | none |
401
401
  | `@fusion.dev/helix-theme` | 465,413 | 8 | 4,703 | none |
402
- | `@fusion.dev/helix` | 12,048,154 | 798 | 337,110 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
402
+ | `@fusion.dev/helix` | 12,053,259 | 798 | 337,118 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
403
403
 
404
404
  ## Not measured yet
405
405
 
@@ -2023,10 +2023,10 @@ repository does that. The per-component tables are what a page pays.
2023
2023
  | Package | Raw | Gzip | Brotli | |
2024
2024
  |---|---|---|---|---|
2025
2025
  | \`@fusion.dev/helix-core\` | 145,557 | 47,913 | 40,606 | Element base class, mixins, decorators, floating positioning. |
2026
- | \`@fusion.dev/helix-headless\` | 601,460 | 155,711 | 121,113 | Every headless family, which is what the barrel means. |
2026
+ | \`@fusion.dev/helix-headless\` | 601,513 | 155,734 | 121,149 | Every headless family, which is what the barrel means. |
2027
2027
  | \`@fusion.dev/helix-icons\` | 47,484 | 14,907 | 12,553 | The whole glyph set. |
2028
2028
  | \`@fusion.dev/helix-theme\` | 3,288 | 1,571 | 1,355 | The derivation engine. Build time for most consumers, runtime for a theme switcher. |
2029
- | \`@fusion.dev/helix\` | 1,073,815 | 251,423 | 184,161 | Every styled family. |
2029
+ | \`@fusion.dev/helix\` | 1,073,868 | 251,442 | 184,124 | Every styled family. |
2030
2030
  | \`lit\` | 15,394 | 6,118 | 5,460 | Not ours. Here so it can be subtracted from every row above it. |
2031
2031
 
2032
2032
  ## The stylesheets
@@ -2047,11 +2047,11 @@ is the whole cost of adopting the base layer on its own.
2047
2047
 
2048
2048
  ## What the numbers say
2049
2049
 
2050
- **Most of a first component is the runtime under it.** The median styled family is 18,751 bytes gzipped alone and adds 2,222 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.
2050
+ **Most of a first component is the runtime under it.** The median styled family is 18,751 bytes gzipped alone and adds 2,229 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.
2051
2051
 
2052
- Across the tier: the cheapest is \`code\` at 9,451 gzipped alone, the dearest \`data-table\` at 59,002, over 100 components. Every family at once is 251,423.
2052
+ Across the tier: the cheapest is \`code\` at 9,451 gzipped alone, the dearest \`data-table\` at 59,002, over 100 components. Every family at once is 251,442.
2053
2053
 
2054
- **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 155,711 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.
2054
+ **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 155,734 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.
2055
2055
 
2056
2056
  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 20,532 bytes gzipped alone.
2057
2057
 
@@ -2090,7 +2090,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by \`
2090
2090
  | | Material Web | 50,155 | 14,577 | 12,935 |
2091
2091
  | | Shoelace | 37,833 | 11,814 | 10,568 |
2092
2092
  | | Spectrum | 62,322 | 15,059 | 13,321 |
2093
- | \`tabs\` | **Helix** | 41,523 | 12,717 | 11,237 |
2093
+ | \`tabs\` | **Helix** | 41,576 | 12,738 | 11,235 |
2094
2094
  | | Carbon | 578,766 | 73,537 | 43,235 |
2095
2095
  | | Material Web | 38,883 | 12,820 | 11,368 |
2096
2096
  | | Shoelace | 54,573 | 17,140 | 15,068 |
@@ -2224,7 +2224,7 @@ Structure, accessibility, state and form participation. No presentation, and no
2224
2224
  | \`steps\` | 84,636 | 27,790 | 22,788 | 6,293 | 1,521 | 1,168 |
2225
2225
  | \`switch\` | 35,811 | 11,505 | 10,179 | 1,699 | 535 | 284 |
2226
2226
  | \`table\` | 85,447 | 28,372 | 23,228 | 9,221 | 2,604 | 2,017 |
2227
- | \`tabs\` | 35,284 | 11,444 | 10,081 | 4,097 | 904 | 667 |
2227
+ | \`tabs\` | 35,337 | 11,462 | 10,107 | 4,150 | 929 | 614 |
2228
2228
  | \`tag\` | 75,927 | 25,307 | 20,762 | 897 | 194 | 106 |
2229
2229
  | \`textarea\` | 38,413 | 12,129 | 10,701 | 4,018 | 1,110 | 746 |
2230
2230
  | \`time-input\` | 142,479 | 45,399 | 38,105 | 27,951 | 6,982 | 5,849 |
@@ -2330,7 +2330,7 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
2330
2330
  | \`steps\` | 98,259 | 30,212 | 24,901 | 19,904 | 3,915 | 3,310 |
2331
2331
  | \`switch\` | 40,035 | 12,546 | 11,059 | 5,908 | 1,588 | 1,244 |
2332
2332
  | \`table\` | 90,805 | 29,473 | 24,204 | 14,568 | 3,664 | 3,080 |
2333
- | \`tabs\` | 41,523 | 12,717 | 11,237 | 10,325 | 2,201 | 1,829 |
2333
+ | \`tabs\` | 41,576 | 12,738 | 11,235 | 10,378 | 2,223 | 1,760 |
2334
2334
  | \`tag\` | 79,131 | 26,169 | 21,479 | 4,086 | 1,022 | 908 |
2335
2335
  | \`text\` | 31,284 | 10,085 | 8,852 | 3,987 | 789 | 517 |
2336
2336
  | \`textarea\` | 41,750 | 12,939 | 11,399 | 7,341 | 1,937 | 1,485 |
@@ -2359,11 +2359,11 @@ column is what was removed rather than part of what remains.
2359
2359
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
2360
2360
  |---|---|---|---|---|
2361
2361
  | \`@fusion.dev/helix-core\` | 839,504 | 123 | 185,274 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
2362
- | \`@fusion.dev/helix-headless\` | 11,069,261 | 472 | 854,374 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
2362
+ | \`@fusion.dev/helix-headless\` | 11,070,743 | 472 | 854,545 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
2363
2363
  | \`@fusion.dev/helix-icons\` | 65,943 | 11 | 20,928 | none |
2364
2364
  | \`@fusion.dev/helix-styles\` | 101,139 | 6 | 0 | none |
2365
2365
  | \`@fusion.dev/helix-theme\` | 465,413 | 8 | 4,703 | none |
2366
- | \`@fusion.dev/helix\` | 12,048,154 | 798 | 337,110 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2366
+ | \`@fusion.dev/helix\` | 12,053,259 | 798 | 337,118 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
2367
2367
 
2368
2368
  ## Not measured yet
2369
2369
 
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.39.0",
4
+ "version": "0.40.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "bugs": "https://github.com/project-fusion/fusion/issues",
38
38
  "devDependencies": {
39
- "@fusion.dev/helix-cem": "0.39.0",
40
- "@fusion.dev/helix-testing": "0.39.0",
39
+ "@fusion.dev/helix-cem": "0.40.0",
40
+ "@fusion.dev/helix-testing": "0.40.0",
41
41
  "@fusion.dev/scripts": "0.0.0-dev",
42
42
  "lit": "^3.2.1",
43
43
  "playwright": "^1.62.1"