@fusion.dev/helix-docs 0.108.0 → 0.108.2

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/maps.mdx CHANGED
@@ -40,7 +40,10 @@ import '@fusion.dev/helix'
40
40
  import 'maplibre-gl/dist/maplibre-gl.css'
41
41
  import { colorsReady, connectMap } from '@fusion.dev/helix-map'
42
42
  import { followTheme, mapLibreDriver, mapLibreStyle } from '@fusion.dev/helix-map/maplibre'
43
- import maplibregl from 'maplibre-gl'
43
+ import * as maplibregl from 'maplibre-gl'
44
+
45
+ // MapLibre 6 runs its worker from a file of its own. Point it there once.
46
+ maplibregl.setWorkerUrl('/maplibre/maplibre-gl-worker.mjs')
44
47
 
45
48
  const frame = document.querySelector('helix-map')
46
49
  const style = (colors) => mapLibreStyle(colors)
@@ -68,10 +71,17 @@ followTheme(map, frame, style)
68
71
  - `connection.fit()` frames every place on the map.
69
72
  - `connection.disconnect()` puts back everything `connectMap` changed.
70
73
 
71
- Use `mapLibreDriver(map)` for MapLibre GL JS 5 and `leafletDriver(map, L)` for
72
- Leaflet 1.9. Neither renderer is bundled with Helix, so you can use the version
73
- you already have. Leaflet draws routes, areas, and points only when you pass it
74
- `L`.
74
+ Use `mapLibreDriver(map)` for MapLibre GL JS 5 or 6 and `leafletDriver(map, L)`
75
+ for Leaflet 1.9. Neither renderer is bundled with Helix, so you can use the
76
+ version you already have. Leaflet draws routes, areas, and points only when you
77
+ pass it `L`.
78
+
79
+ MapLibre 6 ships as modules and runs its worker from its own file,
80
+ `maplibre-gl-worker.mjs`, which imports `maplibre-gl-shared.mjs` beside it.
81
+ Serve both from one folder and call `setWorkerUrl` with the worker's address
82
+ before you create a map, as MapLibre's installation guide shows for your
83
+ bundler. In Next.js, copy both files into `public/` at build time. MapLibre 6
84
+ fixes a sanitizing flaw in earlier versions, so use 6.4.1 or later.
75
85
 
76
86
  ## Style the map with your theme
77
87
 
