@fusion.dev/helix-core 0.174.0 → 0.176.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/custom-elements.json
CHANGED
|
@@ -27552,7 +27552,7 @@
|
|
|
27552
27552
|
}
|
|
27553
27553
|
}
|
|
27554
27554
|
],
|
|
27555
|
-
"description": "Draws an icon that was imported by name, rather than looked up by string.\n\n**`<helix-icon name=\"play\">` looks its glyph up in a registry at runtime.**\nThe registry holds the whole set once `@fusion.dev/helix-headless/icon`\nregisters it, and no bundler can shake a lookup by string, so every consumer\nof any component that renders one ships all of the generated path data: measured at 50,814 bytes raw and 15,010 gzipped for 102 icons, and\ngrowing about 147 gzipped bytes per icon added. A named import ships one path\nand is checked when the package compiles rather than by a name lookup later.\n\nThat element still earns its place as *public* API, where a consumer writes a\nname in markup and a lookup is the only thing that can work, and\n`@fusion.dev/helix-headless/icon/root` names glyphs without registering the\nset. What it should not be is how this library draws its own marks.\n\n**There is no `part` option, and there cannot be.** A part name behind an\ninterpolation is a part the manifest cannot see, so the component's own\nstylesheet matches nothing and the part stops being\nAPI. `Trend` needs one and therefore writes its `<svg>` out with a literal\n`part=\"icon\"`, which is the honest cost: a helper can carry everything except\nthe thing static analysis has to read.\n\n`data-glyph` rather than a class, because the sizing lives in\n`helix/styled/src/shared/glyph/glyph.css` and a component's own `--icon-size`\ndeclarations have to keep working untouched: the variable was read by\n`helix-icon`, and now it is read by the rule that sheet carries. Without it\nevery one of those declarations would go quietly dead and every mark in six\nfamilies would change size."
|
|
27555
|
+
"description": "Draws an icon that was imported by name, rather than looked up by string.\n\n**`<helix-icon name=\"play\">` looks its glyph up in a registry at runtime.**\nThe registry holds the whole set once `@fusion.dev/helix-headless/icon/all`\nregisters it, and no bundler can shake a lookup by string, so every consumer\nof any component that renders one ships all of the generated path data: measured at 50,814 bytes raw and 15,010 gzipped for 102 icons, and\ngrowing about 147 gzipped bytes per icon added. A named import ships one path\nand is checked when the package compiles rather than by a name lookup later.\n\nThat element still earns its place as *public* API, where a consumer writes a\nname in markup and a lookup is the only thing that can work, and\n`@fusion.dev/helix-headless/icon/root` names glyphs without registering the\nset. What it should not be is how this library draws its own marks.\n\n**There is no `part` option, and there cannot be.** A part name behind an\ninterpolation is a part the manifest cannot see, so the component's own\nstylesheet matches nothing and the part stops being\nAPI. `Trend` needs one and therefore writes its `<svg>` out with a literal\n`part=\"icon\"`, which is the honest cost: a helper can carry everything except\nthe thing static analysis has to read.\n\n`data-glyph` rather than a class, because the sizing lives in\n`helix/styled/src/shared/glyph/glyph.css` and a component's own `--icon-size`\ndeclarations have to keep working untouched: the variable was read by\n`helix-icon`, and now it is read by the rule that sheet carries. Without it\nevery one of those declarations would go quietly dead and every mark in six\nfamilies would change size."
|
|
27556
27556
|
}
|
|
27557
27557
|
],
|
|
27558
27558
|
"exports": [
|
|
@@ -33810,7 +33810,7 @@
|
|
|
33810
33810
|
"type": {
|
|
33811
33811
|
"text": "string"
|
|
33812
33812
|
},
|
|
33813
|
-
"default": "'0.
|
|
33813
|
+
"default": "'0.176.0'",
|
|
33814
33814
|
"description": "The version of the package this file ships in.\n\n**Written by `fusion/scripts/version.mjs`** wherever it writes the package's\n`package.json`, and stamped back into the repository beside it after a\nrelease, so the two never disagree; a spec beside this holds them to it.\nNothing else in the running code knows which release it is."
|
|
33815
33815
|
}
|
|
33816
33816
|
],
|
|
@@ -34370,6 +34370,6 @@
|
|
|
34370
34370
|
],
|
|
34371
34371
|
"helix": {
|
|
34372
34372
|
"package": "@fusion.dev/helix-core",
|
|
34373
|
-
"version": "0.
|
|
34373
|
+
"version": "0.176.0"
|
|
34374
34374
|
}
|
|
34375
34375
|
}
|
|
@@ -11,7 +11,7 @@ export interface DrawIconOptions {
|
|
|
11
11
|
* Draws an icon that was imported by name, rather than looked up by string.
|
|
12
12
|
*
|
|
13
13
|
* **`<helix-icon name="play">` looks its glyph up in a registry at runtime.**
|
|
14
|
-
* The registry holds the whole set once `@fusion.dev/helix-headless/icon`
|
|
14
|
+
* The registry holds the whole set once `@fusion.dev/helix-headless/icon/all`
|
|
15
15
|
* registers it, and no bundler can shake a lookup by string, so every consumer
|
|
16
16
|
* of any component that renders one ships all of the generated path data: measured at 50,814 bytes raw and 15,010 gzipped for 102 icons, and
|
|
17
17
|
* growing about 147 gzipped bytes per icon added. A named import ships one path
|
|
@@ -93,6 +93,8 @@ export type RuntimeKind =
|
|
|
93
93
|
| 'unlinked-trigger'
|
|
94
94
|
/** A Text is rendered as a label, a deprecated value whose shadow root reaches no control. */
|
|
95
95
|
| 'unreachable-label'
|
|
96
|
+
/** A part with an entry of its own is in the page and its entry was never imported, so it does nothing. */
|
|
97
|
+
| 'unregistered-part'
|
|
96
98
|
/** A QR code holds a logo at a correction level below `H`, so it may not scan. */
|
|
97
99
|
| 'unscannable-logo'
|
|
98
100
|
/** A virtualized list's box has no height of its own, so its window never settles. */
|
|
@@ -101,7 +103,7 @@ export type RuntimeKind =
|
|
|
101
103
|
| 'untold-toggle'
|
|
102
104
|
/** A slotted trigger is a plain element, which cannot be told it opens something. */
|
|
103
105
|
| 'untold-trigger'
|
|
104
|
-
/** A tooltip wraps
|
|
106
|
+
/** A tooltip wraps a trigger that does not name it, and opened before a reader reached the trigger. */
|
|
105
107
|
| 'wrapped-trigger';
|
|
106
108
|
/** One event: what went wrong, where, and the sentence that says what to do. */
|
|
107
109
|
export interface RuntimeEvent {
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '0.
|
|
1
|
+
export const VERSION = '0.176.0';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion.dev/helix-core",
|
|
3
3
|
"description": "Helix element primitives: base classes, mixins, decorators, utilities.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.176.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ross Sheppard <ross.sheppard@fusion.dev>",
|
|
7
7
|
"repository": {
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"bugs": "https://github.com/project-fusion/fusion/issues",
|
|
63
63
|
"dependencies": {
|
|
64
64
|
"@floating-ui/dom": "^1.8.0",
|
|
65
|
-
"@fusion.dev/helix-icons": "0.
|
|
65
|
+
"@fusion.dev/helix-icons": "0.176.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@fusion.dev/helix-cem": "0.
|
|
69
|
-
"@fusion.dev/helix-testing": "0.
|
|
68
|
+
"@fusion.dev/helix-cem": "0.176.0",
|
|
69
|
+
"@fusion.dev/helix-testing": "0.176.0",
|
|
70
70
|
"@lit-labs/ssr": "^4.1.0",
|
|
71
71
|
"lit": "^3.2.1"
|
|
72
72
|
},
|