@fusion.dev/helix 0.156.0 → 0.157.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.156.0",
4
+ "version": "0.157.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.156.0",
58
- "@fusion.dev/helix-headless": "0.156.0",
59
- "@fusion.dev/helix-styles": "0.156.0"
57
+ "@fusion.dev/helix-core": "0.157.0",
58
+ "@fusion.dev/helix-headless": "0.157.0",
59
+ "@fusion.dev/helix-styles": "0.157.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@fusion.dev/helix-cem": "0.156.0",
63
- "@fusion.dev/helix-testing": "0.156.0",
62
+ "@fusion.dev/helix-cem": "0.157.0",
63
+ "@fusion.dev/helix-testing": "0.157.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
@@ -14228,6 +14228,16 @@ export type HelixDrilldownItemHelixSelectElementEvent =
14228
14228
  export type HelixDrilldownItemProps = {
14229
14229
  /** Whether the row can be reached at all. */
14230
14230
  disabled?: (HelixDrilldownItem["disabled"]) | undefined;
14231
+ /** Whether the link downloads the file when the row is chosen. Only
14232
+ meaningful beside an `href`, and only for a file served from this origin. */
14233
+ download?: (HelixDrilldownItem["download"]) | undefined;
14234
+ /** The URL the row links to. Setting it renders the row as a link, unless the
14235
+ row opens a page or is disabled. */
14236
+ href?: (HelixDrilldownItem["href"]) | undefined;
14237
+ /** The link's `rel`. Set it whenever you set `target="_blank"`. */
14238
+ rel?: (HelixDrilldownItem["rel"]) | undefined;
14239
+ /** Where the link opens, for rows that should open outside the current page. */
14240
+ target?: (HelixDrilldownItem["target"]) | undefined;
14231
14241
  /** Identifies the row to your event listeners. */
14232
14242
  value?: (HelixDrilldownItem["value"]) | undefined;
14233
14243
  /** Whether this row holds the region's tab stop. Set by the drill-down.
@@ -14250,6 +14260,16 @@ lands inside this shadow root instead. */
14250
14260
  export type HelixDrilldownItemSolidJsProps = {
14251
14261
  /** Whether the row can be reached at all. */
14252
14262
  "prop:disabled"?: (HelixDrilldownItem["disabled"]) | undefined;
14263
+ /** Whether the link downloads the file when the row is chosen. Only
14264
+ meaningful beside an `href`, and only for a file served from this origin. */
14265
+ "prop:download"?: (HelixDrilldownItem["download"]) | undefined;
14266
+ /** The URL the row links to. Setting it renders the row as a link, unless the
14267
+ row opens a page or is disabled. */
14268
+ "prop:href"?: (HelixDrilldownItem["href"]) | undefined;
14269
+ /** The link's `rel`. Set it whenever you set `target="_blank"`. */
14270
+ "prop:rel"?: (HelixDrilldownItem["rel"]) | undefined;
14271
+ /** Where the link opens, for rows that should open outside the current page. */
14272
+ "prop:target"?: (HelixDrilldownItem["target"]) | undefined;
14253
14273
  /** Identifies the row to your event listeners. */
14254
14274
  "prop:value"?: (HelixDrilldownItem["value"]) | undefined;
14255
14275
  /** Whether this row holds the region's tab stop. Set by the drill-down.
@@ -14278,6 +14298,9 @@ export type HelixDrilldownElementEvent<E = Event> = TypedEvent<
14278
14298
  HelixDrilldown,
14279
14299
  E
14280
14300
  >;
14301
+ /** `helix-navigate` event type */
14302
+ export type HelixDrilldownHelixNavigateElementEvent =
14303
+ HelixDrilldownElementEvent<HelixNavigateEvent>;
14281
14304
  /** `helix-select` event type */
14282
14305
  export type HelixDrilldownHelixSelectElementEvent =
14283
14306
  HelixDrilldownElementEvent<HelixSelectEvent>;
@@ -14307,7 +14330,17 @@ and wins over this. */
14307
14330
  "back-label"?: (HelixDrilldown["backLabel"]) | undefined;
14308
14331
  /** The text of the back button. */
14309
14332
  backLabel?: (HelixDrilldown["backLabel"]) | undefined;
14310
-
14333
+ /** Whether the drilldown is a site's navigation: a `navigation` landmark
14334
+ named by `label`, whose pages are lists of links. Without it, each page is
14335
+ a `menu`. */
14336
+ navigation?: (HelixDrilldown["navigation"]) | undefined;
14337
+ /** The page showing, as the `value` of the row that opens it. Empty is the
14338
+ top page. Setting it shows that page, and a value no row with a page has
14339
+ shows the top page. */
14340
+ page?: (HelixDrilldown["page"]) | undefined;
14341
+
14342
+ /** Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing. */
14343
+ "onhelix-navigate"?: ((e: HelixDrilldownHelixNavigateElementEvent) => void) | undefined;
14311
14344
  /** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
14312
14345
  "onhelix-select"?: ((e: HelixDrilldownHelixSelectElementEvent) => void) | undefined;
14313
14346
  };
@@ -14337,6 +14370,16 @@ and wins over this. */
14337
14370
  "attr:back-label"?: (HelixDrilldown["backLabel"]) | undefined;
14338
14371
  /** The text of the back button. */
14339
14372
  "prop:backLabel"?: (HelixDrilldown["backLabel"]) | undefined;
14373
+ /** Whether the drilldown is a site's navigation: a `navigation` landmark
14374
+ named by `label`, whose pages are lists of links. Without it, each page is
14375
+ a `menu`. */
14376
+ "prop:navigation"?: (HelixDrilldown["navigation"]) | undefined;
14377
+ /** The page showing, as the `value` of the row that opens it. Empty is the
14378
+ top page. Setting it shows that page, and a value no row with a page has
14379
+ shows the top page. */
14380
+ "prop:page"?: (HelixDrilldown["page"]) | undefined;
14381
+ /** Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing. */
14382
+ "on:helix-navigate"?: ((e: HelixDrilldownHelixNavigateElementEvent) => void) | undefined;
14340
14383
  /** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
14341
14384
  "on:helix-select"?: ((e: HelixDrilldownHelixSelectElementEvent) => void) | undefined;
14342
14385
 
@@ -22595,8 +22638,24 @@ narrow exception the server specs describe covers a mirror that can only
22595
22638
  become true long after hydration, and a viewport measured before the first
22596
22639
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
22597
22640
  bandBelow?: (HelixMegamenu["bandBelow"]) | undefined;
22641
+ /** How long a pointer leaving the trigger and the panel waits before the panel
22642
+ closes, in milliseconds. The pointer needs the time to cross from the
22643
+ trigger to the panel. */
22644
+ "close-delay"?: (HelixMegamenu["closeDelay"] | `${number}`) | undefined;
22645
+ /** How long a pointer leaving the trigger and the panel waits before the panel
22646
+ closes, in milliseconds. The pointer needs the time to cross from the
22647
+ trigger to the panel. */
22648
+ closeDelay?: (HelixMegamenu["closeDelay"]) | undefined;
22598
22649
  /** The section's name, used for the default trigger and the panel. */
22599
22650
  label?: (HelixMegamenu["label"]) | undefined;
22651
+ /** How long a pointer rests on the trigger before the panel opens, in
22652
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
22653
+ way somewhere else opens nothing. */
22654
+ "open-delay"?: (HelixMegamenu["openDelay"] | `${number}`) | undefined;
22655
+ /** How long a pointer rests on the trigger before the panel opens, in
22656
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
22657
+ way somewhere else opens nothing. */
22658
+ openDelay?: (HelixMegamenu["openDelay"]) | undefined;
22600
22659
  /** Whether hovering over the trigger opens the panel (`hover`), or only a press
22601
22660
  does (`click`).
22602
22661
 
@@ -22613,6 +22672,10 @@ the trigger, and it is the default because that is what a navigation bar
22613
22672
  does. `click` is for a trigger that does something else as well, or a panel
22614
22673
  heavy enough that opening it on the way past is rude. */
22615
22674
  openOn?: (HelixMegamenu["openOn"]) | undefined;
22675
+ /** The side of the trigger a card panel opens on, when there is room. It
22676
+ moves if that side does not fit. A band ignores it, since a band spans the
22677
+ page under its bar. */
22678
+ placement?: (HelixMegamenu["placement"]) | undefined;
22616
22679
  /** Whether the panel is a card under the trigger or a band across the page.
22617
22680
 
22618
22681
  The resting one is the card, hanging off the trigger and as wide as it
@@ -22713,8 +22776,24 @@ narrow exception the server specs describe covers a mirror that can only
22713
22776
  become true long after hydration, and a viewport measured before the first
22714
22777
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
22715
22778
  "prop:bandBelow"?: (HelixMegamenu["bandBelow"]) | undefined;
22779
+ /** How long a pointer leaving the trigger and the panel waits before the panel
22780
+ closes, in milliseconds. The pointer needs the time to cross from the
22781
+ trigger to the panel. */
22782
+ "attr:close-delay"?: (HelixMegamenu["closeDelay"] | `${number}`) | undefined;
22783
+ /** How long a pointer leaving the trigger and the panel waits before the panel
22784
+ closes, in milliseconds. The pointer needs the time to cross from the
22785
+ trigger to the panel. */
22786
+ "prop:closeDelay"?: (HelixMegamenu["closeDelay"]) | undefined;
22716
22787
  /** The section's name, used for the default trigger and the panel. */
22717
22788
  "prop:label"?: (HelixMegamenu["label"]) | undefined;
22789
+ /** How long a pointer rests on the trigger before the panel opens, in
22790
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
22791
+ way somewhere else opens nothing. */
22792
+ "attr:open-delay"?: (HelixMegamenu["openDelay"] | `${number}`) | undefined;
22793
+ /** How long a pointer rests on the trigger before the panel opens, in
22794
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
22795
+ way somewhere else opens nothing. */
22796
+ "prop:openDelay"?: (HelixMegamenu["openDelay"]) | undefined;
22718
22797
  /** Whether hovering over the trigger opens the panel (`hover`), or only a press
22719
22798
  does (`click`).
22720
22799
 
@@ -22731,6 +22810,10 @@ the trigger, and it is the default because that is what a navigation bar
22731
22810
  does. `click` is for a trigger that does something else as well, or a panel
22732
22811
  heavy enough that opening it on the way past is rude. */
22733
22812
  "prop:openOn"?: (HelixMegamenu["openOn"]) | undefined;
22813
+ /** The side of the trigger a card panel opens on, when there is room. It
22814
+ moves if that side does not fit. A band ignores it, since a band spans the
22815
+ page under its bar. */
22816
+ "prop:placement"?: (HelixMegamenu["placement"]) | undefined;
22734
22817
  /** Whether the panel is a card under the trigger or a band across the page.
22735
22818
 
22736
22819
  The resting one is the card, hanging off the trigger and as wide as it
@@ -22989,12 +23072,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
22989
23072
  from "Actions" is announced as "Actions". An `aria-label` or
22990
23073
  `aria-labelledby` on the host names it too, and wins over both. */
22991
23074
  label?: (HelixMenu["label"]) | undefined;
23075
+ /** The description a trigger gives under `open-on="long-press"`, saying how
23076
+ to open the menu. Translate it with the rest of your interface. */
23077
+ "long-press-label"?: (HelixMenu["longPressLabel"]) | undefined;
23078
+ /** The description a trigger gives under `open-on="long-press"`, saying how
23079
+ to open the menu. Translate it with the rest of your interface. */
23080
+ longPressLabel?: (HelixMenu["longPressLabel"]) | undefined;
22992
23081
  /** Space between the trigger and the surface, in pixels. */
22993
23082
  offset?: (HelixMenu["offset"]) | undefined;
23083
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
23084
+ trigger's own action and opens the menu on a press held for half a second,
23085
+ or on Alt+Down or Alt+Up. */
23086
+ "open-on"?: (HelixMenu["openOn"]) | undefined;
23087
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
23088
+ trigger's own action and opens the menu on a press held for half a second,
23089
+ or on Alt+Down or Alt+Up. */
23090
+ openOn?: (HelixMenu["openOn"]) | undefined;
22994
23091
  /** The side the menu opens on, when there is room.
22995
23092
 
22996
23093
  It moves if that side does not fit. */
22997
23094
  placement?: (HelixMenu["placement"]) | undefined;
23095
+ /** How a submenu opens. `drill` shows it in place of the page showing, with
23096
+ a way back. `flyout` opens it in a panel of its own beside its row. */
23097
+ submenus?: (HelixMenu["submenus"]) | undefined;
22998
23098
 
22999
23099
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
23000
23100
  ontoggle?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
@@ -23051,12 +23151,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
23051
23151
  from "Actions" is announced as "Actions". An `aria-label` or
23052
23152
  `aria-labelledby` on the host names it too, and wins over both. */
23053
23153
  "prop:label"?: (HelixMenu["label"]) | undefined;
23154
+ /** The description a trigger gives under `open-on="long-press"`, saying how
23155
+ to open the menu. Translate it with the rest of your interface. */
23156
+ "attr:long-press-label"?: (HelixMenu["longPressLabel"]) | undefined;
23157
+ /** The description a trigger gives under `open-on="long-press"`, saying how
23158
+ to open the menu. Translate it with the rest of your interface. */
23159
+ "prop:longPressLabel"?: (HelixMenu["longPressLabel"]) | undefined;
23054
23160
  /** Space between the trigger and the surface, in pixels. */
23055
23161
  "prop:offset"?: (HelixMenu["offset"]) | undefined;
23162
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
23163
+ trigger's own action and opens the menu on a press held for half a second,
23164
+ or on Alt+Down or Alt+Up. */
23165
+ "attr:open-on"?: (HelixMenu["openOn"]) | undefined;
23166
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
23167
+ trigger's own action and opens the menu on a press held for half a second,
23168
+ or on Alt+Down or Alt+Up. */
23169
+ "prop:openOn"?: (HelixMenu["openOn"]) | undefined;
23056
23170
  /** The side the menu opens on, when there is room.
23057
23171
 
23058
23172
  It moves if that side does not fit. */
23059
23173
  "prop:placement"?: (HelixMenu["placement"]) | undefined;
23174
+ /** How a submenu opens. `drill` shows it in place of the page showing, with
23175
+ a way back. `flyout` opens it in a panel of its own beside its row. */
23176
+ "prop:submenus"?: (HelixMenu["submenus"]) | undefined;
23060
23177
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
23061
23178
  "on:toggle"?: ((e: HelixMenuToggleElementEvent) => void) | undefined;
23062
23179
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
@@ -23850,6 +23967,12 @@ say that without the component knowing what a row looks like. */
23850
23967
  "loading-text"?: (HelixNotifications["loadingText"]) | undefined;
23851
23968
  /** The text shown and announced while the rows load. */
23852
23969
  loadingText?: (HelixNotifications["loadingText"]) | undefined;
23970
+ /** What the feed says when unread notifications arrive, with `{count}` the
23971
+ number of them. Empty it to say nothing. */
23972
+ "arrived-label"?: (HelixNotifications["arrivedLabel"]) | undefined;
23973
+ /** What the feed says when unread notifications arrive, with `{count}` the
23974
+ number of them. Empty it to say nothing. */
23975
+ arrivedLabel?: (HelixNotifications["arrivedLabel"]) | undefined;
23853
23976
  /** The region's name where `label` is empty. */
23854
23977
  "fallback-label"?: (HelixNotifications["fallbackLabel"]) | undefined;
23855
23978
  /** The region's name where `label` is empty. */
@@ -23931,6 +24054,12 @@ say that without the component knowing what a row looks like. */
23931
24054
  "attr:loading-text"?: (HelixNotifications["loadingText"]) | undefined;
23932
24055
  /** The text shown and announced while the rows load. */
23933
24056
  "prop:loadingText"?: (HelixNotifications["loadingText"]) | undefined;
24057
+ /** What the feed says when unread notifications arrive, with `{count}` the
24058
+ number of them. Empty it to say nothing. */
24059
+ "attr:arrived-label"?: (HelixNotifications["arrivedLabel"]) | undefined;
24060
+ /** What the feed says when unread notifications arrive, with `{count}` the
24061
+ number of them. Empty it to say nothing. */
24062
+ "prop:arrivedLabel"?: (HelixNotifications["arrivedLabel"]) | undefined;
23934
24063
  /** The region's name where `label` is empty. */
23935
24064
  "attr:fallback-label"?: (HelixNotifications["fallbackLabel"]) | undefined;
23936
24065
  /** The region's name where `label` is empty. */
@@ -35822,6 +35951,10 @@ attribute nobody can use. */
35822
35951
 
35823
35952
  A subset of the tone axis: a toast reports a status and never a brand role. */
35824
35953
  tone?: (HelixToastItem["tone"]) | undefined;
35954
+ /** Whether the region holds the message back, because more messages are
35955
+ showing than its `max-visible`. The region sets it. A waiting message is
35956
+ hidden, its timer has not started, and it is said once it shows. */
35957
+ waiting?: (HelixToastItem["waiting"]) | undefined;
35825
35958
 
35826
35959
  /** Fired when the message is dismissed, by the control or by its timer, and cancelable. Canceling it keeps the message. */
35827
35960
  "onhelix-dismiss"?: ((e: HelixToastItemHelixDismissElementEvent) => void) | undefined;
@@ -35874,6 +36007,10 @@ attribute nobody can use. */
35874
36007
 
35875
36008
  A subset of the tone axis: a toast reports a status and never a brand role. */
35876
36009
  "prop:tone"?: (HelixToastItem["tone"]) | undefined;
36010
+ /** Whether the region holds the message back, because more messages are
36011
+ showing than its `max-visible`. The region sets it. A waiting message is
36012
+ hidden, its timer has not started, and it is said once it shows. */
36013
+ "prop:waiting"?: (HelixToastItem["waiting"]) | undefined;
35877
36014
  /** Fired when the message is dismissed, by the control or by its timer, and cancelable. Canceling it keeps the message. */
35878
36015
  "on:helix-dismiss"?: ((e: HelixToastItemHelixDismissElementEvent) => void) | undefined;
35879
36016
 
@@ -35898,6 +36035,14 @@ Empty turns it off. */
35898
36035
  /** Accessible name for the region, with `{hotkey}` filled in. Translate it with
35899
36036
  the rest of your interface. */
35900
36037
  label?: (HelixToast["label"]) | undefined;
36038
+ /** How many messages show at once. The messages after that many wait, hidden
36039
+ and with their timers stopped, until a message before them goes. Unset,
36040
+ every message shows. */
36041
+ "max-visible"?: (HelixToast["maxVisible"] | `${number}`) | undefined;
36042
+ /** How many messages show at once. The messages after that many wait, hidden
36043
+ and with their timers stopped, until a message before them goes. Unset,
36044
+ every message shows. */
36045
+ maxVisible?: (HelixToast["maxVisible"]) | undefined;
35901
36046
  /** Which corner or edge the stack sits at.
35902
36047
 
35903
36048
  Named here rather than on each message, because where a page puts its
@@ -35937,6 +36082,14 @@ Empty turns it off. */
35937
36082
  /** Accessible name for the region, with `{hotkey}` filled in. Translate it with
35938
36083
  the rest of your interface. */
35939
36084
  "prop:label"?: (HelixToast["label"]) | undefined;
36085
+ /** How many messages show at once. The messages after that many wait, hidden
36086
+ and with their timers stopped, until a message before them goes. Unset,
36087
+ every message shows. */
36088
+ "attr:max-visible"?: (HelixToast["maxVisible"] | `${number}`) | undefined;
36089
+ /** How many messages show at once. The messages after that many wait, hidden
36090
+ and with their timers stopped, until a message before them goes. Unset,
36091
+ every message shows. */
36092
+ "prop:maxVisible"?: (HelixToast["maxVisible"]) | undefined;
35940
36093
  /** Which corner or edge the stack sits at.
35941
36094
 
35942
36095
  Named here rather than on each message, because where a page puts its
@@ -48542,6 +48695,12 @@ export type CustomElements = {
48542
48695
  * Component attributes and properties that can be applied to the element or by using JavaScript.
48543
48696
  *
48544
48697
  * - `disabled`: Whether the row can be reached at all.
48698
+ * - `download`: Whether the link downloads the file when the row is chosen. Only
48699
+ * meaningful beside an `href`, and only for a file served from this origin.
48700
+ * - `href`: The URL the row links to. Setting it renders the row as a link, unless the
48701
+ * row opens a page or is disabled.
48702
+ * - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
48703
+ * - `target`: Where the link opens, for rows that should open outside the current page.
48545
48704
  * - `value`: Identifies the row to your event listeners.
48546
48705
  * - `focusable`: Whether this row holds the region's tab stop. Set by the drill-down.
48547
48706
  *
@@ -48628,7 +48787,7 @@ export type CustomElements = {
48628
48787
  *
48629
48788
  * Custom selectors for styling elements within the component.
48630
48789
  *
48631
- * - `item`: The row itself.
48790
+ * - `item`: The row itself, which is an `<a>` where `href` is set.
48632
48791
  * - `label`: The row's label.
48633
48792
  * - `mark`: The caret at the end of a row that opens a page, after the `end` slot. The caret points, so a stylesheet mirrors it in a right-to-left document.
48634
48793
  *
@@ -48667,6 +48826,12 @@ export type CustomElements = {
48667
48826
  * An `aria-label` or `aria-labelledby` on the host names the top page too,
48668
48827
  * and wins over this.
48669
48828
  * - `back-label`/`backLabel`: The text of the back button.
48829
+ * - `navigation`: Whether the drilldown is a site's navigation: a `navigation` landmark
48830
+ * named by `label`, whose pages are lists of links. Without it, each page is
48831
+ * a `menu`.
48832
+ * - `page`: The page showing, as the `value` of the row that opens it. Empty is the
48833
+ * top page. Setting it shows that page, and a value no row with a page has
48834
+ * shows the top page.
48670
48835
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
48671
48836
  *
48672
48837
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -48692,6 +48857,7 @@ export type CustomElements = {
48692
48857
  *
48693
48858
  * Events that will be emitted by the component.
48694
48859
  *
48860
+ * - `helix-navigate`: Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing.
48695
48861
  * - `helix-select`: Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you.
48696
48862
  *
48697
48863
  * ## Slots
@@ -49468,6 +49634,7 @@ export type CustomElements = {
49468
49634
  * - `entry-shortcut-key`: One key of the shortcut's chord.
49469
49635
  * - `entry-shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
49470
49636
  * - `entry-start`: The leading column.
49637
+ * - `entry-surface`: The panel a row's submenu opens in beside it. The filter menu's rows have none.
49471
49638
  * - `menu`: The menu the fields are offered in.
49472
49639
  * - `menu-back`: The button that goes back from a field's page.
49473
49640
  * - `menu-back-mark`: The icon on the back button.
@@ -54683,7 +54850,13 @@ export type CustomElements = {
54683
54850
  * narrow exception the server specs describe covers a mirror that can only
54684
54851
  * become true long after hydration, and a viewport measured before the first
54685
54852
  * paint is the opposite case. See `MixinControllerOpen` on `open`.
54853
+ * - `close-delay`/`closeDelay`: How long a pointer leaving the trigger and the panel waits before the panel
54854
+ * closes, in milliseconds. The pointer needs the time to cross from the
54855
+ * trigger to the panel.
54686
54856
  * - `label`: The section's name, used for the default trigger and the panel.
54857
+ * - `open-delay`/`openDelay`: How long a pointer rests on the trigger before the panel opens, in
54858
+ * milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
54859
+ * way somewhere else opens nothing.
54687
54860
  * - `open-on`/`openOn`: Whether hovering over the trigger opens the panel (`hover`), or only a press
54688
54861
  * does (`click`).
54689
54862
  *
@@ -54691,6 +54864,9 @@ export type CustomElements = {
54691
54864
  * the trigger, and it is the default because that is what a navigation bar
54692
54865
  * does. `click` is for a trigger that does something else as well, or a panel
54693
54866
  * heavy enough that opening it on the way past is rude.
54867
+ * - `placement`: The side of the trigger a card panel opens on, when there is room. It
54868
+ * moves if that side does not fit. A band ignores it, since a band spans the
54869
+ * page under its bar.
54694
54870
  * - `variant`: Whether the panel is a card under the trigger or a band across the page.
54695
54871
  *
54696
54872
  * The resting one is the card, hanging off the trigger and as wide as it
@@ -54803,6 +54979,7 @@ export type CustomElements = {
54803
54979
  *
54804
54980
  * These can be used to apply styling when a component is in a given state.
54805
54981
  *
54982
+ * - `current`: A link in the panel carries `aria-current="page"`, so the trigger can show the section you are in.
54806
54983
  * - `from-end`: The panel opened in place of one earlier in the bar, so it can enter from the end side.
54807
54984
  * - `from-start`: The panel opened in place of one later in the bar, so it can enter from the start side.
54808
54985
  * - `narrow`: The page is narrower than `band-below`, so the panel is shown as a band whatever its variant.
@@ -54973,12 +55150,15 @@ export type CustomElements = {
54973
55150
  * - `shortcut-key`: One key of the shortcut's chord, such as `Ctrl`.
54974
55151
  * - `shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
54975
55152
  * - `start`: The leading column that holds the `start` slot. It is always rendered.
55153
+ * - `surface`: The panel a submenu opens in beside the row, under the menu's `submenus="flyout"`.
54976
55154
  *
54977
55155
  * ## CSS States
54978
55156
  *
54979
55157
  * These can be used to apply styling when a component is in a given state.
54980
55158
  *
54981
55159
  * - `checked`: The row is checked.
55160
+ * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
55161
+ * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
54982
55162
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
54983
55163
  */
54984
55164
  "helix-menu-item": Partial<
@@ -55024,10 +55204,17 @@ export type CustomElements = {
55024
55204
  * Empty by default, which names the surface by its trigger, so a menu opened
55025
55205
  * from "Actions" is announced as "Actions". An `aria-label` or
55026
55206
  * `aria-labelledby` on the host names it too, and wins over both.
55207
+ * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
55208
+ * to open the menu. Translate it with the rest of your interface.
55027
55209
  * - `offset`: Space between the trigger and the surface, in pixels.
55210
+ * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
55211
+ * trigger's own action and opens the menu on a press held for half a second,
55212
+ * or on Alt+Down or Alt+Up.
55028
55213
  * - `placement`: The side the menu opens on, when there is room.
55029
55214
  *
55030
55215
  * It moves if that side does not fit.
55216
+ * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
55217
+ * a way back. `flyout` opens it in a panel of its own beside its row.
55031
55218
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
55032
55219
  *
55033
55220
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -55837,6 +56024,8 @@ export type CustomElements = {
55837
56024
  * are dimmed rather than removed while a new set arrives, and only CSS can
55838
56025
  * say that without the component knowing what a row looks like.
55839
56026
  * - `loading-text`/`loadingText`: The text shown and announced while the rows load.
56027
+ * - `arrived-label`/`arrivedLabel`: What the feed says when unread notifications arrive, with `{count}` the
56028
+ * number of them. Empty it to say nothing.
55840
56029
  * - `fallback-label`/`fallbackLabel`: The region's name where `label` is empty.
55841
56030
  * - `label`: The feed's name, read by screen readers.
55842
56031
  * - `load-error`/`loadError`: What the feed says when a page of it could not be loaded, such as after a
@@ -65157,6 +65346,9 @@ export type CustomElements = {
65157
65346
  * - `tone`: The kind of message, which sets its mark and the mark's accessible name.
65158
65347
  *
65159
65348
  * A subset of the tone axis: a toast reports a status and never a brand role.
65349
+ * - `waiting`: Whether the region holds the message back, because more messages are
65350
+ * showing than its `max-visible`. The region sets it. A waiting message is
65351
+ * hidden, its timer has not started, and it is said once it shows. (property only)
65160
65352
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
65161
65353
  *
65162
65354
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -65242,6 +65434,9 @@ export type CustomElements = {
65242
65434
  *
65243
65435
  * These can be used to apply styling when a component is in a given state.
65244
65436
  *
65437
+ * - `closed`: The message has been dismissed and is hidden, or leaving.
65438
+ * - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
65439
+ * - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
65245
65440
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
65246
65441
  */
65247
65442
  "helix-toast-item": Partial<
@@ -65267,6 +65462,9 @@ export type CustomElements = {
65267
65462
  * Empty turns it off.
65268
65463
  * - `label`: Accessible name for the region, with `{hotkey}` filled in. Translate it with
65269
65464
  * the rest of your interface.
65465
+ * - `max-visible`/`maxVisible`: How many messages show at once. The messages after that many wait, hidden
65466
+ * and with their timers stopped, until a message before them goes. Unset,
65467
+ * every message shows.
65270
65468
  * - `placement`: Which corner or edge the stack sits at.
65271
65469
  *
65272
65470
  * Named here rather than on each message, because where a page puts its
@@ -67088,6 +67286,7 @@ export type CustomElements = {
67088
67286
  * - `entry-shortcut-key`: One key of an entry's shortcut chord, inside `entry-shortcut`. The playlist's entries set none.
67089
67287
  * - `entry-shortcut-separator`: The `+` between two keys of an entry's shortcut, where the platform writes one.
67090
67288
  * - `entry-start`: The column at the start of an entry. It is a slot and is always present.
67289
+ * - `entry-surface`: The panel an entry's submenu opens in beside it. The playlist's entries have none.
67091
67290
  * - `menu`: The menu that holds the entries.
67092
67291
  * - `menu-back`: The button that goes back from a submenu.
67093
67292
  * - `menu-back-mark`: The icon on a submenu's back button.
@@ -67621,6 +67820,7 @@ export type CustomElements = {
67621
67820
  * - `entry-shortcut-key`: One key of a row's shortcut chord, inside `entry-shortcut`. The player's rows set none.
67622
67821
  * - `entry-shortcut-separator`: The `+` between two keys of a row's shortcut, where the platform writes one.
67623
67822
  * - `entry-start`: The leading column that holds the `start` slot. It is always rendered.
67823
+ * - `entry-surface`: The panel a row's submenu opens in beside it. The player's rows have none.
67624
67824
  * - `failure`: The message shown when the source cannot be played.
67625
67825
  * - `forward`: The button that skips forward ten seconds.
67626
67826
  * - `fullscreen`: The button that enters and leaves fullscreen.
@@ -77010,6 +77210,12 @@ export type CustomElementsSolidJs = {
77010
77210
  * Component attributes and properties that can be applied to the element or by using JavaScript.
77011
77211
  *
77012
77212
  * - `disabled`: Whether the row can be reached at all.
77213
+ * - `download`: Whether the link downloads the file when the row is chosen. Only
77214
+ * meaningful beside an `href`, and only for a file served from this origin.
77215
+ * - `href`: The URL the row links to. Setting it renders the row as a link, unless the
77216
+ * row opens a page or is disabled.
77217
+ * - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
77218
+ * - `target`: Where the link opens, for rows that should open outside the current page.
77013
77219
  * - `value`: Identifies the row to your event listeners.
77014
77220
  * - `focusable`: Whether this row holds the region's tab stop. Set by the drill-down.
77015
77221
  *
@@ -77096,7 +77302,7 @@ export type CustomElementsSolidJs = {
77096
77302
  *
77097
77303
  * Custom selectors for styling elements within the component.
77098
77304
  *
77099
- * - `item`: The row itself.
77305
+ * - `item`: The row itself, which is an `<a>` where `href` is set.
77100
77306
  * - `label`: The row's label.
77101
77307
  * - `mark`: The caret at the end of a row that opens a page, after the `end` slot. The caret points, so a stylesheet mirrors it in a right-to-left document.
77102
77308
  *
@@ -77138,6 +77344,12 @@ export type CustomElementsSolidJs = {
77138
77344
  * An `aria-label` or `aria-labelledby` on the host names the top page too,
77139
77345
  * and wins over this.
77140
77346
  * - `back-label`/`backLabel`: The text of the back button.
77347
+ * - `navigation`: Whether the drilldown is a site's navigation: a `navigation` landmark
77348
+ * named by `label`, whose pages are lists of links. Without it, each page is
77349
+ * a `menu`.
77350
+ * - `page`: The page showing, as the `value` of the row that opens it. Empty is the
77351
+ * top page. Setting it shows that page, and a value no row with a page has
77352
+ * shows the top page.
77141
77353
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
77142
77354
  *
77143
77355
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -77163,6 +77375,7 @@ export type CustomElementsSolidJs = {
77163
77375
  *
77164
77376
  * Events that will be emitted by the component.
77165
77377
  *
77378
+ * - `helix-navigate`: Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing.
77166
77379
  * - `helix-select`: Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you.
77167
77380
  *
77168
77381
  * ## Slots
@@ -77956,6 +78169,7 @@ export type CustomElementsSolidJs = {
77956
78169
  * - `entry-shortcut-key`: One key of the shortcut's chord.
77957
78170
  * - `entry-shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
77958
78171
  * - `entry-start`: The leading column.
78172
+ * - `entry-surface`: The panel a row's submenu opens in beside it. The filter menu's rows have none.
77959
78173
  * - `menu`: The menu the fields are offered in.
77960
78174
  * - `menu-back`: The button that goes back from a field's page.
77961
78175
  * - `menu-back-mark`: The icon on the back button.
@@ -83267,7 +83481,13 @@ export type CustomElementsSolidJs = {
83267
83481
  * narrow exception the server specs describe covers a mirror that can only
83268
83482
  * become true long after hydration, and a viewport measured before the first
83269
83483
  * paint is the opposite case. See `MixinControllerOpen` on `open`.
83484
+ * - `close-delay`/`closeDelay`: How long a pointer leaving the trigger and the panel waits before the panel
83485
+ * closes, in milliseconds. The pointer needs the time to cross from the
83486
+ * trigger to the panel.
83270
83487
  * - `label`: The section's name, used for the default trigger and the panel.
83488
+ * - `open-delay`/`openDelay`: How long a pointer rests on the trigger before the panel opens, in
83489
+ * milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
83490
+ * way somewhere else opens nothing.
83271
83491
  * - `open-on`/`openOn`: Whether hovering over the trigger opens the panel (`hover`), or only a press
83272
83492
  * does (`click`).
83273
83493
  *
@@ -83275,6 +83495,9 @@ export type CustomElementsSolidJs = {
83275
83495
  * the trigger, and it is the default because that is what a navigation bar
83276
83496
  * does. `click` is for a trigger that does something else as well, or a panel
83277
83497
  * heavy enough that opening it on the way past is rude.
83498
+ * - `placement`: The side of the trigger a card panel opens on, when there is room. It
83499
+ * moves if that side does not fit. A band ignores it, since a band spans the
83500
+ * page under its bar.
83278
83501
  * - `variant`: Whether the panel is a card under the trigger or a band across the page.
83279
83502
  *
83280
83503
  * The resting one is the card, hanging off the trigger and as wide as it
@@ -83387,6 +83610,7 @@ export type CustomElementsSolidJs = {
83387
83610
  *
83388
83611
  * These can be used to apply styling when a component is in a given state.
83389
83612
  *
83613
+ * - `current`: A link in the panel carries `aria-current="page"`, so the trigger can show the section you are in.
83390
83614
  * - `from-end`: The panel opened in place of one earlier in the bar, so it can enter from the end side.
83391
83615
  * - `from-start`: The panel opened in place of one later in the bar, so it can enter from the start side.
83392
83616
  * - `narrow`: The page is narrower than `band-below`, so the panel is shown as a band whatever its variant.
@@ -83560,12 +83784,15 @@ export type CustomElementsSolidJs = {
83560
83784
  * - `shortcut-key`: One key of the shortcut's chord, such as `Ctrl`.
83561
83785
  * - `shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
83562
83786
  * - `start`: The leading column that holds the `start` slot. It is always rendered.
83787
+ * - `surface`: The panel a submenu opens in beside the row, under the menu's `submenus="flyout"`.
83563
83788
  *
83564
83789
  * ## CSS States
83565
83790
  *
83566
83791
  * These can be used to apply styling when a component is in a given state.
83567
83792
  *
83568
83793
  * - `checked`: The row is checked.
83794
+ * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
83795
+ * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
83569
83796
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
83570
83797
  */
83571
83798
  "helix-menu-item": Partial<
@@ -83614,10 +83841,17 @@ export type CustomElementsSolidJs = {
83614
83841
  * Empty by default, which names the surface by its trigger, so a menu opened
83615
83842
  * from "Actions" is announced as "Actions". An `aria-label` or
83616
83843
  * `aria-labelledby` on the host names it too, and wins over both.
83844
+ * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
83845
+ * to open the menu. Translate it with the rest of your interface.
83617
83846
  * - `offset`: Space between the trigger and the surface, in pixels.
83847
+ * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
83848
+ * trigger's own action and opens the menu on a press held for half a second,
83849
+ * or on Alt+Down or Alt+Up.
83618
83850
  * - `placement`: The side the menu opens on, when there is room.
83619
83851
  *
83620
83852
  * It moves if that side does not fit.
83853
+ * - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
83854
+ * a way back. `flyout` opens it in a panel of its own beside its row.
83621
83855
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
83622
83856
  *
83623
83857
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -84446,6 +84680,8 @@ export type CustomElementsSolidJs = {
84446
84680
  * are dimmed rather than removed while a new set arrives, and only CSS can
84447
84681
  * say that without the component knowing what a row looks like.
84448
84682
  * - `loading-text`/`loadingText`: The text shown and announced while the rows load.
84683
+ * - `arrived-label`/`arrivedLabel`: What the feed says when unread notifications arrive, with `{count}` the
84684
+ * number of them. Empty it to say nothing.
84449
84685
  * - `fallback-label`/`fallbackLabel`: The region's name where `label` is empty.
84450
84686
  * - `label`: The feed's name, read by screen readers.
84451
84687
  * - `load-error`/`loadError`: What the feed says when a page of it could not be loaded, such as after a
@@ -93938,6 +94174,9 @@ export type CustomElementsSolidJs = {
93938
94174
  * - `tone`: The kind of message, which sets its mark and the mark's accessible name.
93939
94175
  *
93940
94176
  * A subset of the tone axis: a toast reports a status and never a brand role.
94177
+ * - `waiting`: Whether the region holds the message back, because more messages are
94178
+ * showing than its `max-visible`. The region sets it. A waiting message is
94179
+ * hidden, its timer has not started, and it is said once it shows. (property only)
93941
94180
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
93942
94181
  *
93943
94182
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -94023,6 +94262,9 @@ export type CustomElementsSolidJs = {
94023
94262
  *
94024
94263
  * These can be used to apply styling when a component is in a given state.
94025
94264
  *
94265
+ * - `closed`: The message has been dismissed and is hidden, or leaving.
94266
+ * - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
94267
+ * - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
94026
94268
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
94027
94269
  */
94028
94270
  "helix-toast-item": Partial<
@@ -94051,6 +94293,9 @@ export type CustomElementsSolidJs = {
94051
94293
  * Empty turns it off.
94052
94294
  * - `label`: Accessible name for the region, with `{hotkey}` filled in. Translate it with
94053
94295
  * the rest of your interface.
94296
+ * - `max-visible`/`maxVisible`: How many messages show at once. The messages after that many wait, hidden
94297
+ * and with their timers stopped, until a message before them goes. Unset,
94298
+ * every message shows.
94054
94299
  * - `placement`: Which corner or edge the stack sits at.
94055
94300
  *
94056
94301
  * Named here rather than on each message, because where a page puts its
@@ -95907,6 +96152,7 @@ export type CustomElementsSolidJs = {
95907
96152
  * - `entry-shortcut-key`: One key of an entry's shortcut chord, inside `entry-shortcut`. The playlist's entries set none.
95908
96153
  * - `entry-shortcut-separator`: The `+` between two keys of an entry's shortcut, where the platform writes one.
95909
96154
  * - `entry-start`: The column at the start of an entry. It is a slot and is always present.
96155
+ * - `entry-surface`: The panel an entry's submenu opens in beside it. The playlist's entries have none.
95910
96156
  * - `menu`: The menu that holds the entries.
95911
96157
  * - `menu-back`: The button that goes back from a submenu.
95912
96158
  * - `menu-back-mark`: The icon on a submenu's back button.
@@ -96446,6 +96692,7 @@ export type CustomElementsSolidJs = {
96446
96692
  * - `entry-shortcut-key`: One key of a row's shortcut chord, inside `entry-shortcut`. The player's rows set none.
96447
96693
  * - `entry-shortcut-separator`: The `+` between two keys of a row's shortcut, where the platform writes one.
96448
96694
  * - `entry-start`: The leading column that holds the `start` slot. It is always rendered.
96695
+ * - `entry-surface`: The panel a row's submenu opens in beside it. The player's rows have none.
96449
96696
  * - `failure`: The message shown when the source cannot be played.
96450
96697
  * - `forward`: The button that skips forward ten seconds.
96451
96698
  * - `fullscreen`: The button that enters and leaves fullscreen.