@@ -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` | 175,648 | 56,340 | 47,876 | The element base class, mixins, decorators, and floating positioning. |
61
- | `@fusion.dev/helix-headless` | 715,674 | 185,346 | 144,163 | Every headless family. The barrel entry includes all of them. |
61
+ | `@fusion.dev/helix-headless` | 716,216 | 185,618 | 144,397 | 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,288 | 1,571 | 1,355 | The derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
64
- | `@fusion.dev/helix` | 1,245,495 | 291,270 | 213,669 | Every styled family. |
64
+ | `@fusion.dev/helix` | 1,246,037 | 291,522 | 213,793 | 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
@@ -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 20,604 bytes gzipped alone, and it adds 2,233 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 103 styled components, the smallest is `code` at 9,782 bytes gzipped alone, and the largest is `data-table` at 62,714. Every family together is 291,270.
87
+ Across the 103 styled components, the smallest is `code` at 9,782 bytes gzipped alone, and the largest is `data-table` at 62,990. Every family together is 291,522.
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 185,346 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 103 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 185,618 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 103 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,055 bytes gzipped alone.
92
92
 
@@ -260,7 +260,7 @@ Structure, accessibility, state, and form participation. It has no presentation
260
260
  | `stat` | 31,990 | 9,962 | 8,782 | 1,148 | 213 | 119 |
261
261
  | `steps` | 95,678 | 30,919 | 25,246 | 6,177 | 1,502 | 1,164 |
262
262
  | `switch` | 39,809 | 12,087 | 10,643 | 1,550 | 472 | 410 |
263
- | `table` | 97,348 | 31,852 | 25,954 | 9,616 | 2,614 | 2,191 |
263
+ | `table` | 97,890 | 32,123 | 26,195 | 10,158 | 2,842 | 2,351 |
264
264
  | `tabs` | 39,606 | 12,059 | 10,597 | 3,925 | 893 | 641 |
265
265
  | `tag` | 86,950 | 28,406 | 23,212 | 895 | 198 | 155 |
266
266
  | `textarea` | 42,350 | 12,677 | 11,152 | 3,953 | 1,090 | 749 |
@@ -310,7 +310,7 @@ The headless tier plus presentation. `bun add @fusion.dev/helix` installs this t
310
310
  | `combobox` | 159,990 | 48,783 | 41,021 | 36,020 | 7,936 | 6,553 |
311
311
  | `command` | 125,630 | 38,230 | 31,442 | 28,637 | 6,743 | 5,562 |
312
312
  | `copy-button` | 136,896 | 43,653 | 36,646 | 21,784 | 4,665 | 3,972 |
313
- | `data-table` | 220,801 | 62,714 | 52,791 | 92,882 | 20,663 | 16,995 |
313
+ | `data-table` | 221,343 | 62,990 | 53,002 | 93,424 | 20,951 | 17,076 |
314
314
  | `date-input` | 159,249 | 48,641 | 41,040 | 35,034 | 7,876 | 6,501 |
315
315
  | `date-picker` | 104,346 | 33,365 | 27,288 | 15,499 | 3,909 | 3,160 |
316
316
  | `description-list` | 33,983 | 10,434 | 9,183 | 3,502 | 796 | 605 |
@@ -369,7 +369,7 @@ The headless tier plus presentation. `bun add @fusion.dev/helix` installs this t
369
369
  | `stat` | 34,806 | 10,587 | 9,343 | 3,954 | 849 | 744 |
370
370
  | `steps` | 109,296 | 33,391 | 27,447 | 19,784 | 3,926 | 3,283 |
371
371
  | `switch` | 44,077 | 13,135 | 11,529 | 5,803 | 1,545 | 1,370 |
372
- | `table` | 102,942 | 33,035 | 26,943 | 15,204 | 3,812 | 3,154 |
372
+ | `table` | 103,484 | 33,304 | 27,192 | 15,746 | 4,038 | 3,406 |
373
373
  | `tabs` | 45,842 | 13,332 | 11,742 | 10,154 | 2,208 | 1,761 |
374
374
  | `tag` | 90,153 | 29,299 | 23,951 | 4,083 | 1,021 | 870 |
375
375
  | `text` | 34,466 | 10,420 | 9,152 | 3,987 | 846 | 651 |
@@ -399,11 +399,11 @@ stripped column shows the bytes we removed.
399
399
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
400
400
  |---|---|---|---|---|
401
401
  | `@fusion.dev/helix-core` | 1,127,867 | 165 | 249,701 | `@floating-ui/dom`, `@fusion.dev/helix-icons` |
402
- | `@fusion.dev/helix-headless` | 13,046,911 | 504 | 1,032,260 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
402
+ | `@fusion.dev/helix-headless` | 13,053,257 | 504 | 1,033,947 | `@fusion.dev/helix-core`, `@fusion.dev/helix-icons`, `uqr` |
403
403
  | `@fusion.dev/helix-icons` | 150,162 | 21 | 50,346 | `svgo` |
404
404
  | `@fusion.dev/helix-styles` | 102,108 | 6 | 0 | none |
405
405
  | `@fusion.dev/helix-theme` | 465,413 | 8 | 4,703 | none |
406
- | `@fusion.dev/helix` | 14,185,818 | 870 | 368,333 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
406
+ | `@fusion.dev/helix` | 14,189,471 | 870 | 368,333 | `@fusion.dev/helix-core`, `@fusion.dev/helix-headless`, `@fusion.dev/helix-styles` |
407
407
 
408
408
  ## Not measured yet
409
409
 
@@ -2315,7 +2315,10 @@ import '@fusion.dev/helix'
2315
2315
  import 'maplibre-gl/dist/maplibre-gl.css'
2316
2316
  import { colorsReady, connectMap } from '@fusion.dev/helix-map'
2317
2317
  import { followTheme, mapLibreDriver, mapLibreStyle } from '@fusion.dev/helix-map/maplibre'
2318
- import maplibregl from 'maplibre-gl'
2318
+ import * as maplibregl from 'maplibre-gl'
2319
+
2320
+ // MapLibre 6 runs its worker from a file of its own. Point it there once.
2321
+ maplibregl.setWorkerUrl('/maplibre/maplibre-gl-worker.mjs')
2319
2322
 
2320
2323
  const frame = document.querySelector('helix-map')
2321
2324
  const style = (colors) => mapLibreStyle(colors)
@@ -2343,10 +2346,17 @@ followTheme(map, frame, style)
2343
2346
  - \`connection.fit()\` frames every place on the map.
2344
2347
  - \`connection.disconnect()\` puts back everything \`connectMap\` changed.
2345
2348
 
2346
- Use \`mapLibreDriver(map)\` for MapLibre GL JS 5 and \`leafletDriver(map, L)\` for
2347
- Leaflet 1.9. Neither renderer is bundled with Helix, so you can use the version
2348
- you already have. Leaflet draws routes, areas, and points only when you pass it
2349
- \`L\`.
2349
+ Use \`mapLibreDriver(map)\` for MapLibre GL JS 5 or 6 and \`leafletDriver(map, L)\`
2350
+ for Leaflet 1.9. Neither renderer is bundled with Helix, so you can use the
2351
+ version you already have. Leaflet draws routes, areas, and points only when you
2352
+ pass it \`L\`.
2353
+
2354
+ MapLibre 6 ships as modules and runs its worker from its own file,
2355
+ \`maplibre-gl-worker.mjs\`, which imports \`maplibre-gl-shared.mjs\` beside it.
2356
+ Serve both from one folder and call \`setWorkerUrl\` with the worker's address
2357
+ before you create a map, as MapLibre's installation guide shows for your
2358
+ bundler. In Next.js, copy both files into \`public/\` at build time. MapLibre 6
2359
+ fixes a sanitizing flaw in earlier versions, so use 6.4.1 or later.
2350
2360
 
2351
2361
  ## Style the map with your theme
2352
2362
 
@@ -2801,10 +2811,10 @@ either barrel. The per-component tables show what your page pays.
2801
2811
  | Package | Raw | Gzip | Brotli | |
2802
2812
  |---|---|---|---|---|
2803
2813
  | \`@fusion.dev/helix-core\` | 175,648 | 56,340 | 47,876 | The element base class, mixins, decorators, and floating positioning. |
2804
- | \`@fusion.dev/helix-headless\` | 715,674 | 185,346 | 144,163 | Every headless family. The barrel entry includes all of them. |
2814
+ | \`@fusion.dev/helix-headless\` | 716,216 | 185,618 | 144,397 | Every headless family. The barrel entry includes all of them. |
2805
2815
  | \`@fusion.dev/helix-icons\` | 55,565 | 17,727 | 14,864 | The whole glyph set. |
2806
2816
  | \`@fusion.dev/helix-theme\` | 3,288 | 1,571 | 1,355 | The derivation engine. Most sites run it at build time, and a theme switcher runs it in the browser. |
2807
- | \`@fusion.dev/helix\` | 1,245,495 | 291,270 | 213,669 | Every styled family. |
2817
+ | \`@fusion.dev/helix\` | 1,246,037 | 291,522 | 213,793 | Every styled family. |
2808
2818
  | \`lit\` | 15,394 | 6,118 | 5,460 | Lit itself, listed so you can subtract it from every row above. |
2809
2819
 
2810
2820
  ## Stylesheets
@@ -2827,9 +2837,9 @@ shows the whole cost of using the base layer on its own.
2827
2837
 
2828
2838
  **Most of your first component is the shared runtime.** The median styled family is 20,604 bytes gzipped alone, and it adds 2,233 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.
2829
2839
 
2830
- Across the 103 styled components, the smallest is \`code\` at 9,782 bytes gzipped alone, and the largest is \`data-table\` at 62,714. Every family together is 291,270.
2840
+ Across the 103 styled components, the smallest is \`code\` at 9,782 bytes gzipped alone, and the largest is \`data-table\` at 62,990. Every family together is 291,522.
2831
2841
 
2832
- 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 185,346 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 103 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.
2842
+ 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 185,618 bytes gzipped, whatever else the page imports. That is 9 times the median family above. All 103 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.
2833
2843
 
2834
2844
  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,055 bytes gzipped alone.
2835
2845
 
@@ -3003,7 +3013,7 @@ Structure, accessibility, state, and form participation. It has no presentation
3003
3013
  | \`stat\` | 31,990 | 9,962 | 8,782 | 1,148 | 213 | 119 |
3004
3014
  | \`steps\` | 95,678 | 30,919 | 25,246 | 6,177 | 1,502 | 1,164 |
3005
3015
  | \`switch\` | 39,809 | 12,087 | 10,643 | 1,550 | 472 | 410 |
3006
- | \`table\` | 97,348 | 31,852 | 25,954 | 9,616 | 2,614 | 2,191 |
3016
+ | \`table\` | 97,890 | 32,123 | 26,195 | 10,158 | 2,842 | 2,351 |
3007
3017
  | \`tabs\` | 39,606 | 12,059 | 10,597 | 3,925 | 893 | 641 |
3008
3018
  | \`tag\` | 86,950 | 28,406 | 23,212 | 895 | 198 | 155 |
3009
3019
  | \`textarea\` | 42,350 | 12,677 | 11,152 | 3,953 | 1,090 | 749 |
@@ -3053,7 +3063,7 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
3053
3063
  | \`combobox\` | 159,990 | 48,783 | 41,021 | 36,020 | 7,936 | 6,553 |
3054
3064
  | \`command\` | 125,630 | 38,230 | 31,442 | 28,637 | 6,743 | 5,562 |
3055
3065
  | \`copy-button\` | 136,896 | 43,653 | 36,646 | 21,784 | 4,665 | 3,972 |
3056
- | \`data-table\` | 220,801 | 62,714 | 52,791 | 92,882 | 20,663 | 16,995 |
3066
+ | \`data-table\` | 221,343 | 62,990 | 53,002 | 93,424 | 20,951 | 17,076 |
3057
3067
  | \`date-input\` | 159,249 | 48,641 | 41,040 | 35,034 | 7,876 | 6,501 |
3058
3068
  | \`date-picker\` | 104,346 | 33,365 | 27,288 | 15,499 | 3,909 | 3,160 |
3059
3069
  | \`description-list\` | 33,983 | 10,434 | 9,183 | 3,502 | 796 | 605 |
@@ -3112,7 +3122,7 @@ The headless tier plus presentation. \`bun add @fusion.dev/helix\` installs this
3112
3122
  | \`stat\` | 34,806 | 10,587 | 9,343 | 3,954 | 849 | 744 |
3113
3123
  | \`steps\` | 109,296 | 33,391 | 27,447 | 19,784 | 3,926 | 3,283 |
3114
3124
  | \`switch\` | 44,077 | 13,135 | 11,529 | 5,803 | 1,545 | 1,370 |
3115
- | \`table\` | 102,942 | 33,035 | 26,943 | 15,204 | 3,812 | 3,154 |
3125
+ | \`table\` | 103,484 | 33,304 | 27,192 | 15,746 | 4,038 | 3,406 |
3116
3126
  | \`tabs\` | 45,842 | 13,332 | 11,742 | 10,154 | 2,208 | 1,761 |
3117
3127
  | \`tag\` | 90,153 | 29,299 | 23,951 | 4,083 | 1,021 | 870 |
3118
3128
  | \`text\` | 34,466 | 10,420 | 9,152 | 3,987 | 846 | 651 |
@@ -3142,11 +3152,11 @@ stripped column shows the bytes we removed.
3142
3152
  | Package | Unpacked | Files | Source maps stripped | Runtime dependencies |
3143
3153
  |---|---|---|---|---|
3144
3154
  | \`@fusion.dev/helix-core\` | 1,127,867 | 165 | 249,701 | \`@floating-ui/dom\`, \`@fusion.dev/helix-icons\` |
3145
- | \`@fusion.dev/helix-headless\` | 13,046,911 | 504 | 1,032,260 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
3155
+ | \`@fusion.dev/helix-headless\` | 13,053,257 | 504 | 1,033,947 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-icons\`, \`uqr\` |
3146
3156
  | \`@fusion.dev/helix-icons\` | 150,162 | 21 | 50,346 | \`svgo\` |
3147
3157
  | \`@fusion.dev/helix-styles\` | 102,108 | 6 | 0 | none |
3148
3158
  | \`@fusion.dev/helix-theme\` | 465,413 | 8 | 4,703 | none |
3149
- | \`@fusion.dev/helix\` | 14,185,818 | 870 | 368,333 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
3159
+ | \`@fusion.dev/helix\` | 14,189,471 | 870 | 368,333 | \`@fusion.dev/helix-core\`, \`@fusion.dev/helix-headless\`, \`@fusion.dev/helix-styles\` |
3150
3160
 
3151
3161
  ## Not measured yet
3152
3162
 
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.108.0",
4
+ "version": "0.108.2",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -36,8 +36,8 @@
36
36
  },
37
37
  "bugs": "https://github.com/project-fusion/fusion/issues",
38
38
  "devDependencies": {
39
- "@fusion.dev/helix-cem": "0.108.0",
40
- "@fusion.dev/helix-testing": "0.108.0",
39
+ "@fusion.dev/helix-cem": "0.108.2",
40
+ "@fusion.dev/helix-testing": "0.108.2",
41
41
  "@fusion.dev/scripts": "0.0.0-dev",
42
42
  "lit": "^3.2.1",
43
43
  "playwright": "^1.62.1"