@fusion.dev/helix-headless 0.39.0 → 0.40.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.
@@ -663,7 +663,7 @@
663
663
  "summary": "One collapsible section of an accordion.",
664
664
  "helix": {
665
665
  "since": "0.1.0",
666
- "status": "experimental",
666
+ "status": "stable",
667
667
  "documentation": "https://fusion.dev/helix/components/accordion",
668
668
  "aliases": [
669
669
  "Collapsible",
@@ -1083,7 +1083,7 @@
1083
1083
  "helix": {
1084
1084
  "category": "layout",
1085
1085
  "since": "0.1.0",
1086
- "status": "experimental",
1086
+ "status": "stable",
1087
1087
  "documentation": "https://fusion.dev/helix/components/accordion",
1088
1088
  "aliases": [
1089
1089
  "Collapse",
@@ -55125,7 +55125,7 @@
55125
55125
  "summary": "One row in a menu: a command, a choice, or a way into a submenu.",
55126
55126
  "helix": {
55127
55127
  "since": "0.1.0",
55128
- "status": "experimental",
55128
+ "status": "stable",
55129
55129
  "documentation": "https://fusion.dev/helix/components/menu",
55130
55130
  "aliases": [
55131
55131
  "Menu option",
@@ -56185,7 +56185,7 @@
56185
56185
  "helix": {
56186
56186
  "category": "overlays",
56187
56187
  "since": "0.1.0",
56188
- "status": "experimental",
56188
+ "status": "stable",
56189
56189
  "documentation": "https://fusion.dev/helix/components/menu",
56190
56190
  "aliases": [
56191
56191
  "Dropdown",
@@ -57422,7 +57422,7 @@
57422
57422
  "helix": {
57423
57423
  "category": "navigation",
57424
57424
  "since": "0.1.0",
57425
- "status": "experimental",
57425
+ "status": "stable",
57426
57426
  "documentation": "https://fusion.dev/helix/components/navigation",
57427
57427
  "aliases": [
57428
57428
  "Nav",
@@ -65114,7 +65114,7 @@
65114
65114
  "helix": {
65115
65115
  "category": "navigation",
65116
65116
  "since": "0.1.0",
65117
- "status": "experimental",
65117
+ "status": "stable",
65118
65118
  "documentation": "https://fusion.dev/helix/components/pagination",
65119
65119
  "aliases": [
65120
65120
  "Pager",
@@ -65780,7 +65780,7 @@
65780
65780
  "summary": "Chooses how many items a page holds.",
65781
65781
  "helix": {
65782
65782
  "since": "0.1.0",
65783
- "status": "experimental",
65783
+ "status": "stable",
65784
65784
  "documentation": "https://fusion.dev/helix/components/pagination",
65785
65785
  "aliases": [
65786
65786
  "Page size",
@@ -66263,7 +66263,7 @@
66263
66263
  "summary": "Reads out which items of how many are on show.",
66264
66264
  "helix": {
66265
66265
  "since": "0.1.0",
66266
- "status": "experimental",
66266
+ "status": "stable",
66267
66267
  "documentation": "https://fusion.dev/helix/components/pagination",
66268
66268
  "aliases": [
66269
66269
  "Result count",
@@ -83028,7 +83028,7 @@
83028
83028
  "helix": {
83029
83029
  "category": "navigation",
83030
83030
  "since": "0.1.0",
83031
- "status": "experimental",
83031
+ "status": "stable",
83032
83032
  "documentation": "https://fusion.dev/helix/components/steps",
83033
83033
  "aliases": [
83034
83034
  "Stepper",
@@ -83133,7 +83133,7 @@
83133
83133
  "name": ""
83134
83134
  },
83135
83135
  {
83136
- "description": "What the stage holds, shown while it is the current one.",
83136
+ "description": "What the stage holds. Always rendered here, a tier with no stylesheet having nothing to fold it with; the styled tier opens it on the current step down a column, and a row has no space under a step to open it into.",
83137
83137
  "name": "content"
83138
83138
  },
83139
83139
  {
@@ -83604,7 +83604,7 @@
83604
83604
  "summary": "One stage in a sequence.",
83605
83605
  "helix": {
83606
83606
  "since": "0.1.0",
83607
- "status": "experimental",
83607
+ "status": "stable",
83608
83608
  "documentation": "https://fusion.dev/helix/components/steps",
83609
83609
  "aliases": [
83610
83610
  "Stage"
@@ -87736,11 +87736,11 @@
87736
87736
  ],
87737
87737
  "slots": [
87738
87738
  {
87739
- "description": "The tabs.",
87739
+ "description": "The tabs, which are this element's own children.",
87740
87740
  "name": ""
87741
87741
  },
87742
87742
  {
87743
- "description": "The panels.",
87743
+ "description": "The panels, which are this element's own children. A wrapper around them is assigned to the slot and pairs with nothing, since the pairing walks these children rather than the slot's tree.",
87744
87744
  "name": "panels"
87745
87745
  }
87746
87746
  ],
@@ -15,7 +15,7 @@ declare const HelixHeadlessAccordionItem_base: (new (...args: any[]) => import("
15
15
  * `display` has overridden the first.
16
16
  *
17
17
  * @since 0.1.0
18
- * @status experimental
18
+ * @status stable
19
19
  * @aliases Collapsible, Expander, Disclosure
20
20
  * @documentation https://fusion.dev/helix/components/accordion
21
21
  *
@@ -25,7 +25,7 @@ import { HelixHeadlessAccordionItem } from '../item/accordion-item.js';
25
25
  * to hear.
26
26
  *
27
27
  * @since 0.1.0
28
- * @status experimental
28
+ * @status stable
29
29
  * @category layout
30
30
  * @aliases Collapse, Expander group
31
31
  * @documentation https://fusion.dev/helix/components/accordion
@@ -21,7 +21,7 @@ import { nothing, type PropertyValues, type TemplateResult } from 'lit';
21
21
  * upgrades is a hydration mismatch waiting to happen.
22
22
  *
23
23
  * @since 0.1.0
24
- * @status experimental
24
+ * @status stable
25
25
  * @aliases Menu option, Menu row
26
26
  * @documentation https://fusion.dev/helix/components/menu
27
27
  *
@@ -23,7 +23,7 @@ declare const HelixHeadlessMenu_base: (new (...args: any[]) => import("@fusion.d
23
23
  * upgrades is a hydration mismatch waiting to happen.
24
24
  *
25
25
  * @since 0.1.0
26
- * @status experimental
26
+ * @status stable
27
27
  * @category overlays
28
28
  * @aliases Dropdown, Action menu
29
29
  * @documentation https://fusion.dev/helix/components/menu
@@ -21,7 +21,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
21
21
  * marker in the right place.
22
22
  *
23
23
  * @since 0.1.0
24
- * @status experimental
24
+ * @status stable
25
25
  * @category navigation
26
26
  * @aliases Nav, NavList, Tabs
27
27
  * @documentation https://fusion.dev/helix/components/navigation
@@ -34,7 +34,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
34
34
  * slot can only offer one place: at one end of one row, in one order.
35
35
  *
36
36
  * @since 0.1.0
37
- * @status experimental
37
+ * @status stable
38
38
  * @category navigation
39
39
  * @aliases Pager, Page nav
40
40
  * @documentation https://fusion.dev/helix/components/pagination
@@ -33,7 +33,7 @@ import '../../select/index.js';
33
33
  * position should survive it.
34
34
  *
35
35
  * @since 0.1.0
36
- * @status experimental
36
+ * @status stable
37
37
  * @aliases Page size, Rows per page
38
38
  * @documentation https://fusion.dev/helix/components/pagination
39
39
  *
@@ -19,7 +19,7 @@ import { type TemplateResult } from 'lit';
19
19
  * does not call it.
20
20
  *
21
21
  * @since 0.1.0
22
- * @status experimental
22
+ * @status stable
23
23
  * @aliases Result count, Range
24
24
  * @documentation https://fusion.dev/helix/components/pagination
25
25
  */
@@ -17,7 +17,7 @@ declare const HelixHeadlessSteps_base: (new (...args: any[]) => import("@fusion.
17
17
  * count.
18
18
  *
19
19
  * @since 0.1.0
20
- * @status experimental
20
+ * @status stable
21
21
  * @category navigation
22
22
  * @aliases Stepper, Wizard, Progress steps
23
23
  * @documentation https://fusion.dev/helix/components/steps
@@ -22,12 +22,12 @@ import '../../button/index.js';
22
22
  * that are not there.
23
23
  *
24
24
  * @since 0.1.0
25
- * @status experimental
25
+ * @status stable
26
26
  * @aliases Stage
27
27
  * @documentation https://fusion.dev/helix/components/steps
28
28
  *
29
29
  * @slot - The step's name.
30
- * @slot content - What the stage holds, shown while it is the current one.
30
+ * @slot content - What the stage holds. Always rendered here, a tier with no stylesheet having nothing to fold it with; the styled tier opens it on the current step down a column, and a row has no space under a step to open it into.
31
31
  * @slot description - A line under the name, for what the stage is for.
32
32
  * @slot marker - Replaces the number, or the check a complete step shows.
33
33
  *
@@ -21,8 +21,8 @@ declare const HelixHeadlessTabs_base: (new (...args: any[]) => import("@fusion.d
21
21
  * @aliases TabList, Segmented control
22
22
  * @documentation https://fusion.dev/helix/components/tabs
23
23
  *
24
- * @slot - The tabs.
25
- * @slot panels - The panels.
24
+ * @slot - The tabs, which are this element's own children.
25
+ * @slot panels - The panels, which are this element's own children. A wrapper around them is assigned to the slot and pairs with nothing, since the pairing walks these children rather than the slot's tree.
26
26
  *
27
27
  * @event {HelixActivateEvent} helix-activate - Fired once the current one has moved, so the element already holds it.
28
28
  * @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the current tab moves, and cancelable. The only way to refuse one.
@@ -41,7 +41,8 @@ let HelixHeadlessTabs = class HelixHeadlessTabs extends MixinControllerActive(He
41
41
  }
42
42
  sync() {
43
43
  const tabs = this.tabs;
44
- const value = this.resolveActive(tabs)?.value ?? '';
44
+ const declared = this.active === '' ? tabs.find((tab) => tab.selected) : undefined;
45
+ const value = (declared ?? this.resolveActive(tabs))?.value ?? '';
45
46
  for (const tab of tabs) {
46
47
  tab.selected = tab.value === value;
47
48
  }
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.39.0",
4
+ "version": "0.40.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,14 +46,14 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.39.0",
50
- "@fusion.dev/helix-icons": "0.39.0",
49
+ "@fusion.dev/helix-core": "0.40.0",
50
+ "@fusion.dev/helix-icons": "0.40.0",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@custom-elements-manifest/analyzer": "^0.11.0",
55
- "@fusion.dev/helix-cem": "0.39.0",
56
- "@fusion.dev/helix-testing": "0.39.0",
55
+ "@fusion.dev/helix-cem": "0.40.0",
56
+ "@fusion.dev/helix-testing": "0.40.0",
57
57
  "@fusion.dev/scripts": "0.0.0-dev",
58
58
  "@happy-dom/global-registrator": "^20.0.0",
59
59
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -30602,7 +30602,7 @@ export type CustomElements = {
30602
30602
  * Areas where markup can be added to the component.
30603
30603
  *
30604
30604
  * - `(default)`: The step's name.
30605
- * - `content`: What the stage holds, shown while it is the current one.
30605
+ * - `content`: What the stage holds. Always rendered here, a tier with no stylesheet having nothing to fold it with; the styled tier opens it on the current step down a column, and a row has no space under a step to open it into.
30606
30606
  * - `description`: A line under the name, for what the stage is for.
30607
30607
  * - `marker`: Replaces the number, or the check a complete step shows.
30608
30608
  *
@@ -31368,8 +31368,8 @@ export type CustomElements = {
31368
31368
  *
31369
31369
  * Areas where markup can be added to the component.
31370
31370
  *
31371
- * - `(default)`: The tabs.
31372
- * - `panels`: The panels.
31371
+ * - `(default)`: The tabs, which are this element's own children.
31372
+ * - `panels`: The panels, which are this element's own children. A wrapper around them is assigned to the slot and pairs with nothing, since the pairing walks these children rather than the slot's tree.
31373
31373
  *
31374
31374
  * ## Methods
31375
31375
  *
@@ -48246,7 +48246,7 @@ export type CustomElementsSolidJs = {
48246
48246
  * Areas where markup can be added to the component.
48247
48247
  *
48248
48248
  * - `(default)`: The step's name.
48249
- * - `content`: What the stage holds, shown while it is the current one.
48249
+ * - `content`: What the stage holds. Always rendered here, a tier with no stylesheet having nothing to fold it with; the styled tier opens it on the current step down a column, and a row has no space under a step to open it into.
48250
48250
  * - `description`: A line under the name, for what the stage is for.
48251
48251
  * - `marker`: Replaces the number, or the check a complete step shows.
48252
48252
  *
@@ -49031,8 +49031,8 @@ export type CustomElementsSolidJs = {
49031
49031
  *
49032
49032
  * Areas where markup can be added to the component.
49033
49033
  *
49034
- * - `(default)`: The tabs.
49035
- * - `panels`: The panels.
49034
+ * - `(default)`: The tabs, which are this element's own children.
49035
+ * - `panels`: The panels, which are this element's own children. A wrapper around them is assigned to the slot and pairs with nothing, since the pairing walks these children rather than the slot's tree.
49036
49036
  *
49037
49037
  * ## Methods
49038
49038
  *