@fusion.dev/helix 0.156.0 → 0.158.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/types/vue.d.ts CHANGED
@@ -5211,6 +5211,13 @@ how many are left, written in the locale, and each language writes the
5211
5211
  forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
5212
5212
  {# poleceń} other {# polecenia}}`. */
5213
5213
  resultsLabel?: (HelixCommand["resultsLabel"]) | undefined;
5214
+ /** Whether a command is kept by the filter: a function given the command's
5215
+ words and the filter, trimmed, that returns `true` to keep it showing, as
5216
+ React Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
5217
+
5218
+ Absent, a command is kept where its words hold the filter, in any case. A
5219
+ property only, there being no way to write a function in markup. */
5220
+ filterMatch?: (HelixCommand["filterMatch"]) | undefined;
5214
5221
  /** The commands as data, for a palette too long to draw whole: each a value,
5215
5222
  which is also its words, or a record with a `value`, a `label` and
5216
5223
  `disabled`. Handed to the list, which draws only the commands in sight and
@@ -7294,6 +7301,16 @@ export type HelixDrilldownItemHelixSelectElementEvent =
7294
7301
  export type HelixDrilldownItemVueProps = {
7295
7302
  /** Whether the row can be reached at all. */
7296
7303
  disabled?: (HelixDrilldownItem["disabled"]) | undefined;
7304
+ /** Whether the link downloads the file when the row is chosen. Only
7305
+ meaningful beside an `href`, and only for a file served from this origin. */
7306
+ download?: (HelixDrilldownItem["download"]) | undefined;
7307
+ /** The URL the row links to. Setting it renders the row as a link, unless the
7308
+ row opens a page or is disabled. */
7309
+ href?: (HelixDrilldownItem["href"]) | undefined;
7310
+ /** The link's `rel`. Set it whenever you set `target="_blank"`. */
7311
+ rel?: (HelixDrilldownItem["rel"]) | undefined;
7312
+ /** Where the link opens, for rows that should open outside the current page. */
7313
+ target?: (HelixDrilldownItem["target"]) | undefined;
7297
7314
  /** Identifies the row to your event listeners. */
7298
7315
  value?: (HelixDrilldownItem["value"]) | undefined;
7299
7316
  /** Whether this row holds the region's tab stop. Set by the drill-down.
@@ -7320,6 +7337,9 @@ export type HelixDrilldownElementEvent<E = Event> = TypedEvent<
7320
7337
  HelixDrilldown,
7321
7338
  E
7322
7339
  >;
7340
+ /** `helix-navigate` event type */
7341
+ export type HelixDrilldownHelixNavigateElementEvent =
7342
+ HelixDrilldownElementEvent<HelixNavigateEvent>;
7323
7343
  /** `helix-select` event type */
7324
7344
  export type HelixDrilldownHelixSelectElementEvent =
7325
7345
  HelixDrilldownElementEvent<HelixSelectEvent>;
@@ -7349,9 +7369,19 @@ and wins over this. */
7349
7369
  "back-label"?: (HelixDrilldown["backLabel"]) | undefined;
7350
7370
  /** The text of the back button. */
7351
7371
  backLabel?: (HelixDrilldown["backLabel"]) | undefined;
7372
+ /** Whether the drilldown is a site's navigation: a `navigation` landmark
7373
+ named by `label`, whose pages are lists of links. Without it, each page is
7374
+ a `menu`. */
7375
+ navigation?: (HelixDrilldown["navigation"]) | undefined;
7376
+ /** The page showing, as the `value` of the row that opens it. Empty is the
7377
+ top page. Setting it shows that page, and a value no row with a page has
7378
+ shows the top page. */
7379
+ page?: (HelixDrilldown["page"]) | undefined;
7352
7380
  };
7353
7381
 
7354
7382
  export type HelixDrilldownVueEvents = {
7383
+ /** 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. */
7384
+ "helix-navigate": HelixDrilldownHelixNavigateElementEvent;
7355
7385
  /** Fired when a row with no page is chosen. Cancelable: canceling it stops the change and leaves the decision to you. */
7356
7386
  "helix-select": HelixDrilldownHelixSelectElementEvent;
7357
7387
  };
@@ -10214,7 +10244,9 @@ Not reflected, as a state never is. `row-current` is the part a
10214
10244
  stylesheet draws it from. */
10215
10245
  current?: (HelixListItem["current"]) | undefined;
