@fusion.dev/helix-headless 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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-headless",
3
3
  "description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
4
- "version": "0.186.1",
4
+ "version": "0.188.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -21,7 +21,9 @@
21
21
  "types": "./dist/*/index.d.ts",
22
22
  "default": "./dist/*/index.js"
23
23
  },
24
+ "./api.json": "./api.json",
24
25
  "./custom-elements.json": "./custom-elements.json",
26
+ "./examples.json": "./examples.json",
25
27
  "./jsx": "./types/jsx.d.ts",
26
28
  "./lint.json": "./lint.json",
27
29
  "./svelte": "./types/svelte.d.ts",
@@ -29,8 +31,10 @@
29
31
  "./words": "./types/words.d.ts"
30
32
  },
31
33
  "files": [
34
+ "api.json",
32
35
  "custom-elements.json",
33
36
  "dist",
37
+ "examples.json",
34
38
  "lint.json",
35
39
  "types"
36
40
  ],
@@ -49,14 +53,14 @@
49
53
  },
50
54
  "bugs": "https://github.com/project-fusion/fusion/issues",
51
55
  "dependencies": {
52
- "@fusion.dev/helix-core": "0.186.1",
53
- "@fusion.dev/helix-icons": "0.186.1",
56
+ "@fusion.dev/helix-core": "0.188.0",
57
+ "@fusion.dev/helix-icons": "0.188.0",
54
58
  "tslib": "^2.8.1",
55
59
  "uqr": "^0.1.3"
56
60
  },
