@fusion.dev/helix 0.151.0 → 0.152.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",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.151.0",
4
+ "version": "0.152.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -54,13 +54,13 @@
54
54
  },
55
55
  "bugs": "https://github.com/project-fusion/fusion/issues",
56
56
  "dependencies": {
57
- "@fusion.dev/helix-core": "0.151.0",
58
- "@fusion.dev/helix-headless": "0.151.0",
59
- "@fusion.dev/helix-styles": "0.151.0"
57
+ "@fusion.dev/helix-core": "0.152.0",
58
+ "@fusion.dev/helix-headless": "0.152.0",
59
+ "@fusion.dev/helix-styles": "0.152.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@fusion.dev/helix-cem": "0.151.0",
63
- "@fusion.dev/helix-testing": "0.151.0",
62
+ "@fusion.dev/helix-cem": "0.152.0",
63
+ "@fusion.dev/helix-testing": "0.152.0",
64
64
  "@fusion.dev/scripts": "0.0.0-dev",
65
65
  "@happy-dom/global-registrator": "^20.14.5",
66
66
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -1109,6 +1109,22 @@ the wordmark and the actions happen to measure.
1109
1109
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
1110
1110
  the property carries the part's name, `content`. */
1111
1111
  contentAlign?: (HelixAppHeader["contentAlign"]) | undefined;
1112
+ /** The width of the bar, in pixels, below which the middle region folds behind
1113
+ a toggle. Unset, it never folds. */
1114
+ "fold-below"?: (HelixAppHeader["foldBelow"] | `${number}`) | undefined;
1115
+ /** The width of the bar, in pixels, below which the middle region folds behind
1116
+ a toggle. Unset, it never folds. */
1117
+ foldBelow?: (HelixAppHeader["foldBelow"]) | undefined;
1118
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1119
+ page scrolls up. */
1120
+ "hide-on-scroll"?: (HelixAppHeader["hideOnScroll"]) | undefined;
1121
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1122
+ page scrolls up. */
1123
+ hideOnScroll?: (HelixAppHeader["hideOnScroll"]) | undefined;
1124
+ /** The name of the toggle that opens a folded middle region. */
1125
+ "menu-label"?: (HelixAppHeader["menuLabel"]) | undefined;
1126
+ /** The name of the toggle that opens a folded middle region. */
1127
+ menuLabel?: (HelixAppHeader["menuLabel"]) | undefined;
1112
1128
  /** The id of the element whose scrolling lifts the bar, for an app shell that
1113
1129
  scrolls a container instead of the window. Unset is the window. */
1114
1130
  scroller?: (HelixAppHeader["scroller"]) | undefined;
@@ -1198,6 +1214,22 @@ the wordmark and the actions happen to measure.
1198
1214
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
1199
1215
  the property carries the part's name, `content`. */
1200
1216
  "prop:contentAlign"?: (HelixAppHeader["contentAlign"]) | undefined;
1217
+ /** The width of the bar, in pixels, below which the middle region folds behind
1218
+ a toggle. Unset, it never folds. */
1219
+ "attr:fold-below"?: (HelixAppHeader["foldBelow"] | `${number}`) | undefined;
1220
+ /** The width of the bar, in pixels, below which the middle region folds behind
1221
+ a toggle. Unset, it never folds. */
1222
+ "prop:foldBelow"?: (HelixAppHeader["foldBelow"]) | undefined;
1223
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1224
+ page scrolls up. */
1225
+ "bool:hide-on-scroll"?: (HelixAppHeader["hideOnScroll"]) | undefined;
1226
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
1227
+ page scrolls up. */
1228
+ "prop:hideOnScroll"?: (HelixAppHeader["hideOnScroll"]) | undefined;
1229
+ /** The name of the toggle that opens a folded middle region. */
1230
+ "attr:menu-label"?: (HelixAppHeader["menuLabel"]) | undefined;
1231
+ /** The name of the toggle that opens a folded middle region. */
1232
+ "prop:menuLabel"?: (HelixAppHeader["menuLabel"]) | undefined;
1201
1233
  /** The id of the element whose scrolling lifts the bar, for an app shell that
1202
1234
  scrolls a container instead of the window. Unset is the window. */
1203
1235
  "prop:scroller"?: (HelixAppHeader["scroller"]) | undefined;
@@ -12442,8 +12474,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
12442
12474
  `closedby="any"` gains light dismiss without giving up the refusal, which is
12443
12475
  the property this component exists to keep.
12444
12476
 
12477
+ The press on the backdrop that this element handles itself follows it too:
12478
+ `closerequest` and `none` leave the dialog open on that press, as the
12479
+ platform does, and `none` also keeps it open on Escape in a browser without
12480
+ `closedby`.
12481
+
12445
12482
  Absent by default, which is the platform's `auto` and this library's rule
12446
- that a resting value is an attribute's absence. */
12483
+ that a resting value is an attribute's absence. Absent, a press on the
12484
+ backdrop closes the dialog. */
12447
12485
  closedby?: (HelixDialog["closedBy"]) | undefined;
12448
12486
  /** Which close requests the browser handles on its own.
12449
12487
 
@@ -12453,8 +12491,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
12453
12491
  `closedby="any"` gains light dismiss without giving up the refusal, which is
12454
12492
  the property this component exists to keep.
12455
12493
 
12494
+ The press on the backdrop that this element handles itself follows it too:
12495
+ `closerequest` and `none` leave the dialog open on that press, as the
12496
+ platform does, and `none` also keeps it open on Escape in a browser without
12497
+ `closedby`.
12498
+
12456
12499
  Absent by default, which is the platform's `auto` and this library's rule
12457
- that a resting value is an attribute's absence. */
12500
+ that a resting value is an attribute's absence. Absent, a press on the
12501
+ backdrop closes the dialog. */
12458
12502
  closedBy?: (HelixDialog["closedBy"]) | undefined;
12459
12503
  /** Draws a control that closes the dialog, in the corner where the title is.
12460
12504
 
@@ -12602,8 +12646,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
12602
12646
  `closedby="any"` gains light dismiss without giving up the refusal, which is
12603
12647
  the property this component exists to keep.
12604
12648
 
12649
+ The press on the backdrop that this element handles itself follows it too:
12650
+ `closerequest` and `none` leave the dialog open on that press, as the
12651
+ platform does, and `none` also keeps it open on Escape in a browser without
12652
+ `closedby`.
12653
+
12605
12654
  Absent by default, which is the platform's `auto` and this library's rule
12606
- that a resting value is an attribute's absence. */
12655
+ that a resting value is an attribute's absence. Absent, a press on the
12656
+ backdrop closes the dialog. */
12607
12657
  "attr:closedby"?: (HelixDialog["closedBy"]) | undefined;
12608
12658
  /** Which close requests the browser handles on its own.
12609
12659
 
@@ -12613,8 +12663,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
12613
12663
  `closedby="any"` gains light dismiss without giving up the refusal, which is
12614
12664
  the property this component exists to keep.
12615
12665
 
12666
+ The press on the backdrop that this element handles itself follows it too:
12667
+ `closerequest` and `none` leave the dialog open on that press, as the
12668
+ platform does, and `none` also keeps it open on Escape in a browser without
12669
+ `closedby`.
12670
+
12616
12671
  Absent by default, which is the platform's `auto` and this library's rule
12617
- that a resting value is an attribute's absence. */
12672
+ that a resting value is an attribute's absence. Absent, a press on the
12673
+ backdrop closes the dialog. */
12618
12674
  "prop:closedBy"?: (HelixDialog["closedBy"]) | undefined;
12619
12675
  /** Draws a control that closes the dialog, in the corner where the title is.
12620
12676
 
@@ -13130,6 +13186,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
13130
13186
  attribute on the host, and nothing selects on it: the scrim is rendered or
13131
13187
  not, rather than shown or hidden by CSS. */
13132
13188
  modal?: (HelixDrawer["modal"]) | undefined;
13189
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
13190
+ drawer that has to be answered.
13191
+
13192
+ The close control and `close()` still close it, as on `Dialog`: a panel
13193
+ with no way out at all is a trap. */
13194
+ persistent?: (HelixDrawer["persistent"]) | undefined;
13133
13195
  /** Which edge the drawer comes from.
13134
13196
 
13135
13197
  Unset is `end`, and it stays unset rather than being written down: a
@@ -13269,6 +13331,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
13269
13331
  attribute on the host, and nothing selects on it: the scrim is rendered or
13270
13332
  not, rather than shown or hidden by CSS. */
13271
13333
  "prop:modal"?: (HelixDrawer["modal"]) | undefined;
13334
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
13335
+ drawer that has to be answered.
13336
+
13337
+ The close control and `close()` still close it, as on `Dialog`: a panel
13338
+ with no way out at all is a trap. */
13339
+ "prop:persistent"?: (HelixDrawer["persistent"]) | undefined;
13272
13340
  /** Which edge the drawer comes from.
13273
13341
 
13274
13342
  Unset is `end`, and it stays unset rather than being written down: a
@@ -29246,6 +29314,9 @@ Reading gives where it is; writing declares it the consumer's, and
29246
29314
  `default-position` seeds one this element owns. The same accessor pair
29247
29315
  `Pagination.page` and the calendar's `month` carry. */
29248
29316
  position?: (HelixSplitter["position"]) | undefined;
29317
+ /** The pane that keeps its size when the splitter's own size changes. The
29318
+ other pane takes all of the change. Unset, both keep their share. */
29319
+ primary?: (HelixSplitter["primary"]) | undefined;
29249
29320
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
29250
29321
  panel does: a bare number is a percentage and a length such as `240px` is
29251
29322
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -29399,6 +29470,9 @@ Reading gives where it is; writing declares it the consumer's, and
29399
29470
  `default-position` seeds one this element owns. The same accessor pair
29400
29471
  `Pagination.page` and the calendar's `month` carry. */
29401
29472
  "prop:position"?: (HelixSplitter["position"]) | undefined;
29473
+ /** The pane that keeps its size when the splitter's own size changes. The
29474
+ other pane takes all of the change. Unset, both keep their share. */
29475
+ "prop:primary"?: (HelixSplitter["primary"]) | undefined;
29402
29476
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
29403
29477
  panel does: a bare number is a percentage and a length such as `240px` is
29404
29478
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -37387,6 +37461,11 @@ export type CustomElements = {
37387
37461
  * **Named for the region and not for what is usually in it.** The middle slot
37388
37462
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
37389
37463
  * the property carries the part's name, `content`.
37464
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
37465
+ * a toggle. Unset, it never folds.
37466
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
37467
+ * page scrolls up.
37468
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
37390
37469
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
37391
37470
  * scrolls a container instead of the window. Unset is the window.
37392
37471
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -37423,6 +37502,7 @@ export type CustomElements = {
37423
37502
  * - `(default)`: The middle region, usually a `Navigation`.
37424
37503
  * - `end`: Trailing content, usually a call to action.
37425
37504
  * - `start`: Leading content, usually a wordmark.
37505
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
37426
37506
  *
37427
37507
  * ## CSS Custom Properties
37428
37508
  *
@@ -37443,11 +37523,16 @@ export type CustomElements = {
37443
37523
  * - `end`: The trailing region.
37444
37524
  * - `row`: The centered row inside the banner.
37445
37525
  * - `start`: The leading region.
37526
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
37527
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
37446
37528
  *
37447
37529
  * ## CSS States
37448
37530
  *
37449
37531
  * These can be used to apply styling when a component is in a given state.
37450
37532
  *
37533
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
37534
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
37535
+ * - `open`: While the folded middle region is open.
37451
37536
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
37452
37537
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
37453
37538
  */
@@ -44881,8 +44966,14 @@ export type CustomElements = {
44881
44966
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
44882
44967
  * the property this component exists to keep.
44883
44968
  *
44969
+ * The press on the backdrop that this element handles itself follows it too:
44970
+ * `closerequest` and `none` leave the dialog open on that press, as the
44971
+ * platform does, and `none` also keeps it open on Escape in a browser without
44972
+ * `closedby`.
44973
+ *
44884
44974
  * Absent by default, which is the platform's `auto` and this library's rule
44885
- * that a resting value is an attribute's absence.
44975
+ * that a resting value is an attribute's absence. Absent, a press on the
44976
+ * backdrop closes the dialog.
44886
44977
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
44887
44978
  *
44888
44979
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -45469,6 +45560,11 @@ export type CustomElements = {
45469
45560
  * lost its focus trap because a consumer forgot a word would be worse than an
45470
45561
  * attribute on the host, and nothing selects on it: the scrim is rendered or
45471
45562
  * not, rather than shown or hidden by CSS.
45563
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
45564
+ * drawer that has to be answered.
45565
+ *
45566
+ * The close control and `close()` still close it, as on `Dialog`: a panel
45567
+ * with no way out at all is a trap.
45472
45568
  * - `placement`: Which edge the drawer comes from.
45473
45569
  *
45474
45570
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -58397,6 +58493,8 @@ export type CustomElements = {
58397
58493
  * Reading gives where it is; writing declares it the consumer's, and
58398
58494
  * `default-position` seeds one this element owns. The same accessor pair
58399
58495
  * `Pagination.page` and the calendar's `month` carry.
58496
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
58497
+ * other pane takes all of the change. Unset, both keep their share.
58400
58498
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
58401
58499
  * panel does: a bare number is a percentage and a length such as `240px` is
58402
58500
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -58799,7 +58897,14 @@ export type CustomElements = {
58799
58897
  "helix-steps": Partial<HelixStepsProps & BaseProps<HelixSteps> & BaseEvents<HelixSteps>>;
58800
58898
 
58801
58899
  /**
58900
+ * A step draws its mark, its name as a `helix-button`, and the line that joins
58901
+ * it to the steps either side. The mark is a tick on a finished step, a dot
58902
+ * on the current one, and an empty ring on one nobody has reached. Where the
58903
+ * list sets `variant="numeric"`, it is the step's number.
58802
58904
  *
58905
+ * Down a column, the current step opens to show what is in its `content` slot,
58906
+ * and the others collapse it. A collapsed stage's content is hidden, so Tab and
58907
+ * a screen reader pass over it as well.
58803
58908
  *
58804
58909
  * ## Attributes & Properties
58805
58910
  *
@@ -64754,6 +64859,11 @@ export type CustomElementsSolidJs = {
64754
64859
  * **Named for the region and not for what is usually in it.** The middle slot
64755
64860
  * takes a search field or a breadcrumb trail as readily as a `Navigation`, so
64756
64861
  * the property carries the part's name, `content`.
64862
+ * - `fold-below`/`foldBelow`: The width of the bar, in pixels, below which the middle region folds behind
64863
+ * a toggle. Unset, it never folds.
64864
+ * - `hide-on-scroll`/`hideOnScroll`: Hides the bar as the page scrolls down past it, and shows it again as the
64865
+ * page scrolls up.
64866
+ * - `menu-label`/`menuLabel`: The name of the toggle that opens a folded middle region.
64757
64867
  * - `scroller`: The id of the element whose scrolling lifts the bar, for an app shell that
64758
64868
  * scrolls a container instead of the window. Unset is the window.
64759
64869
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
@@ -64790,6 +64900,7 @@ export type CustomElementsSolidJs = {
64790
64900
  * - `(default)`: The middle region, usually a `Navigation`.
64791
64901
  * - `end`: Trailing content, usually a call to action.
64792
64902
  * - `start`: Leading content, usually a wordmark.
64903
+ * - `menu-icon`: Replaces the glyph inside the toggle that opens a folded middle region.
64793
64904
  *
64794
64905
  * ## CSS Custom Properties
64795
64906
  *
@@ -64810,11 +64921,16 @@ export type CustomElementsSolidJs = {
64810
64921
  * - `end`: The trailing region.
64811
64922
  * - `row`: The centered row inside the banner.
64812
64923
  * - `start`: The leading region.
64924
+ * - `toggle`: The control that opens and closes the folded middle region, drawn while the bar is narrower than `fold-below`.
64925
+ * - `toggle-mark`: The glyph on the toggle, where none is slotted.
64813
64926
  *
64814
64927
  * ## CSS States
64815
64928
  *
64816
64929
  * These can be used to apply styling when a component is in a given state.
64817
64930
  *
64931
+ * - `folded`: While the bar is narrower than `fold-below`, and the middle region is behind the toggle.
64932
+ * - `hidden`: While `hide-on-scroll` has the bar out of the way, after a scroll down.
64933
+ * - `open`: While the folded middle region is open.
64818
64934
  * - `scrolled`: While the page is scrolled down from the top, which is when the bar lifts off it.
64819
64935
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
64820
64936
  */
@@ -72349,8 +72465,14 @@ export type CustomElementsSolidJs = {
72349
72465
  * `closedby="any"` gains light dismiss without giving up the refusal, which is
72350
72466
  * the property this component exists to keep.
72351
72467
  *
72468
+ * The press on the backdrop that this element handles itself follows it too:
72469
+ * `closerequest` and `none` leave the dialog open on that press, as the
72470
+ * platform does, and `none` also keeps it open on Escape in a browser without
72471
+ * `closedby`.
72472
+ *
72352
72473
  * Absent by default, which is the platform's `auto` and this library's rule
72353
- * that a resting value is an attribute's absence.
72474
+ * that a resting value is an attribute's absence. Absent, a press on the
72475
+ * backdrop closes the dialog.
72354
72476
  * - `dismissible`: Draws a control that closes the dialog, in the corner where the title is.
72355
72477
  *
72356
72478
  * Pressing it is `close()`, so it sends `helix-before-close` like every other
@@ -72946,6 +73068,11 @@ export type CustomElementsSolidJs = {
72946
73068
  * lost its focus trap because a consumer forgot a word would be worse than an
72947
73069
  * attribute on the host, and nothing selects on it: the scrim is rendered or
72948
73070
  * not, rather than shown or hidden by CSS.
73071
+ * - `persistent`: Stops Escape, a press outside, and a swipe from closing the drawer, for a
73072
+ * drawer that has to be answered.
73073
+ *
73074
+ * The close control and `close()` still close it, as on `Dialog`: a panel
73075
+ * with no way out at all is a trap.
72949
73076
  * - `placement`: Which edge the drawer comes from.
72950
73077
  *
72951
73078
  * Unset is `end`, and it stays unset rather than being written down: a
@@ -86126,6 +86253,8 @@ export type CustomElementsSolidJs = {
86126
86253
  * Reading gives where it is; writing declares it the consumer's, and
86127
86254
  * `default-position` seeds one this element owns. The same accessor pair
86128
86255
  * `Pagination.page` and the calendar's `month` carry.
86256
+ * - `primary`: The pane that keeps its size when the splitter's own size changes. The
86257
+ * other pane takes all of the change. Unset, both keep their share.
86129
86258
  * - `snap`: Where a dragged divider snaps, comma separated, as Web Awesome's split
86130
86259
  * panel does: a bare number is a percentage and a length such as `240px` is
86131
86260
  * measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -86541,7 +86670,14 @@ export type CustomElementsSolidJs = {
86541
86670
  >;
86542
86671
 
86543
86672
  /**
86544
- *
86673
+ * A step draws its mark, its name as a `helix-button`, and the line that joins
86674
+ * it to the steps either side. The mark is a tick on a finished step, a dot
86675
+ * on the current one, and an empty ring on one nobody has reached. Where the
86676
+ * list sets `variant="numeric"`, it is the step's number.
86677
+ *
86678
+ * Down a column, the current step opens to show what is in its `content` slot,
86679
+ * and the others collapse it. A collapsed stage's content is hidden, so Tab and
86680
+ * a screen reader pass over it as well.
86545
86681
  *
86546
86682
  * ## Attributes & Properties
86547
86683
  *
package/types/vue.d.ts CHANGED
@@ -650,6 +650,22 @@ the wordmark and the actions happen to measure.
650
650
  takes a search field or a breadcrumb trail as readily as a `Navigation`, so
651
651
  the property carries the part's name, `content`. */
652
652
  contentAlign?: (HelixAppHeader["contentAlign"]) | undefined;
653
+ /** The width of the bar, in pixels, below which the middle region folds behind
654
+ a toggle. Unset, it never folds. */
655
+ "fold-below"?: (HelixAppHeader["foldBelow"] | `${number}`) | undefined;
656
+ /** The width of the bar, in pixels, below which the middle region folds behind
657
+ a toggle. Unset, it never folds. */
658
+ foldBelow?: (HelixAppHeader["foldBelow"]) | undefined;
659
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
660
+ page scrolls up. */
661
+ "hide-on-scroll"?: (HelixAppHeader["hideOnScroll"]) | undefined;
662
+ /** Hides the bar as the page scrolls down past it, and shows it again as the
663
+ page scrolls up. */
664
+ hideOnScroll?: (HelixAppHeader["hideOnScroll"]) | undefined;
665
+ /** The name of the toggle that opens a folded middle region. */
666
+ "menu-label"?: (HelixAppHeader["menuLabel"]) | undefined;
667
+ /** The name of the toggle that opens a folded middle region. */
668
+ menuLabel?: (HelixAppHeader["menuLabel"]) | undefined;
653
669
  /** The id of the element whose scrolling lifts the bar, for an app shell that
654
670
  scrolls a container instead of the window. Unset is the window. */
655
671
  scroller?: (HelixAppHeader["scroller"]) | undefined;
@@ -6422,8 +6438,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
6422
6438
  `closedby="any"` gains light dismiss without giving up the refusal, which is
6423
6439
  the property this component exists to keep.
6424
6440
 
6441
+ The press on the backdrop that this element handles itself follows it too:
6442
+ `closerequest` and `none` leave the dialog open on that press, as the
6443
+ platform does, and `none` also keeps it open on Escape in a browser without
6444
+ `closedby`.
6445
+
6425
6446
  Absent by default, which is the platform's `auto` and this library's rule
6426
- that a resting value is an attribute's absence. */
6447
+ that a resting value is an attribute's absence. Absent, a press on the
6448
+ backdrop closes the dialog. */
6427
6449
  closedby?: (HelixDialog["closedBy"]) | undefined;
6428
6450
  /** Which close requests the browser handles on its own.
6429
6451
 
@@ -6433,8 +6455,14 @@ first, `handleCancel` prevents it, and `requestOpen` decides. So
6433
6455
  `closedby="any"` gains light dismiss without giving up the refusal, which is
6434
6456
  the property this component exists to keep.
6435
6457
 
6458
+ The press on the backdrop that this element handles itself follows it too:
6459
+ `closerequest` and `none` leave the dialog open on that press, as the
6460
+ platform does, and `none` also keeps it open on Escape in a browser without
6461
+ `closedby`.
6462
+
6436
6463
  Absent by default, which is the platform's `auto` and this library's rule
6437
- that a resting value is an attribute's absence. */
6464
+ that a resting value is an attribute's absence. Absent, a press on the
6465
+ backdrop closes the dialog. */
6438
6466
  closedBy?: (HelixDialog["closedBy"]) | undefined;
6439
6467
  /** Draws a control that closes the dialog, in the corner where the title is.
6440
6468
 
@@ -6767,6 +6795,12 @@ lost its focus trap because a consumer forgot a word would be worse than an
6767
6795
  attribute on the host, and nothing selects on it: the scrim is rendered or
6768
6796
  not, rather than shown or hidden by CSS. */
6769
6797
  modal?: (HelixDrawer["modal"]) | undefined;
6798
+ /** Stops Escape, a press outside, and a swipe from closing the drawer, for a
6799
+ drawer that has to be answered.
6800
+
6801
+ The close control and `close()` still close it, as on `Dialog`: a panel
6802
+ with no way out at all is a trap. */
6803
+ persistent?: (HelixDrawer["persistent"]) | undefined;
6770
6804
  /** Which edge the drawer comes from.
6771
6805
 
6772
6806
  Unset is `end`, and it stays unset rather than being written down: a
@@ -15054,6 +15088,9 @@ Reading gives where it is; writing declares it the consumer's, and
15054
15088
  `default-position` seeds one this element owns. The same accessor pair
15055
15089
  `Pagination.page` and the calendar's `month` carry. */
15056
15090
  position?: (HelixSplitter["position"]) | undefined;
15091
+ /** The pane that keeps its size when the splitter's own size changes. The
15092
+ other pane takes all of the change. Unset, both keep their share. */
15093
+ primary?: (HelixSplitter["primary"]) | undefined;
15057
15094
  /** Where a dragged divider snaps, comma separated, as Web Awesome's split
15058
15095
  panel does: a bare number is a percentage and a length such as `240px` is
15059
15096
  measured along the splitter, so `snap="25, 50, 75"` or `snap="240px, 50"`.
@@ -22073,6 +22110,7 @@ export interface WcToolkitVueGlobalComponents {
22073
22110
  HelixStepsVueProps,
22074
22111
  HelixStepsVueEvents
22075
22112
  >;
22113
+ /** A step draws its mark, its name as a 'helix-button', and the line that joins it to the steps either side. The mark is a tick on a finished step, a dot on the current one, and an empty ring on one nobody has reached. Where the list sets 'variant="numeric"', it is the step's number. Down a column, the current step opens to show what is in its 'content' slot, and the others collapse it. A collapsed stage's content is hidden, so Tab and a screen reader pass over it as well. */
22076
22114
  "helix-step": DefineCustomElement<
22077
22115
  HelixStep,
22078
22116
  HelixStepVueProps,
package/types/words.d.ts CHANGED
@@ -832,6 +832,14 @@ declare module '@fusion.dev/helix-core' {
832
832
  */
833
833
  zoomOutLabel: Message
834
834
  }
835
+ 'helix-app-header': {
836
+ /**
837
+ * The name of the toggle that opens a folded middle region.
838
+ *
839
+ * English: `Menu`
840
+ */
841
+ menuLabel: Message
842
+ }
835
843
  'helix-avatar-group': {
836
844
  /**
837
845
  * What a screen reader is told the count is, with `{count}` for the number,