10216
10246
  /** Takes the row out of reach in a list with `selection-mode`: the arrow keys
10217
- pass over it and it cannot be selected or acted on. */
10247
+ pass over it and it cannot be selected or acted on. In a list with
10248
+ `disabled-behavior="selection"`, it cannot be selected and is reached and
10249
+ acted on as any row is. */
10218
10250
  disabled?: (HelixListItem["disabled"]) | undefined;
10219
10251
  /** The URL the row links to. Leave it empty for a row that is not a link.
10220
10252
 
@@ -10250,6 +10282,10 @@ being moved, or the one the drop indicator is beside. Unset otherwise. */
10250
10282
  Written by the list from its own `value`, and unset where nothing can be
10251
10283
  selected, which keeps `aria-selected` off a list that does not select. */
10252
10284
  selected?: (HelixListItem["selected"]) | undefined;
10285
+ /** Whether `disabled` takes the row out of selection alone, written by a list
10286
+ with `disabled-behavior="selection"`. No attribute: it is coordination
10287
+ between elements, as `focusable` is. */
10288
+ selectionOnly?: (HelixListItem["selectionOnly"]) | undefined;
10253
10289
  };
10254
10290
 
10255
10291
  export type HelixListItemVueEvents = {
@@ -10299,6 +10335,20 @@ refused, in a `reorderable` list. */
10299
10335
  /** What screen readers hear when a held row is put back, or a move is
10300
10336
  refused, in a `reorderable` list. */
10301
10337
  canceledLabel?: (HelixList["canceledLabel"]) | undefined;
10338
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
10339
+ passes over the row, or `selection`, which keeps the row out of the
10340
+ selection and lets the keys reach it and Enter or a press act on it, as
10341
+ React Aria's GridList takes `disabledBehavior`.
10342
+
10343
+ Absent is `all`. */
10344
+ "disabled-behavior"?: (HelixList["disabledBehavior"]) | undefined;
10345
+ /** What `disabled` takes from a row, in a list that selects: `all`, which
10346
+ passes over the row, or `selection`, which keeps the row out of the
10347
+ selection and lets the keys reach it and Enter or a press act on it, as
10348
+ React Aria's GridList takes `disabledBehavior`.
10349
+
10350
+ Absent is `all`. */
10351
+ disabledBehavior?: (HelixList["disabledBehavior"]) | undefined;
10302
10352
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
10303
10353
  "dropped-label"?: (HelixList["droppedLabel"]) | undefined;
10304
10354
  /** What screen readers hear when a row is dropped, in a `reorderable` list. */
@@ -10683,6 +10733,14 @@ imperatively later, and nothing is hydrating by then.
10683
10733
 
10684
10734
  Here rather than on each control. */
10685
10735
  name?: (HelixListbox["name"]) | undefined;
10736
+ /** Whether an option is kept by the filter: a function given the option's
10737
+ words and the filter, trimmed, that returns `true` to keep it showing, as
10738
+ React Aria's `Autocomplete` takes `filter`. For matching that ignores
10739
+ accents, matches the start of each word, or matches out of order.
10740
+
10741
+ Absent, an option is kept where its words hold the filter, in any case. A
10742
+ property only, there being no way to write a function in markup. */
10743
+ filterMatch?: (HelixListbox["filterMatch"]) | undefined;
10686
10744
  /** The options as data, for a list too long to draw whole: each a value,
10687
10745
  which is also its words, or a record with a `value`, a `label` and
10688
10746
  `disabled`. Set, the list draws only the options in sight, and the ones
@@ -11623,8 +11681,24 @@ narrow exception the server specs describe covers a mirror that can only
11623
11681
  become true long after hydration, and a viewport measured before the first
11624
11682
  paint is the opposite case. See `MixinControllerOpen` on `open`. */
11625
11683
  bandBelow?: (HelixMegamenu["bandBelow"]) | undefined;
11684
+ /** How long a pointer leaving the trigger and the panel waits before the panel
11685
+ closes, in milliseconds. The pointer needs the time to cross from the
11686
+ trigger to the panel. */
11687
+ "close-delay"?: (HelixMegamenu["closeDelay"] | `${number}`) | undefined;
11688
+ /** How long a pointer leaving the trigger and the panel waits before the panel
11689
+ closes, in milliseconds. The pointer needs the time to cross from the
11690
+ trigger to the panel. */
11691
+ closeDelay?: (HelixMegamenu["closeDelay"]) | undefined;
11626
11692
  /** The section's name, used for the default trigger and the panel. */
11627
11693
  label?: (HelixMegamenu["label"]) | undefined;
11694
+ /** How long a pointer rests on the trigger before the panel opens, in
11695
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
11696
+ way somewhere else opens nothing. */
11697
+ "open-delay"?: (HelixMegamenu["openDelay"] | `${number}`) | undefined;
11698
+ /** How long a pointer rests on the trigger before the panel opens, in
11699
+ milliseconds, under `open-on="hover"`. A pointer crossing the bar on its
11700
+ way somewhere else opens nothing. */
11701
+ openDelay?: (HelixMegamenu["openDelay"]) | undefined;
11628
11702
  /** Whether hovering over the trigger opens the panel (`hover`), or only a press
11629
11703
  does (`click`).
11630
11704
 
@@ -11641,6 +11715,10 @@ the trigger, and it is the default because that is what a navigation bar
11641
11715
  does. `click` is for a trigger that does something else as well, or a panel
11642
11716
  heavy enough that opening it on the way past is rude. */
11643
11717
  openOn?: (HelixMegamenu["openOn"]) | undefined;
11718
+ /** The side of the trigger a card panel opens on, when there is room. It
11719
+ moves if that side does not fit. A band ignores it, since a band spans the
11720
+ page under its bar. */
11721
+ placement?: (HelixMegamenu["placement"]) | undefined;
11644
11722
  /** Whether the panel is a card under the trigger or a band across the page.
11645
11723
 
11646
11724
  The resting one is the card, hanging off the trigger and as wide as it
@@ -11815,12 +11893,29 @@ Empty by default, which names the surface by its trigger, so a menu opened
11815
11893
  from "Actions" is announced as "Actions". An `aria-label` or
11816
11894
  `aria-labelledby` on the host names it too, and wins over both. */
11817
11895
  label?: (HelixMenu["label"]) | undefined;
11896
+ /** The description a trigger gives under `open-on="long-press"`, saying how
11897
+ to open the menu. Translate it with the rest of your interface. */
11898
+ "long-press-label"?: (HelixMenu["longPressLabel"]) | undefined;
11899
+ /** The description a trigger gives under `open-on="long-press"`, saying how
11900
+ to open the menu. Translate it with the rest of your interface. */
11901
+ longPressLabel?: (HelixMenu["longPressLabel"]) | undefined;
11818
11902
  /** Space between the trigger and the surface, in pixels. */
11819
11903
  offset?: (HelixMenu["offset"]) | undefined;
11904
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
11905
+ trigger's own action and opens the menu on a press held for half a second,
11906
+ or on Alt+Down or Alt+Up. */
11907
+ "open-on"?: (HelixMenu["openOn"]) | undefined;
11908
+ /** What opens the menu from its trigger. `long-press` leaves a press to the
11909
+ trigger's own action and opens the menu on a press held for half a second,
11910
+ or on Alt+Down or Alt+Up. */
11911
+ openOn?: (HelixMenu["openOn"]) | undefined;
11820
11912
  /** The side the menu opens on, when there is room.
11821
11913
 
11822
11914
  It moves if that side does not fit. */
11823
11915
  placement?: (HelixMenu["placement"]) | undefined;
11916
+ /** How a submenu opens. `drill` shows it in place of the page showing, with
11917
+ a way back. `flyout` opens it in a panel of its own beside its row. */
11918
+ submenus?: (HelixMenu["submenus"]) | undefined;
11824
11919
  };
