@fusion.dev/helix-docs 0.186.1 → 0.188.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/building-on-the-headless-tier.mdx +42 -0
- package/content/coding-agents.mdx +96 -41
- package/content/metrics.mdx +221 -221
- package/content/using-helix-with-an-agent.mdx +70 -61
- package/dist/index.d.ts +3 -4
- package/dist/index.js +2 -3
- package/dist/pages.generated.js +1 -1
- package/dist/reference.d.ts +14 -13
- package/dist/reference.js +13 -7
- package/dist/sources.generated.js +429 -323
- package/package.json +9 -9
- package/dist/catalog.d.ts +0 -194
- package/dist/catalog.js +0 -163
- package/dist/naming.d.ts +0 -14
- package/dist/naming.js +0 -8
|
@@ -479,6 +479,48 @@ TypeScript declares custom elements this way. The interface merges from your
|
|
|
479
479
|
source, and a generated file cannot name a class that is not in the same
|
|
480
480
|
program.
|
|
481
481
|
|
|
482
|
+
## Check your components with \`helix component\`
|
|
483
|
+
|
|
484
|
+
\`helix component\` checks the components you write on Helix's base classes. Name
|
|
485
|
+
the folders that hold them in \`helix.json\` at your project's root:
|
|
486
|
+
|
|
487
|
+
\`\`\`json
|
|
488
|
+
{ "tiers": ["src/components"] }
|
|
489
|
+
\`\`\`
|
|
490
|
+
|
|
491
|
+
Then run it:
|
|
492
|
+
|
|
493
|
+
\`\`\`sh
|
|
494
|
+
helix component audit
|
|
495
|
+
helix component check
|
|
496
|
+
\`\`\`
|
|
497
|
+
|
|
498
|
+
\`audit\` prints each rule and what it found, and \`check\` prints nothing when
|
|
499
|
+
there is nothing to report. Both exit 1 on a finding, and \`--json\` prints the
|
|
500
|
+
findings as data. The rules check what your components document and write:
|
|
501
|
+
|
|
502
|
+
| Rule | What it checks |
|
|
503
|
+
|---|---|
|
|
504
|
+
| \`tier\` | A component built on a headless one that renders children sets \`tier\`, so its children are yours and not Helix's |
|
|
505
|
+
| \`registered\` | Every element a component's base renders is registered under the prefix it sets |
|
|
506
|
+
| \`composed\` | A module that renders one of your elements, by its base or in its own template, imports the module that registers it |
|
|
507
|
+
| \`slots\` | A \`@slot\` you document is one the Helix class under it takes, or one your template renders |
|
|
508
|
+
| \`exportparts\` | A \`::part()\` written at your elements or at Helix's names a part that element publishes |
|
|
509
|
+
| \`words\` | A component with \`static words\` declares its English defaults \`@words\`, and joins no word into a sentence outside the message |
|
|
510
|
+
| \`dispatched\` | An event your component sends by name, with \`new CustomEvent\` or \`new Event\`, is documented with \`@event\` |
|
|
511
|
+
| \`parts\` | A \`@csspart\` you document is rendered, and a \`part\` you render is documented |
|
|
512
|
+
| \`states\` | A custom state you record is documented with \`@cssstate\`, and a documented one is recorded |
|
|
513
|
+
| \`hooks\` | A \`@cssproperty\` you document is read, and one you read is documented |
|
|
514
|
+
| \`restated\` | A part, a slot, or an event is declared once |
|
|
515
|
+
| \`reflected\` | A property that reflects has no default, so a host carries no attribute nobody wrote |
|
|
516
|
+
| \`reflected-defaults\` | A reflected property writes no attribute on upgrade that a server did not send |
|
|
517
|
+
| \`attribute-names\` | A property that mirrors a platform attribute answers to the platform's spelling |
|
|
518
|
+
| \`constructed\` | No class field reads the element's attributes in its initializer, where a parsed element has none yet |
|
|
519
|
+
| \`observers\` | An observer built once is not torn down by a lifecycle that runs many times |
|
|
520
|
+
| \`leaks\` | A listener on something the element does not own is removed when the element is |
|
|
521
|
+
|
|
522
|
+
\`--only parts,states\` runs a few of them.
|
|
523
|
+
|
|
482
524
|
## What the headless tier handles for you
|
|
483
525
|
|
|
484
526
|
### Tree-shaking
|
|
@@ -918,15 +960,20 @@ type such as \`ButtonEmphasis\` sends you somewhere else to look.
|
|
|
918
960
|
## Markdown and JSON for each component family
|
|
919
961
|
|
|
920
962
|
\`\`\`
|
|
921
|
-
/components/<family>.md
|
|
922
|
-
/components/<family>.json
|
|
963
|
+
https://fusion.dev/helix/components/<family>.md
|
|
964
|
+
https://fusion.dev/helix/components/<family>.json
|
|
923
965
|
\`\`\`
|
|
924
966
|
|
|
925
|
-
These are static files.
|
|
967
|
+
These are static files, one pair for each family. Read the family you are
|
|
968
|
+
writing instead of the whole manifest. The manifest holds every family in one
|
|
969
|
+
file, and it is several megabytes.
|
|
970
|
+
|
|
971
|
+
The \`.md\` file has:
|
|
926
972
|
|
|
927
973
|
- the family's metadata
|
|
974
|
+
- a Usage block with the import lines for the family
|
|
928
975
|
- every element's description and API tables
|
|
929
|
-
- the examples
|
|
976
|
+
- the examples, each with the import lines it needs
|
|
930
977
|
|
|
931
978
|
The HTML page leaves the examples out on purpose. The page lists what a
|
|
932
979
|
component can do, and the sandbox beside it shows what the component looks
|
|
@@ -934,24 +981,49 @@ like. Keeping pictures out of the reference keeps it the one place you can trust
|
|
|
934
981
|
to be complete. An agent cannot use the sandbox, and it reads an example as
|
|
935
982
|
text, so the \`.md\` file includes the examples.
|
|
936
983
|
|
|
937
|
-
|
|
984
|
+
Each example the visual check pictures links its pictures under it: wide at
|
|
985
|
+
640 pixels, narrow at 390, and dark at 640, taken in the environment that
|
|
986
|
+
\`examples.json\` records. Compare a render of your own to them.
|
|
938
987
|
|
|
939
|
-
|
|
988
|
+
The \`.json\` file has the same family as structured data, and three fields an
|
|
989
|
+
agent uses most:
|
|
940
990
|
|
|
941
|
-
|
|
991
|
+
- \`usage\`, the import block for each tier
|
|
992
|
+
- \`imports\` on each example, an import line for every element it writes
|
|
993
|
+
- \`specifier\` and \`words\` on each element: the line that registers it, and the
|
|
994
|
+
properties \`registerWords\` translates
|
|
942
995
|
|
|
943
|
-
|
|
996
|
+
## Import every family you write
|
|
997
|
+
|
|
998
|
+
Each tag needs its family's entry imported. A family registers its own parts,
|
|
999
|
+
so \`@fusion.dev/helix/tabs\` registers Tab and Tab Panel. A family does not
|
|
1000
|
+
register another family's elements that you write inside it:
|
|
1001
|
+
|
|
1002
|
+
\`\`\`js
|
|
1003
|
+
import '@fusion.dev/helix/select'
|
|
1004
|
+
import '@fusion.dev/helix/option'
|
|
1005
|
+
\`\`\`
|
|
1006
|
+
|
|
1007
|
+
Without the Option import, the options are unknown elements and the Select
|
|
1008
|
+
offers nothing. The same is true
|
|
1009
|
+
of the layout around an example: a Button inside a Flex needs both imports.
|
|
1010
|
+
Copy the import lines above an example together with its markup.
|
|
1011
|
+
|
|
1012
|
+
## Check the code you wrote
|
|
1013
|
+
|
|
1014
|
+
These checks run on your project, and each one prints JSON with \`--json\`:
|
|
1015
|
+
|
|
1016
|
+
| Command | What it finds |
|
|
944
1017
|
|---|---|
|
|
945
|
-
|
|
|
946
|
-
|
|
|
947
|
-
|
|
|
948
|
-
| A visual property draws from its axis | \`helix component\`'s \`axes\` |
|
|
949
|
-
| A form control styles with \`:disabled\` | \`helix component --only disabled\` |
|
|
950
|
-
| A component that animates supports reduced motion | \`helix component --only motion\` |
|
|
951
|
-
| No component reads a primitive token | \`helix component\`'s \`tokens\` |
|
|
1018
|
+
| \`helix scan\` | Unknown tags, attributes, values, slots, parts, hooks, React event props, and tokens, a \`--_helix-\` primitive read, \`[disabled]\` on a form control, a selector on an attribute the element never writes back, and a tag whose entry nothing imports, each with its file and line |
|
|
1019
|
+
| \`helix theme audit\` | Every foreground and background pair in your theme that misses its contrast target |
|
|
1020
|
+
| \`initDiagnostics()\` from \`@fusion.dev/helix-diagnostics\` | The same findings on the running page, and what the library reports as it runs, such as an option nobody imported |
|
|
952
1021
|
|
|
953
|
-
|
|
954
|
-
|
|
1022
|
+
\`helix scan\` and \`helix theme audit\` exit 1 when they find an error and 0 when
|
|
1023
|
+
they find none. Run them after you write Helix code, and fix each finding
|
|
1024
|
+
before you finish. \`helix scan --file <path>\` reports one file's findings, and
|
|
1025
|
+
\`helix scan --stdin tsx\` reads a snippet from stdin. Both still read the whole
|
|
1026
|
+
project, so an import in another file counts.
|
|
955
1027
|
|
|
956
1028
|
## The index
|
|
957
1029
|
|
|
@@ -979,28 +1051,58 @@ Each family page has a menu beside its title with:
|
|
|
979
1051
|
The links send the URL, because the URL stays current. A pasted copy starts to
|
|
980
1052
|
go stale as soon as you paste it.
|
|
981
1053
|
|
|
982
|
-
##
|
|
1054
|
+
## The Helix MCP server
|
|
983
1055
|
|
|
984
1056
|
\`\`\`sh
|
|
985
|
-
helix mcp
|
|
1057
|
+
helix mcp init --client claude
|
|
986
1058
|
\`\`\`
|
|
987
1059
|
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
1060
|
+
\`helix mcp\` runs an MCP server over stdio. It answers from the Helix packages
|
|
1061
|
+
your project installs, so every answer is for the version you build with, and
|
|
1062
|
+
each one names that package and version. \`helix mcp init\` adds the server to
|
|
1063
|
+
the file your client reads and keeps every other server in it:
|
|
1064
|
+
|
|
1065
|
+
| Client | File |
|
|
1066
|
+
|---|---|
|
|
1067
|
+
| \`claude\` | \`.mcp.json\` |
|
|
1068
|
+
| \`cursor\` | \`.cursor/mcp.json\` |
|
|
1069
|
+
| \`vscode\` | \`.vscode/mcp.json\` |
|
|
992
1070
|
|
|
993
|
-
|
|
1071
|
+
The server runs \`npx @fusion.dev/helix-cli mcp\`, which is the copy in your
|
|
1072
|
+
project. It has nine tools:
|
|
994
1073
|
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
1074
|
+
| Tool | What it returns |
|
|
1075
|
+
|---|---|
|
|
1076
|
+
| \`helix_find\` | The families that answer a name, an alias, a tag, or a purpose, best first |
|
|
1077
|
+
| \`helix_family\` | One family's tags, properties and their unions, events and their React props, slots, parts, custom properties, words, and import lines |
|
|
1078
|
+
| \`helix_example\` | One example as HTML and TSX, with its stylesheet, the import lines it needs, and links to its pictures |
|
|
1079
|
+
| \`helix_imports\` | The import lines for a list of tags, and the closest tag to any unknown one |
|
|
1080
|
+
| \`helix_tokens\` | The semantic tokens, by a word in the name or description and by category |
|
|
1081
|
+
| \`helix_check\` | The findings \`helix scan\` reports for the files you name, or for a snippet before you write it |
|
|
1082
|
+
| \`helix_check_page\` | The findings the page diagnostics report for each address you name, opened headless, with what the library logged as the page ran |
|
|
1083
|
+
| \`helix_audit_theme\` | Every foreground and background pair a brand color derives to, with its ratio and target |
|
|
1084
|
+
| \`helix_derive_theme\` | The theme's CSS |
|
|
1085
|
+
|
|
1086
|
+
Each result is structured, with an output schema, and the same JSON as text.
|
|
1087
|
+
A name that matches more than one family, such as \`Dropdown\`, returns an error
|
|
1088
|
+
listing each family. The theme tools take the same JSON that a
|
|
1089
|
+
\`helix.theme.json\` file holds.
|
|
1090
|
+
|
|
1091
|
+
Each lookup is also a command, for a script or a person:
|
|
1092
|
+
|
|
1093
|
+
\`\`\`sh
|
|
1094
|
+
helix api find dropdown
|
|
1095
|
+
helix api family select
|
|
1096
|
+
helix api example select
|
|
1097
|
+
helix api imports helix-select helix-option
|
|
1098
|
+
helix api tokens surface --category color
|
|
1099
|
+
\`\`\`
|
|
998
1100
|
|
|
999
|
-
|
|
1101
|
+
\`--json\` prints what the MCP tool returns.
|
|
1000
1102
|
|
|
1001
|
-
**\`
|
|
1002
|
-
as \`helix theme build\`. A failing palette pasted into a stylesheet is
|
|
1003
|
-
a warning above it, and an agent does not read warnings.
|
|
1103
|
+
**\`helix_derive_theme\` does not return a palette that fails its own targets**,
|
|
1104
|
+
the same as \`helix theme build\`. A failing palette pasted into a stylesheet is
|
|
1105
|
+
worse than a warning above it, and an agent does not read warnings.
|
|
1004
1106
|
|
|
1005
1107
|
You run \`helix mcp\` yourself, and we do not host it. A server we operated would
|
|
1006
1108
|
be one more service between you and your own tokens. \`helix mcp\` is a
|
|
@@ -1009,17 +1111,12 @@ no network requests.
|
|
|
1009
1111
|
|
|
1010
1112
|
## What we do not publish for agents
|
|
1011
1113
|
|
|
1012
|
-
**\`llms-full.txt\`, or any other whole-library download.** A single
|
|
1013
|
-
every page goes out of date as soon as anything changes. Each link in
|
|
1014
|
-
can be cached on its own and stays current on its own.
|
|
1114
|
+
**\`llms-full.txt\`, or any other whole-library download of the pages.** A single
|
|
1115
|
+
file with every page goes out of date as soon as anything changes. Each link in
|
|
1116
|
+
\`llms.txt\` can be cached on its own and stays current on its own.
|
|
1015
1117
|
|
|
1016
|
-
|
|
1017
|
-
the
|
|
1018
|
-
the families you use.
|
|
1019
|
-
|
|
1020
|
-
**A search index.** The site has a search index for people. There is nothing an
|
|
1021
|
-
agent can query yet. Reading \`llms.txt\` and the documents it names takes less
|
|
1022
|
-
work than learning most search APIs.
|
|
1118
|
+
\`llms.txt\` is the index, in one request, and each family's \`.md\` file is its
|
|
1119
|
+
document. Fetch the families you use, or ask \`helix mcp\`.
|
|
1023
1120
|
`,
|
|
1024
1121
|
color: `---
|
|
1025
1122
|
description: The color roles, why Helix uses OKLCH, and how the engine meets contrast targets.
|
|
@@ -4243,7 +4340,7 @@ on its own.
|
|
|
4243
4340
|
|
|
4244
4341
|
| | Raw | Gzip | Brotli |
|
|
4245
4342
|
|---|---|---|---|
|
|
4246
|
-
| Lit and \`@fusion.dev/helix-core\` | 248,564 | 79,270 | 67,
|
|
4343
|
+
| Lit and \`@fusion.dev/helix-core\` | 248,564 | 79,270 | 67,881 |
|
|
4247
4344
|
|
|
4248
4345
|
## Whole packages
|
|
4249
4346
|
|
|
@@ -4254,12 +4351,12 @@ either barrel. The per-component tables show what your page pays.
|
|
|
4254
4351
|
|
|
4255
4352
|
| Package | Raw | Gzip | Brotli | |
|
|
4256
4353
|
|---|---|---|---|---|
|
|
4257
|
-
| \`@fusion.dev/helix-core\` | 247,773 | 79,121 | 67,
|
|
4258
|
-
| \`@fusion.dev/helix-headless\` | 1,337,367 | 373,053 |
|
|
4354
|
+
| \`@fusion.dev/helix-core\` | 247,773 | 79,121 | 67,595 | The element base class, mixins, decorators, and floating positioning. |
|
|
4355
|
+
| \`@fusion.dev/helix-headless\` | 1,337,367 | 373,053 | 280,098 | Every headless family. The barrel entry includes all of them. |
|
|
4259
4356
|
| \`@fusion.dev/helix-icons\` | 56,111 | 17,847 | 15,166 | The whole glyph set. |
|
|
4260
4357
|
| \`@fusion.dev/helix-theme\` | 3,626 | 1,597 | 1,384 | The JavaScript that runs the derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
|
|
4261
4358
|
| \`fusion_helix_theme_bg.wasm\` | 490,971 | 155,905 | 125,923 | The derivation engine itself, in WebAssembly. The entry above loads it when the engine runs. |
|
|
4262
|
-
| \`@fusion.dev/helix\` | 2,015,564 | 520,954 |
|
|
4359
|
+
| \`@fusion.dev/helix\` | 2,015,564 | 520,954 | 372,055 | Every styled family. |
|
|
4263
4360
|
| \`lit\` | 15,394 | 6,118 | 5,460 | Lit itself, listed so you can subtract it from every row above. |
|
|
4264
4361
|
|
|
4265
4362
|
## Stylesheets
|
|
@@ -4282,9 +4379,9 @@ shows the whole cost of using the base layer on its own.
|
|
|
4282
4379
|
|
|
4283
4380
|
**Most of your first component is the shared runtime.** The median styled family is 17,535 bytes gzipped alone, and it adds 3,868 to a page that already has Helix. The shared runtime is 78 percent of the first component, and the component itself is 22 percent. Ten typical components cost the first number once, plus nine of the added number. The two columns in the tables below let you work that out for your own components.
|
|
4284
4381
|
|
|
4285
|
-
Across the 106 styled components, the smallest is \`code\` at 8,
|
|
4382
|
+
Across the 106 styled components, the smallest is \`code\` at 8,331 bytes gzipped alone, and the largest is \`data-table\` at 66,817. Every family together is 520,954.
|
|
4286
4383
|
|
|
4287
|
-
No family imports a barrel. The \`barrels\` rule in \`fusion workspace\` enforces that. \`@fusion.dev/helix-headless\` marks every module in \`dist\` as having side effects, which is true of a file that calls \`customElements.define\`. A bundler can remove none of it. One \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs 373,053 bytes gzipped, whatever else the page imports. That is 21 times the median family above. All 106 styled families import the headless family they extend directly. The rule checks the shape of the import, so it applies to any package that sets \`sideEffects\`, whatever its name.
|
|
4384
|
+
No family imports a barrel. The \`barrels\` rule in \`fusion x workspace\` enforces that. \`@fusion.dev/helix-headless\` marks every module in \`dist\` as having side effects, which is true of a file that calls \`customElements.define\`. A bundler can remove none of it. One \`import { HelixHeadlessButton } from '@fusion.dev/helix-headless'\` costs 373,053 bytes gzipped, whatever else the page imports. That is 21 times the median family above. All 106 styled families import the headless family they extend directly. The rule checks the shape of the import, so it applies to any package that sets \`sideEffects\`, whatever its name.
|
|
4288
4385
|
|
|
4289
4386
|
The headless tier never had the problem, so it serves as the control. \`@fusion.dev/helix-core\` is \`sideEffects: false\`, and the median headless family is 16,647 bytes gzipped alone.
|
|
4290
4387
|
|
|
@@ -4298,37 +4395,37 @@ The table has no whole-library row. That row would compare how many components e
|
|
|
4298
4395
|
|
|
4299
4396
|
| Component | System | Raw | Gzip | Brotli |
|
|
4300
4397
|
|---|---|---|---|---|
|
|
4301
|
-
| \`button\` | **Helix** | 41,612 | 14,007 | 12,
|
|
4398
|
+
| \`button\` | **Helix** | 41,612 | 14,007 | 12,440 |
|
|
4302
4399
|
| | Carbon | 133,058 | 20,959 | 17,685 |
|
|
4303
4400
|
| | Material Web | 47,060 | 14,173 | 12,591 |
|
|
4304
4401
|
| | Shoelace | 62,628 | 18,287 | 15,805 |
|
|
4305
4402
|
| | Spectrum | 98,792 | 22,045 | 18,674 |
|
|
4306
|
-
| \`checkbox\` | **Helix** | 46,865 | 15,190 | 13,
|
|
4403
|
+
| \`checkbox\` | **Helix** | 46,865 | 15,190 | 13,517 |
|
|
4307
4404
|
| | Carbon | 60,255 | 15,609 | 13,550 |
|
|
4308
4405
|
| | Material Web | 43,785 | 13,556 | 12,015 |
|
|
4309
4406
|
| | Shoelace | 47,614 | 15,177 | 13,301 |
|
|
4310
4407
|
| | Spectrum | 62,492 | 15,437 | 13,481 |
|
|
4311
|
-
| \`dialog\` | **Helix** | 43,360 | 14,855 | 13,
|
|
4408
|
+
| \`dialog\` | **Helix** | 43,360 | 14,855 | 13,244 |
|
|
4312
4409
|
| | Carbon | 510,866 | 67,390 | 39,189 |
|
|
4313
4410
|
| | Material Web | 34,238 | 11,510 | 10,229 |
|
|
4314
4411
|
| | Shoelace | 52,754 | 17,698 | 15,554 |
|
|
4315
4412
|
| | Spectrum | 155,708 | 31,899 | 26,262 |
|
|
4316
|
-
| \`radio\` | **Helix** | 50,349 | 15,977 | 14,
|
|
4413
|
+
| \`radio\` | **Helix** | 50,349 | 15,977 | 14,203 |
|
|
4317
4414
|
| | Carbon | 63,055 | 16,887 | 14,605 |
|
|
4318
4415
|
| | Material Web | 41,044 | 13,234 | 11,757 |
|
|
4319
4416
|
| | Shoelace | 34,865 | 12,027 | 10,559 |
|
|
4320
4417
|
| | Spectrum | 38,685 | 10,660 | 9,370 |
|
|
4321
|
-
| \`switch\` | **Helix** | 43,562 | 14,
|
|
4418
|
+
| \`switch\` | **Helix** | 43,562 | 14,638 | 13,007 |
|
|
4322
4419
|
| | Carbon | 69,423 | 17,127 | 14,764 |
|
|
4323
4420
|
| | Material Web | 50,155 | 14,577 | 12,935 |
|
|
4324
4421
|
| | Shoelace | 37,833 | 11,814 | 10,568 |
|
|
4325
4422
|
| | Spectrum | 62,322 | 15,059 | 13,321 |
|
|
4326
|
-
| \`tabs\` | **Helix** | 55,263 | 17,753 | 15,
|
|
4423
|
+
| \`tabs\` | **Helix** | 55,263 | 17,753 | 15,846 |
|
|
4327
4424
|
| | Carbon | 578,766 | 73,537 | 43,235 |
|
|
4328
4425
|
| | Material Web | 38,883 | 12,820 | 11,368 |
|
|
4329
4426
|
| | Shoelace | 54,573 | 17,140 | 15,068 |
|
|
4330
4427
|
| | Spectrum | 64,875 | 18,298 | 16,283 |
|
|
4331
|
-
| \`tooltip\` | **Helix** | 61,420 | 21,833 | 19,
|
|
4428
|
+
| \`tooltip\` | **Helix** | 61,420 | 21,833 | 19,329 |
|
|
4332
4429
|
| | Carbon | 189,382 | 30,354 | 22,273 |
|
|
4333
4430
|
| | Material Web | | not shipped | |
|
|
4334
4431
|
| | Shoelace | 57,412 | 20,220 | 17,933 |
|
|
@@ -4380,105 +4477,105 @@ Structure, accessibility, state, and form participation. It has no presentation
|
|
|
4380
4477
|
|
|
4381
4478
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
4382
4479
|
|---|---|---|---|---|---|---|
|
|
4383
|
-
| \`accordion\` | 31,879 | 11,805 | 10,
|
|
4384
|
-
| \`announcement\` | 36,692 | 13,313 | 11,
|
|
4385
|
-
| \`app-header\` | 32,289 | 11,899 | 10,
|
|
4386
|
-
| \`area-chart\` | 90,301 | 31,725 | 28,
|
|
4387
|
-
| \`avatar\` | 30,463 | 11,596 | 10,
|
|
4388
|
-
| \`badge\` | 27,088 | 10,568 | 9,
|
|
4389
|
-
| \`bar-chart\` | 94,416 | 32,821 | 29,
|
|
4390
|
-
| \`blockquote\` | 24,107 | 9,
|
|
4391
|
-
| \`breadcrumbs\` | 36,279 | 13,906 | 12,
|
|
4392
|
-
| \`button\` | 35,194 | 12,591 | 11,
|
|
4393
|
-
| \`button-group\` | 27,640 | 10,382 | 9,
|
|
4394
|
-
| \`callout\` | 35,256 | 13,
|
|
4395
|
-
| \`canvas\` | 108,483 | 34,750 | 30,
|
|
4396
|
-
| \`card\` | 23,777 | 9,054 | 8,019 | 2,090 | 655 |
|
|
4397
|
-
| \`carousel\` | 42,748 | 15,234 | 13,597 | 15,006 | 4,
|
|
4398
|
-
| \`chat\` | 79,390 | 26,
|
|
4399
|
-
| \`checkbox\` | 40,374 | 13,681 | 12,
|
|
4400
|
-
| \`checkbox-group\` | 47,602 | 15,
|
|
4401
|
-
| \`code\` | 20,301 | 8,015 | 7,
|
|
4402
|
-
| \`code-block\` | 102,738 | 34,890 | 30,
|
|
4403
|
-
| \`color-input\` | 141,792 | 45,087 | 39,
|
|
4404
|
-
| \`color-picker\` | 103,415 | 32,966 | 28,
|
|
4405
|
-
| \`combobox\` | 132,023 | 41,951 | 36,
|
|
4406
|
-
| \`command\` | 99,513 | 31,476 | 27,
|
|
4407
|
-
| \`copy-button\` | 80,548 | 27,649 | 24,
|
|
4408
|
-
| \`data-table\` | 199,900 | 61,
|
|
4409
|
-
| \`date-input\` | 141,223 | 44,512 | 39,
|
|
4410
|
-
| \`date-picker\` | 61,360 | 20,936 | 18,
|
|
4411
|
-
| \`description-list\` | 22,900 | 8,765 | 7,766 | 1,565 |
|
|
4412
|
-
| \`dialog\` | 38,247 | 13,598 | 12,
|
|
4413
|
-
| \`divider\` | 22,991 | 8,924 | 7,
|
|
4414
|
-
| \`donut-chart\` | 89,212 | 31,127 | 27,
|
|
4415
|
-
| \`drawer\` | 42,892 | 15,123 | 13,
|
|
4416
|
-
| \`drilldown\` | 42,756 | 14,941 | 13,297 | 9,710 | 2,724 | 2,
|
|
4417
|
-
| \`empty\` | 24,194 | 9,
|
|
4418
|
-
| \`file-input\` | 57,757 | 20,019 | 17,
|
|
4419
|
-
| \`filter-input\` | 97,846 | 32,819 | 29,
|
|
4420
|
-
| \`format-date\` | 30,158 | 11,290 | 10,
|
|
4421
|
-
| \`graph\` | 74,369 | 24,504 | 21,
|
|
4422
|
-
| \`heatmap\` | 98,128 | 33,505 | 29,
|
|
4423
|
-
| \`icon\` | 82,157 | 28,050 | 23,
|
|
4424
|
-
| \`icon-button\` | 35,305 | 12,620 | 11,
|
|
4425
|
-
| \`image\` | 25,504 | 9,480 | 8,
|
|
4426
|
-
| \`input\` | 46,361 | 15,974 | 14,
|
|
4427
|
-
| \`isometric-heatmap\` | 102,771 | 34,713 | 30,
|
|
4428
|
-
| \`kbd\` | 27,511 | 10,
|
|
4429
|
-
| \`legend\` | 35,184 | 12,935 | 11,
|
|
4430
|
-
| \`lightbox\` | 55,724 | 18,
|
|
4431
|
-
| \`line-chart\` | 91,335 | 31,
|
|
4432
|
-
| \`list\` | 61,803 | 21,
|
|
4433
|
-
| \`listbox\` | 76,711 | 25,427 | 22,
|
|
4434
|
-
| \`loader\` | 26,379 | 10,041 | 8,
|
|
4435
|
-
| \`map\` | 78,565 | 24,393 | 21,
|
|
4436
|
-
| \`megamenu\` | 60,027 | 21,698 | 19,
|
|
4437
|
-
| \`menu\` | 97,473 | 32,550 | 28,
|
|
4438
|
-
| \`meter\` | 31,721 | 12,026 | 10,
|
|
4439
|
-
| \`navigation\` | 33,088 | 12,436 | 11,
|
|
4440
|
-
| \`notifications\` | 58,346 | 19,881 | 17,
|
|
4441
|
-
| \`number-input\` | 56,271 | 18,
|
|
4442
|
-
| \`object-inspector\` | 113,929 | 38,372 | 33,
|
|
4443
|
-
| \`option\` | 26,477 | 9,763 | 8,
|
|
4444
|
-
| \`outline\` | 33,612 | 12,598 | 11,
|
|
4445
|
-
| \`pagination\` | 136,258 | 43,650 | 37,
|
|
4446
|
-
| \`pin-input\` | 47,068 | 16,413 | 14,
|
|
4447
|
-
| \`popover\` | 63,806 | 22,941 | 20,
|
|
4448
|
-
| \`progress\` | 28,084 | 10,730 | 9,
|
|
4449
|
-
| \`qr-code\` | 42,719 | 16,647 | 14,
|
|
4450
|
-
| \`quote\` | 22,516 | 8,
|
|
4451
|
-
| \`radio\` | 42,561 | 14,464 | 12,878 | 3,817 | 1,
|
|
4452
|
-
| \`rating\` | 50,257 | 17,289 | 15,
|
|
4453
|
-
| \`scatter-chart\` | 91,226 | 31,
|
|
4454
|
-
| \`scroll-area\` | 30,430 | 11,
|
|
4455
|
-
| \`select\` | 115,289 | 38,173 | 33,
|
|
4456
|
-
| \`skeleton\` | 22,328 | 8,644 | 7,
|
|
4457
|
-
| \`skip-link\` | 23,871 | 9,338 | 8,
|
|
4458
|
-
| \`slider\` | 52,873 | 17,
|
|
4459
|
-
| \`sparkline\` | 47,984 | 17,
|
|
4460
|
-
| \`speed-dial\` | 68,751 | 24,718 | 21,
|
|
4461
|
-
| \`splitter\` | 43,751 | 15,167 | 13,
|
|
4462
|
-
| \`stat\` | 25,255 | 9,675 | 8,
|
|
4463
|
-
| \`steps\` | 53,623 | 18,
|
|
4464
|
-
| \`switch\` | 39,233 | 13,495 | 12,
|
|
4465
|
-
| \`table\` | 118,358 | 37,061 | 32,
|
|
4466
|
-
| \`tabs\` | 46,310 | 15,908 | 14,
|
|
4467
|
-
| \`tag\` | 42,676 | 15,
|
|
4468
|
-
| \`textarea\` | 43,852 | 14,941 | 13,
|
|
4469
|
-
| \`time-input\` | 169,269 | 52,676 | 45,
|
|
4470
|
-
| \`time-picker\` | 99,603 | 31,518 | 27,
|
|
4471
|
-
| \`timeline\` | 31,286 | 11,863 | 10,
|
|
4472
|
-
| \`toast\` | 50,871 | 17,
|
|
4473
|
-
| \`toggle\` | 45,577 | 15,270 | 13,
|
|
4474
|
-
| \`toolbar\` | 31,047 | 11,573 | 10,294 | 5,158 | 1,
|
|
4475
|
-
| \`tooltip\` | 58,616 | 21,090 | 18,
|
|
4476
|
-
| \`tour\` | 83,670 | 28,
|
|
4477
|
-
| \`tree\` | 67,586 | 22,
|
|
4478
|
-
| \`trend\` | 29,717 | 11,569 | 10,
|
|
4479
|
-
| \`video\` | 141,208 | 44,
|
|
4480
|
-
| \`video-playlist\` | 127,686 | 41,301 | 36,
|
|
4481
|
-
| \`virtual-list\` | 63,451 | 21,
|
|
4480
|
+
| \`accordion\` | 31,879 | 11,805 | 10,464 | 5,329 | 1,598 | 1,256 |
|
|
4481
|
+
| \`announcement\` | 36,692 | 13,313 | 11,854 | 4,682 | 1,425 | 1,118 |
|
|
4482
|
+
| \`app-header\` | 32,289 | 11,899 | 10,606 | 5,871 | 1,796 | 1,259 |
|
|
4483
|
+
| \`area-chart\` | 90,301 | 31,725 | 28,046 | 14,058 | 4,345 | 3,496 |
|
|
4484
|
+
| \`avatar\` | 30,463 | 11,596 | 10,369 | 3,957 | 1,234 | 973 |
|
|
4485
|
+
| \`badge\` | 27,088 | 10,568 | 9,410 | 2,942 | 920 | 756 |
|
|
4486
|
+
| \`bar-chart\` | 94,416 | 32,821 | 29,099 | 18,026 | 5,441 | 4,501 |
|
|
4487
|
+
| \`blockquote\` | 24,107 | 9,422 | 8,332 | 2,402 | 913 | 753 |
|
|
4488
|
+
| \`breadcrumbs\` | 36,279 | 13,906 | 12,382 | 7,360 | 2,452 | 1,974 |
|
|
4489
|
+
| \`button\` | 35,194 | 12,591 | 11,222 | 4,925 | 1,472 | 1,121 |
|
|
4490
|
+
| \`button-group\` | 27,640 | 10,382 | 9,200 | 4,928 | 1,517 | 1,109 |
|
|
4491
|
+
| \`callout\` | 35,256 | 13,593 | 12,058 | 2,884 | 992 | 726 |
|
|
4492
|
+
| \`canvas\` | 108,483 | 34,750 | 30,438 | 68,927 | 20,973 | 17,684 |
|
|
4493
|
+
| \`card\` | 23,777 | 9,054 | 8,019 | 2,090 | 655 | 525 |
|
|
4494
|
+
| \`carousel\` | 42,748 | 15,234 | 13,597 | 15,006 | 4,216 | 3,333 |
|
|
4495
|
+
| \`chat\` | 79,390 | 26,444 | 23,377 | 27,455 | 8,117 | 6,376 |
|
|
4496
|
+
| \`checkbox\` | 40,374 | 13,681 | 12,199 | 3,107 | 979 | 666 |
|
|
4497
|
+
| \`checkbox-group\` | 47,602 | 15,601 | 13,904 | 8,325 | 2,351 | 1,779 |
|
|
4498
|
+
| \`code\` | 20,301 | 8,015 | 7,121 | 138 | 67 | 44 |
|
|
4499
|
+
| \`code-block\` | 102,738 | 34,890 | 30,788 | 36,843 | 10,786 | 8,800 |
|
|
4500
|
+
| \`color-input\` | 141,792 | 45,087 | 39,341 | 55,136 | 14,334 | 11,510 |
|
|
4501
|
+
| \`color-picker\` | 103,415 | 32,966 | 28,881 | 47,256 | 12,743 | 10,241 |
|
|
4502
|
+
| \`combobox\` | 132,023 | 41,951 | 36,907 | 35,791 | 9,112 | 7,035 |
|
|
4503
|
+
| \`command\` | 99,513 | 31,476 | 27,708 | 30,061 | 8,171 | 6,363 |
|
|
4504
|
+
| \`copy-button\` | 80,548 | 27,649 | 24,490 | 18,341 | 4,985 | 3,998 |
|
|
4505
|
+
| \`data-table\` | 199,900 | 61,427 | 52,553 | 89,488 | 23,783 | 19,070 |
|
|
4506
|
+
| \`date-input\` | 141,223 | 44,512 | 39,113 | 38,229 | 9,448 | 7,610 |
|
|
4507
|
+
| \`date-picker\` | 61,360 | 20,936 | 18,750 | 20,347 | 5,579 | 4,382 |
|
|
4508
|
+
| \`description-list\` | 22,900 | 8,765 | 7,766 | 1,565 | 526 | 391 |
|
|
4509
|
+
| \`dialog\` | 38,247 | 13,598 | 12,117 | 5,837 | 1,753 | 1,446 |
|
|
4510
|
+
| \`divider\` | 22,991 | 8,924 | 7,882 | 1,416 | 502 | 425 |
|
|
4511
|
+
| \`donut-chart\` | 89,212 | 31,127 | 27,556 | 14,641 | 4,497 | 3,632 |
|
|
4512
|
+
| \`drawer\` | 42,892 | 15,123 | 13,469 | 7,698 | 2,296 | 1,835 |
|
|
4513
|
+
| \`drilldown\` | 42,756 | 14,941 | 13,297 | 9,710 | 2,724 | 2,066 |
|
|
4514
|
+
| \`empty\` | 24,194 | 9,251 | 8,200 | 1,951 | 658 | 530 |
|
|
4515
|
+
| \`file-input\` | 57,757 | 20,019 | 17,785 | 13,094 | 4,155 | 3,281 |
|
|
4516
|
+
| \`filter-input\` | 97,846 | 32,819 | 29,116 | 21,630 | 6,199 | 4,852 |
|
|
4517
|
+
| \`format-date\` | 30,158 | 11,290 | 10,090 | 4,434 | 1,264 | 1,089 |
|
|
4518
|
+
| \`graph\` | 74,369 | 24,504 | 21,641 | 21,878 | 6,485 | 5,288 |
|
|
4519
|
+
| \`heatmap\` | 98,128 | 33,505 | 29,605 | 18,944 | 5,590 | 4,462 |
|
|
4520
|
+
| \`icon\` | 82,157 | 28,050 | 23,959 | 58,304 | 19,662 | 16,121 |
|
|
4521
|
+
| \`icon-button\` | 35,305 | 12,620 | 11,230 | 5,034 | 1,513 | 1,165 |
|
|
4522
|
+
| \`image\` | 25,504 | 9,480 | 8,404 | 3,824 | 1,152 | 935 |
|
|
4523
|
+
| \`input\` | 46,361 | 15,974 | 14,090 | 7,352 | 2,452 | 1,865 |
|
|
4524
|
+
| \`isometric-heatmap\` | 102,771 | 34,713 | 30,595 | 23,536 | 6,749 | 5,398 |
|
|
4525
|
+
| \`kbd\` | 27,511 | 10,571 | 9,367 | 3,516 | 1,153 | 767 |
|
|
4526
|
+
| \`legend\` | 35,184 | 12,935 | 11,491 | 2,957 | 1,019 | 874 |
|
|
4527
|
+
| \`lightbox\` | 55,724 | 18,816 | 16,725 | 16,730 | 4,692 | 3,582 |
|
|
4528
|
+
| \`line-chart\` | 91,335 | 31,881 | 28,290 | 14,762 | 4,418 | 3,698 |
|
|
4529
|
+
| \`list\` | 61,803 | 21,294 | 18,983 | 15,242 | 4,449 | 3,619 |
|
|
4530
|
+
| \`listbox\` | 76,711 | 25,427 | 22,527 | 15,565 | 4,585 | 3,551 |
|
|
4531
|
+
| \`loader\` | 26,379 | 10,041 | 8,907 | 2,775 | 969 | 751 |
|
|
4532
|
+
| \`map\` | 78,565 | 24,393 | 21,288 | 37,025 | 10,128 | 7,955 |
|
|
4533
|
+
| \`megamenu\` | 60,027 | 21,698 | 19,183 | 8,595 | 2,405 | 1,778 |
|
|
4534
|
+
| \`menu\` | 97,473 | 32,550 | 28,767 | 30,180 | 7,996 | 6,383 |
|
|
4535
|
+
| \`meter\` | 31,721 | 12,026 | 10,721 | 4,894 | 1,453 | 1,182 |
|
|
4536
|
+
| \`navigation\` | 33,088 | 12,436 | 11,034 | 3,366 | 1,183 | 1,023 |
|
|
4537
|
+
| \`notifications\` | 58,346 | 19,881 | 17,738 | 18,207 | 5,056 | 4,000 |
|
|
4538
|
+
| \`number-input\` | 56,271 | 18,840 | 16,789 | 13,524 | 3,662 | 2,768 |
|
|
4539
|
+
| \`object-inspector\` | 113,929 | 38,372 | 33,717 | 35,492 | 10,304 | 8,250 |
|
|
4540
|
+
| \`option\` | 26,477 | 9,763 | 8,662 | 4,525 | 1,231 | 950 |
|
|
4541
|
+
| \`outline\` | 33,612 | 12,598 | 11,179 | 7,856 | 2,569 | 1,942 |
|
|
4542
|
+
| \`pagination\` | 136,258 | 43,650 | 37,953 | 45,377 | 11,934 | 9,415 |
|
|
4543
|
+
| \`pin-input\` | 47,068 | 16,413 | 14,653 | 6,736 | 2,253 | 1,741 |
|
|
4544
|
+
| \`popover\` | 63,806 | 22,941 | 20,256 | 6,375 | 1,876 | 1,363 |
|
|
4545
|
+
| \`progress\` | 28,084 | 10,730 | 9,551 | 2,970 | 933 | 720 |
|
|
4546
|
+
| \`qr-code\` | 42,719 | 16,647 | 14,847 | 17,004 | 6,288 | 5,382 |
|
|
4547
|
+
| \`quote\` | 22,516 | 8,884 | 7,827 | 1,211 | 523 | 417 |
|
|
4548
|
+
| \`radio\` | 42,561 | 14,464 | 12,878 | 3,817 | 1,228 | 898 |
|
|
4549
|
+
| \`rating\` | 50,257 | 17,289 | 15,409 | 8,029 | 2,456 | 1,870 |
|
|
4550
|
+
| \`scatter-chart\` | 91,226 | 31,676 | 27,942 | 16,127 | 4,840 | 3,890 |
|
|
4551
|
+
| \`scroll-area\` | 30,430 | 11,080 | 9,813 | 8,499 | 2,603 | 2,039 |
|
|
4552
|
+
| \`select\` | 115,289 | 38,173 | 33,481 | 26,033 | 7,140 | 5,395 |
|
|
4553
|
+
| \`skeleton\` | 22,328 | 8,644 | 7,666 | 991 | 368 | 296 |
|
|
4554
|
+
| \`skip-link\` | 23,871 | 9,338 | 8,264 | 1,225 | 494 | 424 |
|
|
4555
|
+
| \`slider\` | 52,873 | 17,826 | 15,978 | 13,159 | 3,818 | 3,037 |
|
|
4556
|
+
| \`sparkline\` | 47,984 | 17,499 | 15,601 | 5,981 | 2,162 | 1,764 |
|
|
4557
|
+
| \`speed-dial\` | 68,751 | 24,718 | 21,901 | 10,915 | 2,990 | 2,266 |
|
|
4558
|
+
| \`splitter\` | 43,751 | 15,167 | 13,536 | 14,397 | 3,878 | 3,176 |
|
|
4559
|
+
| \`stat\` | 25,255 | 9,675 | 8,601 | 2,303 | 781 | 544 |
|
|
4560
|
+
| \`steps\` | 53,623 | 18,635 | 16,567 | 13,603 | 3,870 | 3,086 |
|
|
4561
|
+
| \`switch\` | 39,233 | 13,495 | 12,047 | 1,679 | 625 | 379 |
|
|
4562
|
+
| \`table\` | 118,358 | 37,061 | 32,257 | 45,150 | 12,475 | 10,024 |
|
|
4563
|
+
| \`tabs\` | 46,310 | 15,908 | 14,160 | 10,491 | 2,916 | 2,259 |
|
|
4564
|
+
| \`tag\` | 42,676 | 15,620 | 13,972 | 8,455 | 2,548 | 1,991 |
|
|
4565
|
+
| \`textarea\` | 43,852 | 14,941 | 13,326 | 5,402 | 1,622 | 1,239 |
|
|
4566
|
+
| \`time-input\` | 169,269 | 52,676 | 45,872 | 48,511 | 12,418 | 9,739 |
|
|
4567
|
+
| \`time-picker\` | 99,603 | 31,518 | 27,772 | 33,933 | 9,190 | 7,206 |
|
|
4568
|
+
| \`timeline\` | 31,286 | 11,863 | 10,607 | 4,061 | 1,260 | 1,014 |
|
|
4569
|
+
| \`toast\` | 50,871 | 17,938 | 16,020 | 12,124 | 3,529 | 2,827 |
|
|
4570
|
+
| \`toggle\` | 45,577 | 15,270 | 13,576 | 6,007 | 1,799 | 1,392 |
|
|
4571
|
+
| \`toolbar\` | 31,047 | 11,573 | 10,294 | 5,158 | 1,695 | 1,249 |
|
|
4572
|
+
| \`tooltip\` | 58,616 | 21,090 | 18,705 | 8,434 | 2,379 | 1,908 |
|
|
4573
|
+
| \`tour\` | 83,670 | 28,722 | 25,339 | 19,815 | 5,459 | 4,255 |
|
|
4574
|
+
| \`tree\` | 67,586 | 22,718 | 20,230 | 17,199 | 4,980 | 4,023 |
|
|
4575
|
+
| \`trend\` | 29,717 | 11,569 | 10,337 | 3,487 | 1,134 | 913 |
|
|
4576
|
+
| \`video\` | 141,208 | 44,137 | 38,496 | 66,217 | 16,841 | 13,780 |
|
|
4577
|
+
| \`video-playlist\` | 127,686 | 41,301 | 36,338 | 42,775 | 11,225 | 9,072 |
|
|
4578
|
+
| \`virtual-list\` | 63,451 | 21,630 | 19,226 | 23,305 | 7,171 | 5,779 |
|
|
4482
4579
|
|
|
4483
4580
|
### Styled tier
|
|
4484
4581
|
|
|
@@ -4486,112 +4583,112 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
|
|
|
4486
4583
|
|
|
4487
4584
|
| Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
|
|
4488
4585
|
|---|---|---|---|---|---|---|
|
|
4489
|
-
| \`accordion\` | 35,311 | 12,654 | 11,
|
|
4490
|
-
| \`announcement\` | 41,307 | 14,365 | 12,
|
|
4491
|
-
| \`app-header\` | 37,449 | 13,103 | 11,682 | 11,016 | 3,009 | 2,
|
|
4492
|
-
| \`area-chart\` | 98,393 | 33,578 | 29,
|
|
4493
|
-
| \`aura\` | 56,085 | 19,320 | 17,
|
|
4494
|
-
| \`avatar\` | 33,464 | 12,351 | 11,
|
|
4495
|
-
| \`badge\` | 32,595 | 11,
|
|
4496
|
-
| \`bar-chart\` | 108,944 | 35,724 | 31,
|
|
4497
|
-
| \`blockquote\` | 26,332 | 9,
|
|
4498
|
-
| \`breadcrumbs\` | 43,220 | 15,115 | 13,
|
|
4499
|
-
| \`button\` | 41,612 | 14,007 | 12,
|
|
4500
|
-
| \`button-group\` | 31,138 | 11,066 | 9,
|
|
4501
|
-
| \`callout\` | 39,049 | 14,
|
|
4502
|
-
| \`canvas\` | 129,523 | 38,717 | 33,
|
|
4503
|
-
| \`card\` | 27,678 | 10,
|
|
4504
|
-
| \`carousel\` | 53,234 | 17,022 | 15,
|
|
4505
|
-
| \`chat\` | 94,674 | 29,
|
|
4506
|
-
| \`checkbox\` | 46,865 | 15,190 | 13,
|
|
4507
|
-
| \`checkbox-group\` | 54,826 | 17,
|
|
4508
|
-
| \`code\` | 21,154 | 8,
|
|
4509
|
-
| \`code-block\` | 127,213 | 38,
|
|
4510
|
-
| \`color-input\` | 184,176 | 51,
|
|
4511
|
-
| \`color-picker\` | 140,348 | 38,508 | 33,
|
|
4512
|
-
| \`combobox\` | 147,503 | 44,927 | 39,
|
|
4513
|
-
| \`command\` | 110,791 | 33,835 | 29,
|
|
4514
|
-
| \`copy-button\` | 92,577 | 29,825 | 26,
|
|
4515
|
-
| \`data-table\` | 230,715 | 66,817 | 57,
|
|
4516
|
-
| \`date-input\` | 162,349 | 48,
|
|
4517
|
-
| \`date-picker\` | 69,281 | 22,363 | 20,
|
|
4518
|
-
| \`description-list\` | 25,855 | 9,517 | 8,
|
|
4519
|
-
| \`dialog\` | 43,360 | 14,855 | 13,
|
|
4520
|
-
| \`divider\` | 25,291 | 9,547 | 8,
|
|
4521
|
-
| \`donut-chart\` | 99,170 | 33,263 | 29,
|
|
4522
|
-
| \`drawer\` | 48,725 | 16,508 | 14,
|
|
4523
|
-
| \`drilldown\` | 48,438 | 16,235 | 14,
|
|
4524
|
-
| \`empty\` | 25,503 | 9,
|
|
4525
|
-
| \`file-input\` | 69,285 | 22,419 | 19,
|
|
4526
|
-
| \`filter-input\` | 108,688 | 34,991 | 31,
|
|
4527
|
-
| \`flex\` | 25,740 | 9,
|
|
4528
|
-
| \`format-date\` | 30,414 | 11,403 | 10,
|
|
4529
|
-
| \`graph\` | 89,037 | 27,
|
|
4530
|
-
| \`grid\` | 27,002 | 9,846 | 8,
|
|
4531
|
-
| \`heatmap\` | 105,486 | 35,189 | 31,
|
|
4532
|
-
| \`icon\` | 83,995 | 28,
|
|
4533
|
-
| \`icon-button\` | 43,040 | 13,981 | 12,
|
|
4534
|
-
| \`image\` | 26,892 | 9,947 | 8,
|
|
4535
|
-
| \`input\` | 50,619 | 17,063 | 15,
|
|
4536
|
-
| \`isometric-heatmap\` | 110,852 | 36,
|
|
4537
|
-
| \`kbd\` | 29,504 | 11,
|
|
4538
|
-
| \`legend\` | 40,423 | 14,214 | 12,
|
|
4539
|
-
| \`lightbox\` | 62,016 | 20,155 | 17,
|
|
4540
|
-
| \`line-chart\` | 102,454 | 34,257 | 30,
|
|
4541
|
-
| \`list\` | 68,150 | 22,816 | 20,
|
|
4542
|
-
| \`listbox\` | 81,154 | 26,542 | 23,
|
|
4543
|
-
| \`loader\` | 29,263 | 10,814 | 9,
|
|
4544
|
-
| \`map\` | 111,513 | 29,575 | 25,
|
|
4545
|
-
| \`megamenu\` | 64,996 | 22,865 | 20,
|
|
4546
|
-
| \`menu\` | 108,403 | 34,711 | 30,
|
|
4547
|
-
| \`meter\` | 37,896 | 13,378 | 11,
|
|
4548
|
-
| \`navigation\` | 36,814 | 13,
|
|
4549
|
-
| \`notifications\` | 71,808 | 22,
|
|
4550
|
-
| \`number-input\` | 61,253 | 20,024 | 17,
|
|
4551
|
-
| \`object-inspector\` | 130,338 | 41,206 | 36,
|
|
4552
|
-
| \`option\` | 29,672 | 10,762 | 9,
|
|
4553
|
-
| \`orb\` | 35,265 | 13,
|
|
4554
|
-
| \`outline\` | 37,846 | 13,459 | 11,
|
|
4555
|
-
| \`pagination\` | 153,264 | 46,929 | 40,
|
|
4556
|
-
| \`pin-input\` | 50,409 | 17,
|
|
4557
|
-
| \`popover\` | 66,958 | 23,702 | 20,
|
|
4558
|
-
| \`progress\` | 35,232 | 12,
|
|
4559
|
-
| \`qr-code\` | 44,321 | 17,121 | 15,
|
|
4560
|
-
| \`quote\` | 23,074 | 9,
|
|
4561
|
-
| \`radio\` | 50,349 | 15,977 | 14,
|
|
4562
|
-
| \`rating\` | 54,190 | 18,519 | 16,
|
|
4563
|
-
| \`sandbox\` | 104,428 | 31,484 | 27,
|
|
4564
|
-
| \`scatter-chart\` | 100,317 | 33,
|
|
4565
|
-
| \`scroll-area\` | 35,437 | 12,
|
|
4566
|
-
| \`select\` | 124,418 | 40,070 | 35,
|
|
4567
|
-
| \`skeleton\` | 26,090 | 9,664 | 8,
|
|
4568
|
-
| \`skip-link\` | 25,441 | 9,
|
|
4569
|
-
| \`slider\` | 67,842 | 20,140 |
|
|
4570
|
-
| \`sparkline\` | 53,442 | 18,851 | 16,
|
|
4571
|
-
| \`speed-dial\` | 75,797 | 26,105 | 23,
|
|
4572
|
-
| \`splitter\` | 49,804 | 16,210 | 14,
|
|
4573
|
-
| \`stat\` | 28,117 | 10,372 | 9,
|
|
4574
|
-
| \`steps\` | 67,449 | 21,378 | 19,
|
|
4575
|
-
| \`strands\` | 62,138 | 23,148 | 20,
|
|
4576
|
-
| \`switch\` | 43,562 | 14,
|
|
4577
|
-
| \`table\` | 135,900 | 40,155 | 34,
|
|
4578
|
-
| \`tabs\` | 55,263 | 17,753 | 15,
|
|
4579
|
-
| \`tag\` | 47,247 | 16,
|
|
4580
|
-
| \`text\` | 28,756 | 9,943 | 8,
|
|
4581
|
-
| \`textarea\` | 47,785 | 15,949 | 14,227 | 9,318 | 2,
|
|
4582
|
-
| \`time-input\` | 193,597 | 56,836 | 49,
|
|
4583
|
-
| \`time-picker\` | 111,928 | 33,946 | 29,
|
|
4584
|
-
| \`timeline\` | 38,179 | 13,326 | 11,
|
|
4585
|
-
| \`toast\` | 58,767 | 19,
|
|
4586
|
-
| \`toggle\` | 50,439 | 16,
|
|
4587
|
-
| \`toolbar\` | 33,726 | 12,066 | 10,
|
|
4588
|
-
| \`tooltip\` | 61,420 | 21,833 | 19,
|
|
4589
|
-
| \`tour\` | 93,661 | 30,
|
|
4590
|
-
| \`tree\` | 76,275 | 24,651 | 21,
|
|
4591
|
-
| \`trend\` | 31,231 | 12,050 | 10,
|
|
4592
|
-
| \`video\` | 161,715 | 47,866 | 41,
|
|
4593
|
-
| \`video-playlist\` | 143,639 | 44,
|
|
4594
|
-
| \`virtual-list\` | 65,445 | 22,136 | 19,
|
|
4586
|
+
| \`accordion\` | 35,311 | 12,654 | 11,236 | 8,746 | 2,463 | 2,016 |
|
|
4587
|
+
| \`announcement\` | 41,307 | 14,365 | 12,844 | 9,278 | 2,489 | 2,072 |
|
|
4588
|
+
| \`app-header\` | 37,449 | 13,103 | 11,682 | 11,016 | 3,009 | 2,472 |
|
|
4589
|
+
| \`area-chart\` | 98,393 | 33,578 | 29,681 | 22,131 | 6,257 | 5,070 |
|
|
4590
|
+
| \`aura\` | 56,085 | 19,320 | 17,108 | 29,774 | 9,336 | 7,876 |
|
|
4591
|
+
| \`avatar\` | 33,464 | 12,351 | 11,051 | 6,945 | 2,007 | 1,646 |
|
|
4592
|
+
| \`badge\` | 32,595 | 11,820 | 10,538 | 8,438 | 2,178 | 1,772 |
|
|
4593
|
+
| \`bar-chart\` | 108,944 | 35,724 | 31,572 | 32,533 | 8,394 | 6,852 |
|
|
4594
|
+
| \`blockquote\` | 26,332 | 9,968 | 8,824 | 4,612 | 1,452 | 1,178 |
|
|
4595
|
+
| \`breadcrumbs\` | 43,220 | 15,115 | 13,467 | 14,285 | 3,698 | 3,040 |
|
|
4596
|
+
| \`button\` | 41,612 | 14,007 | 12,440 | 11,324 | 2,908 | 2,298 |
|
|
4597
|
+
| \`button-group\` | 31,138 | 11,066 | 9,842 | 8,409 | 2,230 | 1,782 |
|
|
4598
|
+
| \`callout\` | 39,049 | 14,535 | 12,913 | 6,659 | 1,950 | 1,513 |
|
|
4599
|
+
| \`canvas\` | 129,523 | 38,717 | 33,888 | 89,611 | 24,897 | 20,996 |
|
|
4600
|
+
| \`card\` | 27,678 | 10,060 | 8,915 | 5,976 | 1,650 | 1,334 |
|
|
4601
|
+
| \`carousel\` | 53,234 | 17,022 | 15,255 | 25,477 | 6,038 | 4,870 |
|
|
4602
|
+
| \`chat\` | 94,674 | 29,164 | 25,829 | 42,730 | 10,860 | 8,790 |
|
|
4603
|
+
| \`checkbox\` | 46,865 | 15,190 | 13,517 | 9,580 | 2,503 | 1,944 |
|
|
4604
|
+
| \`checkbox-group\` | 54,826 | 17,245 | 15,350 | 15,542 | 4,028 | 3,246 |
|
|
4605
|
+
| \`code\` | 21,154 | 8,331 | 7,402 | 976 | 400 | 302 |
|
|
4606
|
+
| \`code-block\` | 127,213 | 38,714 | 34,143 | 61,300 | 14,740 | 12,197 |
|
|
4607
|
+
| \`color-input\` | 184,176 | 51,348 | 44,906 | 97,504 | 20,559 | 17,123 |
|
|
4608
|
+
| \`color-picker\` | 140,348 | 38,508 | 33,798 | 84,177 | 18,390 | 15,111 |
|
|
4609
|
+
| \`combobox\` | 147,503 | 44,927 | 39,521 | 51,254 | 12,086 | 9,732 |
|
|
4610
|
+
| \`command\` | 110,791 | 33,835 | 29,865 | 41,332 | 10,522 | 8,578 |
|
|
4611
|
+
| \`copy-button\` | 92,577 | 29,825 | 26,415 | 30,355 | 7,220 | 5,816 |
|
|
4612
|
+
| \`data-table\` | 230,715 | 66,817 | 57,250 | 120,282 | 29,305 | 23,909 |
|
|
4613
|
+
| \`date-input\` | 162,349 | 48,215 | 42,382 | 59,336 | 13,196 | 10,914 |
|
|
4614
|
+
| \`date-picker\` | 69,281 | 22,363 | 20,060 | 28,250 | 7,010 | 5,696 |
|
|
4615
|
+
| \`description-list\` | 25,855 | 9,517 | 8,456 | 4,508 | 1,284 | 1,066 |
|
|
4616
|
+
| \`dialog\` | 43,360 | 14,855 | 13,244 | 10,933 | 3,007 | 2,429 |
|
|
4617
|
+
| \`divider\` | 25,291 | 9,547 | 8,433 | 3,699 | 1,141 | 848 |
|
|
4618
|
+
| \`donut-chart\` | 99,170 | 33,263 | 29,421 | 24,576 | 6,712 | 5,519 |
|
|
4619
|
+
| \`drawer\` | 48,725 | 16,508 | 14,718 | 13,512 | 3,708 | 3,022 |
|
|
4620
|
+
| \`drilldown\` | 48,438 | 16,235 | 14,465 | 15,378 | 4,052 | 3,152 |
|
|
4621
|
+
| \`empty\` | 25,503 | 9,726 | 8,598 | 3,242 | 1,118 | 869 |
|
|
4622
|
+
| \`file-input\` | 69,285 | 22,419 | 19,892 | 24,612 | 6,551 | 5,311 |
|
|
4623
|
+
| \`filter-input\` | 108,688 | 34,991 | 31,014 | 32,465 | 8,412 | 6,809 |
|
|
4624
|
+
| \`flex\` | 25,740 | 9,195 | 8,149 | 4,763 | 1,048 | 935 |
|
|
4625
|
+
| \`format-date\` | 30,414 | 11,403 | 10,189 | 4,672 | 1,402 | 1,046 |
|
|
4626
|
+
| \`graph\` | 89,037 | 27,080 | 23,910 | 36,528 | 9,184 | 7,482 |
|
|
4627
|
+
| \`grid\` | 27,002 | 9,846 | 8,742 | 5,638 | 1,467 | 1,298 |
|
|
4628
|
+
| \`heatmap\` | 105,486 | 35,189 | 31,084 | 26,281 | 7,264 | 5,828 |
|
|
4629
|
+
| \`icon\` | 83,995 | 28,566 | 24,453 | 60,129 | 20,178 | 16,509 |
|
|
4630
|
+
| \`icon-button\` | 43,040 | 13,981 | 12,435 | 12,753 | 2,883 | 2,232 |
|
|
4631
|
+
| \`image\` | 26,892 | 9,947 | 8,805 | 5,194 | 1,621 | 1,269 |
|
|
4632
|
+
| \`input\` | 50,619 | 17,063 | 15,053 | 11,597 | 3,559 | 2,712 |
|
|
4633
|
+
| \`isometric-heatmap\` | 110,852 | 36,559 | 32,285 | 31,598 | 8,642 | 6,875 |
|
|
4634
|
+
| \`kbd\` | 29,504 | 11,109 | 9,839 | 5,494 | 1,685 | 1,317 |
|
|
4635
|
+
| \`legend\` | 40,423 | 14,214 | 12,618 | 8,067 | 2,264 | 1,748 |
|
|
4636
|
+
| \`lightbox\` | 62,016 | 20,155 | 17,964 | 23,006 | 6,017 | 4,675 |
|
|
4637
|
+
| \`line-chart\` | 102,454 | 34,257 | 30,348 | 25,863 | 6,850 | 5,597 |
|
|
4638
|
+
| \`list\` | 68,150 | 22,816 | 20,364 | 21,569 | 5,958 | 4,789 |
|
|
4639
|
+
| \`listbox\` | 81,154 | 26,542 | 23,415 | 19,994 | 5,704 | 4,449 |
|
|
4640
|
+
| \`loader\` | 29,263 | 10,814 | 9,643 | 5,642 | 1,730 | 1,434 |
|
|
4641
|
+
| \`map\` | 111,513 | 29,575 | 25,972 | 69,961 | 15,526 | 12,713 |
|
|
4642
|
+
| \`megamenu\` | 64,996 | 22,865 | 20,223 | 13,547 | 3,559 | 2,740 |
|
|
4643
|
+
| \`menu\` | 108,403 | 34,711 | 30,660 | 41,098 | 10,160 | 8,328 |
|
|
4644
|
+
| \`meter\` | 37,896 | 13,378 | 11,948 | 11,050 | 2,821 | 2,509 |
|
|
4645
|
+
| \`navigation\` | 36,814 | 13,270 | 11,770 | 7,077 | 2,025 | 1,715 |
|
|
4646
|
+
| \`notifications\` | 71,808 | 22,447 | 20,022 | 31,663 | 7,637 | 6,268 |
|
|
4647
|
+
| \`number-input\` | 61,253 | 20,024 | 17,821 | 18,491 | 4,851 | 3,791 |
|
|
4648
|
+
| \`object-inspector\` | 130,338 | 41,206 | 36,213 | 51,884 | 13,191 | 10,671 |
|
|
4649
|
+
| \`option\` | 29,672 | 10,762 | 9,552 | 7,712 | 2,214 | 1,720 |
|
|
4650
|
+
| \`orb\` | 35,265 | 13,489 | 12,038 | 9,730 | 3,690 | 3,222 |
|
|
4651
|
+
| \`outline\` | 37,846 | 13,459 | 11,946 | 12,073 | 3,491 | 2,636 |
|
|
4652
|
+
| \`pagination\` | 153,264 | 46,929 | 40,896 | 62,366 | 15,241 | 12,287 |
|
|
4653
|
+
| \`pin-input\` | 50,409 | 17,316 | 15,449 | 10,058 | 3,179 | 2,491 |
|
|
4654
|
+
| \`popover\` | 66,958 | 23,702 | 20,940 | 9,509 | 2,658 | 2,163 |
|
|
4655
|
+
| \`progress\` | 35,232 | 12,380 | 11,030 | 10,101 | 2,602 | 2,356 |
|
|
4656
|
+
| \`qr-code\` | 44,321 | 17,121 | 15,249 | 18,589 | 6,787 | 5,728 |
|
|
4657
|
+
| \`quote\` | 23,074 | 9,080 | 8,006 | 1,752 | 733 | 537 |
|
|
4658
|
+
| \`radio\` | 50,349 | 15,977 | 14,203 | 11,594 | 2,766 | 2,266 |
|
|
4659
|
+
| \`rating\` | 54,190 | 18,519 | 16,485 | 11,946 | 3,671 | 2,845 |
|
|
4660
|
+
| \`sandbox\` | 104,428 | 31,484 | 27,584 | 72,147 | 19,289 | 16,159 |
|
|
4661
|
+
| \`scatter-chart\` | 100,317 | 33,785 | 29,872 | 25,197 | 6,983 | 5,655 |
|
|
4662
|
+
| \`scroll-area\` | 35,437 | 12,027 | 10,679 | 13,489 | 3,583 | 2,910 |
|
|
4663
|
+
| \`select\` | 124,418 | 40,070 | 35,132 | 35,147 | 9,068 | 7,080 |
|
|
4664
|
+
| \`skeleton\` | 26,090 | 9,664 | 8,589 | 4,738 | 1,433 | 1,190 |
|
|
4665
|
+
| \`skip-link\` | 25,441 | 9,851 | 8,690 | 2,780 | 983 | 753 |
|
|
4666
|
+
| \`slider\` | 67,842 | 20,140 | 17,971 | 28,108 | 6,184 | 5,029 |
|
|
4667
|
+
| \`sparkline\` | 53,442 | 18,851 | 16,851 | 11,421 | 3,520 | 2,874 |
|
|
4668
|
+
| \`speed-dial\` | 75,797 | 26,105 | 23,131 | 17,946 | 4,405 | 3,556 |
|
|
4669
|
+
| \`splitter\` | 49,804 | 16,210 | 14,531 | 20,431 | 4,937 | 4,060 |
|
|
4670
|
+
| \`stat\` | 28,117 | 10,372 | 9,280 | 5,157 | 1,483 | 1,178 |
|
|
4671
|
+
| \`steps\` | 67,449 | 21,378 | 19,083 | 27,416 | 6,636 | 5,388 |
|
|
4672
|
+
| \`strands\` | 62,138 | 23,148 | 20,396 | 38,015 | 13,797 | 11,925 |
|
|
4673
|
+
| \`switch\` | 43,562 | 14,638 | 13,007 | 5,998 | 1,793 | 1,392 |
|
|
4674
|
+
| \`table\` | 135,900 | 40,155 | 34,974 | 62,687 | 15,581 | 12,853 |
|
|
4675
|
+
| \`tabs\` | 55,263 | 17,753 | 15,846 | 19,437 | 4,783 | 3,864 |
|
|
4676
|
+
| \`tag\` | 47,247 | 16,757 | 14,968 | 13,016 | 3,658 | 2,940 |
|
|
4677
|
+
| \`text\` | 28,756 | 9,943 | 8,755 | 7,396 | 1,519 | 1,260 |
|
|
4678
|
+
| \`textarea\` | 47,785 | 15,949 | 14,227 | 9,318 | 2,678 | 2,149 |
|
|
4679
|
+
| \`time-input\` | 193,597 | 56,836 | 49,480 | 72,824 | 16,646 | 13,626 |
|
|
4680
|
+
| \`time-picker\` | 111,928 | 33,946 | 29,873 | 46,251 | 11,628 | 9,402 |
|
|
4681
|
+
| \`timeline\` | 38,179 | 13,326 | 11,921 | 10,947 | 2,752 | 2,268 |
|
|
4682
|
+
| \`toast\` | 58,767 | 19,781 | 17,659 | 20,006 | 5,409 | 4,346 |
|
|
4683
|
+
| \`toggle\` | 50,439 | 16,509 | 14,668 | 10,854 | 3,077 | 2,473 |
|
|
4684
|
+
| \`toolbar\` | 33,726 | 12,066 | 10,723 | 7,822 | 2,163 | 1,725 |
|
|
4685
|
+
| \`tooltip\` | 61,420 | 21,833 | 19,329 | 11,220 | 3,137 | 2,506 |
|
|
4686
|
+
| \`tour\` | 93,661 | 30,696 | 27,131 | 29,787 | 7,498 | 5,974 |
|
|
4687
|
+
| \`tree\` | 76,275 | 24,651 | 21,957 | 25,874 | 6,943 | 5,657 |
|
|
4688
|
+
| \`trend\` | 31,231 | 12,050 | 10,722 | 4,982 | 1,613 | 1,353 |
|
|
4689
|
+
| \`video\` | 161,715 | 47,866 | 41,770 | 86,712 | 20,444 | 16,964 |
|
|
4690
|
+
| \`video-playlist\` | 143,639 | 44,278 | 38,906 | 58,709 | 14,190 | 11,656 |
|
|
4691
|
+
| \`virtual-list\` | 65,445 | 22,136 | 19,690 | 25,282 | 7,676 | 6,226 |
|
|
4595
4692
|
|
|
4596
4693
|
## What an install adds to \`node_modules\`
|
|
4597
4694
|
|
|
@@ -4603,12 +4700,12 @@ stripped column shows the bytes we removed.
|
|
|
4603
4700
|
|
|
4604
4701
|
| Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
|
|
4605
4702
|
|---|---|---|---|---|
|
|
4606
|
-
| \`@fusion.dev/helix-core\` | 2,
|
|
4607
|
-
| \`@fusion.dev/helix-headless\` |
|
|
4703
|
+
| \`@fusion.dev/helix-core\` | 2,560,950 | 559 | 727,994 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\`, \`tslib\` |
|
|
4704
|
+
| \`@fusion.dev/helix-headless\` | 25,355,390 | 716 | 2,256,500 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`tslib\`, \`uqr\` |
|
|
4608
4705
|
| \`@fusion.dev/helix-icons\` | 150,509 | 21 | 48,154 | \`svgo\` |
|
|
4609
4706
|
| \`@fusion.dev/helix-styles\` | 121,089 | 6 | 0 | none |
|
|
4610
4707
|
| \`@fusion.dev/helix-theme\` | 529,299 | 8 | 5,393 | none |
|
|
4611
|
-
| \`@fusion.dev/helix\` |
|
|
4708
|
+
| \`@fusion.dev/helix\` | 26,659,493 | 969 | 539,178 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\`, \`tslib\` |
|
|
4612
4709
|
|
|
4613
4710
|
## Not measured yet
|
|
4614
4711
|
|
|
@@ -7652,7 +7749,7 @@ type needs less leading. \`--helix-leading-heading\` expresses that once, so no
|
|
|
7652
7749
|
heading level needs its own multiplier.
|
|
7653
7750
|
`,
|
|
7654
7751
|
'using-helix-with-an-agent': `---
|
|
7655
|
-
description:
|
|
7752
|
+
description: Five mistakes that look like Helix bugs, and the files an agent should read.
|
|
7656
7753
|
parent: coding-agents
|
|
7657
7754
|
section: Getting started
|
|
7658
7755
|
title: Using Helix with an agent
|
|
@@ -7661,58 +7758,63 @@ title: Using Helix with an agent
|
|
|
7661
7758
|
|
|
7662
7759
|
# Using Helix with an agent
|
|
7663
7760
|
|
|
7664
|
-
|
|
7665
|
-
as \`.claude/skills/using-helix/SKILL.md\`, a file format that one vendor reads in
|
|
7666
|
-
a repository. Every other vendor reads its own file:
|
|
7667
|
-
|
|
7668
|
-
- Cursor reads \`.cursor/rules\`.
|
|
7669
|
-
- Copilot reads \`.github/copilot-instructions.md\`.
|
|
7761
|
+
This guide is in two places, and both say the same thing:
|
|
7670
7762
|
|
|
7671
|
-
|
|
7672
|
-
|
|
7763
|
+
- this page, which [llms.txt](https://fusion.dev/llms.txt) indexes
|
|
7764
|
+
- \`skills/helix/SKILL.md\` inside \`@fusion.dev/helix\`, which matches the version
|
|
7765
|
+
you installed and works offline
|
|
7673
7766
|
|
|
7674
|
-
|
|
7675
|
-
|
|
7676
|
-
|
|
7677
|
-
server](./coding-agents) works with any vendor and runs code, and Claude,
|
|
7678
|
-
Cursor, Windsurf, and Zed all support it.
|
|
7767
|
+
[Link your tool to this guide](#link-your-tool-to-this-guide) says how to point
|
|
7768
|
+
each tool at one of them. [The MCP server](./coding-agents) works with any
|
|
7769
|
+
vendor and runs code, and Claude, Cursor, Windsurf, and Zed all support it.
|
|
7679
7770
|
|
|
7680
|
-
## Read the
|
|
7771
|
+
## Read the family before writing its tags
|
|
7681
7772
|
|
|
7682
7773
|
\`\`\`
|
|
7683
|
-
https://fusion.dev/helix/
|
|
7684
|
-
|
|
7774
|
+
https://fusion.dev/helix/components/<family>.md
|
|
7775
|
+
https://fusion.dev/helix/components/<family>.json
|
|
7685
7776
|
\`\`\`
|
|
7686
7777
|
|
|
7687
|
-
|
|
7778
|
+
Each family's file lists:
|
|
7688
7779
|
|
|
7780
|
+
- the import lines for the family
|
|
7689
7781
|
- every tag
|
|
7690
7782
|
- every property, with its literal union
|
|
7691
|
-
- every event, with its class
|
|
7783
|
+
- every event, with its class and its React prop
|
|
7692
7784
|
- every slot, part, and custom property
|
|
7785
|
+
- the examples, each with the import lines it needs
|
|
7693
7786
|
|
|
7694
|
-
**If a tag is not in
|
|
7695
|
-
a declared union is invalid. Property types are literal unions for this
|
|
7696
|
-
\`'ghost' | 'outlined' | 'solid' | 'subtle'\` shows you the values, and a
|
|
7697
|
-
type such as \`ButtonEmphasis\` sends you somewhere else to find them.
|
|
7787
|
+
**If a tag is not in a family's file, it does not exist.** A property value
|
|
7788
|
+
outside a declared union is invalid. Property types are literal unions for this
|
|
7789
|
+
reason. \`'ghost' | 'outlined' | 'solid' | 'subtle'\` shows you the values, and a
|
|
7790
|
+
named type such as \`ButtonEmphasis\` sends you somewhere else to find them.
|
|
7698
7791
|
|
|
7699
|
-
|
|
7792
|
+
The manifest at \`https://fusion.dev/helix/custom-elements.json\` holds every
|
|
7793
|
+
family in one file, which is several megabytes. Read the families you use.
|
|
7794
|
+
Start from \`https://fusion.dev/llms.txt\`. In one request, it names every
|
|
7795
|
+
document and the machine-readable sources.
|
|
7700
7796
|
|
|
7701
|
-
|
|
7702
|
-
https://fusion.dev/helix/components/<family>.json
|
|
7703
|
-
https://fusion.dev/helix/components/<family>.md
|
|
7704
|
-
\`\`\`
|
|
7705
|
-
|
|
7706
|
-
The \`.md\` file has the API tables and the examples. The HTML page leaves the
|
|
7707
|
-
examples out on purpose. Start from \`https://fusion.dev/llms.txt\`. In one
|
|
7708
|
-
request, it names every document and these two sources.
|
|
7709
|
-
|
|
7710
|
-
## Four mistakes that look like Helix bugs
|
|
7797
|
+
## Five mistakes that look like Helix bugs
|
|
7711
7798
|
|
|
7712
7799
|
Each of these looks like a bug in Helix. They are listed from the most common to
|
|
7713
7800
|
the least common.
|
|
7714
7801
|
|
|
7715
|
-
### 1.
|
|
7802
|
+
### 1. Writing a tag without importing its family
|
|
7803
|
+
|
|
7804
|
+
Each tag needs its family's entry imported. A family does not register another
|
|
7805
|
+
family's elements that you write inside it, so a Select needs Option imported
|
|
7806
|
+
beside it, and a Data Table needs Table:
|
|
7807
|
+
|
|
7808
|
+
\`\`\`js
|
|
7809
|
+
import '@fusion.dev/helix/select'
|
|
7810
|
+
import '@fusion.dev/helix/option'
|
|
7811
|
+
\`\`\`
|
|
7812
|
+
|
|
7813
|
+
Without the second line, the options are unknown elements and the Select offers
|
|
7814
|
+
nothing. Each family's Usage block and each example list the lines to import.
|
|
7815
|
+
Copy them with the markup.
|
|
7816
|
+
|
|
7817
|
+
### 2. Blocking a change without \`preventDefault()\`
|
|
7716
7818
|
|
|
7717
7819
|
**Setting \`value\`, \`open\`, \`checked\`, or \`active\` sets the starting state and
|
|
7718
7820
|
corrects the current state.** The element starts in that state and then applies
|
|
@@ -7744,7 +7846,7 @@ block a change, call \`preventDefault()\` on the matching \`helix-before-*\` eve
|
|
|
7744
7846
|
A form reset returns the element to \`default-value\` and the matching attributes
|
|
7745
7847
|
for the other states. See [State and control](./state-and-control).
|
|
7746
7848
|
|
|
7747
|
-
###
|
|
7849
|
+
### 3. Using the exact event name
|
|
7748
7850
|
|
|
7749
7851
|
In React, write \`onhelix-before-open\`. \`onHelixOpen\` and \`onOpen\` do not work.
|
|
7750
7852
|
React removes \`on\` from the prop name and listens for exactly the rest, so the
|
|
@@ -7758,7 +7860,7 @@ so a menu closing inside a dialog does not close the dialog. \`helix-select\`,
|
|
|
7758
7860
|
listen for them on a container. If a listener on a wrapper receives nothing, the
|
|
7759
7861
|
event is a lifecycle event. Put the listener on the element.
|
|
7760
7862
|
|
|
7761
|
-
###
|
|
7863
|
+
### 4. Styling a disabled control with \`:disabled\`
|
|
7762
7864
|
|
|
7763
7865
|
\`\`\`css
|
|
7764
7866
|
helix-input:disabled { … } /* right: matches a disabled fieldset too */
|
|
@@ -7769,7 +7871,7 @@ The browser disables a control inside \`<fieldset disabled>\` without adding an
|
|
|
7769
7871
|
attribute to it. The \`[disabled]\` selector does not match it, so the control
|
|
7770
7872
|
looks enabled while it does not accept input.
|
|
7771
7873
|
|
|
7772
|
-
###
|
|
7874
|
+
### 5. Loading every style layer before the elements
|
|
7773
7875
|
|
|
7774
7876
|
\`\`\`ts
|
|
7775
7877
|
import '@fusion.dev/helix-styles/helix.css'
|
|
@@ -7865,20 +7967,28 @@ If you are adding a script to a recipe, use the component.
|
|
|
7865
7967
|
|
|
7866
7968
|
## Link your tool to this guide
|
|
7867
7969
|
|
|
7868
|
-
**
|
|
7869
|
-
|
|
7870
|
-
|
|
7871
|
-
|
|
7970
|
+
**Point your tool at the guide, and do not copy it.** A copy starts to go stale
|
|
7971
|
+
as soon as you paste it, and the guide changes with the library.
|
|
7972
|
+
|
|
7973
|
+
The skill in the package matches the Helix you installed. In Claude Code, link
|
|
7974
|
+
it into your project's skills folder:
|
|
7975
|
+
|
|
7976
|
+
\`\`\`sh
|
|
7977
|
+
mkdir -p .claude/skills
|
|
7978
|
+
ln -s ../../node_modules/@fusion.dev/helix/skills/helix .claude/skills/helix
|
|
7979
|
+
\`\`\`
|
|
7980
|
+
|
|
7981
|
+
Other tools read a file in your repository. Add a line to it that names the
|
|
7982
|
+
skill, or this page:
|
|
7872
7983
|
|
|
7873
7984
|
\`\`\`md
|
|
7874
|
-
Helix: read
|
|
7875
|
-
|
|
7876
|
-
for the API.
|
|
7985
|
+
Helix: read node_modules/@fusion.dev/helix/skills/helix/SKILL.md before
|
|
7986
|
+
writing components, and node_modules/@fusion.dev/helix/api.json for the API.
|
|
7877
7987
|
\`\`\`
|
|
7878
7988
|
|
|
7879
7989
|
| Tool | Where it goes |
|
|
7880
7990
|
|---|---|
|
|
7881
|
-
| Claude Code | \`AGENTS.md\` or \`CLAUDE.md
|
|
7991
|
+
| Claude Code | \`.claude/skills/helix\`, or a line in \`AGENTS.md\` or \`CLAUDE.md\` |
|
|
7882
7992
|
| Cursor | \`.cursor/rules/\` |
|
|
7883
7993
|
| GitHub Copilot | \`.github/copilot-instructions.md\` |
|
|
7884
7994
|
| Anything else | Whatever it reads. The line is the same |
|
|
@@ -7886,22 +7996,19 @@ for the API.
|
|
|
7886
7996
|
We do not write those files for you, and we chose this on purpose. You would
|
|
7887
7997
|
have to maintain a file we generated in your repository against our changes. A
|
|
7888
7998
|
tool that rewrote it on install would be a dependency you did not ask for, in a
|
|
7889
|
-
directory you own. You
|
|
7999
|
+
directory you own. You add the link or the line, and you can delete it.
|
|
7890
8000
|
|
|
7891
8001
|
## Install the Helix MCP server
|
|
7892
8002
|
|
|
7893
|
-
\`\`\`
|
|
7894
|
-
|
|
7895
|
-
"mcpServers": {
|
|
7896
|
-
"helix": { "command": "helix", "args": ["mcp"] }
|
|
7897
|
-
}
|
|
7898
|
-
}
|
|
8003
|
+
\`\`\`sh
|
|
8004
|
+
helix mcp init --client claude
|
|
7899
8005
|
\`\`\`
|
|
7900
8006
|
|
|
7901
|
-
\`helix mcp\`
|
|
7902
|
-
|
|
7903
|
-
|
|
7904
|
-
|
|
8007
|
+
\`helix mcp\` answers from the Helix packages your project installs: families,
|
|
8008
|
+
examples, import lines, tokens, and the theme a brand color produces. \`--client\`
|
|
8009
|
+
takes \`claude\`, \`cursor\`, or \`vscode\`, and writes the server into the file that
|
|
8010
|
+
client reads. [Coding agents](./coding-agents) lists the tools. It runs on your
|
|
8011
|
+
machine, talks to a client you chose, and makes no network requests.
|
|
7905
8012
|
|
|
7906
8013
|
## What this guide does not cover
|
|
7907
8014
|
|
|
@@ -7909,10 +8016,9 @@ you chose, and makes no network requests.
|
|
|
7909
8016
|
and hooks change with the library, and they are in a file you can fetch. A list
|
|
7910
8017
|
of them here would be a second copy that goes stale. Fetch the family.
|
|
7911
8018
|
|
|
7912
|
-
**The theme a brand color produces.** Helix computes it, so
|
|
7913
|
-
|
|
7914
|
-
|
|
7915
|
-
machine, and we do not host it.
|
|
8019
|
+
**The theme a brand color produces.** Helix computes it, so call
|
|
8020
|
+
\`helix_derive_theme\`, or run \`helix theme build\`. Both take the same JSON that a
|
|
8021
|
+
\`helix.theme.json\` file holds.
|
|
7916
8022
|
|
|
7917
8023
|
**Whether a component fits your case.** Read the examples to decide. Every
|
|
7918
8024
|
family's \`.md\` file includes them as text, and
|