@fusion.dev/helix-docs 0.133.1 → 0.135.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.
@@ -365,6 +365,44 @@ helix-graph:state(ready) > div {
365
365
  }
366
366
  ```
367
367
 
368
+ ## Draw the graph before it loads
369
+
370
+ `graphSnapshot(nodes, links, options)` draws the graph on your server as an
371
+ SVG, fitted to its box as Sigma.js fits it and in your theme's colors. Put it
372
+ in the frame after the element the renderer draws in, and the page shows a
373
+ graph from its first paint. `connectGraph` fades it out once the renderer has
374
+ drawn the graph whole.
375
+
376
+ ```js
377
+ import { graphSnapshot } from '@fusion.dev/helix-graph/snapshot'
378
+
379
+ const snapshot = graphSnapshot(nodes, links, {
380
+ height: 540,
381
+ labels: 'all',
382
+ width: 1200,
383
+ })
384
+ // Inside helix-graph, after <div id="drawing"></div>, write the snapshot's markup.
385
+ ```
386
+
387
+ Give the snapshot the options you give the renderer, and it lines up with the
388
+ drawing that replaces it:
389
+
390
+ - `labels`, `groupLabels`, `shape`, and `emphasis`, as `sigmaDriver` takes them.
391
+ - `active` and `reach`, as the frame and `connectGraph` take them, to draw the
392
+ selection lit.
393
+ - `bounds`, the box you hand Sigma's `setCustomBBox`, where you hand it one.
394
+
395
+ `width` and `height` are the box it is drawn for, and a smaller box shows its
396
+ middle. Every note needs an `x` and a `y`, since only a layout run in the
397
+ browser could place one without. The snapshot is an empty string where a note
398
+ has no place, so it is whole or absent. Its colors are your theme's tokens, so
399
+ it is light or dark with the page and follows a theme change.
400
+
401
+ In a framework that renders the markup for you, such as React, put the snapshot
402
+ in an element that is a direct child of the frame and has the
403
+ `data-helix-graph-snapshot` attribute. `connectGraph` hides that element, and
404
+ leaves removing it to your framework.
405
+
368
406
  ## Keyboard and screen readers
369
407
 
370
408
  - The frame is one tab stop. Arrow keys move the drawing, and the plus and
@@ -58,10 +58,10 @@ either barrel. The per-component tables show what your page pays.
58
58
  | Package | Raw | Gzip | Brotli | |
59
59
  |---|---|---|---|---|
60
60
  | `@fusion.dev/helix-core` | 183,735 | 58,230 | 49,473 | The element base class, mixins, decorators, and floating positioning. |
61
- | `@fusion.dev/helix-headless` | 746,304 | 193,314 | 149,776 | Every headless family. The barrel entry includes all of them. |
61
+ | `@fusion.dev/helix-headless` | 746,360 | 193,340 | 149,928 | Every headless family. The barrel entry includes all of them. |
62
62
  | `@fusion.dev/helix-icons` | 55,565 | 17,727 | 14,864 | The whole glyph set. |
63
63
  | `@fusion.dev/helix-theme` | 3,626 | 1,597 | 1,384 | The derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
64
- | `@fusion.dev/helix` | 1,291,679 | 302,007 | 220,975 | Every styled family. |
64
+ | `@fusion.dev/helix` | 1,292,222 | 302,091 | 220,839 | Every styled family. |
65
65
  | `lit` | 15,394 | 6,118 | 5,460 | Lit itself, listed so you can subtract it from every row above. |
66
66
 
67
67
  ## Stylesheets
@@ -74,7 +74,7 @@ shows the whole cost of using the base layer on its own.
74
74
 
75
75
  | File | Raw | Gzip | Brotli | |
76
76
  |---|---|---|---|---|
77
- | `base.css` | 30,672 | 4,430 | 3,844 | The base layer. It styles markup Helix does not render, and it works with no JavaScript. |
77
+ | `base.css` | 30,785 | 4,456 | 3,871 | The base layer. It styles markup Helix does not render, and it works with no JavaScript. |
78
78
  | `elements.css` | 8,807 | 1,488 | 1,318 | Hides each element until its definition loads. It is generated from the tags in `@fusion.dev/helix`. |
79
79
  | `helix.css` | 207 | 148 | 118 | The other four stylesheets in one import, in the order they must load. |
80
80
  | `primitives.css` | 6,390 | 1,260 | 1,084 | The primitive layer. It is private, and it ships because `tokens.css` refers to it. |
@@ -84,9 +84,9 @@ shows the whole cost of using the base layer on its own.
84
84
 
85
85
  **Most of your first component is the shared runtime.** The median styled family is 21,372 bytes gzipped alone, and it adds 2,254 to a page that already has Helix. The shared runtime is 89 percent of the first component, and the component itself is 11 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.
86
86
 
87
- Across the 104 styled components, the smallest is `code` at 9,928 bytes gzipped alone, and the largest is `data-table` at 63,813. Every family together is 302,007.
87
+ Across the 104 styled components, the smallest is `code` at 9,928 bytes gzipped alone, and the largest is `data-table` at 63,813. Every family together is 302,091.
88
88
 
89
- 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 193,314 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 104 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.
89
+ 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 193,340 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 104 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.
90
90
 
91
91
  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 21,942 bytes gzipped alone.
92
92
 
@@ -235,7 +235,7 @@ Structure, accessibility, state, and form participation. It has no presentation
235
235
  | `megamenu` | 63,407 | 20,893 | 18,412 | 4,941 | 1,268 | 1,012 |
236
236
  | `menu` | 127,129 | 41,951 | 35,088 | 8,855 | 2,191 | 1,752 |
237
237
  | `meter` | 36,339 | 11,032 | 9,727 | 4,099 | 1,058 | 850 |
238
- | `navigation` | 34,843 | 10,709 | 9,395 | 1,361 | 301 | 226 |
238
+ | `navigation` | 34,898 | 10,725 | 9,419 | 1,417 | 316 | 229 |
239
239
  | `notifications` | 104,181 | 33,078 | 26,996 | 11,383 | 2,637 | 2,263 |
240
240
  | `number-input` | 102,465 | 32,630 | 26,674 | 7,670 | 2,010 | 1,515 |
241
241
  | `object-inspector` | 141,531 | 46,276 | 38,905 | 19,579 | 5,236 | 4,304 |
@@ -286,7 +286,7 @@ The headless tier plus presentation. `bun add @fusion.dev/helix` installs this t
286
286
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
287
287
  |---|---|---|---|---|---|---|
288
288
  | `accordion` | 95,843 | 30,972 | 25,266 | 6,204 | 1,543 | 1,321 |
289
- | `announcement` | 94,479 | 30,406 | 24,827 | 5,932 | 1,410 | 1,248 |
289
+ | `announcement` | 94,680 | 30,414 | 24,809 | 6,133 | 1,419 | 1,194 |
290
290
  | `app-header` | 37,393 | 11,126 | 9,799 | 5,121 | 1,166 | 934 |
291
291
  | `area-chart` | 86,811 | 27,796 | 24,497 | 18,366 | 4,988 | 4,144 |
292
292
  | `aura` | 100,530 | 33,627 | 29,130 | 65,483 | 23,032 | 19,723 |
@@ -336,14 +336,14 @@ The headless tier plus presentation. `bun add @fusion.dev/helix` installs this t
336
336
  | `legend` | 41,731 | 12,479 | 10,955 | 5,790 | 1,387 | 1,129 |
337
337
  | `lightbox` | 44,310 | 13,142 | 11,532 | 7,805 | 1,983 | 1,745 |
338
338
  | `line-chart` | 88,777 | 27,900 | 24,579 | 20,419 | 5,132 | 4,223 |
339
- | `list` | 38,031 | 11,207 | 9,858 | 5,782 | 1,294 | 1,042 |
339
+ | `list` | 38,048 | 11,215 | 9,865 | 5,799 | 1,303 | 1,077 |
340
340
  | `listbox` | 112,870 | 35,565 | 29,019 | 15,768 | 4,072 | 3,333 |
341
341
  | `loader` | 36,315 | 10,953 | 9,628 | 4,051 | 984 | 832 |
342
342
  | `map` | 169,561 | 45,161 | 37,585 | 69,255 | 13,207 | 10,925 |
343
343
  | `megamenu` | 68,288 | 21,962 | 19,385 | 9,805 | 2,346 | 1,953 |
344
344
  | `menu` | 134,656 | 43,587 | 36,501 | 16,362 | 3,797 | 3,179 |
345
345
  | `meter` | 41,737 | 12,178 | 10,745 | 9,479 | 2,229 | 1,935 |
346
- | `navigation` | 36,224 | 11,110 | 9,735 | 2,726 | 713 | 628 |
346
+ | `navigation` | 36,549 | 11,195 | 9,811 | 3,051 | 806 | 632 |
347
347
  | `notifications` | 117,292 | 35,506 | 29,125 | 24,486 | 5,059 | 4,265 |
348
348
  | `number-input` | 107,345 | 33,815 | 27,626 | 12,539 | 3,150 | 2,570 |
349
349
  | `object-inspector` | 155,168 | 48,532 | 40,983 | 33,196 | 7,574 | 6,373 |
@@ -401,11 +401,11 @@ stripped column shows the bytes we removed.
401
401
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
402
402
  |---|---|---|---|---|
403
403
  | `@fusion.dev/helix-core` | 1,192,742 | 171 | 267,144 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
404
- | `@fusion.dev/helix-headless` | 13,515,038 | 510 | 1,077,677 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
404
+ | `@fusion.dev/helix-headless` | 13,517,978 | 510 | 1,077,781 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
405
405
  | `@fusion.dev/helix-icons` | 150,162 | 21 | 50,346 | `svgo` |
406
- | `@fusion.dev/helix-styles` | 102,155 | 6 | 0 | none |
406
+ | `@fusion.dev/helix-styles` | 102,268 | 6 | 0 | none |
407
407
  | `@fusion.dev/helix-theme` | 514,288 | 8 | 5,300 | none |
408
- | `@fusion.dev/helix` | 14,628,121 | 876 | 373,810 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
408
+ | `@fusion.dev/helix` | 14,634,154 | 876 | 373,843 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
409
409
 
410
410
  ## Not measured yet
411
411
 
@@ -17,8 +17,8 @@ You enter the same inputs that `derive()` takes:
17
17
 
18
18
  - **Color:** the brand, the color scheme, the contrast target, the saturation,
19
19
  the accent angle, and the page's color in light and in dark
20
- - **Shape and type:** the density, the corner radius, the three faces, the body
21
- size, and the type scale
20
+ - **Shape and type:** the density, the corner radius, the three faces and a
21
+ stylesheet for faces of your own, the body size, and the type scale
22
22
  - **Status:** how far the status colors follow the palette, and how far their
23
23
  hues may move
24
24
  - **Motion, separation, and material:** the motion character, how surfaces are
@@ -39,10 +39,25 @@ or black, the grays take its tint, and every text color is solved against it. A
39
39
  page that no text color can reach the contrast target on is left out of the
40
40
  preview, and a caption under the fields says so.
41
41
 
42
- **Color the figures band** gives one section of the Marketing site layout a
43
- color of its own, as its own theme. The band is dark or light by whichever text
44
- reads better on it, and its block follows the page's in the generated
45
- stylesheet. See [Color one section](./theming#color-one-section).
42
+ **Color one band** gives one section a color of its own, as its own theme: the
43
+ figures band in the Marketing site layout, or the announcement in the Local
44
+ business layout. The band is dark or light by whichever text reads better on
45
+ it, and its block follows the page's in the generated stylesheet. See
46
+ [Color one section](./theming#color-one-section).
47
+
48
+ ## Faces of your own
49
+
50
+ Type a family's name into the Body face, Display face, or Mono face field and
51
+ choose **Use**, then give the stylesheet that declares it in **Font
52
+ stylesheet**, as Google Fonts, Adobe Fonts, or your own server serves one. The
53
+ preview loads the stylesheet, and the link keeps both. The stylesheet has to
54
+ allow other sites to load its fonts, as the font services do.
55
+
56
+ ## Layouts
57
+
58
+ The Layout field picks the page the theme is drawn on. **Local business** is a
59
+ services site: an announcement over the page, a hero on a picture with a rating,
60
+ three prices, the steps, the questions people ask, and where to visit.
46
61
 
47
62
  ## The audit
48
63
 
@@ -1949,6 +1949,44 @@ helix-graph:state(ready) > div {
1949
1949
  }
1950
1950
  \`\`\`
1951
1951
 
1952
+ ## Draw the graph before it loads
1953
+
1954
+ \`graphSnapshot(nodes, links, options)\` draws the graph on your server as an
1955
+ SVG, fitted to its box as Sigma.js fits it and in your theme's colors. Put it
1956
+ in the frame after the element the renderer draws in, and the page shows a
1957
+ graph from its first paint. \`connectGraph\` fades it out once the renderer has
1958
+ drawn the graph whole.
1959
+
1960
+ \`\`\`js
1961
+ import { graphSnapshot } from '@fusion.dev/helix-graph/snapshot'
1962
+
1963
+ const snapshot = graphSnapshot(nodes, links, {
1964
+ height: 540,
1965
+ labels: 'all',
1966
+ width: 1200,
1967
+ })
1968
+ // Inside helix-graph, after <div id="drawing"></div>, write the snapshot's markup.
1969
+ \`\`\`
1970
+
1971
+ Give the snapshot the options you give the renderer, and it lines up with the
1972
+ drawing that replaces it:
1973
+
1974
+ - \`labels\`, \`groupLabels\`, \`shape\`, and \`emphasis\`, as \`sigmaDriver\` takes them.
1975
+ - \`active\` and \`reach\`, as the frame and \`connectGraph\` take them, to draw the
1976
+ selection lit.
1977
+ - \`bounds\`, the box you hand Sigma's \`setCustomBBox\`, where you hand it one.
1978
+
1979
+ \`width\` and \`height\` are the box it is drawn for, and a smaller box shows its
1980
+ middle. Every note needs an \`x\` and a \`y\`, since only a layout run in the
1981
+ browser could place one without. The snapshot is an empty string where a note
1982
+ has no place, so it is whole or absent. Its colors are your theme's tokens, so
1983
+ it is light or dark with the page and follows a theme change.
1984
+
1985
+ In a framework that renders the markup for you, such as React, put the snapshot
1986
+ in an element that is a direct child of the frame and has the
1987
+ \`data-helix-graph-snapshot\` attribute. \`connectGraph\` hides that element, and
1988
+ leaves removing it to your framework.
1989
+
1952
1990
  ## Keyboard and screen readers
1953
1991
 
1954
1992
  - The frame is one tab stop. Arrow keys move the drawing, and the plus and
@@ -3365,10 +3403,10 @@ either barrel. The per-component tables show what your page pays.
3365
3403
  | Package | Raw | Gzip | Brotli | |
3366
3404
  |---|---|---|---|---|
3367
3405
  | \`@fusion.dev/helix-core\` | 183,735 | 58,230 | 49,473 | The element base class, mixins, decorators, and floating positioning. |
3368
- | \`@fusion.dev/helix-headless\` | 746,304 | 193,314 | 149,776 | Every headless family. The barrel entry includes all of them. |
3406
+ | \`@fusion.dev/helix-headless\` | 746,360 | 193,340 | 149,928 | Every headless family. The barrel entry includes all of them. |
3369
3407
  | \`@fusion.dev/helix-icons\` | 55,565 | 17,727 | 14,864 | The whole glyph set. |
3370
3408
  | \`@fusion.dev/helix-theme\` | 3,626 | 1,597 | 1,384 | The derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
3371
- | \`@fusion.dev/helix\` | 1,291,679 | 302,007 | 220,975 | Every styled family. |
3409
+ | \`@fusion.dev/helix\` | 1,292,222 | 302,091 | 220,839 | Every styled family. |
3372
3410
  | \`lit\` | 15,394 | 6,118 | 5,460 | Lit itself, listed so you can subtract it from every row above. |
3373
3411
 
3374
3412
  ## Stylesheets
@@ -3381,7 +3419,7 @@ shows the whole cost of using the base layer on its own.
3381
3419
 
3382
3420
  | File | Raw | Gzip | Brotli | |
3383
3421
  |---|---|---|---|---|
3384
- | \`base.css\` | 30,672 | 4,430 | 3,844 | The base layer. It styles markup Helix does not render, and it works with no JavaScript. |
3422
+ | \`base.css\` | 30,785 | 4,456 | 3,871 | The base layer. It styles markup Helix does not render, and it works with no JavaScript. |
3385
3423
  | \`elements.css\` | 8,807 | 1,488 | 1,318 | Hides each element until its definition loads. It is generated from the tags in \`@fusion.dev/helix\`. |
3386
3424
  | \`helix.css\` | 207 | 148 | 118 | The other four stylesheets in one import, in the order they must load. |
3387
3425
  | \`primitives.css\` | 6,390 | 1,260 | 1,084 | The primitive layer. It is private, and it ships because \`tokens.css\` refers to it. |
@@ -3391,9 +3429,9 @@ shows the whole cost of using the base layer on its own.
3391
3429
 
3392
3430
  **Most of your first component is the shared runtime.** The median styled family is 21,372 bytes gzipped alone, and it adds 2,254 to a page that already has Helix. The shared runtime is 89 percent of the first component, and the component itself is 11 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.
3393
3431
 
3394
- Across the 104 styled components, the smallest is \`code\` at 9,928 bytes gzipped alone, and the largest is \`data-table\` at 63,813. Every family together is 302,007.
3432
+ Across the 104 styled components, the smallest is \`code\` at 9,928 bytes gzipped alone, and the largest is \`data-table\` at 63,813. Every family together is 302,091.
3395
3433
 
3396
- 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 193,314 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 104 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.
3434
+ 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 193,340 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 104 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.
3397
3435
 
3398
3436
  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 21,942 bytes gzipped alone.
3399
3437
 
@@ -3542,7 +3580,7 @@ Structure, accessibility, state, and form participation. It has no presentation
3542
3580
  | \`megamenu\` | 63,407 | 20,893 | 18,412 | 4,941 | 1,268 | 1,012 |
3543
3581
  | \`menu\` | 127,129 | 41,951 | 35,088 | 8,855 | 2,191 | 1,752 |
3544
3582
  | \`meter\` | 36,339 | 11,032 | 9,727 | 4,099 | 1,058 | 850 |
3545
- | \`navigation\` | 34,843 | 10,709 | 9,395 | 1,361 | 301 | 226 |
3583
+ | \`navigation\` | 34,898 | 10,725 | 9,419 | 1,417 | 316 | 229 |
3546
3584
  | \`notifications\` | 104,181 | 33,078 | 26,996 | 11,383 | 2,637 | 2,263 |
3547
3585
  | \`number-input\` | 102,465 | 32,630 | 26,674 | 7,670 | 2,010 | 1,515 |
3548
3586
  | \`object-inspector\` | 141,531 | 46,276 | 38,905 | 19,579 | 5,236 | 4,304 |
@@ -3593,7 +3631,7 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
3593
3631
  | Family | Alone raw | Alone gzip | Alone brotli | Added raw | Added gzip | Added brotli |
3594
3632
  |---|---|---|---|---|---|---|
3595
3633
  | \`accordion\` | 95,843 | 30,972 | 25,266 | 6,204 | 1,543 | 1,321 |
3596
- | \`announcement\` | 94,479 | 30,406 | 24,827 | 5,932 | 1,410 | 1,248 |
3634
+ | \`announcement\` | 94,680 | 30,414 | 24,809 | 6,133 | 1,419 | 1,194 |
3597
3635
  | \`app-header\` | 37,393 | 11,126 | 9,799 | 5,121 | 1,166 | 934 |
3598
3636
  | \`area-chart\` | 86,811 | 27,796 | 24,497 | 18,366 | 4,988 | 4,144 |
3599
3637
  | \`aura\` | 100,530 | 33,627 | 29,130 | 65,483 | 23,032 | 19,723 |
@@ -3643,14 +3681,14 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
3643
3681
  | \`legend\` | 41,731 | 12,479 | 10,955 | 5,790 | 1,387 | 1,129 |
3644
3682
  | \`lightbox\` | 44,310 | 13,142 | 11,532 | 7,805 | 1,983 | 1,745 |
3645
3683
  | \`line-chart\` | 88,777 | 27,900 | 24,579 | 20,419 | 5,132 | 4,223 |
3646
- | \`list\` | 38,031 | 11,207 | 9,858 | 5,782 | 1,294 | 1,042 |
3684
+ | \`list\` | 38,048 | 11,215 | 9,865 | 5,799 | 1,303 | 1,077 |
3647
3685
  | \`listbox\` | 112,870 | 35,565 | 29,019 | 15,768 | 4,072 | 3,333 |
3648
3686
  | \`loader\` | 36,315 | 10,953 | 9,628 | 4,051 | 984 | 832 |
3649
3687
  | \`map\` | 169,561 | 45,161 | 37,585 | 69,255 | 13,207 | 10,925 |
3650
3688
  | \`megamenu\` | 68,288 | 21,962 | 19,385 | 9,805 | 2,346 | 1,953 |
3651
3689
  | \`menu\` | 134,656 | 43,587 | 36,501 | 16,362 | 3,797 | 3,179 |
3652
3690
  | \`meter\` | 41,737 | 12,178 | 10,745 | 9,479 | 2,229 | 1,935 |
3653
- | \`navigation\` | 36,224 | 11,110 | 9,735 | 2,726 | 713 | 628 |
3691
+ | \`navigation\` | 36,549 | 11,195 | 9,811 | 3,051 | 806 | 632 |
3654
3692
  | \`notifications\` | 117,292 | 35,506 | 29,125 | 24,486 | 5,059 | 4,265 |
3655
3693
  | \`number-input\` | 107,345 | 33,815 | 27,626 | 12,539 | 3,150 | 2,570 |
3656
3694
  | \`object-inspector\` | 155,168 | 48,532 | 40,983 | 33,196 | 7,574 | 6,373 |
@@ -3708,11 +3746,11 @@ stripped column shows the bytes we removed.
3708
3746
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
3709
3747
  |---|---|---|---|---|
3710
3748
  | \`@fusion.dev/helix-core\` | 1,192,742 | 171 | 267,144 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
3711
- | \`@fusion.dev/helix-headless\` | 13,515,038 | 510 | 1,077,677 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
3749
+ | \`@fusion.dev/helix-headless\` | 13,517,978 | 510 | 1,077,781 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
3712
3750
  | \`@fusion.dev/helix-icons\` | 150,162 | 21 | 50,346 | \`svgo\` |
3713
- | \`@fusion.dev/helix-styles\` | 102,155 | 6 | 0 | none |
3751
+ | \`@fusion.dev/helix-styles\` | 102,268 | 6 | 0 | none |
3714
3752
  | \`@fusion.dev/helix-theme\` | 514,288 | 8 | 5,300 | none |
3715
- | \`@fusion.dev/helix\` | 14,628,121 | 876 | 373,810 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
3753
+ | \`@fusion.dev/helix\` | 14,634,154 | 876 | 373,843 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
3716
3754
 
3717
3755
  ## Not measured yet
3718
3756
 
@@ -5606,8 +5644,8 @@ You enter the same inputs that \`derive()\` takes:
5606
5644
 
5607
5645
  - **Color:** the brand, the color scheme, the contrast target, the saturation,
5608
5646
  the accent angle, and the page's color in light and in dark
5609
- - **Shape and type:** the density, the corner radius, the three faces, the body
5610
- size, and the type scale
5647
+ - **Shape and type:** the density, the corner radius, the three faces and a
5648
+ stylesheet for faces of your own, the body size, and the type scale
5611
5649
  - **Status:** how far the status colors follow the palette, and how far their
5612
5650
  hues may move
5613
5651
  - **Motion, separation, and material:** the motion character, how surfaces are
@@ -5628,10 +5666,25 @@ or black, the grays take its tint, and every text color is solved against it. A
5628
5666
  page that no text color can reach the contrast target on is left out of the
5629
5667
  preview, and a caption under the fields says so.
5630
5668
 
5631
- **Color the figures band** gives one section of the Marketing site layout a
5632
- color of its own, as its own theme. The band is dark or light by whichever text
5633
- reads better on it, and its block follows the page's in the generated
5634
- stylesheet. See [Color one section](./theming#color-one-section).
5669
+ **Color one band** gives one section a color of its own, as its own theme: the
5670
+ figures band in the Marketing site layout, or the announcement in the Local
5671
+ business layout. The band is dark or light by whichever text reads better on
5672
+ it, and its block follows the page's in the generated stylesheet. See
5673
+ [Color one section](./theming#color-one-section).
5674
+
5675
+ ## Faces of your own
5676
+
5677
+ Type a family's name into the Body face, Display face, or Mono face field and
5678
+ choose **Use**, then give the stylesheet that declares it in **Font
5679
+ stylesheet**, as Google Fonts, Adobe Fonts, or your own server serves one. The
5680
+ preview loads the stylesheet, and the link keeps both. The stylesheet has to
5681
+ allow other sites to load its fonts, as the font services do.
5682
+
5683
+ ## Layouts
5684
+
5685
+ The Layout field picks the page the theme is drawn on. **Local business** is a
5686
+ services site: an announcement over the page, a hero on a picture with a rating,
5687
+ three prices, the steps, the questions people ask, and where to visit.
5635
5688
 
5636
5689
  ## The audit
5637
5690
 
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.133.1",
4
+ "version": "0.135.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "bugs": "https://github.com/project-fusion/fusion/issues",
38
38
  "devDependencies": {
39
- "@fusion.dev/helix": "0.133.1",
40
- "@fusion.dev/helix-cem": "0.133.1",
41
- "@fusion.dev/helix-headless": "0.133.1",
42
- "@fusion.dev/helix-icons": "0.133.1",
43
- "@fusion.dev/helix-map": "0.133.1",
44
- "@fusion.dev/helix-styles": "0.133.1",
45
- "@fusion.dev/helix-testing": "0.133.1",
46
- "@fusion.dev/helix-theme": "0.133.1",
39
+ "@fusion.dev/helix": "0.135.0",
40
+ "@fusion.dev/helix-cem": "0.135.0",
41
+ "@fusion.dev/helix-headless": "0.135.0",
42
+ "@fusion.dev/helix-icons": "0.135.0",
43
+ "@fusion.dev/helix-map": "0.135.0",
44
+ "@fusion.dev/helix-styles": "0.135.0",
45
+ "@fusion.dev/helix-testing": "0.135.0",
46
+ "@fusion.dev/helix-theme": "0.135.0",
47
47
  "@fusion.dev/scripts": "0.0.0-dev",
48
48
  "lit": "^3.2.1",
49
49
  "playwright": "^1.62.1"