11825
11920
 
11826
11921
  export type HelixMenuVueEvents = {
@@ -12255,6 +12350,12 @@ say that without the component knowing what a row looks like. */
12255
12350
  "loading-text"?: (HelixNotifications["loadingText"]) | undefined;
12256
12351
  /** The text shown and announced while the rows load. */
12257
12352
  loadingText?: (HelixNotifications["loadingText"]) | undefined;
12353
+ /** What the feed says when unread notifications arrive, with `{count}` the
12354
+ number of them. Empty it to say nothing. */
12355
+ "arrived-label"?: (HelixNotifications["arrivedLabel"]) | undefined;
12356
+ /** What the feed says when unread notifications arrive, with `{count}` the
12357
+ number of them. Empty it to say nothing. */
12358
+ arrivedLabel?: (HelixNotifications["arrivedLabel"]) | undefined;
12258
12359
  /** The region's name where `label` is empty. */
12259
12360
  "fallback-label"?: (HelixNotifications["fallbackLabel"]) | undefined;
12260
12361
  /** The region's name where `label` is empty. */
@@ -12577,8 +12678,11 @@ imperatively later, and nothing is hydrating by then.
12577
12678
 
12578
12679
  Here rather than on each control. */
12579
12680
  name?: (HelixNumberInput["name"]) | undefined;
12580
- /** The value as a number, or `NaN` while the control is empty.
12681
+ /** The value as a number, or `NaN` while the control is empty or does not
12682
+ hold a number.
12581
12683
 
12684
+ Read in the locale and the format, as the form reads it, so `1,5` typed
12685
+ in a locale with a decimal comma is 1.5 here while the form holds 1.5.
12582
12686
  `NaN` and not zero, which is the trap the platform already avoids: `Number('')`
12583
12687
  is zero, so an empty control would report a number it does not hold and a
12584
12688
  form would submit it. */
@@ -15341,7 +15445,8 @@ control height until you size it, with a height on the element or
15341
15445
  /** What is loading, read out as the placeholder's name, such as "Loading
15342
15446
  profile".
15343
15447
 
15344
- Absent hides the placeholder from screen readers. */
15448
+ Absent hides the placeholder from screen readers. Around content, the name
15449
+ is read while `loading` is set, and the loaded content is read as it is. */
15345
15450
  label?: (HelixSkeleton["label"]) | undefined;
15346
15451
  /** Whether the content inside is still loading, which keeps it inert and
15347
15452
  draws the placeholder over it.
@@ -18380,6 +18485,10 @@ attribute nobody can use. */
18380
18485
 
18381
18486
  A subset of the tone axis: a toast reports a status and never a brand role. */
18382
18487
  tone?: (HelixToastItem["tone"]) | undefined;
18488
+ /** Whether the region holds the message back, because more messages are
18489
+ showing than its `max-visible`. The region sets it. A waiting message is
18490
+ hidden, its timer has not started, and it is said once it shows. */
18491
+ waiting?: (HelixToastItem["waiting"]) | undefined;
18383
18492
  };