57
61
  "devDependencies": {
58
- "@fusion.dev/helix-cem": "0.186.1",
59
- "@fusion.dev/helix-testing": "0.186.1",
62
+ "@fusion.dev/helix-cem": "0.188.0",
63
+ "@fusion.dev/helix-testing": "0.188.0",
60
64
  "@fusion.dev/scripts": "0.0.0-dev",
61
65
  "@happy-dom/global-registrator": "^20.14.5",
62
66
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -16990,7 +16990,7 @@ The state is `aria-pressed`, not this. */
16990
16990
  validation.
16991
16991
 
16992
16992
  **Not reflected.** Reflection exists so a selector can reach a value, and
16993
- no stylesheet in this repository selects on `type`. Reflecting it writes
16993
+ no Helix stylesheet selects on `type`. Reflecting it writes
16994
16994
  `type="text"` onto every `<helix-headless-input>` ever rendered, an
16995
16995
  attribute no consumer's markup has, which is the fault the area rules write
16996
16996
  up under `Button`'s `href`, `target` and `rel`.
@@ -17237,7 +17237,7 @@ The state is `aria-pressed`, not this. */
17237
17237
  validation.
17238
17238
 
17239
17239
  **Not reflected.** Reflection exists so a selector can reach a value, and
17240
- no stylesheet in this repository selects on `type`. Reflecting it writes
17240
+ no Helix stylesheet selects on `type`. Reflecting it writes
17241
17241
  `type="text"` onto every `<helix-headless-input>` ever rendered, an
17242
17242
  attribute no consumer's markup has, which is the fault the area rules write
17243
17243
  up under `Button`'s `href`, `target` and `rel`.
@@ -50170,7 +50170,7 @@ export type CustomElements = {
50170
50170
  * renders its full inner markup, because most icons are several elements, each
50171
50171
  * with its own stroke and fill.
50172
50172
  *
50173
- * The markup is generated at build time from SVG files in this repository and
50173
+ * The markup is generated at build time from the SVG files Helix ships and
50174
50174
  * never comes from user input, so rendering it with `unsafeSVG` is safe.
50175
50175
  *
50176
50176
  * The `<svg>` carries `fill="currentColor"`. The generator keeps only the inner
@@ -50541,7 +50541,7 @@ export type CustomElements = {
50541
50541
  * validation.
50542
50542
  *
50543
50543
  * **Not reflected.** Reflection exists so a selector can reach a value, and
50544
- * no stylesheet in this repository selects on `type`. Reflecting it writes
50544
+ * no Helix stylesheet selects on `type`. Reflecting it writes
50545
50545
  * `type="text"` onto every `<helix-headless-input>` ever rendered, an
50546
50546
  * attribute no consumer's markup has, which is the fault the area rules write
50547
50547
  * up under `Button`'s `href`, `target` and `rel`.
@@ -62440,6 +62440,7 @@ export type CustomElements = {
62440
62440
  * Areas where markup can be added to the component.
62441
62441
  *
62442
62442
  * - `(default)`: The table's rows.
62443
+ * - `columns`: The columns, as `TableColumn` elements. The table moves each column here itself, so markup that runs in a browser leaves it out; a server-rendered page writes `slot="columns"` on each column so the headings sit in place before the table upgrades.
62443
62444
  * - `empty`: Content shown when there are no rows and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
62444
62445
  * - `error`: Content shown while `error-text` is set, such as a button that tries again. Falls back to `error-text`, which the live region still says.
62445
62446
  * - `heading`: Words that name the table, shown above it, such as a heading.
@@ -80411,7 +80412,7 @@ export type CustomElementsSolidJs = {
80411
80412
  * renders its full inner markup, because most icons are several elements, each
80412
80413
  * with its own stroke and fill.
80413
80414
  *
80414
- * The markup is generated at build time from SVG files in this repository and
80415
+ * The markup is generated at build time from the SVG files Helix ships and
80415
80416
  * never comes from user input, so rendering it with `unsafeSVG` is safe.
80416
80417
  *
80417
80418
  * The `<svg>` carries `fill="currentColor"`. The generator keeps only the inner
@@ -80788,7 +80789,7 @@ export type CustomElementsSolidJs = {
80788
80789
  * validation.
80789
80790
  *
80790
80791
  * **Not reflected.** Reflection exists so a selector can reach a value, and
80791
- * no stylesheet in this repository selects on `type`. Reflecting it writes
80792
+ * no Helix stylesheet selects on `type`. Reflecting it writes
80792
80793
  * `type="text"` onto every `<helix-headless-input>` ever rendered, an
80793
80794
  * attribute no consumer's markup has, which is the fault the area rules write
80794
80795
  * up under `Button`'s `href`, `target` and `rel`.
@@ -92835,6 +92836,7 @@ export type CustomElementsSolidJs = {
92835
92836
  * Areas where markup can be added to the component.
92836
92837
  *
92837
92838
  * - `(default)`: The table's rows.
92839
+ * - `columns`: The columns, as `TableColumn` elements. The table moves each column here itself, so markup that runs in a browser leaves it out; a server-rendered page writes `slot="columns"` on each column so the headings sit in place before the table upgrades.
92838
92840
  * - `empty`: Content shown when there are no rows and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.
92839
92841
  * - `error`: Content shown while `error-text` is set, such as a button that tries again. Falls back to `error-text`, which the live region still says.
92840
92842
  * - `heading`: Words that name the table, shown above it, such as a heading.
package/types/vue.d.ts CHANGED
@@ -8739,7 +8739,7 @@ The state is `aria-pressed`, not this. */
8739
8739
  validation.
8740
8740
 
8741
8741
  **Not reflected.** Reflection exists so a selector can reach a value, and
8742
- no stylesheet in this repository selects on `type`. Reflecting it writes
8742
+ no Helix stylesheet selects on `type`. Reflecting it writes
8743
8743
  `type="text"` onto every `<helix-headless-input>` ever rendered, an
8744
8744
  attribute no consumer's markup has, which is the fault the area rules write
8745
8745
  up under `Button`'s `href`, `target` and `rel`.
@@ -19901,7 +19901,7 @@ export interface WcToolkitVueGlobalComponents {
19901
19901
  HelixHeadlessIconButtonVueProps,
19902
19902
  HelixHeadlessIconButtonVueEvents
19903
19903
  >;
19904
- /** The icons are Phosphor, drawn on a 256 box at stroke-width 16. Each glyph renders its full inner markup, because most icons are several elements, each with its own stroke and fill. The markup is generated at build time from SVG files in this repository and never comes from user input, so rendering it with 'unsafeSVG' is safe. The '<svg>' carries 'fill="currentColor"'. The generator keeps only the inner markup, and Phosphor sets its fill on the root tag that the generator discards. Without it, the 65 solid glyphs fall back to black and disappear on a dark background. Shapes that set their own 'fill' or 'stroke' are unaffected. **A name is looked up in a registry.** The family's entry registers the whole set, so any name in it draws, and 'icon/all' registers the same set. The element's own entry, '@fusion.dev/helix-headless/icon/root', registers none: a page that imports it and calls 'registerIcons' with the glyphs it names ships those and no others. 'registerIconLibrary' resolves names under a prefix of your own, such as 'lucide:camera', at once or later, and the element fires 'load' when a glyph that came later is drawn. A glyph registered after the element rendered is drawn then. **Or point 'src' at an SVG file**, such as 'src="/icons/rocket.svg"', and the element fetches it and draws its shapes in 'currentColor' where the file does not color them. A file is fetched once a page, however many icons name it, and 'load' fires when it is drawn. Scripts, event handlers and 'javascript:' links in the file are taken out before it is drawn. A server fetches nothing, so a served icon with a 'src' is drawn once the script runs. A name with no match, or a 'src' that is no SVG, renders nothing, and the element fires 'error', so a typo in a name can be heard. It waits until the page has loaded and painted first, so a library a later module registers is not taken for a typo. An icon is decorative by default and hidden from assistive technology. Set 'label' only when the icon is the only carrier of meaning, such as in a button with no text. An 'aria-label' on the element works too: the element is then an image with that name. **A decorative icon that is all a control holds is reported.** In a development build, a button or a link whose only content is an icon with no 'label', and which has no name of its own, warns 'missing-name' once, through the runtime channel every Helix warning uses. */
19904
+ /** The icons are Phosphor, drawn on a 256 box at stroke-width 16. Each glyph renders its full inner markup, because most icons are several elements, each with its own stroke and fill. The markup is generated at build time from the SVG files Helix ships and never comes from user input, so rendering it with 'unsafeSVG' is safe. The '<svg>' carries 'fill="currentColor"'. The generator keeps only the inner markup, and Phosphor sets its fill on the root tag that the generator discards. Without it, the 65 solid glyphs fall back to black and disappear on a dark background. Shapes that set their own 'fill' or 'stroke' are unaffected. **A name is looked up in a registry.** The family's entry registers the whole set, so any name in it draws, and 'icon/all' registers the same set. The element's own entry, '@fusion.dev/helix-headless/icon/root', registers none: a page that imports it and calls 'registerIcons' with the glyphs it names ships those and no others. 'registerIconLibrary' resolves names under a prefix of your own, such as 'lucide:camera', at once or later, and the element fires 'load' when a glyph that came later is drawn. A glyph registered after the element rendered is drawn then. **Or point 'src' at an SVG file**, such as 'src="/icons/rocket.svg"', and the element fetches it and draws its shapes in 'currentColor' where the file does not color them. A file is fetched once a page, however many icons name it, and 'load' fires when it is drawn. Scripts, event handlers and 'javascript:' links in the file are taken out before it is drawn. A server fetches nothing, so a served icon with a 'src' is drawn once the script runs. A name with no match, or a 'src' that is no SVG, renders nothing, and the element fires 'error', so a typo in a name can be heard. It waits until the page has loaded and painted first, so a library a later module registers is not taken for a typo. An icon is decorative by default and hidden from assistive technology. Set 'label' only when the icon is the only carrier of meaning, such as in a button with no text. An 'aria-label' on the element works too: the element is then an image with that name. **A decorative icon that is all a control holds is reported.** In a development build, a button or a link whose only content is an icon with no 'label', and which has no name of its own, warns 'missing-name' once, through the runtime channel every Helix warning uses. */
19905
19905
  "helix-headless-icon": DefineCustomElement<
19906
19906
  HelixHeadlessIcon,
19907
19907
  HelixHeadlessIconVueProps,