@fusion.dev/helix-docs 0.44.0 → 0.45.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 +32 -32
- package/dist/sources.generated.js +32 -32
- package/package.json +3 -3
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` | 145,945 | 48,071 | 40,712 | Element base class, mixins, decorators, floating positioning. |
|
|
62
|
-
| `@fusion.dev/helix-headless` | 601,
|
|
62
|
+
| `@fusion.dev/helix-headless` | 601,981 | 155,974 | 121,386 | 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,074,
|
|
65
|
+
| `@fusion.dev/helix` | 1,074,857 | 251,712 | 184,466 | 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,
|
|
86
|
+
**Most of a first component is the runtime under it.** The median styled family is 18,773 bytes gzipped alone and adds 2,228 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
|
|
88
|
+
Across the tier: the cheapest is `code` at 9,451 gzipped alone, the dearest `data-table` at 59,027, over 100 components. Every family at once is 251,712.
|
|
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,
|
|
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,974 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
|
|
|
@@ -116,7 +116,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by `t
|
|
|
116
116
|
| | Material Web | 34,238 | 11,510 | 10,229 |
|
|
117
117
|
| | Shoelace | 52,754 | 17,698 | 15,554 |
|
|
118
118
|
| | Spectrum | 155,708 | 31,899 | 26,262 |
|
|
119
|
-
| `radio` | **Helix** | 45,
|
|
119
|
+
| `radio` | **Helix** | 45,239 | 13,341 | 11,780 |
|
|
120
120
|
| | Carbon | 63,055 | 16,887 | 14,605 |
|
|
121
121
|
| | Material Web | 41,044 | 13,234 | 11,757 |
|
|
122
122
|
| | Shoelace | 34,865 | 12,027 | 10,559 |
|
|
@@ -137,7 +137,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by `t
|
|
|
137
137
|
| | Shoelace | 57,412 | 20,220 | 17,933 |
|
|
138
138
|
| | Spectrum | 136,599 | 40,552 | 35,286 |
|
|
139
139
|
|
|
140
|
-
**Where Helix loses**, which is the half of a comparison table worth reading: `dialog`, `radio`, `switch`, `tooltip`. The largest gap is radio against Spectrum, by 2,
|
|
140
|
+
**Where Helix loses**, which is the half of a comparison table worth reading: `dialog`, `radio`, `switch`, `tooltip`. The largest gap is radio against Spectrum, by 2,681 bytes gzipped. 6 of 28 peer measurements come in under ours.
|
|
141
141
|
|
|
142
142
|
- **Carbon** `@carbon/web-components@2.61.0`. Its dialog is Modal, its radio is Radio Button, and its switch is Toggle.
|
|
143
143
|
- **Material Web** `@material/web@2.5.0`. Ships no tooltip. Its button is measured as the filled one, there being no single button element.
|
|
@@ -203,10 +203,10 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
203
203
|
| `code-block` | 121,199 | 40,426 | 34,077 | 17,262 | 4,554 | 3,910 |
|
|
204
204
|
| `color-input` | 134,304 | 43,624 | 36,618 | 25,037 | 6,496 | 5,534 |
|
|
205
205
|
| `color-picker` | 101,829 | 32,934 | 27,149 | 19,411 | 5,235 | 4,459 |
|
|
206
|
-
| `combobox` | 132,
|
|
207
|
-
| `command` | 102,
|
|
206
|
+
| `combobox` | 132,242 | 42,723 | 35,847 | 20,325 | 5,062 | 4,123 |
|
|
207
|
+
| `command` | 102,685 | 32,665 | 26,778 | 17,698 | 4,548 | 3,722 |
|
|
208
208
|
| `copy-button` | 115,795 | 38,793 | 32,636 | 11,861 | 2,986 | 2,471 |
|
|
209
|
-
| `data-table` |
|
|
209
|
+
| `data-table` | 170,127 | 52,619 | 44,511 | 54,940 | 13,960 | 11,542 |
|
|
210
210
|
| `date-input` | 130,281 | 42,245 | 35,486 | 18,542 | 4,768 | 4,029 |
|
|
211
211
|
| `date-picker` | 87,537 | 28,957 | 23,818 | 9,997 | 2,826 | 2,277 |
|
|
212
212
|
| `description-list` | 28,423 | 9,527 | 8,382 | 1,132 | 193 | 183 |
|
|
@@ -228,7 +228,7 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
228
228
|
| `legend` | 32,257 | 10,820 | 9,494 | 1,137 | 309 | 221 |
|
|
229
229
|
| `line-chart` | 74,348 | 25,309 | 22,425 | 10,746 | 3,166 | 2,597 |
|
|
230
230
|
| `list` | 29,375 | 9,761 | 8,590 | 1,725 | 348 | 323 |
|
|
231
|
-
| `listbox` | 94,
|
|
231
|
+
| `listbox` | 94,436 | 30,810 | 25,179 | 10,934 | 3,009 | 2,425 |
|
|
232
232
|
| `loader` | 28,560 | 9,692 | 8,541 | 900 | 231 | 173 |
|
|
233
233
|
| `megamenu` | 58,768 | 20,368 | 17,992 | 4,941 | 1,364 | 1,026 |
|
|
234
234
|
| `menu` | 114,129 | 38,571 | 32,277 | 8,835 | 2,252 | 1,782 |
|
|
@@ -237,19 +237,19 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
237
237
|
| `notifications` | 90,916 | 29,560 | 24,283 | 11,791 | 2,799 | 2,351 |
|
|
238
238
|
| `number-input` | 88,557 | 28,958 | 23,717 | 7,174 | 1,935 | 1,459 |
|
|
239
239
|
| `object-inspector` | 128,435 | 42,882 | 36,093 | 19,307 | 5,179 | 4,338 |
|
|
240
|
-
| `option` | 30,
|
|
240
|
+
| `option` | 30,590 | 10,120 | 8,927 | 2,933 | 672 | 463 |
|
|
241
241
|
| `outline` | 33,522 | 11,334 | 10,012 | 4,633 | 1,428 | 1,084 |
|
|
242
|
-
| `pagination` | 136,
|
|
242
|
+
| `pagination` | 136,460 | 43,435 | 36,414 | 27,143 | 6,333 | 5,282 |
|
|
243
243
|
| `pin-input` | 38,949 | 12,440 | 10,965 | 5,038 | 1,509 | 1,159 |
|
|
244
244
|
| `popover` | 55,974 | 19,594 | 17,352 | 1,901 | 524 | 404 |
|
|
245
245
|
| `progress` | 29,601 | 9,965 | 8,807 | 1,951 | 494 | 412 |
|
|
246
246
|
| `qr-code` | 40,248 | 13,998 | 12,337 | 12,981 | 4,656 | 4,031 |
|
|
247
247
|
| `quote` | 27,843 | 9,447 | 8,286 | 552 | 134 | 57 |
|
|
248
|
-
| `radio` | 37,
|
|
248
|
+
| `radio` | 37,660 | 11,921 | 10,527 | 3,159 | 833 | 618 |
|
|
249
249
|
| `rating` | 39,867 | 12,764 | 11,258 | 5,806 | 1,667 | 1,289 |
|
|
250
250
|
| `scatter-chart` | 74,272 | 25,238 | 22,250 | 11,456 | 3,464 | 2,825 |
|
|
251
251
|
| `scroll-area` | 30,086 | 10,129 | 8,898 | 2,743 | 794 | 561 |
|
|
252
|
-
| `select` | 124,
|
|
252
|
+
| `select` | 124,628 | 40,892 | 34,344 | 15,437 | 3,944 | 3,128 |
|
|
253
253
|
| `skeleton` | 27,032 | 9,189 | 8,101 | 544 | 115 | 33 |
|
|
254
254
|
| `skip-link` | 28,515 | 9,709 | 8,546 | 1,226 | 385 | 241 |
|
|
255
255
|
| `slider` | 39,332 | 12,455 | 11,004 | 5,177 | 1,418 | 1,223 |
|
|
@@ -263,8 +263,8 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
263
263
|
| `tabs` | 35,337 | 11,462 | 10,107 | 4,150 | 925 | 695 |
|
|
264
264
|
| `tag` | 75,927 | 25,307 | 20,762 | 897 | 189 | 135 |
|
|
265
265
|
| `textarea` | 38,413 | 12,129 | 10,701 | 4,018 | 1,105 | 818 |
|
|
266
|
-
| `time-input` | 142,
|
|
267
|
-
| `time-picker` | 102,
|
|
266
|
+
| `time-input` | 142,616 | 45,434 | 38,132 | 28,088 | 7,009 | 5,840 |
|
|
267
|
+
| `time-picker` | 102,991 | 33,309 | 27,388 | 18,945 | 5,157 | 4,271 |
|
|
268
268
|
| `timeline` | 76,459 | 25,298 | 20,882 | 1,894 | 404 | 311 |
|
|
269
269
|
| `toast` | 79,658 | 26,392 | 21,676 | 4,005 | 949 | 739 |
|
|
270
270
|
| `toggle` | 39,732 | 12,525 | 11,090 | 3,686 | 961 | 727 |
|
|
@@ -305,10 +305,10 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
305
305
|
| `code-block` | 137,648 | 43,288 | 36,515 | 33,691 | 7,272 | 6,215 |
|
|
306
306
|
| `color-input` | 167,718 | 48,747 | 41,205 | 58,434 | 11,670 | 10,050 |
|
|
307
307
|
| `color-picker` | 129,539 | 37,365 | 31,061 | 47,115 | 9,753 | 8,375 |
|
|
308
|
-
| `combobox` |
|
|
309
|
-
| `command` | 113,
|
|
308
|
+
| `combobox` | 147,045 | 45,381 | 38,113 | 35,109 | 7,722 | 6,556 |
|
|
309
|
+
| `command` | 113,148 | 34,694 | 28,589 | 28,147 | 6,597 | 5,552 |
|
|
310
310
|
| `copy-button` | 125,799 | 40,567 | 34,118 | 21,847 | 4,700 | 3,965 |
|
|
311
|
-
| `data-table` | 206,
|
|
311
|
+
| `data-table` | 206,856 | 59,027 | 49,632 | 91,650 | 20,445 | 16,842 |
|
|
312
312
|
| `date-input` | 146,202 | 45,278 | 38,194 | 34,440 | 7,742 | 6,621 |
|
|
313
313
|
| `date-picker` | 93,154 | 30,122 | 24,819 | 15,596 | 3,968 | 3,322 |
|
|
314
314
|
| `description-list` | 30,801 | 10,094 | 8,858 | 3,502 | 767 | 578 |
|
|
@@ -319,7 +319,7 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
319
319
|
| `drilldown` | 87,562 | 28,572 | 23,448 | 10,223 | 2,493 | 2,030 |
|
|
320
320
|
| `empty` | 29,763 | 9,992 | 8,792 | 2,087 | 552 | 412 |
|
|
321
321
|
| `file-input` | 97,997 | 30,852 | 25,354 | 17,221 | 3,855 | 3,267 |
|
|
322
|
-
| `filter-input` | 171,
|
|
322
|
+
| `filter-input` | 171,154 | 50,013 | 42,083 | 56,020 | 11,326 | 9,562 |
|
|
323
323
|
| `flex` | 29,298 | 9,797 | 8,624 | 1,999 | 464 | 369 |
|
|
324
324
|
| `format-date` | 32,581 | 10,882 | 9,624 | 3,497 | 860 | 620 |
|
|
325
325
|
| `grid` | 29,825 | 9,961 | 8,759 | 2,522 | 628 | 600 |
|
|
@@ -332,7 +332,7 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
332
332
|
| `legend` | 37,118 | 11,927 | 10,457 | 5,911 | 1,423 | 1,092 |
|
|
333
333
|
| `line-chart` | 84,119 | 27,299 | 24,196 | 20,502 | 5,200 | 4,374 |
|
|
334
334
|
| `list` | 33,439 | 10,707 | 9,426 | 5,779 | 1,313 | 1,155 |
|
|
335
|
-
| `listbox` | 98,
|
|
335
|
+
| `listbox` | 98,705 | 31,809 | 25,981 | 15,196 | 3,991 | 3,235 |
|
|
336
336
|
| `loader` | 31,726 | 10,457 | 9,202 | 4,051 | 988 | 846 |
|
|
337
337
|
| `megamenu` | 63,649 | 21,442 | 19,011 | 9,805 | 2,429 | 2,038 |
|
|
338
338
|
| `menu` | 121,506 | 40,142 | 33,679 | 16,193 | 3,773 | 3,138 |
|
|
@@ -341,21 +341,21 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
341
341
|
| `notifications` | 103,872 | 31,914 | 26,310 | 24,733 | 5,151 | 4,356 |
|
|
342
342
|
| `number-input` | 93,339 | 30,092 | 24,650 | 11,944 | 3,038 | 2,453 |
|
|
343
343
|
| `object-inspector` | 142,073 | 45,219 | 38,142 | 32,924 | 7,520 | 6,369 |
|
|
344
|
-
| `option` | 33,
|
|
344
|
+
| `option` | 33,844 | 11,023 | 9,726 | 6,175 | 1,555 | 1,213 |
|
|
345
345
|
| `orb` | 37,854 | 13,149 | 11,627 | 10,144 | 3,616 | 3,058 |
|
|
346
346
|
| `outline` | 37,262 | 12,108 | 10,673 | 8,356 | 2,235 | 1,722 |
|
|
347
|
-
| `pagination` | 154,
|
|
347
|
+
| `pagination` | 154,326 | 46,511 | 39,135 | 44,991 | 9,397 | 7,821 |
|
|
348
348
|
| `pin-input` | 42,016 | 13,230 | 11,614 | 8,088 | 2,318 | 1,874 |
|
|
349
349
|
| `popover` | 58,610 | 20,243 | 17,909 | 4,519 | 1,187 | 990 |
|
|
350
350
|
| `progress` | 34,630 | 11,137 | 9,863 | 6,962 | 1,660 | 1,406 |
|
|
351
351
|
| `qr-code` | 41,911 | 14,428 | 12,719 | 14,626 | 5,111 | 4,441 |
|
|
352
352
|
| `quote` | 28,498 | 9,607 | 8,462 | 1,191 | 301 | 193 |
|
|
353
|
-
| `radio` | 45,
|
|
353
|
+
| `radio` | 45,239 | 13,341 | 11,780 | 10,730 | 2,257 | 1,858 |
|
|
354
354
|
| `rating` | 42,824 | 13,689 | 12,046 | 8,745 | 2,557 | 2,134 |
|
|
355
|
-
| `sandbox` | 62,
|
|
355
|
+
| `sandbox` | 62,985 | 17,303 | 15,338 | 34,890 | 7,689 | 6,601 |
|
|
356
356
|
| `scatter-chart` | 82,664 | 27,048 | 23,816 | 19,829 | 5,282 | 4,343 |
|
|
357
357
|
| `scroll-area` | 33,234 | 10,788 | 9,483 | 5,874 | 1,455 | 1,149 |
|
|
358
|
-
| `select` | 137,
|
|
358
|
+
| `select` | 137,233 | 43,266 | 36,354 | 28,028 | 6,298 | 5,169 |
|
|
359
359
|
| `skeleton` | 29,550 | 9,941 | 8,760 | 2,242 | 601 | 578 |
|
|
360
360
|
| `skip-link` | 29,978 | 10,112 | 8,867 | 2,672 | 776 | 605 |
|
|
361
361
|
| `slider` | 50,314 | 14,414 | 12,755 | 16,142 | 3,398 | 2,924 |
|
|
@@ -370,8 +370,8 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
370
370
|
| `tag` | 79,131 | 26,169 | 21,479 | 4,086 | 1,024 | 999 |
|
|
371
371
|
| `text` | 31,284 | 10,085 | 8,852 | 3,987 | 789 | 625 |
|
|
372
372
|
| `textarea` | 41,750 | 12,939 | 11,399 | 7,341 | 1,934 | 1,473 |
|
|
373
|
-
| `time-input` | 163,
|
|
374
|
-
| `time-picker` | 114,
|
|
373
|
+
| `time-input` | 163,855 | 48,936 | 41,211 | 49,312 | 10,552 | 8,870 |
|
|
374
|
+
| `time-picker` | 114,467 | 35,443 | 29,251 | 30,416 | 7,342 | 6,288 |
|
|
375
375
|
| `timeline` | 79,737 | 26,050 | 21,519 | 5,160 | 1,145 | 1,025 |
|
|
376
376
|
| `toast` | 87,191 | 28,068 | 23,098 | 11,526 | 2,596 | 2,192 |
|
|
377
377
|
| `toggle` | 44,719 | 13,682 | 12,063 | 8,665 | 2,122 | 1,658 |
|
|
@@ -394,12 +394,12 @@ column is what was removed rather than part of what remains.
|
|
|
394
394
|
|
|
395
395
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
396
396
|
|---|---|---|---|---|
|
|
397
|
-
| `@fusion.dev/helix-core` |
|
|
398
|
-
| `@fusion.dev/helix-headless` | 11,
|
|
397
|
+
| `@fusion.dev/helix-core` | 847,310 | 123 | 186,573 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
|
|
398
|
+
| `@fusion.dev/helix-headless` | 11,169,615 | 472 | 855,156 | `@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,
|
|
402
|
+
| `@fusion.dev/helix` | 12,200,377 | 798 | 338,112 | `@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,945 | 48,071 | 40,712 | Element base class, mixins, decorators, floating positioning. |
|
|
2026
|
-
| \`@fusion.dev/helix-headless\` | 601,
|
|
2026
|
+
| \`@fusion.dev/helix-headless\` | 601,981 | 155,974 | 121,386 | 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,074,
|
|
2029
|
+
| \`@fusion.dev/helix\` | 1,074,857 | 251,712 | 184,466 | 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,
|
|
2050
|
+
**Most of a first component is the runtime under it.** The median styled family is 18,773 bytes gzipped alone and adds 2,228 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
|
|
2052
|
+
Across the tier: the cheapest is \`code\` at 9,451 gzipped alone, the dearest \`data-table\` at 59,027, over 100 components. Every family at once is 251,712.
|
|
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,
|
|
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,974 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
|
|
|
@@ -2080,7 +2080,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by \`
|
|
|
2080
2080
|
| | Material Web | 34,238 | 11,510 | 10,229 |
|
|
2081
2081
|
| | Shoelace | 52,754 | 17,698 | 15,554 |
|
|
2082
2082
|
| | Spectrum | 155,708 | 31,899 | 26,262 |
|
|
2083
|
-
| \`radio\` | **Helix** | 45,
|
|
2083
|
+
| \`radio\` | **Helix** | 45,239 | 13,341 | 11,780 |
|
|
2084
2084
|
| | Carbon | 63,055 | 16,887 | 14,605 |
|
|
2085
2085
|
| | Material Web | 41,044 | 13,234 | 11,757 |
|
|
2086
2086
|
| | Shoelace | 34,865 | 12,027 | 10,559 |
|
|
@@ -2101,7 +2101,7 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by \`
|
|
|
2101
2101
|
| | Shoelace | 57,412 | 20,220 | 17,933 |
|
|
2102
2102
|
| | Spectrum | 136,599 | 40,552 | 35,286 |
|
|
2103
2103
|
|
|
2104
|
-
**Where Helix loses**, which is the half of a comparison table worth reading: \`dialog\`, \`radio\`, \`switch\`, \`tooltip\`. The largest gap is radio against Spectrum, by 2,
|
|
2104
|
+
**Where Helix loses**, which is the half of a comparison table worth reading: \`dialog\`, \`radio\`, \`switch\`, \`tooltip\`. The largest gap is radio against Spectrum, by 2,681 bytes gzipped. 6 of 28 peer measurements come in under ours.
|
|
2105
2105
|
|
|
2106
2106
|
- **Carbon** \`@carbon/web-components@2.61.0\`. Its dialog is Modal, its radio is Radio Button, and its switch is Toggle.
|
|
2107
2107
|
- **Material Web** \`@material/web@2.5.0\`. Ships no tooltip. Its button is measured as the filled one, there being no single button element.
|
|
@@ -2167,10 +2167,10 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
2167
2167
|
| \`code-block\` | 121,199 | 40,426 | 34,077 | 17,262 | 4,554 | 3,910 |
|
|
2168
2168
|
| \`color-input\` | 134,304 | 43,624 | 36,618 | 25,037 | 6,496 | 5,534 |
|
|
2169
2169
|
| \`color-picker\` | 101,829 | 32,934 | 27,149 | 19,411 | 5,235 | 4,459 |
|
|
2170
|
-
| \`combobox\` | 132,
|
|
2171
|
-
| \`command\` | 102,
|
|
2170
|
+
| \`combobox\` | 132,242 | 42,723 | 35,847 | 20,325 | 5,062 | 4,123 |
|
|
2171
|
+
| \`command\` | 102,685 | 32,665 | 26,778 | 17,698 | 4,548 | 3,722 |
|
|
2172
2172
|
| \`copy-button\` | 115,795 | 38,793 | 32,636 | 11,861 | 2,986 | 2,471 |
|
|
2173
|
-
| \`data-table\` |
|
|
2173
|
+
| \`data-table\` | 170,127 | 52,619 | 44,511 | 54,940 | 13,960 | 11,542 |
|
|
2174
2174
|
| \`date-input\` | 130,281 | 42,245 | 35,486 | 18,542 | 4,768 | 4,029 |
|
|
2175
2175
|
| \`date-picker\` | 87,537 | 28,957 | 23,818 | 9,997 | 2,826 | 2,277 |
|
|
2176
2176
|
| \`description-list\` | 28,423 | 9,527 | 8,382 | 1,132 | 193 | 183 |
|
|
@@ -2192,7 +2192,7 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
2192
2192
|
| \`legend\` | 32,257 | 10,820 | 9,494 | 1,137 | 309 | 221 |
|
|
2193
2193
|
| \`line-chart\` | 74,348 | 25,309 | 22,425 | 10,746 | 3,166 | 2,597 |
|
|
2194
2194
|
| \`list\` | 29,375 | 9,761 | 8,590 | 1,725 | 348 | 323 |
|
|
2195
|
-
| \`listbox\` | 94,
|
|
2195
|
+
| \`listbox\` | 94,436 | 30,810 | 25,179 | 10,934 | 3,009 | 2,425 |
|
|
2196
2196
|
| \`loader\` | 28,560 | 9,692 | 8,541 | 900 | 231 | 173 |
|
|
2197
2197
|
| \`megamenu\` | 58,768 | 20,368 | 17,992 | 4,941 | 1,364 | 1,026 |
|
|
2198
2198
|
| \`menu\` | 114,129 | 38,571 | 32,277 | 8,835 | 2,252 | 1,782 |
|
|
@@ -2201,19 +2201,19 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
2201
2201
|
| \`notifications\` | 90,916 | 29,560 | 24,283 | 11,791 | 2,799 | 2,351 |
|
|
2202
2202
|
| \`number-input\` | 88,557 | 28,958 | 23,717 | 7,174 | 1,935 | 1,459 |
|
|
2203
2203
|
| \`object-inspector\` | 128,435 | 42,882 | 36,093 | 19,307 | 5,179 | 4,338 |
|
|
2204
|
-
| \`option\` | 30,
|
|
2204
|
+
| \`option\` | 30,590 | 10,120 | 8,927 | 2,933 | 672 | 463 |
|
|
2205
2205
|
| \`outline\` | 33,522 | 11,334 | 10,012 | 4,633 | 1,428 | 1,084 |
|
|
2206
|
-
| \`pagination\` | 136,
|
|
2206
|
+
| \`pagination\` | 136,460 | 43,435 | 36,414 | 27,143 | 6,333 | 5,282 |
|
|
2207
2207
|
| \`pin-input\` | 38,949 | 12,440 | 10,965 | 5,038 | 1,509 | 1,159 |
|
|
2208
2208
|
| \`popover\` | 55,974 | 19,594 | 17,352 | 1,901 | 524 | 404 |
|
|
2209
2209
|
| \`progress\` | 29,601 | 9,965 | 8,807 | 1,951 | 494 | 412 |
|
|
2210
2210
|
| \`qr-code\` | 40,248 | 13,998 | 12,337 | 12,981 | 4,656 | 4,031 |
|
|
2211
2211
|
| \`quote\` | 27,843 | 9,447 | 8,286 | 552 | 134 | 57 |
|
|
2212
|
-
| \`radio\` | 37,
|
|
2212
|
+
| \`radio\` | 37,660 | 11,921 | 10,527 | 3,159 | 833 | 618 |
|
|
2213
2213
|
| \`rating\` | 39,867 | 12,764 | 11,258 | 5,806 | 1,667 | 1,289 |
|
|
2214
2214
|
| \`scatter-chart\` | 74,272 | 25,238 | 22,250 | 11,456 | 3,464 | 2,825 |
|
|
2215
2215
|
| \`scroll-area\` | 30,086 | 10,129 | 8,898 | 2,743 | 794 | 561 |
|
|
2216
|
-
| \`select\` | 124,
|
|
2216
|
+
| \`select\` | 124,628 | 40,892 | 34,344 | 15,437 | 3,944 | 3,128 |
|
|
2217
2217
|
| \`skeleton\` | 27,032 | 9,189 | 8,101 | 544 | 115 | 33 |
|
|
2218
2218
|
| \`skip-link\` | 28,515 | 9,709 | 8,546 | 1,226 | 385 | 241 |
|
|
2219
2219
|
| \`slider\` | 39,332 | 12,455 | 11,004 | 5,177 | 1,418 | 1,223 |
|
|
@@ -2227,8 +2227,8 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
2227
2227
|
| \`tabs\` | 35,337 | 11,462 | 10,107 | 4,150 | 925 | 695 |
|
|
2228
2228
|
| \`tag\` | 75,927 | 25,307 | 20,762 | 897 | 189 | 135 |
|
|
2229
2229
|
| \`textarea\` | 38,413 | 12,129 | 10,701 | 4,018 | 1,105 | 818 |
|
|
2230
|
-
| \`time-input\` | 142,
|
|
2231
|
-
| \`time-picker\` | 102,
|
|
2230
|
+
| \`time-input\` | 142,616 | 45,434 | 38,132 | 28,088 | 7,009 | 5,840 |
|
|
2231
|
+
| \`time-picker\` | 102,991 | 33,309 | 27,388 | 18,945 | 5,157 | 4,271 |
|
|
2232
2232
|
| \`timeline\` | 76,459 | 25,298 | 20,882 | 1,894 | 404 | 311 |
|
|
2233
2233
|
| \`toast\` | 79,658 | 26,392 | 21,676 | 4,005 | 949 | 739 |
|
|
2234
2234
|
| \`toggle\` | 39,732 | 12,525 | 11,090 | 3,686 | 961 | 727 |
|
|
@@ -2269,10 +2269,10 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2269
2269
|
| \`code-block\` | 137,648 | 43,288 | 36,515 | 33,691 | 7,272 | 6,215 |
|
|
2270
2270
|
| \`color-input\` | 167,718 | 48,747 | 41,205 | 58,434 | 11,670 | 10,050 |
|
|
2271
2271
|
| \`color-picker\` | 129,539 | 37,365 | 31,061 | 47,115 | 9,753 | 8,375 |
|
|
2272
|
-
| \`combobox\` |
|
|
2273
|
-
| \`command\` | 113,
|
|
2272
|
+
| \`combobox\` | 147,045 | 45,381 | 38,113 | 35,109 | 7,722 | 6,556 |
|
|
2273
|
+
| \`command\` | 113,148 | 34,694 | 28,589 | 28,147 | 6,597 | 5,552 |
|
|
2274
2274
|
| \`copy-button\` | 125,799 | 40,567 | 34,118 | 21,847 | 4,700 | 3,965 |
|
|
2275
|
-
| \`data-table\` | 206,
|
|
2275
|
+
| \`data-table\` | 206,856 | 59,027 | 49,632 | 91,650 | 20,445 | 16,842 |
|
|
2276
2276
|
| \`date-input\` | 146,202 | 45,278 | 38,194 | 34,440 | 7,742 | 6,621 |
|
|
2277
2277
|
| \`date-picker\` | 93,154 | 30,122 | 24,819 | 15,596 | 3,968 | 3,322 |
|
|
2278
2278
|
| \`description-list\` | 30,801 | 10,094 | 8,858 | 3,502 | 767 | 578 |
|
|
@@ -2283,7 +2283,7 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2283
2283
|
| \`drilldown\` | 87,562 | 28,572 | 23,448 | 10,223 | 2,493 | 2,030 |
|
|
2284
2284
|
| \`empty\` | 29,763 | 9,992 | 8,792 | 2,087 | 552 | 412 |
|
|
2285
2285
|
| \`file-input\` | 97,997 | 30,852 | 25,354 | 17,221 | 3,855 | 3,267 |
|
|
2286
|
-
| \`filter-input\` | 171,
|
|
2286
|
+
| \`filter-input\` | 171,154 | 50,013 | 42,083 | 56,020 | 11,326 | 9,562 |
|
|
2287
2287
|
| \`flex\` | 29,298 | 9,797 | 8,624 | 1,999 | 464 | 369 |
|
|
2288
2288
|
| \`format-date\` | 32,581 | 10,882 | 9,624 | 3,497 | 860 | 620 |
|
|
2289
2289
|
| \`grid\` | 29,825 | 9,961 | 8,759 | 2,522 | 628 | 600 |
|
|
@@ -2296,7 +2296,7 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2296
2296
|
| \`legend\` | 37,118 | 11,927 | 10,457 | 5,911 | 1,423 | 1,092 |
|
|
2297
2297
|
| \`line-chart\` | 84,119 | 27,299 | 24,196 | 20,502 | 5,200 | 4,374 |
|
|
2298
2298
|
| \`list\` | 33,439 | 10,707 | 9,426 | 5,779 | 1,313 | 1,155 |
|
|
2299
|
-
| \`listbox\` | 98,
|
|
2299
|
+
| \`listbox\` | 98,705 | 31,809 | 25,981 | 15,196 | 3,991 | 3,235 |
|
|
2300
2300
|
| \`loader\` | 31,726 | 10,457 | 9,202 | 4,051 | 988 | 846 |
|
|
2301
2301
|
| \`megamenu\` | 63,649 | 21,442 | 19,011 | 9,805 | 2,429 | 2,038 |
|
|
2302
2302
|
| \`menu\` | 121,506 | 40,142 | 33,679 | 16,193 | 3,773 | 3,138 |
|
|
@@ -2305,21 +2305,21 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2305
2305
|
| \`notifications\` | 103,872 | 31,914 | 26,310 | 24,733 | 5,151 | 4,356 |
|
|
2306
2306
|
| \`number-input\` | 93,339 | 30,092 | 24,650 | 11,944 | 3,038 | 2,453 |
|
|
2307
2307
|
| \`object-inspector\` | 142,073 | 45,219 | 38,142 | 32,924 | 7,520 | 6,369 |
|
|
2308
|
-
| \`option\` | 33,
|
|
2308
|
+
| \`option\` | 33,844 | 11,023 | 9,726 | 6,175 | 1,555 | 1,213 |
|
|
2309
2309
|
| \`orb\` | 37,854 | 13,149 | 11,627 | 10,144 | 3,616 | 3,058 |
|
|
2310
2310
|
| \`outline\` | 37,262 | 12,108 | 10,673 | 8,356 | 2,235 | 1,722 |
|
|
2311
|
-
| \`pagination\` | 154,
|
|
2311
|
+
| \`pagination\` | 154,326 | 46,511 | 39,135 | 44,991 | 9,397 | 7,821 |
|
|
2312
2312
|
| \`pin-input\` | 42,016 | 13,230 | 11,614 | 8,088 | 2,318 | 1,874 |
|
|
2313
2313
|
| \`popover\` | 58,610 | 20,243 | 17,909 | 4,519 | 1,187 | 990 |
|
|
2314
2314
|
| \`progress\` | 34,630 | 11,137 | 9,863 | 6,962 | 1,660 | 1,406 |
|
|
2315
2315
|
| \`qr-code\` | 41,911 | 14,428 | 12,719 | 14,626 | 5,111 | 4,441 |
|
|
2316
2316
|
| \`quote\` | 28,498 | 9,607 | 8,462 | 1,191 | 301 | 193 |
|
|
2317
|
-
| \`radio\` | 45,
|
|
2317
|
+
| \`radio\` | 45,239 | 13,341 | 11,780 | 10,730 | 2,257 | 1,858 |
|
|
2318
2318
|
| \`rating\` | 42,824 | 13,689 | 12,046 | 8,745 | 2,557 | 2,134 |
|
|
2319
|
-
| \`sandbox\` | 62,
|
|
2319
|
+
| \`sandbox\` | 62,985 | 17,303 | 15,338 | 34,890 | 7,689 | 6,601 |
|
|
2320
2320
|
| \`scatter-chart\` | 82,664 | 27,048 | 23,816 | 19,829 | 5,282 | 4,343 |
|
|
2321
2321
|
| \`scroll-area\` | 33,234 | 10,788 | 9,483 | 5,874 | 1,455 | 1,149 |
|
|
2322
|
-
| \`select\` | 137,
|
|
2322
|
+
| \`select\` | 137,233 | 43,266 | 36,354 | 28,028 | 6,298 | 5,169 |
|
|
2323
2323
|
| \`skeleton\` | 29,550 | 9,941 | 8,760 | 2,242 | 601 | 578 |
|
|
2324
2324
|
| \`skip-link\` | 29,978 | 10,112 | 8,867 | 2,672 | 776 | 605 |
|
|
2325
2325
|
| \`slider\` | 50,314 | 14,414 | 12,755 | 16,142 | 3,398 | 2,924 |
|
|
@@ -2334,8 +2334,8 @@ The headless tier plus presentation. This is what \`bun add @fusion.dev/helix\`
|
|
|
2334
2334
|
| \`tag\` | 79,131 | 26,169 | 21,479 | 4,086 | 1,024 | 999 |
|
|
2335
2335
|
| \`text\` | 31,284 | 10,085 | 8,852 | 3,987 | 789 | 625 |
|
|
2336
2336
|
| \`textarea\` | 41,750 | 12,939 | 11,399 | 7,341 | 1,934 | 1,473 |
|
|
2337
|
-
| \`time-input\` | 163,
|
|
2338
|
-
| \`time-picker\` | 114,
|
|
2337
|
+
| \`time-input\` | 163,855 | 48,936 | 41,211 | 49,312 | 10,552 | 8,870 |
|
|
2338
|
+
| \`time-picker\` | 114,467 | 35,443 | 29,251 | 30,416 | 7,342 | 6,288 |
|
|
2339
2339
|
| \`timeline\` | 79,737 | 26,050 | 21,519 | 5,160 | 1,145 | 1,025 |
|
|
2340
2340
|
| \`toast\` | 87,191 | 28,068 | 23,098 | 11,526 | 2,596 | 2,192 |
|
|
2341
2341
|
| \`toggle\` | 44,719 | 13,682 | 12,063 | 8,665 | 2,122 | 1,658 |
|
|
@@ -2358,12 +2358,12 @@ column is what was removed rather than part of what remains.
|
|
|
2358
2358
|
|
|
2359
2359
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
2360
2360
|
|---|---|---|---|---|
|
|
2361
|
-
| \`@fusion.dev/helix-core\` |
|
|
2362
|
-
| \`@fusion.dev/helix-headless\` | 11,
|
|
2361
|
+
| \`@fusion.dev/helix-core\` | 847,310 | 123 | 186,573 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
|
|
2362
|
+
| \`@fusion.dev/helix-headless\` | 11,169,615 | 472 | 855,156 | \`@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,
|
|
2366
|
+
| \`@fusion.dev/helix\` | 12,200,377 | 798 | 338,112 | \`@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.
|
|
4
|
+
"version": "0.45.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.
|
|
40
|
-
"@fusion.dev/helix-testing": "0.
|
|
39
|
+
"@fusion.dev/helix-cem": "0.45.0",
|
|
40
|
+
"@fusion.dev/helix-testing": "0.45.0",
|
|
41
41
|
"@fusion.dev/scripts": "0.0.0-dev",
|
|
42
42
|
"lit": "^3.2.1",
|
|
43
43
|
"playwright": "^1.62.1"
|