18384
18493
 
18385
18494
  export type HelixToastItemVueEvents = {
@@ -18402,6 +18511,14 @@ Empty turns it off. */
18402
18511
  /** Accessible name for the region, with `{hotkey}` filled in. Translate it with
18403
18512
  the rest of your interface. */
18404
18513
  label?: (HelixToast["label"]) | undefined;
18514
+ /** How many messages show at once. The messages after that many wait, hidden
18515
+ and with their timers stopped, until a message before them goes. Unset,
18516
+ every message shows. */
18517
+ "max-visible"?: (HelixToast["maxVisible"] | `${number}`) | undefined;
18518
+ /** How many messages show at once. The messages after that many wait, hidden
18519
+ and with their timers stopped, until a message before them goes. Unset,
18520
+ every message shows. */
18521
+ maxVisible?: (HelixToast["maxVisible"]) | undefined;
18405
18522
  /** Which corner or edge the stack sits at.
18406
18523
 
18407
18524
  Named here rather than on each message, because where a page puts its
package/types/words.d.ts CHANGED
@@ -25,6 +25,13 @@ declare module '@fusion.dev/helix-core' {
25
25
  * English: `{author}: {text}`
26
26
  */
27
27
  arrivalLabel: Message
28
+ /**
29
+ * What the feed says when unread notifications arrive, with `{count}` the
30
+ * number of them. Empty it to say nothing.
31
+ *
32
+ * English: `{count, plural, one {# new notification} other {# new notifications}}`
33
+ */
34
+ arrivedLabel: Message
28
35
  /**
29
36
  * The word for an ascending sort, in a `sorted-label` that writes `{order}`.
30
37
  *
@@ -334,6 +341,13 @@ declare module '@fusion.dev/helix-core' {
334
341
  * English: `Load more`
335
342
  */
336
343
  loadMoreLabel: Message
344
+ /**
345
+ * The description a trigger gives under `open-on="long-press"`, saying how
346
+ * to open the menu. Translate it with the rest of your interface.
347
+ *
348
+ * English: `Long press or press Alt+Down to show the menu`
349
+ */
350
+ longPressLabel: Message
337
351
  /**
338
352
  * The name of the map types in the layers menu, read by screen readers.
339
353
  *