@fusion.dev/helix-docs 0.31.0 → 0.33.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/browser-support.mdx +6 -0
- package/content/charting.mdx +26 -0
- package/content/iconography.mdx +14 -0
- package/content/localization.mdx +50 -7
- package/content/metrics.mdx +213 -213
- package/content/overlays.mdx +3 -2
- package/content/overriding-a-component.mdx +6 -0
- package/dist/sources.generated.js +318 -222
- package/package.json +3 -3
package/content/metrics.mdx
CHANGED
|
@@ -47,7 +47,7 @@ nobody ever downloads this floor on its own.
|
|
|
47
47
|
|
|
48
48
|
| | Raw | Gzip | Brotli |
|
|
49
49
|
|---|---|---|---|
|
|
50
|
-
| Lit and `@fusion.dev/helix-core` |
|
|
50
|
+
| Lit and `@fusion.dev/helix-core` | 145,906 | 48,207 | 40,782 |
|
|
51
51
|
|
|
52
52
|
## Whole packages
|
|
53
53
|
|
|
@@ -58,11 +58,11 @@ repository does that. The per-component tables are what a page pays.
|
|
|
58
58
|
|
|
59
59
|
| Package | Raw | Gzip | Brotli | |
|
|
60
60
|
|---|---|---|---|---|
|
|
61
|
-
| `@fusion.dev/helix-core` |
|
|
62
|
-
| `@fusion.dev/helix-headless` |
|
|
61
|
+
| `@fusion.dev/helix-core` | 145,460 | 47,853 | 40,503 | Element base class, mixins, decorators, floating positioning. |
|
|
62
|
+
| `@fusion.dev/helix-headless` | 601,009 | 155,450 | 120,869 | 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,
|
|
65
|
+
| `@fusion.dev/helix` | 1,071,400 | 250,729 | 183,407 | 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,13 +83,13 @@ 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,709 bytes gzipped alone and adds 2,213 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,
|
|
88
|
+
Across the tier: the cheapest is `code` at 9,408 gzipped alone, the dearest `data-table` at 58,933, over 100 components. Every family at once is 250,729.
|
|
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
|
|
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,450 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
|
-
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,
|
|
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,496 bytes gzipped alone.
|
|
93
93
|
|
|
94
94
|
## Against other systems
|
|
95
95
|
|
|
@@ -101,43 +101,43 @@ Four other libraries of custom elements, pinned and measured on 2026-08-24 by `t
|
|
|
101
101
|
|
|
102
102
|
| Component | System | Raw | Gzip | Brotli |
|
|
103
103
|
|---|---|---|---|---|
|
|
104
|
-
| `button` | **Helix** | 38,
|
|
104
|
+
| `button` | **Helix** | 38,953 | 11,938 | 10,536 |
|
|
105
105
|
| | Carbon | 133,058 | 20,959 | 17,685 |
|
|
106
106
|
| | Material Web | 47,060 | 14,173 | 12,591 |
|
|
107
107
|
| | Shoelace | 62,628 | 18,287 | 15,805 |
|
|
108
108
|
| | Spectrum | 98,792 | 22,045 | 18,674 |
|
|
109
|
-
| `checkbox` | **Helix** | 42,
|
|
109
|
+
| `checkbox` | **Helix** | 42,269 | 12,948 | 11,411 |
|
|
110
110
|
| | Carbon | 60,255 | 15,609 | 13,550 |
|
|
111
111
|
| | Material Web | 43,785 | 13,556 | 12,015 |
|
|
112
112
|
| | Shoelace | 47,614 | 15,177 | 13,301 |
|
|
113
113
|
| | Spectrum | 62,492 | 15,437 | 13,481 |
|
|
114
|
-
| `dialog` | **Helix** | 36,
|
|
114
|
+
| `dialog` | **Helix** | 36,236 | 11,582 | 10,224 |
|
|
115
115
|
| | Carbon | 510,866 | 67,390 | 39,189 |
|
|
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** |
|
|
119
|
+
| `radio` | **Helix** | 45,127 | 13,282 | 11,744 |
|
|
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 |
|
|
123
123
|
| | Spectrum | 38,685 | 10,660 | 9,370 |
|
|
124
|
-
| `switch` | **Helix** | 39,
|
|
124
|
+
| `switch` | **Helix** | 39,964 | 12,500 | 11,024 |
|
|
125
125
|
| | Carbon | 69,423 | 17,127 | 14,764 |
|
|
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,
|
|
129
|
+
| `tabs` | **Helix** | 41,452 | 12,679 | 11,189 |
|
|
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 |
|
|
133
133
|
| | Spectrum | 64,875 | 18,298 | 16,283 |
|
|
134
|
-
| `tooltip` | **Helix** |
|
|
134
|
+
| `tooltip` | **Helix** | 63,078 | 21,403 | 18,968 |
|
|
135
135
|
| | Carbon | 189,382 | 30,354 | 22,273 |
|
|
136
136
|
| | Material Web | | not shipped | |
|
|
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,622 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.
|
|
@@ -182,100 +182,100 @@ Structure, accessibility, state and form participation. No presentation, and no
|
|
|
182
182
|
|
|
183
183
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
184
184
|
|---|---|---|---|---|---|---|
|
|
185
|
-
| `accordion` | 79,
|
|
186
|
-
| `announcement` | 76,
|
|
187
|
-
| `app-header` | 28,
|
|
188
|
-
| `area-chart` |
|
|
189
|
-
| `avatar` | 30,
|
|
190
|
-
| `badge` | 28,
|
|
191
|
-
| `bar-chart` |
|
|
192
|
-
| `blockquote` | 28,
|
|
193
|
-
| `breadcrumbs` | 76,
|
|
194
|
-
| `button` | 32,
|
|
195
|
-
| `button-group` | 28,
|
|
196
|
-
| `callout` | 75,
|
|
197
|
-
| `card` | 28,
|
|
198
|
-
| `carousel` |
|
|
199
|
-
| `chat` | 98,
|
|
200
|
-
| `checkbox` | 36,
|
|
201
|
-
| `checkbox-group` | 39,
|
|
202
|
-
| `code` | 26,
|
|
203
|
-
| `code-block` |
|
|
204
|
-
| `color-input` |
|
|
205
|
-
| `color-picker` | 101,
|
|
206
|
-
| `combobox` |
|
|
207
|
-
| `command` | 102,
|
|
208
|
-
| `copy-button` |
|
|
209
|
-
| `data-table` |
|
|
210
|
-
| `date-input` |
|
|
211
|
-
| `date-picker` | 87,
|
|
212
|
-
| `description-list` | 28,
|
|
213
|
-
| `dialog` | 31,
|
|
214
|
-
| `divider` | 28,
|
|
215
|
-
| `donut-chart` |
|
|
216
|
-
| `drawer` | 30,
|
|
217
|
-
| `drilldown` | 82,
|
|
218
|
-
| `empty` | 28,
|
|
219
|
-
| `file-input` | 86,
|
|
220
|
-
| `filter-input` |
|
|
221
|
-
| `format-date` | 31,
|
|
222
|
-
| `heatmap` |
|
|
223
|
-
| `icon` |
|
|
224
|
-
| `icon-button` | 33,
|
|
225
|
-
| `image` | 30,
|
|
226
|
-
| `input` | 86,
|
|
227
|
-
| `kbd` | 30,
|
|
228
|
-
| `legend` | 32,
|
|
229
|
-
| `line-chart` |
|
|
230
|
-
| `list` | 29,
|
|
231
|
-
| `listbox` | 94,
|
|
232
|
-
| `loader` | 28,
|
|
233
|
-
| `megamenu` |
|
|
234
|
-
| `menu` |
|
|
235
|
-
| `meter` | 31,
|
|
236
|
-
| `navigation` | 30,
|
|
237
|
-
| `notifications` | 90,
|
|
238
|
-
| `number-input` | 88,
|
|
239
|
-
| `object-inspector` |
|
|
240
|
-
| `option` | 30,
|
|
241
|
-
| `outline` | 33,
|
|
242
|
-
| `pagination` |
|
|
243
|
-
| `pin-input` | 38,
|
|
244
|
-
| `popover` |
|
|
245
|
-
| `progress` | 29,
|
|
246
|
-
| `qr-code` | 40,
|
|
247
|
-
| `quote` | 27,
|
|
248
|
-
| `radio` | 37,
|
|
249
|
-
| `rating` | 39,
|
|
250
|
-
| `scatter-chart` |
|
|
251
|
-
| `scroll-area` |
|
|
252
|
-
| `select` |
|
|
253
|
-
| `skeleton` | 26,
|
|
254
|
-
| `skip-link` | 28,
|
|
255
|
-
| `slider` | 39,
|
|
256
|
-
| `sparkline` | 34,
|
|
257
|
-
| `speed-dial` |
|
|
258
|
-
| `splitter` | 37,
|
|
259
|
-
| `stat` | 28,
|
|
260
|
-
| `steps` | 84,
|
|
261
|
-
| `switch` | 35,
|
|
262
|
-
| `table` |
|
|
263
|
-
| `tabs` | 35,
|
|
264
|
-
| `tag` | 75,
|
|
265
|
-
| `textarea` | 38,
|
|
266
|
-
| `time-input` |
|
|
267
|
-
| `time-picker` | 102,
|
|
268
|
-
| `timeline` | 76,
|
|
269
|
-
| `toast` | 79,
|
|
270
|
-
| `toggle` | 39,
|
|
271
|
-
| `toolbar` | 30,
|
|
272
|
-
| `tooltip` |
|
|
273
|
-
| `tour` |
|
|
274
|
-
| `tree` |
|
|
275
|
-
| `trend` | 75,
|
|
276
|
-
| `video` |
|
|
277
|
-
| `video-playlist` |
|
|
278
|
-
| `virtual-list` |
|
|
185
|
+
| `accordion` | 79,621 | 26,649 | 21,808 | 2,875 | 765 | 648 |
|
|
186
|
+
| `announcement` | 76,796 | 25,684 | 21,059 | 1,349 | 378 | 243 |
|
|
187
|
+
| `app-header` | 28,843 | 9,685 | 8,548 | 1,248 | 318 | 194 |
|
|
188
|
+
| `area-chart` | 74,493 | 25,490 | 22,501 | 11,180 | 3,423 | 2,797 |
|
|
189
|
+
| `avatar` | 30,892 | 10,287 | 9,088 | 3,257 | 923 | 724 |
|
|
190
|
+
| `badge` | 28,378 | 9,616 | 8,479 | 1,162 | 302 | 308 |
|
|
191
|
+
| `bar-chart` | 76,063 | 25,800 | 22,767 | 12,833 | 3,779 | 3,081 |
|
|
192
|
+
| `blockquote` | 28,231 | 9,575 | 8,441 | 892 | 232 | 59 |
|
|
193
|
+
| `breadcrumbs` | 76,454 | 25,325 | 20,859 | 1,965 | 447 | 265 |
|
|
194
|
+
| `button` | 32,860 | 10,824 | 9,547 | 3,137 | 835 | 573 |
|
|
195
|
+
| `button-group` | 28,249 | 9,532 | 8,370 | 661 | 144 | 34 |
|
|
196
|
+
| `callout` | 75,572 | 25,180 | 20,794 | 912 | 246 | 172 |
|
|
197
|
+
| `card` | 28,283 | 9,543 | 8,409 | 694 | 156 | 161 |
|
|
198
|
+
| `carousel` | 83,032 | 27,443 | 22,633 | 8,255 | 2,154 | 1,606 |
|
|
199
|
+
| `chat` | 98,930 | 32,898 | 27,089 | 17,663 | 5,147 | 4,205 |
|
|
200
|
+
| `checkbox` | 36,225 | 11,556 | 10,213 | 2,306 | 680 | 452 |
|
|
201
|
+
| `checkbox-group` | 39,239 | 12,202 | 10,772 | 4,801 | 1,266 | 828 |
|
|
202
|
+
| `code` | 26,868 | 9,113 | 8,043 | 451 | 79 | 61 |
|
|
203
|
+
| `code-block` | 121,073 | 40,368 | 34,017 | 17,207 | 4,512 | 3,759 |
|
|
204
|
+
| `color-input` | 134,246 | 43,598 | 36,618 | 25,050 | 6,488 | 5,459 |
|
|
205
|
+
| `color-picker` | 101,771 | 32,905 | 27,144 | 19,424 | 5,234 | 4,422 |
|
|
206
|
+
| `combobox` | 132,091 | 42,672 | 35,833 | 20,245 | 5,031 | 4,061 |
|
|
207
|
+
| `command` | 102,478 | 32,589 | 26,678 | 17,560 | 4,503 | 3,699 |
|
|
208
|
+
| `copy-button` | 115,724 | 38,763 | 32,609 | 11,861 | 2,989 | 2,435 |
|
|
209
|
+
| `data-table` | 169,823 | 52,513 | 44,436 | 54,707 | 13,879 | 11,533 |
|
|
210
|
+
| `date-input` | 130,210 | 42,205 | 35,484 | 18,542 | 4,763 | 3,946 |
|
|
211
|
+
| `date-picker` | 87,466 | 28,913 | 23,785 | 9,997 | 2,822 | 2,198 |
|
|
212
|
+
| `description-list` | 28,352 | 9,484 | 8,349 | 1,132 | 186 | 122 |
|
|
213
|
+
| `dialog` | 31,901 | 10,573 | 9,316 | 2,717 | 823 | 637 |
|
|
214
|
+
| `divider` | 28,428 | 9,648 | 8,489 | 1,090 | 289 | 159 |
|
|
215
|
+
| `donut-chart` | 72,174 | 24,429 | 21,596 | 10,300 | 3,037 | 2,457 |
|
|
216
|
+
| `drawer` | 30,654 | 10,208 | 8,977 | 1,761 | 479 | 362 |
|
|
217
|
+
| `drilldown` | 82,953 | 27,534 | 22,524 | 5,697 | 1,528 | 1,170 |
|
|
218
|
+
| `empty` | 28,405 | 9,585 | 8,451 | 816 | 192 | 82 |
|
|
219
|
+
| `file-input` | 86,707 | 28,610 | 23,439 | 6,008 | 1,703 | 1,318 |
|
|
220
|
+
| `filter-input` | 143,086 | 45,527 | 38,253 | 28,036 | 6,807 | 5,680 |
|
|
221
|
+
| `format-date` | 31,862 | 10,699 | 9,457 | 2,867 | 711 | 485 |
|
|
222
|
+
| `heatmap` | 73,226 | 24,578 | 21,763 | 11,228 | 3,181 | 2,444 |
|
|
223
|
+
| `icon` | 75,077 | 24,979 | 20,541 | 952 | 223 | 142 |
|
|
224
|
+
| `icon-button` | 33,259 | 10,854 | 9,548 | 3,536 | 867 | 641 |
|
|
225
|
+
| `image` | 30,422 | 10,083 | 8,879 | 3,156 | 832 | 618 |
|
|
226
|
+
| `input` | 86,133 | 28,284 | 23,222 | 4,734 | 1,304 | 985 |
|
|
227
|
+
| `kbd` | 30,203 | 10,306 | 9,097 | 2,976 | 1,044 | 850 |
|
|
228
|
+
| `legend` | 32,121 | 10,755 | 9,488 | 1,097 | 295 | 211 |
|
|
229
|
+
| `line-chart` | 73,979 | 25,180 | 22,227 | 10,750 | 3,165 | 2,552 |
|
|
230
|
+
| `list` | 29,304 | 9,718 | 8,571 | 1,725 | 345 | 218 |
|
|
231
|
+
| `listbox` | 94,229 | 30,738 | 25,115 | 10,797 | 2,966 | 2,335 |
|
|
232
|
+
| `loader` | 28,489 | 9,649 | 8,489 | 900 | 230 | 177 |
|
|
233
|
+
| `megamenu` | 58,706 | 20,334 | 17,987 | 4,950 | 1,365 | 1,066 |
|
|
234
|
+
| `menu` | 114,058 | 38,538 | 32,327 | 8,835 | 2,251 | 1,728 |
|
|
235
|
+
| `meter` | 31,679 | 10,505 | 9,253 | 4,099 | 1,060 | 946 |
|
|
236
|
+
| `navigation` | 30,127 | 10,165 | 8,969 | 1,361 | 374 | 211 |
|
|
237
|
+
| `notifications` | 90,952 | 29,543 | 24,263 | 11,898 | 2,829 | 2,319 |
|
|
238
|
+
| `number-input` | 88,486 | 28,915 | 23,677 | 7,174 | 1,928 | 1,441 |
|
|
239
|
+
| `object-inspector` | 128,399 | 42,864 | 36,088 | 19,342 | 5,183 | 4,271 |
|
|
240
|
+
| `option` | 30,382 | 10,040 | 8,870 | 2,796 | 618 | 402 |
|
|
241
|
+
| `outline` | 33,451 | 11,294 | 9,948 | 4,633 | 1,430 | 1,067 |
|
|
242
|
+
| `pagination` | 136,253 | 43,361 | 36,448 | 27,007 | 6,291 | 5,174 |
|
|
243
|
+
| `pin-input` | 38,878 | 12,394 | 10,942 | 5,038 | 1,514 | 1,114 |
|
|
244
|
+
| `popover` | 55,903 | 19,554 | 17,330 | 1,901 | 531 | 350 |
|
|
245
|
+
| `progress` | 29,530 | 9,923 | 8,753 | 1,951 | 496 | 367 |
|
|
246
|
+
| `qr-code` | 40,177 | 13,955 | 12,312 | 12,981 | 4,651 | 4,070 |
|
|
247
|
+
| `quote` | 27,772 | 9,397 | 8,288 | 552 | 135 | -6 |
|
|
248
|
+
| `radio` | 37,548 | 11,864 | 10,469 | 3,114 | 821 | 519 |
|
|
249
|
+
| `rating` | 39,796 | 12,722 | 11,217 | 5,806 | 1,662 | 1,312 |
|
|
250
|
+
| `scatter-chart` | 73,937 | 25,111 | 22,133 | 11,494 | 3,459 | 2,889 |
|
|
251
|
+
| `scroll-area` | 30,015 | 10,086 | 8,884 | 2,743 | 793 | 554 |
|
|
252
|
+
| `select` | 124,421 | 40,824 | 34,233 | 15,301 | 3,899 | 3,060 |
|
|
253
|
+
| `skeleton` | 26,961 | 9,146 | 8,073 | 544 | 111 | 48 |
|
|
254
|
+
| `skip-link` | 28,444 | 9,666 | 8,503 | 1,226 | 382 | 194 |
|
|
255
|
+
| `slider` | 39,261 | 12,409 | 10,974 | 5,177 | 1,421 | 1,163 |
|
|
256
|
+
| `sparkline` | 34,607 | 11,782 | 10,423 | 2,559 | 838 | 579 |
|
|
257
|
+
| `speed-dial` | 105,708 | 36,192 | 30,377 | 3,743 | 980 | 748 |
|
|
258
|
+
| `splitter` | 37,690 | 12,054 | 10,689 | 9,967 | 2,536 | 2,128 |
|
|
259
|
+
| `stat` | 28,737 | 9,584 | 8,440 | 1,148 | 195 | 131 |
|
|
260
|
+
| `steps` | 84,565 | 27,752 | 22,798 | 6,293 | 1,514 | 1,184 |
|
|
261
|
+
| `switch` | 35,740 | 11,456 | 10,102 | 1,699 | 536 | 286 |
|
|
262
|
+
| `table` | 85,348 | 28,315 | 23,200 | 9,193 | 2,578 | 2,012 |
|
|
263
|
+
| `tabs` | 35,213 | 11,404 | 10,034 | 4,097 | 901 | 652 |
|
|
264
|
+
| `tag` | 75,856 | 25,278 | 20,723 | 897 | 190 | 149 |
|
|
265
|
+
| `textarea` | 38,342 | 12,083 | 10,661 | 4,018 | 1,109 | 692 |
|
|
266
|
+
| `time-input` | 142,408 | 45,364 | 38,065 | 27,951 | 6,973 | 5,825 |
|
|
267
|
+
| `time-picker` | 102,784 | 33,233 | 27,319 | 18,808 | 5,119 | 4,153 |
|
|
268
|
+
| `timeline` | 76,388 | 25,264 | 20,833 | 1,894 | 399 | 311 |
|
|
269
|
+
| `toast` | 79,587 | 26,362 | 21,603 | 4,005 | 945 | 749 |
|
|
270
|
+
| `toggle` | 39,510 | 12,450 | 10,993 | 3,535 | 927 | 634 |
|
|
271
|
+
| `toolbar` | 30,291 | 10,244 | 9,039 | 2,933 | 942 | 658 |
|
|
272
|
+
| `tooltip` | 60,000 | 20,657 | 18,277 | 6,432 | 1,807 | 1,330 |
|
|
273
|
+
| `tour` | 65,738 | 21,993 | 19,463 | 11,006 | 2,771 | 2,164 |
|
|
274
|
+
| `tree` | 86,155 | 28,426 | 23,245 | 7,125 | 1,950 | 1,518 |
|
|
275
|
+
| `trend` | 75,181 | 25,041 | 20,668 | 1,056 | 278 | 191 |
|
|
276
|
+
| `video` | 139,358 | 44,823 | 37,815 | 33,883 | 8,222 | 7,111 |
|
|
277
|
+
| `video-playlist` | 121,595 | 40,146 | 33,651 | 14,968 | 3,503 | 2,890 |
|
|
278
|
+
| `virtual-list` | 34,007 | 11,448 | 10,112 | 2,485 | 756 | 513 |
|
|
279
279
|
|
|
280
280
|
### Styled tier
|
|
281
281
|
|
|
@@ -283,106 +283,106 @@ The headless tier plus presentation. This is what `bun add @fusion.dev/helix` gi
|
|
|
283
283
|
|
|
284
284
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
285
285
|
|---|---|---|---|---|---|---|
|
|
286
|
-
| `accordion` | 82,
|
|
287
|
-
| `announcement` | 81,
|
|
288
|
-
| `app-header` | 32,
|
|
289
|
-
| `area-chart` |
|
|
290
|
-
| `aura` |
|
|
291
|
-
| `avatar` | 34,
|
|
292
|
-
| `badge` | 31,
|
|
293
|
-
| `bar-chart` |
|
|
294
|
-
| `blockquote` | 29,
|
|
295
|
-
| `breadcrumbs` |
|
|
296
|
-
| `button` | 38,
|
|
297
|
-
| `button-group` | 29,
|
|
298
|
-
| `callout` | 77,
|
|
299
|
-
| `card` | 31,
|
|
300
|
-
| `carousel` | 92,
|
|
301
|
-
| `chat` |
|
|
302
|
-
| `checkbox` | 42,
|
|
303
|
-
| `checkbox-group` | 41,
|
|
304
|
-
| `code` | 27,
|
|
305
|
-
| `code-block` |
|
|
306
|
-
| `color-input` |
|
|
307
|
-
| `color-picker` |
|
|
308
|
-
| `combobox` |
|
|
309
|
-
| `command` | 112,
|
|
310
|
-
| `copy-button` |
|
|
311
|
-
| `data-table` |
|
|
312
|
-
| `date-input` |
|
|
313
|
-
| `date-picker` |
|
|
314
|
-
| `description-list` | 30,
|
|
315
|
-
| `dialog` | 36,
|
|
316
|
-
| `divider` | 30,
|
|
317
|
-
| `donut-chart` |
|
|
318
|
-
| `drawer` | 34,
|
|
319
|
-
| `drilldown` |
|
|
320
|
-
| `empty` | 29,
|
|
321
|
-
| `file-input` | 97,
|
|
322
|
-
| `filter-input` |
|
|
323
|
-
| `flex` | 29,
|
|
324
|
-
| `format-date` | 32,
|
|
325
|
-
| `grid` | 29,
|
|
326
|
-
| `heatmap` |
|
|
327
|
-
| `icon` | 75,
|
|
328
|
-
| `icon-button` | 39,
|
|
329
|
-
| `image` | 32,
|
|
330
|
-
| `input` | 92,
|
|
331
|
-
| `kbd` | 31,
|
|
332
|
-
| `legend` | 36,
|
|
333
|
-
| `line-chart` |
|
|
334
|
-
| `list` | 33,
|
|
335
|
-
| `listbox` | 98,
|
|
336
|
-
| `loader` | 31,
|
|
337
|
-
| `megamenu` |
|
|
338
|
-
| `menu` |
|
|
339
|
-
| `meter` | 37,
|
|
340
|
-
| `navigation` | 31,
|
|
341
|
-
| `notifications` | 103,
|
|
342
|
-
| `number-input` | 93,
|
|
343
|
-
| `object-inspector` |
|
|
344
|
-
| `option` | 33,
|
|
345
|
-
| `orb` | 37,
|
|
346
|
-
| `outline` | 37,
|
|
347
|
-
| `pagination` |
|
|
348
|
-
| `pin-input` | 41,
|
|
349
|
-
| `popover` |
|
|
350
|
-
| `progress` | 34,
|
|
351
|
-
| `qr-code` | 41,
|
|
352
|
-
| `quote` | 28,
|
|
353
|
-
| `radio` |
|
|
354
|
-
| `rating` | 42,
|
|
355
|
-
| `sandbox` | 62,
|
|
356
|
-
| `scatter-chart` |
|
|
357
|
-
| `scroll-area` |
|
|
358
|
-
| `select` |
|
|
359
|
-
| `skeleton` | 29,
|
|
360
|
-
| `skip-link` | 29,
|
|
361
|
-
| `slider` |
|
|
362
|
-
| `sparkline` | 38,
|
|
363
|
-
| `speed-dial` |
|
|
364
|
-
| `splitter` | 43,
|
|
365
|
-
| `stat` | 31,
|
|
366
|
-
| `steps` | 98,
|
|
367
|
-
| `switch` | 39,
|
|
368
|
-
| `table` |
|
|
369
|
-
| `tabs` | 41,
|
|
370
|
-
| `tag` |
|
|
371
|
-
| `text` | 31,
|
|
372
|
-
| `textarea` | 41,
|
|
373
|
-
| `time-input` |
|
|
374
|
-
| `time-picker` | 114,
|
|
375
|
-
| `timeline` | 79,
|
|
376
|
-
| `toast` | 87,
|
|
377
|
-
| `toggle` | 44,
|
|
378
|
-
| `toolbar` | 31,
|
|
379
|
-
| `tooltip` |
|
|
380
|
-
| `tour` |
|
|
381
|
-
| `tree` |
|
|
382
|
-
| `trend` | 78,
|
|
383
|
-
| `video` |
|
|
384
|
-
| `video-playlist` |
|
|
385
|
-
| `virtual-list` | 34,
|
|
286
|
+
| `accordion` | 82,963 | 27,465 | 22,541 | 6,204 | 1,577 | 1,301 |
|
|
287
|
+
| `announcement` | 81,205 | 26,685 | 21,925 | 5,742 | 1,361 | 1,109 |
|
|
288
|
+
| `app-header` | 32,733 | 10,580 | 9,309 | 5,121 | 1,224 | 977 |
|
|
289
|
+
| `area-chart` | 81,879 | 27,087 | 23,936 | 18,546 | 5,029 | 4,110 |
|
|
290
|
+
| `aura` | 90,451 | 31,413 | 27,165 | 62,072 | 21,659 | 18,703 |
|
|
291
|
+
| `avatar` | 34,477 | 11,046 | 9,760 | 6,832 | 1,688 | 1,348 |
|
|
292
|
+
| `badge` | 31,482 | 10,323 | 9,070 | 4,249 | 1,001 | 734 |
|
|
293
|
+
| `bar-chart` | 88,928 | 28,348 | 25,044 | 25,678 | 6,362 | 5,296 |
|
|
294
|
+
| `blockquote` | 29,387 | 9,864 | 8,692 | 2,032 | 526 | 378 |
|
|
295
|
+
| `breadcrumbs` | 80,020 | 26,119 | 21,550 | 5,518 | 1,238 | 1,041 |
|
|
296
|
+
| `button` | 38,953 | 11,938 | 10,536 | 9,212 | 1,948 | 1,644 |
|
|
297
|
+
| `button-group` | 29,925 | 9,910 | 8,725 | 2,320 | 530 | 409 |
|
|
298
|
+
| `callout` | 77,571 | 25,713 | 21,229 | 2,895 | 765 | 657 |
|
|
299
|
+
| `card` | 31,516 | 10,370 | 9,122 | 3,915 | 977 | 767 |
|
|
300
|
+
| `carousel` | 92,791 | 29,027 | 24,087 | 18,003 | 3,719 | 3,161 |
|
|
301
|
+
| `chat` | 113,046 | 35,381 | 29,317 | 31,764 | 7,657 | 6,404 |
|
|
302
|
+
| `checkbox` | 42,269 | 12,948 | 11,411 | 8,334 | 2,062 | 1,731 |
|
|
303
|
+
| `checkbox-group` | 41,422 | 12,772 | 11,262 | 6,970 | 1,835 | 1,296 |
|
|
304
|
+
| `code` | 27,945 | 9,408 | 8,291 | 1,511 | 367 | 267 |
|
|
305
|
+
| `code-block` | 136,794 | 43,118 | 36,320 | 32,908 | 7,111 | 6,069 |
|
|
306
|
+
| `color-input` | 167,660 | 48,717 | 41,179 | 58,447 | 11,656 | 10,079 |
|
|
307
|
+
| `color-picker` | 129,481 | 37,338 | 31,054 | 47,128 | 9,736 | 8,341 |
|
|
308
|
+
| `combobox` | 146,894 | 45,314 | 38,009 | 35,029 | 7,688 | 6,518 |
|
|
309
|
+
| `command` | 112,941 | 34,615 | 28,512 | 28,007 | 6,551 | 5,466 |
|
|
310
|
+
| `copy-button` | 125,779 | 40,540 | 34,159 | 21,898 | 4,696 | 3,896 |
|
|
311
|
+
| `data-table` | 206,548 | 58,933 | 49,595 | 91,413 | 20,361 | 16,892 |
|
|
312
|
+
| `date-input` | 146,080 | 45,236 | 38,121 | 34,389 | 7,724 | 6,576 |
|
|
313
|
+
| `date-picker` | 93,032 | 30,073 | 24,744 | 15,545 | 3,964 | 3,319 |
|
|
314
|
+
| `description-list` | 30,730 | 10,049 | 8,825 | 3,502 | 769 | 666 |
|
|
315
|
+
| `dialog` | 36,236 | 11,582 | 10,224 | 7,037 | 1,826 | 1,568 |
|
|
316
|
+
| `divider` | 30,584 | 10,167 | 8,929 | 3,229 | 801 | 683 |
|
|
317
|
+
| `donut-chart` | 81,277 | 26,320 | 23,264 | 19,383 | 4,963 | 4,106 |
|
|
318
|
+
| `drawer` | 34,885 | 11,217 | 9,888 | 5,975 | 1,486 | 1,160 |
|
|
319
|
+
| `drilldown` | 87,500 | 28,534 | 23,430 | 10,232 | 2,482 | 2,083 |
|
|
320
|
+
| `empty` | 29,692 | 9,949 | 8,761 | 2,087 | 551 | 370 |
|
|
321
|
+
| `file-input` | 97,926 | 30,815 | 25,381 | 17,221 | 3,853 | 3,292 |
|
|
322
|
+
| `filter-input` | 170,946 | 49,938 | 41,976 | 55,883 | 11,280 | 9,437 |
|
|
323
|
+
| `flex` | 29,227 | 9,753 | 8,600 | 1,999 | 457 | 372 |
|
|
324
|
+
| `format-date` | 32,510 | 10,844 | 9,616 | 3,497 | 857 | 623 |
|
|
325
|
+
| `grid` | 29,754 | 9,917 | 8,756 | 2,522 | 619 | 479 |
|
|
326
|
+
| `heatmap` | 80,024 | 25,974 | 22,960 | 18,007 | 4,606 | 3,822 |
|
|
327
|
+
| `icon` | 75,783 | 25,159 | 20,714 | 1,641 | 380 | 234 |
|
|
328
|
+
| `icon-button` | 39,274 | 11,865 | 10,468 | 9,537 | 1,875 | 1,498 |
|
|
329
|
+
| `image` | 32,181 | 10,572 | 9,317 | 4,897 | 1,310 | 1,035 |
|
|
330
|
+
| `input` | 92,336 | 29,629 | 24,271 | 10,930 | 2,622 | 2,091 |
|
|
331
|
+
| `kbd` | 31,615 | 10,753 | 9,447 | 4,373 | 1,494 | 1,200 |
|
|
332
|
+
| `legend` | 36,961 | 11,851 | 10,407 | 5,931 | 1,428 | 1,062 |
|
|
333
|
+
| `line-chart` | 83,750 | 27,169 | 24,024 | 20,506 | 5,200 | 4,298 |
|
|
334
|
+
| `list` | 33,368 | 10,664 | 9,398 | 5,779 | 1,309 | 1,027 |
|
|
335
|
+
| `listbox` | 98,498 | 31,730 | 25,926 | 15,059 | 3,953 | 3,210 |
|
|
336
|
+
| `loader` | 31,655 | 10,415 | 9,171 | 4,051 | 990 | 871 |
|
|
337
|
+
| `megamenu` | 63,583 | 21,401 | 18,957 | 9,810 | 2,421 | 1,921 |
|
|
338
|
+
| `menu` | 121,435 | 40,113 | 33,597 | 16,193 | 3,773 | 3,054 |
|
|
339
|
+
| `meter` | 37,077 | 11,643 | 10,297 | 9,479 | 2,199 | 1,935 |
|
|
340
|
+
| `navigation` | 31,508 | 10,556 | 9,284 | 2,726 | 769 | 541 |
|
|
341
|
+
| `notifications` | 103,908 | 31,888 | 26,362 | 24,840 | 5,169 | 4,429 |
|
|
342
|
+
| `number-input` | 93,268 | 30,048 | 24,599 | 11,944 | 3,031 | 2,421 |
|
|
343
|
+
| `object-inspector` | 142,100 | 45,192 | 38,118 | 33,022 | 7,514 | 6,307 |
|
|
344
|
+
| `option` | 33,636 | 10,946 | 9,654 | 6,038 | 1,512 | 1,193 |
|
|
345
|
+
| `orb` | 37,783 | 13,110 | 11,586 | 10,144 | 3,616 | 3,082 |
|
|
346
|
+
| `outline` | 37,191 | 12,076 | 10,656 | 8,356 | 2,227 | 1,813 |
|
|
347
|
+
| `pagination` | 154,119 | 46,452 | 39,097 | 44,855 | 9,343 | 7,813 |
|
|
348
|
+
| `pin-input` | 41,945 | 13,185 | 11,599 | 8,088 | 2,312 | 1,850 |
|
|
349
|
+
| `popover` | 58,539 | 20,204 | 17,849 | 4,519 | 1,189 | 824 |
|
|
350
|
+
| `progress` | 34,559 | 11,096 | 9,836 | 6,962 | 1,654 | 1,429 |
|
|
351
|
+
| `qr-code` | 41,840 | 14,385 | 12,673 | 14,626 | 5,107 | 4,352 |
|
|
352
|
+
| `quote` | 28,427 | 9,559 | 8,416 | 1,191 | 295 | 143 |
|
|
353
|
+
| `radio` | 45,127 | 13,282 | 11,744 | 10,686 | 2,248 | 1,761 |
|
|
354
|
+
| `rating` | 42,753 | 13,648 | 12,037 | 8,745 | 2,554 | 2,089 |
|
|
355
|
+
| `sandbox` | 62,711 | 17,214 | 15,278 | 34,690 | 7,620 | 6,638 |
|
|
356
|
+
| `scatter-chart` | 82,303 | 26,918 | 23,768 | 19,841 | 5,284 | 4,357 |
|
|
357
|
+
| `scroll-area` | 33,163 | 10,747 | 9,450 | 5,874 | 1,444 | 1,139 |
|
|
358
|
+
| `select` | 137,026 | 43,197 | 36,271 | 27,888 | 6,253 | 5,178 |
|
|
359
|
+
| `skeleton` | 29,479 | 9,897 | 8,717 | 2,242 | 594 | 454 |
|
|
360
|
+
| `skip-link` | 29,907 | 10,068 | 8,837 | 2,672 | 771 | 547 |
|
|
361
|
+
| `slider` | 50,243 | 14,372 | 12,719 | 16,142 | 3,389 | 2,901 |
|
|
362
|
+
| `sparkline` | 38,524 | 12,731 | 11,265 | 6,465 | 1,776 | 1,472 |
|
|
363
|
+
| `speed-dial` | 113,274 | 37,669 | 31,679 | 11,289 | 2,390 | 1,911 |
|
|
364
|
+
| `splitter` | 43,762 | 13,045 | 11,608 | 16,021 | 3,558 | 3,114 |
|
|
365
|
+
| `stat` | 31,553 | 10,204 | 9,037 | 3,954 | 832 | 745 |
|
|
366
|
+
| `steps` | 98,188 | 30,177 | 24,855 | 19,904 | 3,903 | 3,265 |
|
|
367
|
+
| `switch` | 39,964 | 12,500 | 11,024 | 5,908 | 1,579 | 1,207 |
|
|
368
|
+
| `table` | 90,706 | 29,413 | 24,137 | 14,540 | 3,644 | 2,994 |
|
|
369
|
+
| `tabs` | 41,452 | 12,679 | 11,189 | 10,325 | 2,198 | 1,834 |
|
|
370
|
+
| `tag` | 79,060 | 26,140 | 21,473 | 4,086 | 1,025 | 852 |
|
|
371
|
+
| `text` | 31,213 | 10,043 | 8,826 | 3,987 | 789 | 526 |
|
|
372
|
+
| `textarea` | 41,679 | 12,895 | 11,358 | 7,341 | 1,934 | 1,431 |
|
|
373
|
+
| `time-input` | 163,647 | 48,868 | 41,210 | 49,175 | 10,538 | 8,941 |
|
|
374
|
+
| `time-picker` | 114,260 | 35,379 | 29,186 | 30,279 | 7,316 | 6,095 |
|
|
375
|
+
| `timeline` | 79,666 | 26,024 | 21,566 | 5,160 | 1,134 | 857 |
|
|
376
|
+
| `toast` | 87,120 | 28,029 | 23,045 | 11,526 | 2,582 | 2,139 |
|
|
377
|
+
| `toggle` | 44,497 | 13,600 | 12,049 | 8,514 | 2,092 | 1,607 |
|
|
378
|
+
| `toolbar` | 31,583 | 10,541 | 9,268 | 4,208 | 1,250 | 960 |
|
|
379
|
+
| `tooltip` | 63,078 | 21,403 | 18,968 | 9,492 | 2,546 | 2,061 |
|
|
380
|
+
| `tour` | 75,289 | 23,611 | 20,886 | 20,537 | 4,381 | 3,576 |
|
|
381
|
+
| `tree` | 91,242 | 29,636 | 24,321 | 12,201 | 3,165 | 2,607 |
|
|
382
|
+
| `trend` | 78,338 | 25,747 | 21,284 | 4,205 | 948 | 823 |
|
|
383
|
+
| `video` | 158,345 | 48,236 | 40,754 | 52,850 | 11,669 | 10,126 |
|
|
384
|
+
| `video-playlist` | 135,495 | 42,650 | 35,778 | 28,847 | 5,972 | 4,969 |
|
|
385
|
+
| `virtual-list` | 34,799 | 11,657 | 10,290 | 3,259 | 963 | 747 |
|
|
386
386
|
|
|
387
387
|
## What lands in `node_modules`
|
|
388
388
|
|
|
@@ -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` |
|
|
397
|
+
| `@fusion.dev/helix-core` | 837,166 | 123 | 184,846 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
|
|
398
|
+
| `@fusion.dev/helix-headless` | 11,010,468 | 472 | 852,738 | `@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` | 11,
|
|
402
|
+
| `@fusion.dev/helix` | 11,987,123 | 798 | 336,270 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
|
|
403
403
|
|
|
404
404
|
## Not measured yet
|
|
405
405
|
|
package/content/overlays.mdx
CHANGED
|
@@ -29,8 +29,9 @@ else is wrong.
|
|
|
29
29
|
## Positioning is JavaScript
|
|
30
30
|
|
|
31
31
|
Placement uses `@floating-ui/dom` rather than CSS anchor positioning: flip when
|
|
32
|
-
there is no room below,
|
|
33
|
-
|
|
32
|
+
there is no room below, move below or above when a panel placed beside its
|
|
33
|
+
anchor has room on neither side, shift to stay on screen, size to the available
|
|
34
|
+
space. Anchor positioning would be the platform answer and is not yet available
|
|
34
35
|
everywhere the rest of the library's requirements are. See [Browser
|
|
35
36
|
support](./browser-support).
|
|
36
37
|
|
|
@@ -98,6 +98,12 @@ helix-video::part(overflow-header) { … }
|
|
|
98
98
|
role stands alone: the tooltip inside `<helix-copy-button>` is `tooltip`, and
|
|
99
99
|
its arrow is `tooltip-arrow`.
|
|
100
100
|
|
|
101
|
+
A part that changes with a state takes a second name while the state holds, and
|
|
102
|
+
that name is forwarded too. A tooltip that landed below its button is also
|
|
103
|
+
`tooltip-bottom`, and its arrow `tooltip-arrow-bottom`, which is how a sheet out
|
|
104
|
+
here draws by a side it cannot otherwise see. The arrow already faces the button
|
|
105
|
+
whichever side that is; the name is for what you draw on top.
|
|
106
|
+
|
|
101
107
|
**The prefix is not decoration.** Two levels can agree on a word, and did:
|
|
102
108
|
`Command` forwarded the listbox's `search-field` under a name it also rendered
|
|
103
109
|
itself, so `::part(search-field)` matched two elements at once.
|