@fusion.dev/helix-headless 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/custom-elements.json +909 -46
- package/dist/drilldown/item/drilldown-item.d.ts +49 -1
- package/dist/drilldown/item/drilldown-item.js +77 -17
- package/dist/drilldown/root/drilldown-root.d.ts +45 -5
- package/dist/drilldown/root/drilldown-root.js +51 -5
- package/dist/element-events.generated.js +1 -1
- package/dist/filter-input/menu/filter-menu.d.ts +1 -0
- package/dist/filter-input/menu/filter-menu.js +4 -4
- package/dist/megamenu/root/megamenu-root.d.ts +50 -13
- package/dist/megamenu/root/megamenu-root.js +44 -6
- package/dist/menu/item/menu-item.d.ts +24 -1
- package/dist/menu/item/menu-item.js +42 -2
- package/dist/menu/root/menu-root.d.ts +120 -9
- package/dist/menu/root/menu-root.js +329 -26
- package/dist/notifications/root/notifications-root.d.ts +20 -0
- package/dist/notifications/root/notifications-root.js +32 -1
- package/dist/toast/item/toast-item.d.ts +26 -0
- package/dist/toast/item/toast-item.js +55 -3
- package/dist/toast/root/toast-root.d.ts +32 -0
- package/dist/toast/root/toast-root.js +47 -2
- package/dist/video/root/video-root.d.ts +1 -0
- package/dist/video/root/video-root.js +9 -9
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +1 -0
- package/dist/video-playlist/menu/video-playlist-menu.js +1 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +445 -34
- package/types/vue.d.ts +86 -8
- package/types/words.d.ts +14 -0
package/types/jsx.d.ts
CHANGED
|
@@ -12308,6 +12308,16 @@ export type HelixHeadlessDrilldownItemHelixSelectElementEvent =
|
|
|
12308
12308
|
export type HelixHeadlessDrilldownItemProps = {
|
|
12309
12309
|
/** Whether the row can be reached at all. */
|
|
12310
12310
|
disabled?: (HelixHeadlessDrilldownItem["disabled"]) | undefined;
|
|
12311
|
+
/** Whether the link downloads the file when the row is chosen. Only
|
|
12312
|
+
meaningful beside an `href`, and only for a file served from this origin. */
|
|
12313
|
+
download?: (HelixHeadlessDrilldownItem["download"]) | undefined;
|
|
12314
|
+
/** The URL the row links to. Setting it renders the row as a link, unless the
|
|
12315
|
+
row opens a page or is disabled. */
|
|
12316
|
+
href?: (HelixHeadlessDrilldownItem["href"]) | undefined;
|
|
12317
|
+
/** The link's `rel`. Set it whenever you set `target="_blank"`. */
|
|
12318
|
+
rel?: (HelixHeadlessDrilldownItem["rel"]) | undefined;
|
|
12319
|
+
/** Where the link opens, for rows that should open outside the current page. */
|
|
12320
|
+
target?: (HelixHeadlessDrilldownItem["target"]) | undefined;
|
|
12311
12321
|
/** Identifies the row to your event listeners. */
|
|
12312
12322
|
value?: (HelixHeadlessDrilldownItem["value"]) | undefined;
|
|
12313
12323
|
/** Whether this row holds the region's tab stop. Set by the drill-down.
|
|
@@ -12332,6 +12342,16 @@ lands inside this shadow root instead. */
|
|
|
12332
12342
|
export type HelixHeadlessDrilldownItemSolidJsProps = {
|
|
12333
12343
|
/** Whether the row can be reached at all. */
|
|
12334
12344
|
"prop:disabled"?: (HelixHeadlessDrilldownItem["disabled"]) | undefined;
|
|
12345
|
+
/** Whether the link downloads the file when the row is chosen. Only
|
|
12346
|
+
meaningful beside an `href`, and only for a file served from this origin. */
|
|
12347
|
+
"prop:download"?: (HelixHeadlessDrilldownItem["download"]) | undefined;
|
|
12348
|
+
/** The URL the row links to. Setting it renders the row as a link, unless the
|
|
12349
|
+
row opens a page or is disabled. */
|
|
12350
|
+
"prop:href"?: (HelixHeadlessDrilldownItem["href"]) | undefined;
|
|
12351
|
+
/** The link's `rel`. Set it whenever you set `target="_blank"`. */
|
|
12352
|
+
"prop:rel"?: (HelixHeadlessDrilldownItem["rel"]) | undefined;
|
|
12353
|
+
/** Where the link opens, for rows that should open outside the current page. */
|
|
12354
|
+
"prop:target"?: (HelixHeadlessDrilldownItem["target"]) | undefined;
|
|
12335
12355
|
/** Identifies the row to your event listeners. */
|
|
12336
12356
|
"prop:value"?: (HelixHeadlessDrilldownItem["value"]) | undefined;
|
|
12337
12357
|
/** Whether this row holds the region's tab stop. Set by the drill-down.
|
|
@@ -12362,6 +12382,9 @@ export type HelixHeadlessDrilldownElementEvent<E = Event> = TypedEvent<
|
|
|
12362
12382
|
HelixHeadlessDrilldown,
|
|
12363
12383
|
E
|
|
12364
12384
|
>;
|
|
12385
|
+
/** `helix-navigate` event type */
|
|
12386
|
+
export type HelixHeadlessDrilldownHelixNavigateElementEvent =
|
|
12387
|
+
HelixHeadlessDrilldownElementEvent<HelixNavigateEvent>;
|
|
12365
12388
|
/** `helix-select` event type */
|
|
12366
12389
|
export type HelixHeadlessDrilldownHelixSelectElementEvent =
|
|
12367
12390
|
HelixHeadlessDrilldownElementEvent<HelixSelectEvent>;
|
|
@@ -12377,6 +12400,14 @@ and wins over this. */
|
|
|
12377
12400
|
"back-label"?: (HelixHeadlessDrilldown["backLabel"]) | undefined;
|
|
12378
12401
|
/** The text of the back button. */
|
|
12379
12402
|
backLabel?: (HelixHeadlessDrilldown["backLabel"]) | undefined;
|
|
12403
|
+
/** Whether the drilldown is a site's navigation: a `navigation` landmark
|
|
12404
|
+
named by `label`, whose pages are lists of links. Without it, each page is
|
|
12405
|
+
a `menu`. */
|
|
12406
|
+
navigation?: (HelixHeadlessDrilldown["navigation"]) | undefined;
|
|
12407
|
+
/** The page showing, as the `value` of the row that opens it. Empty is the
|
|
12408
|
+
top page. Setting it shows that page, and a value no row with a page has
|
|
12409
|
+
shows the top page. */
|
|
12410
|
+
page?: (HelixHeadlessDrilldown["page"]) | undefined;
|
|
12380
12411
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
12381
12412
|
"empty-text"?: (HelixHeadlessDrilldown["emptyText"]) | undefined;
|
|
12382
12413
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
@@ -12392,6 +12423,10 @@ say that without the component knowing what a row looks like. */
|
|
|
12392
12423
|
/** The text shown and announced while the rows load. */
|
|
12393
12424
|
loadingText?: (HelixHeadlessDrilldown["loadingText"]) | undefined;
|
|
12394
12425
|
|
|
12426
|
+
/** 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. */
|
|
12427
|
+
"onhelix-navigate"?: ((
|
|
12428
|
+
e: HelixHeadlessDrilldownHelixNavigateElementEvent,
|
|
12429
|
+
) => void) | undefined;
|
|
12395
12430
|
/** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
|
|
12396
12431
|
"onhelix-select"?: ((e: HelixHeadlessDrilldownHelixSelectElementEvent) => void) | undefined;
|
|
12397
12432
|
};
|
|
@@ -12407,6 +12442,14 @@ and wins over this. */
|
|
|
12407
12442
|
"attr:back-label"?: (HelixHeadlessDrilldown["backLabel"]) | undefined;
|
|
12408
12443
|
/** The text of the back button. */
|
|
12409
12444
|
"prop:backLabel"?: (HelixHeadlessDrilldown["backLabel"]) | undefined;
|
|
12445
|
+
/** Whether the drilldown is a site's navigation: a `navigation` landmark
|
|
12446
|
+
named by `label`, whose pages are lists of links. Without it, each page is
|
|
12447
|
+
a `menu`. */
|
|
12448
|
+
"prop:navigation"?: (HelixHeadlessDrilldown["navigation"]) | undefined;
|
|
12449
|
+
/** The page showing, as the `value` of the row that opens it. Empty is the
|
|
12450
|
+
top page. Setting it shows that page, and a value no row with a page has
|
|
12451
|
+
shows the top page. */
|
|
12452
|
+
"prop:page"?: (HelixHeadlessDrilldown["page"]) | undefined;
|
|
12410
12453
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
12411
12454
|
"attr:empty-text"?: (HelixHeadlessDrilldown["emptyText"]) | undefined;
|
|
12412
12455
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
@@ -12421,6 +12464,10 @@ say that without the component knowing what a row looks like. */
|
|
|
12421
12464
|
"attr:loading-text"?: (HelixHeadlessDrilldown["loadingText"]) | undefined;
|
|
12422
12465
|
/** The text shown and announced while the rows load. */
|
|
12423
12466
|
"prop:loadingText"?: (HelixHeadlessDrilldown["loadingText"]) | undefined;
|
|
12467
|
+
/** 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. */
|
|
12468
|
+
"on:helix-navigate"?: ((
|
|
12469
|
+
e: HelixHeadlessDrilldownHelixNavigateElementEvent,
|
|
12470
|
+
) => void) | undefined;
|
|
12424
12471
|
/** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
|
|
12425
12472
|
"on:helix-select"?: ((
|
|
12426
12473
|
e: HelixHeadlessDrilldownHelixSelectElementEvent,
|
|
@@ -19855,8 +19902,24 @@ narrow exception the server specs describe covers a mirror that can only
|
|
|
19855
19902
|
become true long after hydration, and a viewport measured before the first
|
|
19856
19903
|
paint is the opposite case. See `MixinControllerOpen` on `open`. */
|
|
19857
19904
|
bandBelow?: (HelixHeadlessMegamenu["bandBelow"]) | undefined;
|
|
19905
|
+
/** How long a pointer leaving the trigger and the panel waits before the panel
|
|
19906
|
+
closes, in milliseconds. The pointer needs the time to cross from the
|
|
19907
|
+
trigger to the panel. */
|
|
19908
|
+
"close-delay"?: (HelixHeadlessMegamenu["closeDelay"] | `${number}`) | undefined;
|
|
19909
|
+
/** How long a pointer leaving the trigger and the panel waits before the panel
|
|
19910
|
+
closes, in milliseconds. The pointer needs the time to cross from the
|
|
19911
|
+
trigger to the panel. */
|
|
19912
|
+
closeDelay?: (HelixHeadlessMegamenu["closeDelay"]) | undefined;
|
|
19858
19913
|
/** The section's name, used for the default trigger and the panel. */
|
|
19859
19914
|
label?: (HelixHeadlessMegamenu["label"]) | undefined;
|
|
19915
|
+
/** How long a pointer rests on the trigger before the panel opens, in
|
|
19916
|
+
milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
19917
|
+
way somewhere else opens nothing. */
|
|
19918
|
+
"open-delay"?: (HelixHeadlessMegamenu["openDelay"] | `${number}`) | undefined;
|
|
19919
|
+
/** How long a pointer rests on the trigger before the panel opens, in
|
|
19920
|
+
milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
19921
|
+
way somewhere else opens nothing. */
|
|
19922
|
+
openDelay?: (HelixHeadlessMegamenu["openDelay"]) | undefined;
|
|
19860
19923
|
/** Whether hovering over the trigger opens the panel (`hover`), or only a press
|
|
19861
19924
|
does (`click`).
|
|
19862
19925
|
|
|
@@ -19873,6 +19936,10 @@ the trigger, and it is the default because that is what a navigation bar
|
|
|
19873
19936
|
does. `click` is for a trigger that does something else as well, or a panel
|
|
19874
19937
|
heavy enough that opening it on the way past is rude. */
|
|
19875
19938
|
openOn?: (HelixHeadlessMegamenu["openOn"]) | undefined;
|
|
19939
|
+
/** The side of the trigger a card panel opens on, when there is room. It
|
|
19940
|
+
moves if that side does not fit. A band ignores it, since a band spans the
|
|
19941
|
+
page under its bar. */
|
|
19942
|
+
placement?: (HelixHeadlessMegamenu["placement"]) | undefined;
|
|
19876
19943
|
/** Whether the panel is a card under the trigger or a band across the page.
|
|
19877
19944
|
|
|
19878
19945
|
The resting one is the card, hanging off the trigger and as wide as it
|
|
@@ -19975,8 +20042,24 @@ narrow exception the server specs describe covers a mirror that can only
|
|
|
19975
20042
|
become true long after hydration, and a viewport measured before the first
|
|
19976
20043
|
paint is the opposite case. See `MixinControllerOpen` on `open`. */
|
|
19977
20044
|
"prop:bandBelow"?: (HelixHeadlessMegamenu["bandBelow"]) | undefined;
|
|
20045
|
+
/** How long a pointer leaving the trigger and the panel waits before the panel
|
|
20046
|
+
closes, in milliseconds. The pointer needs the time to cross from the
|
|
20047
|
+
trigger to the panel. */
|
|
20048
|
+
"attr:close-delay"?: (HelixHeadlessMegamenu["closeDelay"] | `${number}`) | undefined;
|
|
20049
|
+
/** How long a pointer leaving the trigger and the panel waits before the panel
|
|
20050
|
+
closes, in milliseconds. The pointer needs the time to cross from the
|
|
20051
|
+
trigger to the panel. */
|
|
20052
|
+
"prop:closeDelay"?: (HelixHeadlessMegamenu["closeDelay"]) | undefined;
|
|
19978
20053
|
/** The section's name, used for the default trigger and the panel. */
|
|
19979
20054
|
"prop:label"?: (HelixHeadlessMegamenu["label"]) | undefined;
|
|
20055
|
+
/** How long a pointer rests on the trigger before the panel opens, in
|
|
20056
|
+
milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
20057
|
+
way somewhere else opens nothing. */
|
|
20058
|
+
"attr:open-delay"?: (HelixHeadlessMegamenu["openDelay"] | `${number}`) | undefined;
|
|
20059
|
+
/** How long a pointer rests on the trigger before the panel opens, in
|
|
20060
|
+
milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
20061
|
+
way somewhere else opens nothing. */
|
|
20062
|
+
"prop:openDelay"?: (HelixHeadlessMegamenu["openDelay"]) | undefined;
|
|
19980
20063
|
/** Whether hovering over the trigger opens the panel (`hover`), or only a press
|
|
19981
20064
|
does (`click`).
|
|
19982
20065
|
|
|
@@ -19993,6 +20076,10 @@ the trigger, and it is the default because that is what a navigation bar
|
|
|
19993
20076
|
does. `click` is for a trigger that does something else as well, or a panel
|
|
19994
20077
|
heavy enough that opening it on the way past is rude. */
|
|
19995
20078
|
"prop:openOn"?: (HelixHeadlessMegamenu["openOn"]) | undefined;
|
|
20079
|
+
/** The side of the trigger a card panel opens on, when there is room. It
|
|
20080
|
+
moves if that side does not fit. A band ignores it, since a band spans the
|
|
20081
|
+
page under its bar. */
|
|
20082
|
+
"prop:placement"?: (HelixHeadlessMegamenu["placement"]) | undefined;
|
|
19996
20083
|
/** Whether the panel is a card under the trigger or a band across the page.
|
|
19997
20084
|
|
|
19998
20085
|
The resting one is the card, hanging off the trigger and as wide as it
|
|
@@ -20244,12 +20331,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
|
|
|
20244
20331
|
from "Actions" is announced as "Actions". An `aria-label` or
|
|
20245
20332
|
`aria-labelledby` on the host names it too, and wins over both. */
|
|
20246
20333
|
label?: (HelixHeadlessMenu["label"]) | undefined;
|
|
20334
|
+
/** The description a trigger gives under `open-on="long-press"`, saying how
|
|
20335
|
+
to open the menu. Translate it with the rest of your interface. */
|
|
20336
|
+
"long-press-label"?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
|
|
20337
|
+
/** The description a trigger gives under `open-on="long-press"`, saying how
|
|
20338
|
+
to open the menu. Translate it with the rest of your interface. */
|
|
20339
|
+
longPressLabel?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
|
|
20247
20340
|
/** Space between the trigger and the surface, in pixels. */
|
|
20248
20341
|
offset?: (HelixHeadlessMenu["offset"]) | undefined;
|
|
20342
|
+
/** What opens the menu from its trigger. `long-press` leaves a press to the
|
|
20343
|
+
trigger's own action and opens the menu on a press held for half a second,
|
|
20344
|
+
or on Alt+Down or Alt+Up. */
|
|
20345
|
+
"open-on"?: (HelixHeadlessMenu["openOn"]) | undefined;
|
|
20346
|
+
/** What opens the menu from its trigger. `long-press` leaves a press to the
|
|
20347
|
+
trigger's own action and opens the menu on a press held for half a second,
|
|
20348
|
+
or on Alt+Down or Alt+Up. */
|
|
20349
|
+
openOn?: (HelixHeadlessMenu["openOn"]) | undefined;
|
|
20249
20350
|
/** The side the menu opens on, when there is room.
|
|
20250
20351
|
|
|
20251
20352
|
It moves if that side does not fit. */
|
|
20252
20353
|
placement?: (HelixHeadlessMenu["placement"]) | undefined;
|
|
20354
|
+
/** How a submenu opens. `drill` shows it in place of the page showing, with
|
|
20355
|
+
a way back. `flyout` opens it in a panel of its own beside its row. */
|
|
20356
|
+
submenus?: (HelixHeadlessMenu["submenus"]) | undefined;
|
|
20253
20357
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
20254
20358
|
"empty-text"?: (HelixHeadlessMenu["emptyText"]) | undefined;
|
|
20255
20359
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
@@ -20310,12 +20414,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
|
|
|
20310
20414
|
from "Actions" is announced as "Actions". An `aria-label` or
|
|
20311
20415
|
`aria-labelledby` on the host names it too, and wins over both. */
|
|
20312
20416
|
"prop:label"?: (HelixHeadlessMenu["label"]) | undefined;
|
|
20417
|
+
/** The description a trigger gives under `open-on="long-press"`, saying how
|
|
20418
|
+
to open the menu. Translate it with the rest of your interface. */
|
|
20419
|
+
"attr:long-press-label"?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
|
|
20420
|
+
/** The description a trigger gives under `open-on="long-press"`, saying how
|
|
20421
|
+
to open the menu. Translate it with the rest of your interface. */
|
|
20422
|
+
"prop:longPressLabel"?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
|
|
20313
20423
|
/** Space between the trigger and the surface, in pixels. */
|
|
20314
20424
|
"prop:offset"?: (HelixHeadlessMenu["offset"]) | undefined;
|
|
20425
|
+
/** What opens the menu from its trigger. `long-press` leaves a press to the
|
|
20426
|
+
trigger's own action and opens the menu on a press held for half a second,
|
|
20427
|
+
or on Alt+Down or Alt+Up. */
|
|
20428
|
+
"attr:open-on"?: (HelixHeadlessMenu["openOn"]) | undefined;
|
|
20429
|
+
/** What opens the menu from its trigger. `long-press` leaves a press to the
|
|
20430
|
+
trigger's own action and opens the menu on a press held for half a second,
|
|
20431
|
+
or on Alt+Down or Alt+Up. */
|
|
20432
|
+
"prop:openOn"?: (HelixHeadlessMenu["openOn"]) | undefined;
|
|
20315
20433
|
/** The side the menu opens on, when there is room.
|
|
20316
20434
|
|
|
20317
20435
|
It moves if that side does not fit. */
|
|
20318
20436
|
"prop:placement"?: (HelixHeadlessMenu["placement"]) | undefined;
|
|
20437
|
+
/** How a submenu opens. `drill` shows it in place of the page showing, with
|
|
20438
|
+
a way back. `flyout` opens it in a panel of its own beside its row. */
|
|
20439
|
+
"prop:submenus"?: (HelixHeadlessMenu["submenus"]) | undefined;
|
|
20319
20440
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
20320
20441
|
"attr:empty-text"?: (HelixHeadlessMenu["emptyText"]) | undefined;
|
|
20321
20442
|
/** The text shown and announced when there are no rows and none are loading. */
|
|
@@ -21054,6 +21175,12 @@ export type HelixHeadlessNotificationsHelixReadElementEvent =
|
|
|
21054
21175
|
HelixHeadlessNotificationsElementEvent<HelixReadEvent>;
|
|
21055
21176
|
|
|
21056
21177
|
export type HelixHeadlessNotificationsProps = {
|
|
21178
|
+
/** What the feed says when unread notifications arrive, with `{count}` the
|
|
21179
|
+
number of them. Empty it to say nothing. */
|
|
21180
|
+
"arrived-label"?: (HelixHeadlessNotifications["arrivedLabel"]) | undefined;
|
|
21181
|
+
/** What the feed says when unread notifications arrive, with `{count}` the
|
|
21182
|
+
number of them. Empty it to say nothing. */
|
|
21183
|
+
arrivedLabel?: (HelixHeadlessNotifications["arrivedLabel"]) | undefined;
|
|
21057
21184
|
/** The region's name where `label` is empty. */
|
|
21058
21185
|
"fallback-label"?: (HelixHeadlessNotifications["fallbackLabel"]) | undefined;
|
|
21059
21186
|
/** The region's name where `label` is empty. */
|
|
@@ -21126,6 +21253,12 @@ say that without the component knowing what a row looks like. */
|
|
|
21126
21253
|
};
|
|
21127
21254
|
|
|
21128
21255
|
export type HelixHeadlessNotificationsSolidJsProps = {
|
|
21256
|
+
/** What the feed says when unread notifications arrive, with `{count}` the
|
|
21257
|
+
number of them. Empty it to say nothing. */
|
|
21258
|
+
"attr:arrived-label"?: (HelixHeadlessNotifications["arrivedLabel"]) | undefined;
|
|
21259
|
+
/** What the feed says when unread notifications arrive, with `{count}` the
|
|
21260
|
+
number of them. Empty it to say nothing. */
|
|
21261
|
+
"prop:arrivedLabel"?: (HelixHeadlessNotifications["arrivedLabel"]) | undefined;
|
|
21129
21262
|
/** The region's name where `label` is empty. */
|
|
21130
21263
|
"attr:fallback-label"?: (HelixHeadlessNotifications["fallbackLabel"]) | undefined;
|
|
21131
21264
|
/** The region's name where `label` is empty. */
|
|
@@ -31381,6 +31514,10 @@ A word property: register it for a locale under the host's key. A family
|
|
|
31381
31514
|
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
31382
31515
|
declares its own English with `@words` above the override. */
|
|
31383
31516
|
dismissLabel?: (HelixHeadlessToastItem["dismissLabel"]) | undefined;
|
|
31517
|
+
/** Whether the region holds the message back, because more messages are
|
|
31518
|
+
showing than its `max-visible`. The region sets it. A waiting message is
|
|
31519
|
+
hidden, its timer has not started, and it is said once it shows. */
|
|
31520
|
+
waiting?: (HelixHeadlessToastItem["waiting"]) | undefined;
|
|
31384
31521
|
|
|
31385
31522
|
/** Fired when the message is dismissed, by the control or by its timer, and cancelable. Canceling it keeps the message. */
|
|
31386
31523
|
"onhelix-dismiss"?: ((
|
|
@@ -31435,6 +31572,10 @@ A word property: register it for a locale under the host's key. A family
|
|
|
31435
31572
|
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
31436
31573
|
declares its own English with `@words` above the override. */
|
|
31437
31574
|
"prop:dismissLabel"?: (HelixHeadlessToastItem["dismissLabel"]) | undefined;
|
|
31575
|
+
/** Whether the region holds the message back, because more messages are
|
|
31576
|
+
showing than its `max-visible`. The region sets it. A waiting message is
|
|
31577
|
+
hidden, its timer has not started, and it is said once it shows. */
|
|
31578
|
+
"prop:waiting"?: (HelixHeadlessToastItem["waiting"]) | undefined;
|
|
31438
31579
|
/** Fired when the message is dismissed, by the control or by its timer, and cancelable. Canceling it keeps the message. */
|
|
31439
31580
|
"on:helix-dismiss"?: ((
|
|
31440
31581
|
e: HelixHeadlessToastItemHelixDismissElementEvent,
|
|
@@ -31464,6 +31605,14 @@ Empty turns it off. */
|
|
|
31464
31605
|
/** Accessible name for the region, with `{hotkey}` filled in. Translate it with
|
|
31465
31606
|
the rest of your interface. */
|
|
31466
31607
|
label?: (HelixHeadlessToast["label"]) | undefined;
|
|
31608
|
+
/** How many messages show at once. The messages after that many wait, hidden
|
|
31609
|
+
and with their timers stopped, until a message before them goes. Unset,
|
|
31610
|
+
every message shows. */
|
|
31611
|
+
"max-visible"?: (HelixHeadlessToast["maxVisible"] | `${number}`) | undefined;
|
|
31612
|
+
/** How many messages show at once. The messages after that many wait, hidden
|
|
31613
|
+
and with their timers stopped, until a message before them goes. Unset,
|
|
31614
|
+
every message shows. */
|
|
31615
|
+
maxVisible?: (HelixHeadlessToast["maxVisible"]) | undefined;
|
|
31467
31616
|
/** Which corner or edge the stack sits at.
|
|
31468
31617
|
|
|
31469
31618
|
Named here rather than on each message, because where a page puts its
|
|
@@ -31503,6 +31652,14 @@ Empty turns it off. */
|
|
|
31503
31652
|
/** Accessible name for the region, with `{hotkey}` filled in. Translate it with
|
|
31504
31653
|
the rest of your interface. */
|
|
31505
31654
|
"prop:label"?: (HelixHeadlessToast["label"]) | undefined;
|
|
31655
|
+
/** How many messages show at once. The messages after that many wait, hidden
|
|
31656
|
+
and with their timers stopped, until a message before them goes. Unset,
|
|
31657
|
+
every message shows. */
|
|
31658
|
+
"attr:max-visible"?: (HelixHeadlessToast["maxVisible"] | `${number}`) | undefined;
|
|
31659
|
+
/** How many messages show at once. The messages after that many wait, hidden
|
|
31660
|
+
and with their timers stopped, until a message before them goes. Unset,
|
|
31661
|
+
every message shows. */
|
|
31662
|
+
"prop:maxVisible"?: (HelixHeadlessToast["maxVisible"]) | undefined;
|
|
31506
31663
|
/** Which corner or edge the stack sits at.
|
|
31507
31664
|
|
|
31508
31665
|
Named here rather than on each message, because where a page puts its
|
|
@@ -43706,6 +43863,16 @@ export type CustomElements = {
|
|
|
43706
43863
|
* `aria-haspopup`, the same way `Menu` marks a row with a submenu. The server
|
|
43707
43864
|
* render leaves both out, because the server cannot see the children.
|
|
43708
43865
|
*
|
|
43866
|
+
* **A row with an `href` is a link.** The row itself renders as an `<a>`
|
|
43867
|
+
* carrying `menuitem`, as `Menu.Item` does, so a middle click, a modified
|
|
43868
|
+
* click and the status bar keep working. Enter follows it, and Space does too.
|
|
43869
|
+
* Choosing it fires `helix-select` first: cancel the event and the link is not
|
|
43870
|
+
* followed, so a router can take the navigation. A row that opens a page, or a
|
|
43871
|
+
* disabled row, renders no link.
|
|
43872
|
+
*
|
|
43873
|
+
* A development build warns when a row has no words to be named by, such as a
|
|
43874
|
+
* row holding only an icon with no label.
|
|
43875
|
+
*
|
|
43709
43876
|
* The row is named by its label alone. Words in `description`, a line under
|
|
43710
43877
|
* the label, and in `end` describe it instead, through `aria-describedby`, as
|
|
43711
43878
|
* `Menu.Item` does: a reader hears "Theme", then "Dark".
|
|
@@ -43715,6 +43882,12 @@ export type CustomElements = {
|
|
|
43715
43882
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
43716
43883
|
*
|
|
43717
43884
|
* - `disabled`: Whether the row can be reached at all.
|
|
43885
|
+
* - `download`: Whether the link downloads the file when the row is chosen. Only
|
|
43886
|
+
* meaningful beside an `href`, and only for a file served from this origin.
|
|
43887
|
+
* - `href`: The URL the row links to. Setting it renders the row as a link, unless the
|
|
43888
|
+
* row opens a page or is disabled.
|
|
43889
|
+
* - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
|
|
43890
|
+
* - `target`: Where the link opens, for rows that should open outside the current page.
|
|
43718
43891
|
* - `value`: Identifies the row to your event listeners.
|
|
43719
43892
|
* - `focusable`: Whether this row holds the region's tab stop. Set by the drill-down.
|
|
43720
43893
|
*
|
|
@@ -43788,7 +43961,7 @@ export type CustomElements = {
|
|
|
43788
43961
|
*
|
|
43789
43962
|
* Custom selectors for styling elements within the component.
|
|
43790
43963
|
*
|
|
43791
|
-
* - `item`: The row itself.
|
|
43964
|
+
* - `item`: The row itself, which is an `<a>` where `href` is set.
|
|
43792
43965
|
* - `label`: The row's label.
|
|
43793
43966
|
* - `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.
|
|
43794
43967
|
*
|
|
@@ -43820,6 +43993,11 @@ export type CustomElements = {
|
|
|
43820
43993
|
* and reads the rest from the DOM. The behavior lives in `DrilldownController`,
|
|
43821
43994
|
* which `Menu` shares.
|
|
43822
43995
|
*
|
|
43996
|
+
* **`page` is the page showing**, as the `value` of the row that opens it,
|
|
43997
|
+
* and empty on the top page. Set it to show a page, such as one a link to a
|
|
43998
|
+
* settings screen names. A reader's move updates it, and `helix-navigate`
|
|
43999
|
+
* comes first, so you can refuse the move or take it yourself.
|
|
44000
|
+
*
|
|
43823
44001
|
* After each move the host carries `data-direction`, `forward` into a page or
|
|
43824
44002
|
* `back` out of one, and records `:state(forward)` or `:state(back)`, so a
|
|
43825
44003
|
* stylesheet can slide the new page in from the side the reader is going. Both
|
|
@@ -43827,13 +44005,25 @@ export type CustomElements = {
|
|
|
43827
44005
|
* page, two moves the same way included. The styled tier slides the page and
|
|
43828
44006
|
* swaps it at once under `prefers-reduced-motion`.
|
|
43829
44007
|
*
|
|
43830
|
-
*
|
|
43831
|
-
*
|
|
43832
|
-
*
|
|
43833
|
-
*
|
|
44008
|
+
* **Keyboard.** The drilldown is one tab stop, on the row last focused.
|
|
44009
|
+
*
|
|
44010
|
+
* | Key | What it does |
|
|
44011
|
+
* |---|---|
|
|
44012
|
+
* | Down Arrow, Up Arrow | Moves to the next or the previous row. |
|
|
44013
|
+
* | Home, End | Moves to the first or the last row. |
|
|
44014
|
+
* | A letter | Moves to the next row whose name starts with it. |
|
|
44015
|
+
* | Enter, Space | Chooses the row: opens its page, follows its link, or sends `helix-select`. |
|
|
44016
|
+
* | Right Arrow | Opens the row's page. Left Arrow on a right-to-left page. |
|
|
44017
|
+
* | Left Arrow, Escape | Goes back one page, with focus on the row that opened it. Right Arrow on a right-to-left page. |
|
|
43834
44018
|
*
|
|
43835
44019
|
* The rows of the page showing are a `menu`, named by `label` on the top page
|
|
43836
|
-
* and by the page's title below it.
|
|
44020
|
+
* and by the page's title below it.
|
|
44021
|
+
*
|
|
44022
|
+
* **`navigation` makes it a site's navigation.** The host is a `navigation`
|
|
44023
|
+
* landmark named by `label`, each page is a list, and each row is a list item
|
|
44024
|
+
* holding a link or a button, as the APG's disclosure navigation is built,
|
|
44025
|
+
* so a reader meets places to go in place of a menu of commands. The keys stay
|
|
44026
|
+
* the same. The back button and the title sit above
|
|
43837
44027
|
* the menu. Disabled rows stay reachable with the arrow keys, and typing a
|
|
43838
44028
|
* letter moves to the next row whose name starts with it.
|
|
43839
44029
|
*
|
|
@@ -43847,6 +44037,12 @@ export type CustomElements = {
|
|
|
43847
44037
|
* An `aria-label` or `aria-labelledby` on the host names the top page too,
|
|
43848
44038
|
* and wins over this.
|
|
43849
44039
|
* - `back-label`/`backLabel`: The text of the back button.
|
|
44040
|
+
* - `navigation`: Whether the drilldown is a site's navigation: a `navigation` landmark
|
|
44041
|
+
* named by `label`, whose pages are lists of links. Without it, each page is
|
|
44042
|
+
* a `menu`.
|
|
44043
|
+
* - `page`: The page showing, as the `value` of the row that opens it. Empty is the
|
|
44044
|
+
* top page. Setting it shows that page, and a value no row with a page has
|
|
44045
|
+
* shows the top page.
|
|
43850
44046
|
* - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
|
|
43851
44047
|
* - `loading`: Whether the rows are still loading.
|
|
43852
44048
|
*
|
|
@@ -43879,6 +44075,7 @@ export type CustomElements = {
|
|
|
43879
44075
|
*
|
|
43880
44076
|
* Events that will be emitted by the component.
|
|
43881
44077
|
*
|
|
44078
|
+
* - `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.
|
|
43882
44079
|
* - `helix-select`: Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you.
|
|
43883
44080
|
*
|
|
43884
44081
|
* ## Slots
|
|
@@ -44734,6 +44931,7 @@ export type CustomElements = {
|
|
|
44734
44931
|
* - `entry-shortcut-key`: One key of the shortcut's chord.
|
|
44735
44932
|
* - `entry-shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
|
|
44736
44933
|
* - `entry-start`: The leading column.
|
|
44934
|
+
* - `entry-surface`: The panel a row's submenu opens in beside it. The filter menu's rows have none.
|
|
44737
44935
|
* - `menu`: The menu the fields are offered in.
|
|
44738
44936
|
* - `menu-back`: The button that goes back from a field's page.
|
|
44739
44937
|
* - `menu-back-mark`: The icon on the back button.
|
|
@@ -49880,7 +50078,10 @@ export type CustomElements = {
|
|
|
49880
50078
|
*
|
|
49881
50079
|
* It opens on hover by default, and a press always opens it too. `open-on` sets
|
|
49882
50080
|
* which. Hover is the default because in a navigation bar people expect to move
|
|
49883
|
-
* along the row and see each section.
|
|
50081
|
+
* along the row and see each section. A pointer resting on the trigger opens
|
|
50082
|
+
* the panel after `open-delay`, and leaving closes it after `close-delay`. Moving
|
|
50083
|
+
* from one open panel's trigger to another's opens the next at once, as Radix's
|
|
50084
|
+
* `skipDelayDuration` does.
|
|
49884
50085
|
*
|
|
49885
50086
|
* When one panel opens in place of another, each says which way the reader
|
|
49886
50087
|
* moved, as Radix's `data-motion` does. Moving toward the end of the bar, the
|
|
@@ -49898,6 +50099,10 @@ export type CustomElements = {
|
|
|
49898
50099
|
* navigation menu publishes the same pair from its shared viewport, so a
|
|
49899
50100
|
* stylesheet can grow or shrink one panel into the next.
|
|
49900
50101
|
*
|
|
50102
|
+
* While a link in the panel carries `aria-current="page"`, the host has
|
|
50103
|
+
* `:state(current)`, so the trigger of the section holding the page you are
|
|
50104
|
+
* on can say so, as Radix's navigation menu marks its active link.
|
|
50105
|
+
*
|
|
49901
50106
|
* The panel's default slot is the `columns` part and draws no box, so a sheet
|
|
49902
50107
|
* can give the columns one of their own. While a panel is open, an
|
|
49903
50108
|
* `indicator` slot is rendered beside its trigger, as Radix's indicator
|
|
@@ -49914,6 +50119,12 @@ export type CustomElements = {
|
|
|
49914
50119
|
* way out. The trigger says `aria-expanded`, and the panel is a group named by
|
|
49915
50120
|
* `label`.
|
|
49916
50121
|
*
|
|
50122
|
+
* A Helix trigger, such as `helix-button`, is told whether the panel is open
|
|
50123
|
+
* inside its own shadow root. On a plain element, such as a `<button>`, the
|
|
50124
|
+
* megamenu writes `aria-expanded`, from a frame after its own first render, so
|
|
50125
|
+
* a server's markup is never changed while a framework hydrates it. It never
|
|
50126
|
+
* writes it where you wrote `aria-expanded` yourself.
|
|
50127
|
+
*
|
|
49917
50128
|
* ## Attributes & Properties
|
|
49918
50129
|
*
|
|
49919
50130
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -49942,7 +50153,13 @@ export type CustomElements = {
|
|
|
49942
50153
|
* narrow exception the server specs describe covers a mirror that can only
|
|
49943
50154
|
* become true long after hydration, and a viewport measured before the first
|
|
49944
50155
|
* paint is the opposite case. See `MixinControllerOpen` on `open`.
|
|
50156
|
+
* - `close-delay`/`closeDelay`: How long a pointer leaving the trigger and the panel waits before the panel
|
|
50157
|
+
* closes, in milliseconds. The pointer needs the time to cross from the
|
|
50158
|
+
* trigger to the panel.
|
|
49945
50159
|
* - `label`: The section's name, used for the default trigger and the panel.
|
|
50160
|
+
* - `open-delay`/`openDelay`: How long a pointer rests on the trigger before the panel opens, in
|
|
50161
|
+
* milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
50162
|
+
* way somewhere else opens nothing.
|
|
49946
50163
|
* - `open-on`/`openOn`: Whether hovering over the trigger opens the panel (`hover`), or only a press
|
|
49947
50164
|
* does (`click`).
|
|
49948
50165
|
*
|
|
@@ -49950,6 +50167,9 @@ export type CustomElements = {
|
|
|
49950
50167
|
* the trigger, and it is the default because that is what a navigation bar
|
|
49951
50168
|
* does. `click` is for a trigger that does something else as well, or a panel
|
|
49952
50169
|
* heavy enough that opening it on the way past is rude.
|
|
50170
|
+
* - `placement`: The side of the trigger a card panel opens on, when there is room. It
|
|
50171
|
+
* moves if that side does not fit. A band ignores it, since a band spans the
|
|
50172
|
+
* page under its bar.
|
|
49953
50173
|
* - `variant`: Whether the panel is a card under the trigger or a band across the page.
|
|
49954
50174
|
*
|
|
49955
50175
|
* The resting one is the card, hanging off the trigger and as wide as it
|
|
@@ -50057,6 +50277,7 @@ export type CustomElements = {
|
|
|
50057
50277
|
*
|
|
50058
50278
|
* These can be used to apply styling when a component is in a given state.
|
|
50059
50279
|
*
|
|
50280
|
+
* - `current`: A link in the panel carries `aria-current="page"`, so the trigger can show the section you are in.
|
|
50060
50281
|
* - `from-end`: The panel opened in place of one earlier in the bar, so it can enter from the end side.
|
|
50061
50282
|
* - `from-start`: The panel opened in place of one later in the bar, so it can enter from the start side.
|
|
50062
50283
|
* - `narrow`: The page is narrower than `band-below`, so the panel is shown as a band whatever its variant.
|
|
@@ -50099,6 +50320,9 @@ export type CustomElements = {
|
|
|
50099
50320
|
* React Aria's menu item does with its description: a reader hears "Copy",
|
|
50100
50321
|
* then "Copies the selection".
|
|
50101
50322
|
*
|
|
50323
|
+
* A development build warns when a row has no words to be named by, such as a
|
|
50324
|
+
* row holding only an icon with no label.
|
|
50325
|
+
*
|
|
50102
50326
|
* The check mark and the caret are the fallbacks of the `check` and `chevron`
|
|
50103
50327
|
* slots, so a mark of your own replaces either by being slotted. Neither is
|
|
50104
50328
|
* read as part of the row's name.
|
|
@@ -50243,12 +50467,15 @@ export type CustomElements = {
|
|
|
50243
50467
|
* - `shortcut-key`: One key of the shortcut's chord, such as `Ctrl`.
|
|
50244
50468
|
* - `shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
|
|
50245
50469
|
* - `start`: The leading column that holds the `start` slot. It is always rendered.
|
|
50470
|
+
* - `surface`: The panel a submenu opens in beside the row, under the menu's `submenus="flyout"`.
|
|
50246
50471
|
*
|
|
50247
50472
|
* ## CSS States
|
|
50248
50473
|
*
|
|
50249
50474
|
* These can be used to apply styling when a component is in a given state.
|
|
50250
50475
|
*
|
|
50251
50476
|
* - `checked`: The row is checked.
|
|
50477
|
+
* - `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.
|
|
50478
|
+
* - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
|
|
50252
50479
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
50253
50480
|
*/
|
|
50254
50481
|
"helix-headless-menu-item": Partial<
|
|
@@ -50261,15 +50488,24 @@ export type CustomElements = {
|
|
|
50261
50488
|
* ancestor with `overflow: hidden` does not clip it and it needs no `z-index`.
|
|
50262
50489
|
*
|
|
50263
50490
|
* Slot a `helix-button` or `helix-icon-button` as the trigger, and the menu
|
|
50264
|
-
* tells it that it opens a menu and whether the menu is open
|
|
50265
|
-
*
|
|
50266
|
-
*
|
|
50267
|
-
*
|
|
50268
|
-
*
|
|
50269
|
-
*
|
|
50270
|
-
*
|
|
50271
|
-
*
|
|
50272
|
-
* screens, which have no hover.
|
|
50491
|
+
* tells it that it opens a menu and whether the menu is open, inside its own
|
|
50492
|
+
* shadow root. On a plain element, such as a `<button>`, the menu writes
|
|
50493
|
+
* `aria-haspopup="menu"` and `aria-expanded`, from a frame after its own first
|
|
50494
|
+
* render, so a server's markup is never changed while a framework hydrates it.
|
|
50495
|
+
* It never writes `aria-expanded` where you wrote it yourself.
|
|
50496
|
+
*
|
|
50497
|
+
* Submenus drill down by default. A submenu replaces the panel's content, and a
|
|
50498
|
+
* back row returns to the previous page. One panel stays inside a narrow
|
|
50499
|
+
* window, and works on touch screens, which have no hover.
|
|
50500
|
+
*
|
|
50501
|
+
* **`submenus="flyout"` opens each submenu in a panel of its own beside its
|
|
50502
|
+
* row**, as React Aria's `SubmenuTrigger` and Radix's `Sub` do. Resting the
|
|
50503
|
+
* pointer on the row opens it, and a pointer crossing toward the open panel
|
|
50504
|
+
* over the rows between keeps it open, as Radix's grace area does. Right Arrow
|
|
50505
|
+
* opens a row's submenu on its first row, and Left Arrow or Escape closes it
|
|
50506
|
+
* and returns focus to the row, the two arrows swapping on a right-to-left
|
|
50507
|
+
* page. The row says `aria-expanded`, and the panel is a `menu` named by the
|
|
50508
|
+
* row.
|
|
50273
50509
|
*
|
|
50274
50510
|
* The root holds which page is open, because only one page shows at a time. It
|
|
50275
50511
|
* sets this on items as a property, never as an attribute. An attribute written
|
|
@@ -50297,7 +50533,14 @@ export type CustomElements = {
|
|
|
50297
50533
|
* right-click, a long press, Shift+F10 or the menu key over the area opens it
|
|
50298
50534
|
* at the pointer, or at the area's corner from the keyboard, as Radix's context
|
|
50299
50535
|
* menu does. A press on the area does not open it, and closing it returns focus
|
|
50300
|
-
* to where it was.
|
|
50536
|
+
* to where it was. A touch or a pen held still on the area opens it too, on
|
|
50537
|
+
* every browser, since iOS sends no `contextmenu` for one.
|
|
50538
|
+
*
|
|
50539
|
+
* **A trigger with its own action.** With `open-on="long-press"`, a press on
|
|
50540
|
+
* the trigger is the trigger's own, and a press held for half a second opens
|
|
50541
|
+
* the menu, as React Aria's `trigger="longPress"` does. Alt+Down or Alt+Up
|
|
50542
|
+
* opens it from the keyboard, and the trigger is described by
|
|
50543
|
+
* `long-press-label`, which says so.
|
|
50301
50544
|
*
|
|
50302
50545
|
* ## Attributes & Properties
|
|
50303
50546
|
*
|
|
@@ -50311,10 +50554,17 @@ export type CustomElements = {
|
|
|
50311
50554
|
* Empty by default, which names the surface by its trigger, so a menu opened
|
|
50312
50555
|
* from "Actions" is announced as "Actions". An `aria-label` or
|
|
50313
50556
|
* `aria-labelledby` on the host names it too, and wins over both.
|
|
50557
|
+
* - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
|
|
50558
|
+
* to open the menu. Translate it with the rest of your interface.
|
|
50314
50559
|
* - `offset`: Space between the trigger and the surface, in pixels.
|
|
50560
|
+
* - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
|
|
50561
|
+
* trigger's own action and opens the menu on a press held for half a second,
|
|
50562
|
+
* or on Alt+Down or Alt+Up.
|
|
50315
50563
|
* - `placement`: The side the menu opens on, when there is room.
|
|
50316
50564
|
*
|
|
50317
50565
|
* It moves if that side does not fit.
|
|
50566
|
+
* - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
|
|
50567
|
+
* a way back. `flyout` opens it in a panel of its own beside its row.
|
|
50318
50568
|
* - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
|
|
50319
50569
|
* - `loading`: Whether the rows are still loading.
|
|
50320
50570
|
*
|
|
@@ -51109,6 +51359,11 @@ export type CustomElements = {
|
|
|
51109
51359
|
* | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
|
|
51110
51360
|
* | Tab | Moves through the controls in a row, and on out of the feed. |
|
|
51111
51361
|
*
|
|
51362
|
+
* **A notification that arrives says so.** Unread rows added above the rows
|
|
51363
|
+
* there were are counted in the live region,
|
|
51364
|
+
* "1 new notification", in `arrived-label`. Rows that arrive while `loading`
|
|
51365
|
+
* is set say nothing, so set it while a page is on its way.
|
|
51366
|
+
*
|
|
51112
51367
|
* **`load-more` adds a button after the list** that sends `helix-load-more`,
|
|
51113
51368
|
* for a feed that holds one page of a longer list. Append the next page, set
|
|
51114
51369
|
* `loading` while it is on its way, and take `load-more` off once there is
|
|
@@ -51124,6 +51379,8 @@ export type CustomElements = {
|
|
|
51124
51379
|
*
|
|
51125
51380
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
51126
51381
|
*
|
|
51382
|
+
* - `arrived-label`/`arrivedLabel`: What the feed says when unread notifications arrive, with `{count}` the
|
|
51383
|
+
* number of them. Empty it to say nothing.
|
|
51127
51384
|
* - `fallback-label`/`fallbackLabel`: The region's name where `label` is empty.
|
|
51128
51385
|
* - `label`: The feed's name, read by screen readers.
|
|
51129
51386
|
* - `load-error`/`loadError`: What the feed says when a page of it could not be loaded, such as after a
|
|
@@ -59912,6 +60169,9 @@ export type CustomElements = {
|
|
|
59912
60169
|
* control. While it moves, the distance is on the `item` part as
|
|
59913
60170
|
* `--toast-swipe-x`.
|
|
59914
60171
|
*
|
|
60172
|
+
* **Escape dismisses the message holding focus**, through the same
|
|
60173
|
+
* `helix-dismiss`, and focus moves to the next message.
|
|
60174
|
+
*
|
|
59915
60175
|
* **Messages are inverted by default.** The item flips `color-scheme`, so a new
|
|
59916
60176
|
* message stands out from the page without using a color that carries meaning.
|
|
59917
60177
|
*
|
|
@@ -59949,6 +60209,9 @@ export type CustomElements = {
|
|
|
59949
60209
|
* A word property: register it for a locale under the host's key. A family
|
|
59950
60210
|
* that names the control otherwise, such as Tag's `Remove {label}`,
|
|
59951
60211
|
* declares its own English with `@words` above the override.
|
|
60212
|
+
* - `waiting`: Whether the region holds the message back, because more messages are
|
|
60213
|
+
* showing than its `max-visible`. The region sets it. A waiting message is
|
|
60214
|
+
* hidden, its timer has not started, and it is said once it shows. (property only)
|
|
59952
60215
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
59953
60216
|
*
|
|
59954
60217
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -60026,6 +60289,9 @@ export type CustomElements = {
|
|
|
60026
60289
|
*
|
|
60027
60290
|
* These can be used to apply styling when a component is in a given state.
|
|
60028
60291
|
*
|
|
60292
|
+
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
60293
|
+
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
60294
|
+
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
60029
60295
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
60030
60296
|
*/
|
|
60031
60297
|
"helix-headless-toast-item": Partial<
|
|
@@ -60078,6 +60344,19 @@ export type CustomElements = {
|
|
|
60078
60344
|
* message, then the one before it, then back to where it was before it entered
|
|
60079
60345
|
* the stack.
|
|
60080
60346
|
*
|
|
60347
|
+
* **`max-visible` limits how many messages show at once**, as Zag's `max`
|
|
60348
|
+
* does. The messages after that many, in document order, wait: each is hidden,
|
|
60349
|
+
* its timer has not started, and the region says it once it shows, when a
|
|
60350
|
+
* message before it goes. A waiting message has `:state(waiting)`.
|
|
60351
|
+
*
|
|
60352
|
+
* **Keyboard.**
|
|
60353
|
+
*
|
|
60354
|
+
* | Key | What it does |
|
|
60355
|
+
* |---|---|
|
|
60356
|
+
* | F8, or your `hotkey` | Moves focus to the first control in the stack, and back to where it was when pressed in the stack. |
|
|
60357
|
+
* | Tab, Shift+Tab | Moves between the controls of the messages. |
|
|
60358
|
+
* | Escape | Dismisses the message holding focus. Focus moves to the next message, then the one before it, then back to where it was. |
|
|
60359
|
+
*
|
|
60081
60360
|
* ## Attributes & Properties
|
|
60082
60361
|
*
|
|
60083
60362
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -60088,6 +60367,9 @@ export type CustomElements = {
|
|
|
60088
60367
|
* Empty turns it off.
|
|
60089
60368
|
* - `label`: Accessible name for the region, with `{hotkey}` filled in. Translate it with
|
|
60090
60369
|
* the rest of your interface.
|
|
60370
|
+
* - `max-visible`/`maxVisible`: How many messages show at once. The messages after that many wait, hidden
|
|
60371
|
+
* and with their timers stopped, until a message before them goes. Unset,
|
|
60372
|
+
* every message shows.
|
|
60091
60373
|
* - `placement`: Which corner or edge the stack sits at.
|
|
60092
60374
|
*
|
|
60093
60375
|
* Named here rather than on each message, because where a page puts its
|
|
@@ -62020,6 +62302,7 @@ export type CustomElements = {
|
|
|
62020
62302
|
* - `entry-shortcut-key`: One key of an entry's shortcut chord, inside `entry-shortcut`. The playlist's entries set none.
|
|
62021
62303
|
* - `entry-shortcut-separator`: The `+` between two keys of an entry's shortcut, where the platform writes one.
|
|
62022
62304
|
* - `entry-start`: The column at the start of an entry. It is a slot and is always present.
|
|
62305
|
+
* - `entry-surface`: The panel an entry's submenu opens in beside it. The playlist's entries have none.
|
|
62023
62306
|
* - `menu`: The menu that holds the entries.
|
|
62024
62307
|
* - `menu-back`: The button that goes back from a submenu.
|
|
62025
62308
|
* - `menu-back-mark`: The icon on a submenu's back button.
|
|
@@ -62584,6 +62867,7 @@ export type CustomElements = {
|
|
|
62584
62867
|
* - `entry-shortcut-key`: One key of a row's shortcut chord, inside `entry-shortcut`. The player's rows set none.
|
|
62585
62868
|
* - `entry-shortcut-separator`: The `+` between two keys of a row's shortcut, where the platform writes one.
|
|
62586
62869
|
* - `entry-start`: The leading column that holds the `start` slot. It is always rendered.
|
|
62870
|
+
* - `entry-surface`: The panel a row's submenu opens in beside it. The player's rows have none.
|
|
62587
62871
|
* - `failure`: The message shown when the source cannot be played.
|
|
62588
62872
|
* - `forward`: The button that skips forward ten seconds.
|
|
62589
62873
|
* - `fullscreen`: The button that enters and leaves fullscreen.
|
|
@@ -71785,6 +72069,16 @@ export type CustomElementsSolidJs = {
|
|
|
71785
72069
|
* `aria-haspopup`, the same way `Menu` marks a row with a submenu. The server
|
|
71786
72070
|
* render leaves both out, because the server cannot see the children.
|
|
71787
72071
|
*
|
|
72072
|
+
* **A row with an `href` is a link.** The row itself renders as an `<a>`
|
|
72073
|
+
* carrying `menuitem`, as `Menu.Item` does, so a middle click, a modified
|
|
72074
|
+
* click and the status bar keep working. Enter follows it, and Space does too.
|
|
72075
|
+
* Choosing it fires `helix-select` first: cancel the event and the link is not
|
|
72076
|
+
* followed, so a router can take the navigation. A row that opens a page, or a
|
|
72077
|
+
* disabled row, renders no link.
|
|
72078
|
+
*
|
|
72079
|
+
* A development build warns when a row has no words to be named by, such as a
|
|
72080
|
+
* row holding only an icon with no label.
|
|
72081
|
+
*
|
|
71788
72082
|
* The row is named by its label alone. Words in `description`, a line under
|
|
71789
72083
|
* the label, and in `end` describe it instead, through `aria-describedby`, as
|
|
71790
72084
|
* `Menu.Item` does: a reader hears "Theme", then "Dark".
|
|
@@ -71794,6 +72088,12 @@ export type CustomElementsSolidJs = {
|
|
|
71794
72088
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
71795
72089
|
*
|
|
71796
72090
|
* - `disabled`: Whether the row can be reached at all.
|
|
72091
|
+
* - `download`: Whether the link downloads the file when the row is chosen. Only
|
|
72092
|
+
* meaningful beside an `href`, and only for a file served from this origin.
|
|
72093
|
+
* - `href`: The URL the row links to. Setting it renders the row as a link, unless the
|
|
72094
|
+
* row opens a page or is disabled.
|
|
72095
|
+
* - `rel`: The link's `rel`. Set it whenever you set `target="_blank"`.
|
|
72096
|
+
* - `target`: Where the link opens, for rows that should open outside the current page.
|
|
71797
72097
|
* - `value`: Identifies the row to your event listeners.
|
|
71798
72098
|
* - `focusable`: Whether this row holds the region's tab stop. Set by the drill-down.
|
|
71799
72099
|
*
|
|
@@ -71867,7 +72167,7 @@ export type CustomElementsSolidJs = {
|
|
|
71867
72167
|
*
|
|
71868
72168
|
* Custom selectors for styling elements within the component.
|
|
71869
72169
|
*
|
|
71870
|
-
* - `item`: The row itself.
|
|
72170
|
+
* - `item`: The row itself, which is an `<a>` where `href` is set.
|
|
71871
72171
|
* - `label`: The row's label.
|
|
71872
72172
|
* - `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.
|
|
71873
72173
|
*
|
|
@@ -71900,6 +72200,11 @@ export type CustomElementsSolidJs = {
|
|
|
71900
72200
|
* and reads the rest from the DOM. The behavior lives in `DrilldownController`,
|
|
71901
72201
|
* which `Menu` shares.
|
|
71902
72202
|
*
|
|
72203
|
+
* **`page` is the page showing**, as the `value` of the row that opens it,
|
|
72204
|
+
* and empty on the top page. Set it to show a page, such as one a link to a
|
|
72205
|
+
* settings screen names. A reader's move updates it, and `helix-navigate`
|
|
72206
|
+
* comes first, so you can refuse the move or take it yourself.
|
|
72207
|
+
*
|
|
71903
72208
|
* After each move the host carries `data-direction`, `forward` into a page or
|
|
71904
72209
|
* `back` out of one, and records `:state(forward)` or `:state(back)`, so a
|
|
71905
72210
|
* stylesheet can slide the new page in from the side the reader is going. Both
|
|
@@ -71907,13 +72212,25 @@ export type CustomElementsSolidJs = {
|
|
|
71907
72212
|
* page, two moves the same way included. The styled tier slides the page and
|
|
71908
72213
|
* swaps it at once under `prefers-reduced-motion`.
|
|
71909
72214
|
*
|
|
71910
|
-
*
|
|
71911
|
-
*
|
|
71912
|
-
*
|
|
71913
|
-
*
|
|
72215
|
+
* **Keyboard.** The drilldown is one tab stop, on the row last focused.
|
|
72216
|
+
*
|
|
72217
|
+
* | Key | What it does |
|
|
72218
|
+
* |---|---|
|
|
72219
|
+
* | Down Arrow, Up Arrow | Moves to the next or the previous row. |
|
|
72220
|
+
* | Home, End | Moves to the first or the last row. |
|
|
72221
|
+
* | A letter | Moves to the next row whose name starts with it. |
|
|
72222
|
+
* | Enter, Space | Chooses the row: opens its page, follows its link, or sends `helix-select`. |
|
|
72223
|
+
* | Right Arrow | Opens the row's page. Left Arrow on a right-to-left page. |
|
|
72224
|
+
* | Left Arrow, Escape | Goes back one page, with focus on the row that opened it. Right Arrow on a right-to-left page. |
|
|
71914
72225
|
*
|
|
71915
72226
|
* The rows of the page showing are a `menu`, named by `label` on the top page
|
|
71916
|
-
* and by the page's title below it.
|
|
72227
|
+
* and by the page's title below it.
|
|
72228
|
+
*
|
|
72229
|
+
* **`navigation` makes it a site's navigation.** The host is a `navigation`
|
|
72230
|
+
* landmark named by `label`, each page is a list, and each row is a list item
|
|
72231
|
+
* holding a link or a button, as the APG's disclosure navigation is built,
|
|
72232
|
+
* so a reader meets places to go in place of a menu of commands. The keys stay
|
|
72233
|
+
* the same. The back button and the title sit above
|
|
71917
72234
|
* the menu. Disabled rows stay reachable with the arrow keys, and typing a
|
|
71918
72235
|
* letter moves to the next row whose name starts with it.
|
|
71919
72236
|
*
|
|
@@ -71927,6 +72244,12 @@ export type CustomElementsSolidJs = {
|
|
|
71927
72244
|
* An `aria-label` or `aria-labelledby` on the host names the top page too,
|
|
71928
72245
|
* and wins over this.
|
|
71929
72246
|
* - `back-label`/`backLabel`: The text of the back button.
|
|
72247
|
+
* - `navigation`: Whether the drilldown is a site's navigation: a `navigation` landmark
|
|
72248
|
+
* named by `label`, whose pages are lists of links. Without it, each page is
|
|
72249
|
+
* a `menu`.
|
|
72250
|
+
* - `page`: The page showing, as the `value` of the row that opens it. Empty is the
|
|
72251
|
+
* top page. Setting it shows that page, and a value no row with a page has
|
|
72252
|
+
* shows the top page.
|
|
71930
72253
|
* - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
|
|
71931
72254
|
* - `loading`: Whether the rows are still loading.
|
|
71932
72255
|
*
|
|
@@ -71959,6 +72282,7 @@ export type CustomElementsSolidJs = {
|
|
|
71959
72282
|
*
|
|
71960
72283
|
* Events that will be emitted by the component.
|
|
71961
72284
|
*
|
|
72285
|
+
* - `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.
|
|
71962
72286
|
* - `helix-select`: Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you.
|
|
71963
72287
|
*
|
|
71964
72288
|
* ## Slots
|
|
@@ -72825,6 +73149,7 @@ export type CustomElementsSolidJs = {
|
|
|
72825
73149
|
* - `entry-shortcut-key`: One key of the shortcut's chord.
|
|
72826
73150
|
* - `entry-shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
|
|
72827
73151
|
* - `entry-start`: The leading column.
|
|
73152
|
+
* - `entry-surface`: The panel a row's submenu opens in beside it. The filter menu's rows have none.
|
|
72828
73153
|
* - `menu`: The menu the fields are offered in.
|
|
72829
73154
|
* - `menu-back`: The button that goes back from a field's page.
|
|
72830
73155
|
* - `menu-back-mark`: The icon on the back button.
|
|
@@ -78039,7 +78364,10 @@ export type CustomElementsSolidJs = {
|
|
|
78039
78364
|
*
|
|
78040
78365
|
* It opens on hover by default, and a press always opens it too. `open-on` sets
|
|
78041
78366
|
* which. Hover is the default because in a navigation bar people expect to move
|
|
78042
|
-
* along the row and see each section.
|
|
78367
|
+
* along the row and see each section. A pointer resting on the trigger opens
|
|
78368
|
+
* the panel after `open-delay`, and leaving closes it after `close-delay`. Moving
|
|
78369
|
+
* from one open panel's trigger to another's opens the next at once, as Radix's
|
|
78370
|
+
* `skipDelayDuration` does.
|
|
78043
78371
|
*
|
|
78044
78372
|
* When one panel opens in place of another, each says which way the reader
|
|
78045
78373
|
* moved, as Radix's `data-motion` does. Moving toward the end of the bar, the
|
|
@@ -78057,6 +78385,10 @@ export type CustomElementsSolidJs = {
|
|
|
78057
78385
|
* navigation menu publishes the same pair from its shared viewport, so a
|
|
78058
78386
|
* stylesheet can grow or shrink one panel into the next.
|
|
78059
78387
|
*
|
|
78388
|
+
* While a link in the panel carries `aria-current="page"`, the host has
|
|
78389
|
+
* `:state(current)`, so the trigger of the section holding the page you are
|
|
78390
|
+
* on can say so, as Radix's navigation menu marks its active link.
|
|
78391
|
+
*
|
|
78060
78392
|
* The panel's default slot is the `columns` part and draws no box, so a sheet
|
|
78061
78393
|
* can give the columns one of their own. While a panel is open, an
|
|
78062
78394
|
* `indicator` slot is rendered beside its trigger, as Radix's indicator
|
|
@@ -78073,6 +78405,12 @@ export type CustomElementsSolidJs = {
|
|
|
78073
78405
|
* way out. The trigger says `aria-expanded`, and the panel is a group named by
|
|
78074
78406
|
* `label`.
|
|
78075
78407
|
*
|
|
78408
|
+
* A Helix trigger, such as `helix-button`, is told whether the panel is open
|
|
78409
|
+
* inside its own shadow root. On a plain element, such as a `<button>`, the
|
|
78410
|
+
* megamenu writes `aria-expanded`, from a frame after its own first render, so
|
|
78411
|
+
* a server's markup is never changed while a framework hydrates it. It never
|
|
78412
|
+
* writes it where you wrote `aria-expanded` yourself.
|
|
78413
|
+
*
|
|
78076
78414
|
* ## Attributes & Properties
|
|
78077
78415
|
*
|
|
78078
78416
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -78101,7 +78439,13 @@ export type CustomElementsSolidJs = {
|
|
|
78101
78439
|
* narrow exception the server specs describe covers a mirror that can only
|
|
78102
78440
|
* become true long after hydration, and a viewport measured before the first
|
|
78103
78441
|
* paint is the opposite case. See `MixinControllerOpen` on `open`.
|
|
78442
|
+
* - `close-delay`/`closeDelay`: How long a pointer leaving the trigger and the panel waits before the panel
|
|
78443
|
+
* closes, in milliseconds. The pointer needs the time to cross from the
|
|
78444
|
+
* trigger to the panel.
|
|
78104
78445
|
* - `label`: The section's name, used for the default trigger and the panel.
|
|
78446
|
+
* - `open-delay`/`openDelay`: How long a pointer rests on the trigger before the panel opens, in
|
|
78447
|
+
* milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
|
|
78448
|
+
* way somewhere else opens nothing.
|
|
78105
78449
|
* - `open-on`/`openOn`: Whether hovering over the trigger opens the panel (`hover`), or only a press
|
|
78106
78450
|
* does (`click`).
|
|
78107
78451
|
*
|
|
@@ -78109,6 +78453,9 @@ export type CustomElementsSolidJs = {
|
|
|
78109
78453
|
* the trigger, and it is the default because that is what a navigation bar
|
|
78110
78454
|
* does. `click` is for a trigger that does something else as well, or a panel
|
|
78111
78455
|
* heavy enough that opening it on the way past is rude.
|
|
78456
|
+
* - `placement`: The side of the trigger a card panel opens on, when there is room. It
|
|
78457
|
+
* moves if that side does not fit. A band ignores it, since a band spans the
|
|
78458
|
+
* page under its bar.
|
|
78112
78459
|
* - `variant`: Whether the panel is a card under the trigger or a band across the page.
|
|
78113
78460
|
*
|
|
78114
78461
|
* The resting one is the card, hanging off the trigger and as wide as it
|
|
@@ -78216,6 +78563,7 @@ export type CustomElementsSolidJs = {
|
|
|
78216
78563
|
*
|
|
78217
78564
|
* These can be used to apply styling when a component is in a given state.
|
|
78218
78565
|
*
|
|
78566
|
+
* - `current`: A link in the panel carries `aria-current="page"`, so the trigger can show the section you are in.
|
|
78219
78567
|
* - `from-end`: The panel opened in place of one earlier in the bar, so it can enter from the end side.
|
|
78220
78568
|
* - `from-start`: The panel opened in place of one later in the bar, so it can enter from the start side.
|
|
78221
78569
|
* - `narrow`: The page is narrower than `band-below`, so the panel is shown as a band whatever its variant.
|
|
@@ -78261,6 +78609,9 @@ export type CustomElementsSolidJs = {
|
|
|
78261
78609
|
* React Aria's menu item does with its description: a reader hears "Copy",
|
|
78262
78610
|
* then "Copies the selection".
|
|
78263
78611
|
*
|
|
78612
|
+
* A development build warns when a row has no words to be named by, such as a
|
|
78613
|
+
* row holding only an icon with no label.
|
|
78614
|
+
*
|
|
78264
78615
|
* The check mark and the caret are the fallbacks of the `check` and `chevron`
|
|
78265
78616
|
* slots, so a mark of your own replaces either by being slotted. Neither is
|
|
78266
78617
|
* read as part of the row's name.
|
|
@@ -78405,12 +78756,15 @@ export type CustomElementsSolidJs = {
|
|
|
78405
78756
|
* - `shortcut-key`: One key of the shortcut's chord, such as `Ctrl`.
|
|
78406
78757
|
* - `shortcut-separator`: The `+` between two keys of the shortcut, where the platform writes one.
|
|
78407
78758
|
* - `start`: The leading column that holds the `start` slot. It is always rendered.
|
|
78759
|
+
* - `surface`: The panel a submenu opens in beside the row, under the menu's `submenus="flyout"`.
|
|
78408
78760
|
*
|
|
78409
78761
|
* ## CSS States
|
|
78410
78762
|
*
|
|
78411
78763
|
* These can be used to apply styling when a component is in a given state.
|
|
78412
78764
|
*
|
|
78413
78765
|
* - `checked`: The row is checked.
|
|
78766
|
+
* - `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.
|
|
78767
|
+
* - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
|
|
78414
78768
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
78415
78769
|
*/
|
|
78416
78770
|
"helix-headless-menu-item": Partial<
|
|
@@ -78426,15 +78780,24 @@ export type CustomElementsSolidJs = {
|
|
|
78426
78780
|
* ancestor with `overflow: hidden` does not clip it and it needs no `z-index`.
|
|
78427
78781
|
*
|
|
78428
78782
|
* Slot a `helix-button` or `helix-icon-button` as the trigger, and the menu
|
|
78429
|
-
* tells it that it opens a menu and whether the menu is open
|
|
78430
|
-
*
|
|
78431
|
-
*
|
|
78432
|
-
*
|
|
78433
|
-
*
|
|
78434
|
-
*
|
|
78435
|
-
*
|
|
78436
|
-
*
|
|
78437
|
-
* screens, which have no hover.
|
|
78783
|
+
* tells it that it opens a menu and whether the menu is open, inside its own
|
|
78784
|
+
* shadow root. On a plain element, such as a `<button>`, the menu writes
|
|
78785
|
+
* `aria-haspopup="menu"` and `aria-expanded`, from a frame after its own first
|
|
78786
|
+
* render, so a server's markup is never changed while a framework hydrates it.
|
|
78787
|
+
* It never writes `aria-expanded` where you wrote it yourself.
|
|
78788
|
+
*
|
|
78789
|
+
* Submenus drill down by default. A submenu replaces the panel's content, and a
|
|
78790
|
+
* back row returns to the previous page. One panel stays inside a narrow
|
|
78791
|
+
* window, and works on touch screens, which have no hover.
|
|
78792
|
+
*
|
|
78793
|
+
* **`submenus="flyout"` opens each submenu in a panel of its own beside its
|
|
78794
|
+
* row**, as React Aria's `SubmenuTrigger` and Radix's `Sub` do. Resting the
|
|
78795
|
+
* pointer on the row opens it, and a pointer crossing toward the open panel
|
|
78796
|
+
* over the rows between keeps it open, as Radix's grace area does. Right Arrow
|
|
78797
|
+
* opens a row's submenu on its first row, and Left Arrow or Escape closes it
|
|
78798
|
+
* and returns focus to the row, the two arrows swapping on a right-to-left
|
|
78799
|
+
* page. The row says `aria-expanded`, and the panel is a `menu` named by the
|
|
78800
|
+
* row.
|
|
78438
78801
|
*
|
|
78439
78802
|
* The root holds which page is open, because only one page shows at a time. It
|
|
78440
78803
|
* sets this on items as a property, never as an attribute. An attribute written
|
|
@@ -78462,7 +78825,14 @@ export type CustomElementsSolidJs = {
|
|
|
78462
78825
|
* right-click, a long press, Shift+F10 or the menu key over the area opens it
|
|
78463
78826
|
* at the pointer, or at the area's corner from the keyboard, as Radix's context
|
|
78464
78827
|
* menu does. A press on the area does not open it, and closing it returns focus
|
|
78465
|
-
* to where it was.
|
|
78828
|
+
* to where it was. A touch or a pen held still on the area opens it too, on
|
|
78829
|
+
* every browser, since iOS sends no `contextmenu` for one.
|
|
78830
|
+
*
|
|
78831
|
+
* **A trigger with its own action.** With `open-on="long-press"`, a press on
|
|
78832
|
+
* the trigger is the trigger's own, and a press held for half a second opens
|
|
78833
|
+
* the menu, as React Aria's `trigger="longPress"` does. Alt+Down or Alt+Up
|
|
78834
|
+
* opens it from the keyboard, and the trigger is described by
|
|
78835
|
+
* `long-press-label`, which says so.
|
|
78466
78836
|
*
|
|
78467
78837
|
* ## Attributes & Properties
|
|
78468
78838
|
*
|
|
@@ -78476,10 +78846,17 @@ export type CustomElementsSolidJs = {
|
|
|
78476
78846
|
* Empty by default, which names the surface by its trigger, so a menu opened
|
|
78477
78847
|
* from "Actions" is announced as "Actions". An `aria-label` or
|
|
78478
78848
|
* `aria-labelledby` on the host names it too, and wins over both.
|
|
78849
|
+
* - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
|
|
78850
|
+
* to open the menu. Translate it with the rest of your interface.
|
|
78479
78851
|
* - `offset`: Space between the trigger and the surface, in pixels.
|
|
78852
|
+
* - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
|
|
78853
|
+
* trigger's own action and opens the menu on a press held for half a second,
|
|
78854
|
+
* or on Alt+Down or Alt+Up.
|
|
78480
78855
|
* - `placement`: The side the menu opens on, when there is room.
|
|
78481
78856
|
*
|
|
78482
78857
|
* It moves if that side does not fit.
|
|
78858
|
+
* - `submenus`: How a submenu opens. `drill` shows it in place of the page showing, with
|
|
78859
|
+
* a way back. `flyout` opens it in a panel of its own beside its row.
|
|
78483
78860
|
* - `empty-text`/`emptyText`: The text shown and announced when there are no rows and none are loading.
|
|
78484
78861
|
* - `loading`: Whether the rows are still loading.
|
|
78485
78862
|
*
|
|
@@ -79284,6 +79661,11 @@ export type CustomElementsSolidJs = {
|
|
|
79284
79661
|
* | Control+Home | From anywhere in the feed, moves to the nearest control before it on the page. |
|
|
79285
79662
|
* | Tab | Moves through the controls in a row, and on out of the feed. |
|
|
79286
79663
|
*
|
|
79664
|
+
* **A notification that arrives says so.** Unread rows added above the rows
|
|
79665
|
+
* there were are counted in the live region,
|
|
79666
|
+
* "1 new notification", in `arrived-label`. Rows that arrive while `loading`
|
|
79667
|
+
* is set say nothing, so set it while a page is on its way.
|
|
79668
|
+
*
|
|
79287
79669
|
* **`load-more` adds a button after the list** that sends `helix-load-more`,
|
|
79288
79670
|
* for a feed that holds one page of a longer list. Append the next page, set
|
|
79289
79671
|
* `loading` while it is on its way, and take `load-more` off once there is
|
|
@@ -79299,6 +79681,8 @@ export type CustomElementsSolidJs = {
|
|
|
79299
79681
|
*
|
|
79300
79682
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
79301
79683
|
*
|
|
79684
|
+
* - `arrived-label`/`arrivedLabel`: What the feed says when unread notifications arrive, with `{count}` the
|
|
79685
|
+
* number of them. Empty it to say nothing.
|
|
79302
79686
|
* - `fallback-label`/`fallbackLabel`: The region's name where `label` is empty.
|
|
79303
79687
|
* - `label`: The feed's name, read by screen readers.
|
|
79304
79688
|
* - `load-error`/`loadError`: What the feed says when a page of it could not be loaded, such as after a
|
|
@@ -88200,6 +88584,9 @@ export type CustomElementsSolidJs = {
|
|
|
88200
88584
|
* control. While it moves, the distance is on the `item` part as
|
|
88201
88585
|
* `--toast-swipe-x`.
|
|
88202
88586
|
*
|
|
88587
|
+
* **Escape dismisses the message holding focus**, through the same
|
|
88588
|
+
* `helix-dismiss`, and focus moves to the next message.
|
|
88589
|
+
*
|
|
88203
88590
|
* **Messages are inverted by default.** The item flips `color-scheme`, so a new
|
|
88204
88591
|
* message stands out from the page without using a color that carries meaning.
|
|
88205
88592
|
*
|
|
@@ -88237,6 +88624,9 @@ export type CustomElementsSolidJs = {
|
|
|
88237
88624
|
* A word property: register it for a locale under the host's key. A family
|
|
88238
88625
|
* that names the control otherwise, such as Tag's `Remove {label}`,
|
|
88239
88626
|
* declares its own English with `@words` above the override.
|
|
88627
|
+
* - `waiting`: Whether the region holds the message back, because more messages are
|
|
88628
|
+
* showing than its `max-visible`. The region sets it. A waiting message is
|
|
88629
|
+
* hidden, its timer has not started, and it is said once it shows. (property only)
|
|
88240
88630
|
* - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
|
|
88241
88631
|
*
|
|
88242
88632
|
* **Named `whenSettled` because `settled` is taken four times over**, by
|
|
@@ -88314,6 +88704,9 @@ export type CustomElementsSolidJs = {
|
|
|
88314
88704
|
*
|
|
88315
88705
|
* These can be used to apply styling when a component is in a given state.
|
|
88316
88706
|
*
|
|
88707
|
+
* - `closed`: The message has been dismissed and is hidden, or leaving.
|
|
88708
|
+
* - `paused`: The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.
|
|
88709
|
+
* - `waiting`: The region holds the message back, past its `max-visible`, until a message before it goes.
|
|
88317
88710
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
88318
88711
|
*/
|
|
88319
88712
|
"helix-headless-toast-item": Partial<
|
|
@@ -88369,6 +88762,19 @@ export type CustomElementsSolidJs = {
|
|
|
88369
88762
|
* message, then the one before it, then back to where it was before it entered
|
|
88370
88763
|
* the stack.
|
|
88371
88764
|
*
|
|
88765
|
+
* **`max-visible` limits how many messages show at once**, as Zag's `max`
|
|
88766
|
+
* does. The messages after that many, in document order, wait: each is hidden,
|
|
88767
|
+
* its timer has not started, and the region says it once it shows, when a
|
|
88768
|
+
* message before it goes. A waiting message has `:state(waiting)`.
|
|
88769
|
+
*
|
|
88770
|
+
* **Keyboard.**
|
|
88771
|
+
*
|
|
88772
|
+
* | Key | What it does |
|
|
88773
|
+
* |---|---|
|
|
88774
|
+
* | F8, or your `hotkey` | Moves focus to the first control in the stack, and back to where it was when pressed in the stack. |
|
|
88775
|
+
* | Tab, Shift+Tab | Moves between the controls of the messages. |
|
|
88776
|
+
* | Escape | Dismisses the message holding focus. Focus moves to the next message, then the one before it, then back to where it was. |
|
|
88777
|
+
*
|
|
88372
88778
|
* ## Attributes & Properties
|
|
88373
88779
|
*
|
|
88374
88780
|
* Component attributes and properties that can be applied to the element or by using JavaScript.
|
|
@@ -88379,6 +88785,9 @@ export type CustomElementsSolidJs = {
|
|
|
88379
88785
|
* Empty turns it off.
|
|
88380
88786
|
* - `label`: Accessible name for the region, with `{hotkey}` filled in. Translate it with
|
|
88381
88787
|
* the rest of your interface.
|
|
88788
|
+
* - `max-visible`/`maxVisible`: How many messages show at once. The messages after that many wait, hidden
|
|
88789
|
+
* and with their timers stopped, until a message before them goes. Unset,
|
|
88790
|
+
* every message shows.
|
|
88382
88791
|
* - `placement`: Which corner or edge the stack sits at.
|
|
88383
88792
|
*
|
|
88384
88793
|
* Named here rather than on each message, because where a page puts its
|
|
@@ -90340,6 +90749,7 @@ export type CustomElementsSolidJs = {
|
|
|
90340
90749
|
* - `entry-shortcut-key`: One key of an entry's shortcut chord, inside `entry-shortcut`. The playlist's entries set none.
|
|
90341
90750
|
* - `entry-shortcut-separator`: The `+` between two keys of an entry's shortcut, where the platform writes one.
|
|
90342
90751
|
* - `entry-start`: The column at the start of an entry. It is a slot and is always present.
|
|
90752
|
+
* - `entry-surface`: The panel an entry's submenu opens in beside it. The playlist's entries have none.
|
|
90343
90753
|
* - `menu`: The menu that holds the entries.
|
|
90344
90754
|
* - `menu-back`: The button that goes back from a submenu.
|
|
90345
90755
|
* - `menu-back-mark`: The icon on a submenu's back button.
|
|
@@ -90906,6 +91316,7 @@ export type CustomElementsSolidJs = {
|
|
|
90906
91316
|
* - `entry-shortcut-key`: One key of a row's shortcut chord, inside `entry-shortcut`. The player's rows set none.
|
|
90907
91317
|
* - `entry-shortcut-separator`: The `+` between two keys of a row's shortcut, where the platform writes one.
|
|
90908
91318
|
* - `entry-start`: The leading column that holds the `start` slot. It is always rendered.
|
|
91319
|
+
* - `entry-surface`: The panel a row's submenu opens in beside it. The player's rows have none.
|
|
90909
91320
|
* - `failure`: The message shown when the source cannot be played.
|
|
90910
91321
|
* - `forward`: The button that skips forward ten seconds.
|
|
90911
91322
|
* - `fullscreen`: The button that enters and leaves fullscreen.
|