@fusion.dev/helix 0.177.1 → 0.178.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix",
3
3
  "description": "Styled component tier. Extends the headless tier with token-driven presentation.",
4
- "version": "0.177.1",
4
+ "version": "0.178.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -54,13 +54,13 @@
54
54
  },
55
55
  "bugs": "https://github.com/project-fusion/fusion/issues",
56
56
  "dependencies": {
57
- "@fusion.dev/helix-core": "0.177.1",
58
- "@fusion.dev/helix-headless": "0.177.1",
59
- "@fusion.dev/helix-styles": "0.177.1"
57
+ "@fusion.dev/helix-core": "0.178.0",
58
+ "@fusion.dev/helix-headless": "0.178.0",
59
+ "@fusion.dev/helix-styles": "0.178.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@fusion.dev/helix-cem": "0.177.1",
63
- "@fusion.dev/helix-testing": "0.177.1",
62
+ "@fusion.dev/helix-cem": "0.178.0",
63
+ "@fusion.dev/helix-testing": "0.178.0",
64
64
  "@fusion.dev/scripts": "0.0.0-dev",
65
65
  "@happy-dom/global-registrator": "^20.14.5",
66
66
  "@lit-labs/ssr": "^4.1.0",
package/types/jsx.d.ts CHANGED
@@ -12361,10 +12361,22 @@ Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
12361
12361
  /** The message shown when `disable-dates` or `disable-days` bars a date. */
12362
12362
  unavailableMessage?: (HelixDateInput["unavailableMessage"]) | undefined;
12363
12363
  /** The message for text that is no date, where `bad-input-message` is not
12364
- set. `{mode}` is `single`, `range`, or `multiple`. */
12364
+ set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
12365
+ date written as the field writes one, `August 24, 2026` in `en-US` and
12366
+ `24. August 2026` in `de-DE` at the default `date-style`.
12367
+
12368
+ **The default names a date the field reads back.** It said "Enter a date
12369
+ as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
12370
+ pattern token is words for a developer. Time Input says the same. */
12365
12371
  "unreadable-message"?: (HelixDateInput["unreadableMessage"]) | undefined;
12366
12372
  /** The message for text that is no date, where `bad-input-message` is not
12367
- set. `{mode}` is `single`, `range`, or `multiple`. */
12373
+ set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
12374
+ date written as the field writes one, `August 24, 2026` in `en-US` and
12375
+ `24. August 2026` in `de-DE` at the default `date-style`.
12376
+
12377
+ **The default names a date the field reads back.** It said "Enter a date
12378
+ as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
12379
+ pattern token is words for a developer. Time Input says the same. */
12368
12380
  unreadableMessage?: (HelixDateInput["unreadableMessage"]) | undefined;
12369
12381
  /** The name of the calendar's heading where it shows a page of years, with
12370
12382
  `{heading}` filled in. */
@@ -12881,10 +12893,22 @@ Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
12881
12893
  /** The message shown when `disable-dates` or `disable-days` bars a date. */
12882
12894
  "prop:unavailableMessage"?: (HelixDateInput["unavailableMessage"]) | undefined;
12883
12895
  /** The message for text that is no date, where `bad-input-message` is not
12884
- set. `{mode}` is `single`, `range`, or `multiple`. */
12896
+ set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
12897
+ date written as the field writes one, `August 24, 2026` in `en-US` and
12898
+ `24. August 2026` in `de-DE` at the default `date-style`.
12899
+
12900
+ **The default names a date the field reads back.** It said "Enter a date
12901
+ as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
12902
+ pattern token is words for a developer. Time Input says the same. */
12885
12903
  "attr:unreadable-message"?: (HelixDateInput["unreadableMessage"]) | undefined;
12886
12904
  /** The message for text that is no date, where `bad-input-message` is not
12887
- set. `{mode}` is `single`, `range`, or `multiple`. */
12905
+ set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
12906
+ date written as the field writes one, `August 24, 2026` in `en-US` and
12907
+ `24. August 2026` in `de-DE` at the default `date-style`.
12908
+
12909
+ **The default names a date the field reads back.** It said "Enter a date
12910
+ as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
12911
+ pattern token is words for a developer. Time Input says the same. */
12888
12912
  "prop:unreadableMessage"?: (HelixDateInput["unreadableMessage"]) | undefined;
12889
12913
  /** The name of the calendar's heading where it shows a page of years, with
12890
12914
  `{heading}` filled in. */
@@ -13013,16 +13037,24 @@ a reset should return to. */
13013
13037
  **Every sentence a control raises in the browser's bubble is a property**,
13014
13038
  named for the validity flag it reports, so a form in another language
13015
13039
  speaks it. Unset is the sentence registered for the page's language, then
13016
- the English. `{mode}` is `single`, `range` or `multiple`, so each can have
13017
- its own sentence. */
13040
+ the English. `{example}` is a date written as the calendar names one,
13041
+ `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
13042
+ is `single`, `range` or `multiple`, so each can have its own sentence.
13043
+
13044
+ **The default names a date in words.** It said "Enter a date as
13045
+ YYYY-MM-DD.", and a pattern token is words for a developer. */
13018
13046
  "bad-input-message"?: (HelixDatePicker["badInputMessage"]) | undefined;
13019
13047
  /** The validation message for a value that is not a date.
13020
13048
 
13021
13049
  **Every sentence a control raises in the browser's bubble is a property**,
13022
13050
  named for the validity flag it reports, so a form in another language
13023
13051
  speaks it. Unset is the sentence registered for the page's language, then
13024
- the English. `{mode}` is `single`, `range` or `multiple`, so each can have
13025
- its own sentence. */
13052
+ the English. `{example}` is a date written as the calendar names one,
13053
+ `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
13054
+ is `single`, `range` or `multiple`, so each can have its own sentence.
13055
+
13056
+ **The default names a date in words.** It said "Enter a date as
13057
+ YYYY-MM-DD.", and a pattern token is words for a developer. */
13026
13058
  badInputMessage?: (HelixDatePicker["badInputMessage"]) | undefined;
13027
13059
  /** The calendar the heading, the days, and the months are written in.
13028
13060
 
@@ -13358,16 +13390,24 @@ a reset should return to. */
13358
13390
  **Every sentence a control raises in the browser's bubble is a property**,
13359
13391
  named for the validity flag it reports, so a form in another language
13360
13392
  speaks it. Unset is the sentence registered for the page's language, then
13361
- the English. `{mode}` is `single`, `range` or `multiple`, so each can have
13362
- its own sentence. */
13393
+ the English. `{example}` is a date written as the calendar names one,
13394
+ `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
13395
+ is `single`, `range` or `multiple`, so each can have its own sentence.
13396
+
13397
+ **The default names a date in words.** It said "Enter a date as
13398
+ YYYY-MM-DD.", and a pattern token is words for a developer. */
13363
13399
  "attr:bad-input-message"?: (HelixDatePicker["badInputMessage"]) | undefined;
13364
13400
  /** The validation message for a value that is not a date.
13365
13401
 
13366
13402
  **Every sentence a control raises in the browser's bubble is a property**,
13367
13403
  named for the validity flag it reports, so a form in another language
13368
13404
  speaks it. Unset is the sentence registered for the page's language, then
13369
- the English. `{mode}` is `single`, `range` or `multiple`, so each can have
13370
- its own sentence. */
13405
+ the English. `{example}` is a date written as the calendar names one,
13406
+ `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
13407
+ is `single`, `range` or `multiple`, so each can have its own sentence.
13408
+
13409
+ **The default names a date in words.** It said "Enter a date as
13410
+ YYYY-MM-DD.", and a pattern token is words for a developer. */
13371
13411
  "prop:badInputMessage"?: (HelixDatePicker["badInputMessage"]) | undefined;
13372
13412
  /** The calendar the heading, the days, and the months are written in.
13373
13413
 
@@ -16089,6 +16129,14 @@ an icon. */
16089
16129
  /** The name of the clear button, read by screen readers. The button shows only
16090
16130
  an icon. */
16091
16131
  clearLabel?: (HelixFilterInput["clearLabel"]) | undefined;
16132
+ /** How long typing rests before `source` is asked, in milliseconds. A delay
16133
+ sends one request for a word in place of one for each letter. The arrow
16134
+ keys and Enter ask at once. `0` asks on every keystroke. */
16135
+ "filter-delay"?: (HelixFilterInput["filterDelay"] | `${number}`) | undefined;
16136
+ /** How long typing rests before `source` is asked, in milliseconds. A delay
16137
+ sends one request for a word in place of one for each letter. The arrow
16138
+ keys and Enter ask at once. `0` asks on every keystroke. */
16139
+ filterDelay?: (HelixFilterInput["filterDelay"]) | undefined;
16092
16140
  /** Whether the panel narrows itself to the suggestions that hold the term
16093
16141
  being typed, as React Aria's Autocomplete filters. Off, the panel shows
16094
16142
  what you slot and you narrow it. */
@@ -16166,6 +16214,13 @@ imperatively later, and nothing is hydrating by then.
16166
16214
 
16167
16215
  Here rather than on each control. */
16168
16216
  name?: (HelixFilterInput["name"]) | undefined;
16217
+ /** Where the suggestions come from: a function given the term at the caret,
16218
+ the field it is a value of, the whole text, and an `AbortSignal`, which
16219
+ returns the suggestions or a promise of them. Each is a string, or a
16220
+ `value` with a `label` and `disabled`. The field draws them as options in
16221
+ the panel, beside any you slot. A property only, there being no way to
16222
+ write a function in markup. See the class description. */
16223
+ source?: (HelixFilterInput["source"]) | undefined;
16169
16224
 
16170
16225
  /** Fired when the suggestions panel opens or closes, with `newState` and `oldState`. */
16171
16226
  ontoggle?: ((e: HelixFilterInputToggleElementEvent) => void) | undefined;
@@ -16187,7 +16242,7 @@ Here rather than on each control. */
16187
16242
  "onhelix-dismiss"?: ((e: HelixFilterInputHelixDismissElementEvent) => void) | undefined;
16188
16243
  /** Fired when a filter changes, whether it was typed, picked, or removed. Cancelable: call `preventDefault()` to leave the text and the chip as they were. */
16189
16244
  "onhelix-facet"?: ((e: HelixFilterInputHelixFacetElementEvent) => void) | undefined;
16190
- /** Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on a choice; you decide what it does. */
16245
+ /** Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on an option you slotted, and you decide what it does. A suggestion from `source` is written over the term at the caret unless you cancel it. */
16191
16246
  "onhelix-select"?: ((e: HelixFilterInputHelixSelectElementEvent) => void) | undefined;
16192
16247
  /** Fired when the text changes. */
16193
16248
  oninput?: ((e: HelixFilterInputElementEvent) => void) | undefined;
@@ -16335,6 +16390,14 @@ an icon. */
16335
16390
  /** The name of the clear button, read by screen readers. The button shows only
16336
16391
  an icon. */
16337
16392
  "prop:clearLabel"?: (HelixFilterInput["clearLabel"]) | undefined;
16393
+ /** How long typing rests before `source` is asked, in milliseconds. A delay
16394
+ sends one request for a word in place of one for each letter. The arrow
16395
+ keys and Enter ask at once. `0` asks on every keystroke. */
16396
+ "attr:filter-delay"?: (HelixFilterInput["filterDelay"] | `${number}`) | undefined;
16397
+ /** How long typing rests before `source` is asked, in milliseconds. A delay
16398
+ sends one request for a word in place of one for each letter. The arrow
16399
+ keys and Enter ask at once. `0` asks on every keystroke. */
16400
+ "prop:filterDelay"?: (HelixFilterInput["filterDelay"]) | undefined;
16338
16401
  /** Whether the panel narrows itself to the suggestions that hold the term
16339
16402
  being typed, as React Aria's Autocomplete filters. Off, the panel shows
16340
16403
  what you slot and you narrow it. */
@@ -16412,6 +16475,13 @@ imperatively later, and nothing is hydrating by then.
16412
16475
 
16413
16476
  Here rather than on each control. */
16414
16477
  "prop:name"?: (HelixFilterInput["name"]) | undefined;
16478
+ /** Where the suggestions come from: a function given the term at the caret,
16479
+ the field it is a value of, the whole text, and an `AbortSignal`, which
16480
+ returns the suggestions or a promise of them. Each is a string, or a
16481
+ `value` with a `label` and `disabled`. The field draws them as options in
16482
+ the panel, beside any you slot. A property only, there being no way to
16483
+ write a function in markup. See the class description. */
16484
+ "prop:source"?: (HelixFilterInput["source"]) | undefined;
16415
16485
  /** Fired when the suggestions panel opens or closes, with `newState` and `oldState`. */
16416
16486
  "on:toggle"?: ((e: HelixFilterInputToggleElementEvent) => void) | undefined;
16417
16487
  /** Fired from the input when the user finishes editing the text. */
@@ -16432,7 +16502,7 @@ Here rather than on each control. */
16432
16502
  "on:helix-dismiss"?: ((e: HelixFilterInputHelixDismissElementEvent) => void) | undefined;
16433
16503
  /** Fired when a filter changes, whether it was typed, picked, or removed. Cancelable: call `preventDefault()` to leave the text and the chip as they were. */
16434
16504
  "on:helix-facet"?: ((e: HelixFilterInputHelixFacetElementEvent) => void) | undefined;
16435
- /** Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on a choice; you decide what it does. */
16505
+ /** Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on an option you slotted, and you decide what it does. A suggestion from `source` is written over the term at the caret unless you cancel it. */
16436
16506
  "on:helix-select"?: ((e: HelixFilterInputHelixSelectElementEvent) => void) | undefined;
16437
16507
  /** Fired when the text changes. */
16438
16508
  "on:input"?: ((e: HelixFilterInputElementEvent) => void) | undefined;
@@ -17158,6 +17228,14 @@ or hides its notes. Drawn where the notes have two groups or more. */
17158
17228
  "legend-label"?: (HelixGraph["legendLabel"]) | undefined;
17159
17229
  /** The legend's name, read by screen readers. */
17160
17230
  legendLabel?: (HelixGraph["legendLabel"]) | undefined;
17231
+ /** What screen readers hear when a walk along the links reaches a note that
17232
+ has no link to follow, or goes back to a note: `{note}` for its name and
17233
+ `{count}` for how many notes the list holds that it links to or from. */
17234
+ "link-count-label"?: (HelixGraph["linkCountLabel"]) | undefined;
17235
+ /** What screen readers hear when a walk along the links reaches a note that
17236
+ has no link to follow, or goes back to a note: `{note}` for its name and
17237
+ `{count}` for how many notes the list holds that it links to or from. */
17238
+ linkCountLabel?: (HelixGraph["linkCountLabel"]) | undefined;
17161
17239
  /** How a note linked both to and from the selected one is described, with `{note}`. */
17162
17240
  "linked-both-label"?: (HelixGraph["linkedBothLabel"]) | undefined;
17163
17241
  /** How a note linked both to and from the selected one is described, with `{note}`. */
@@ -17237,6 +17315,16 @@ the list then holds, written with `count-label`. */
17237
17315
  "using-label"?: (HelixGraph["usingLabel"]) | undefined;
17238
17316
  /** The line shown while the graph, with `gestures="activate"`, has the gestures. */
17239
17317
  usingLabel?: (HelixGraph["usingLabel"]) | undefined;
17318
+ /** What screen readers hear when a walk along the links moves to a note:
17319
+ `{note}` for its name, `{relation}` for how it stands to the note the
17320
+ step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
17321
+ for its place among that note's links. */
17322
+ "walk-label"?: (HelixGraph["walkLabel"]) | undefined;
17323
+ /** What screen readers hear when a walk along the links moves to a note:
17324
+ `{note}` for its name, `{relation}` for how it stands to the note the
17325
+ step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
17326
+ for its place among that note's links. */
17327
+ walkLabel?: (HelixGraph["walkLabel"]) | undefined;
17240
17328
  /** The hint shown when the wheel scrolls past the graph with
17241
17329
  `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
17242
17330
  "wheel-hint-label"?: (HelixGraph["wheelHintLabel"]) | undefined;
@@ -17280,7 +17368,7 @@ markup. */
17280
17368
  "onhelix-graph-layout"?: ((e: HelixGraphHelixGraphLayoutElementEvent) => void) | undefined;
17281
17369
  /** A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`. */
17282
17370
  "onhelix-graph-pan"?: ((e: HelixGraphHelixGraphPanElementEvent) => void) | undefined;
17283
- /** The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
17371
+ /** The notes, the links, the selection, the depth, the note the keys are on, or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
17284
17372
  "onhelix-graph-part-change"?: ((
17285
17373
  e: HelixGraphHelixGraphPartChangeElementEvent,
17286
17374
  ) => void) | undefined;
@@ -17485,6 +17573,14 @@ or hides its notes. Drawn where the notes have two groups or more. */
17485
17573
  "attr:legend-label"?: (HelixGraph["legendLabel"]) | undefined;
17486
17574
  /** The legend's name, read by screen readers. */
17487
17575
  "prop:legendLabel"?: (HelixGraph["legendLabel"]) | undefined;
17576
+ /** What screen readers hear when a walk along the links reaches a note that
17577
+ has no link to follow, or goes back to a note: `{note}` for its name and
17578
+ `{count}` for how many notes the list holds that it links to or from. */
17579
+ "attr:link-count-label"?: (HelixGraph["linkCountLabel"]) | undefined;
17580
+ /** What screen readers hear when a walk along the links reaches a note that
17581
+ has no link to follow, or goes back to a note: `{note}` for its name and
17582
+ `{count}` for how many notes the list holds that it links to or from. */
17583
+ "prop:linkCountLabel"?: (HelixGraph["linkCountLabel"]) | undefined;
17488
17584
  /** How a note linked both to and from the selected one is described, with `{note}`. */
17489
17585
  "attr:linked-both-label"?: (HelixGraph["linkedBothLabel"]) | undefined;
17490
17586
  /** How a note linked both to and from the selected one is described, with `{note}`. */
@@ -17564,6 +17660,16 @@ the list then holds, written with `count-label`. */
17564
17660
  "attr:using-label"?: (HelixGraph["usingLabel"]) | undefined;
17565
17661
  /** The line shown while the graph, with `gestures="activate"`, has the gestures. */
17566
17662
  "prop:usingLabel"?: (HelixGraph["usingLabel"]) | undefined;
17663
+ /** What screen readers hear when a walk along the links moves to a note:
17664
+ `{note}` for its name, `{relation}` for how it stands to the note the
17665
+ step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
17666
+ for its place among that note's links. */
17667
+ "attr:walk-label"?: (HelixGraph["walkLabel"]) | undefined;
17668
+ /** What screen readers hear when a walk along the links moves to a note:
17669
+ `{note}` for its name, `{relation}` for how it stands to the note the
17670
+ step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
17671
+ for its place among that note's links. */
17672
+ "prop:walkLabel"?: (HelixGraph["walkLabel"]) | undefined;
17567
17673
  /** The hint shown when the wheel scrolls past the graph with
17568
17674
  `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
17569
17675
  "attr:wheel-hint-label"?: (HelixGraph["wheelHintLabel"]) | undefined;
@@ -17606,7 +17712,7 @@ markup. */
17606
17712
  "on:helix-graph-layout"?: ((e: HelixGraphHelixGraphLayoutElementEvent) => void) | undefined;
17607
17713
  /** A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`. */
17608
17714
  "on:helix-graph-pan"?: ((e: HelixGraphHelixGraphPanElementEvent) => void) | undefined;
17609
- /** The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
17715
+ /** The notes, the links, the selection, the depth, the note the keys are on, or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
17610
17716
  "on:helix-graph-part-change"?: ((
17611
17717
  e: HelixGraphHelixGraphPartChangeElementEvent,
17612
17718
  ) => void) | undefined;
@@ -37193,18 +37299,28 @@ a reset should return to. */
37193
37299
  **Every sentence a control raises in the browser's bubble is a property**,
37194
37300
  named for the validity flag it reports, so a form in another language
37195
37301
  speaks it. Unset is the sentence registered for the page's language, then
37196
- the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
37197
- `{mode}` is `single`, `range` or `multiple`, so each can have its own
37198
- sentence. */
37302
+ the English. `{example}` is a time written as the picker writes one,
37303
+ `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
37304
+ `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
37305
+ have its own sentence.
37306
+
37307
+ **The default names a time as the picker shows one.** It said "Enter a
37308
+ time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
37309
+ token is words for a developer. Time Input says the same. */
37199
37310
  "bad-input-message"?: (HelixTimePicker["badInputMessage"]) | undefined;
37200
37311
  /** The validation message for a value that is not a time.
37201
37312
 
37202
37313
  **Every sentence a control raises in the browser's bubble is a property**,
37203
37314
  named for the validity flag it reports, so a form in another language
37204
37315
  speaks it. Unset is the sentence registered for the page's language, then
37205
- the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
37206
- `{mode}` is `single`, `range` or `multiple`, so each can have its own
37207
- sentence. */
37316
+ the English. `{example}` is a time written as the picker writes one,
37317
+ `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
37318
+ `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
37319
+ have its own sentence.
37320
+
37321
+ **The default names a time as the picker shows one.** It said "Enter a
37322
+ time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
37323
+ token is words for a developer. Time Input says the same. */
37208
37324
  badInputMessage?: (HelixTimePicker["badInputMessage"]) | undefined;
37209
37325
  /** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
37210
37326
 
@@ -37541,18 +37657,28 @@ a reset should return to. */
37541
37657
  **Every sentence a control raises in the browser's bubble is a property**,
37542
37658
  named for the validity flag it reports, so a form in another language
37543
37659
  speaks it. Unset is the sentence registered for the page's language, then
37544
- the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
37545
- `{mode}` is `single`, `range` or `multiple`, so each can have its own
37546
- sentence. */
37660
+ the English. `{example}` is a time written as the picker writes one,
37661
+ `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
37662
+ `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
37663
+ have its own sentence.
37664
+
37665
+ **The default names a time as the picker shows one.** It said "Enter a
37666
+ time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
37667
+ token is words for a developer. Time Input says the same. */
37547
37668
  "attr:bad-input-message"?: (HelixTimePicker["badInputMessage"]) | undefined;
37548
37669
  /** The validation message for a value that is not a time.
37549
37670
 
37550
37671
  **Every sentence a control raises in the browser's bubble is a property**,
37551
37672
  named for the validity flag it reports, so a form in another language
37552
37673
  speaks it. Unset is the sentence registered for the page's language, then
37553
- the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
37554
- `{mode}` is `single`, `range` or `multiple`, so each can have its own
37555
- sentence. */
37674
+ the English. `{example}` is a time written as the picker writes one,
37675
+ `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
37676
+ `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
37677
+ have its own sentence.
37678
+
37679
+ **The default names a time as the picker shows one.** It said "Enter a
37680
+ time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
37681
+ token is words for a developer. Time Input says the same. */
37556
37682
  "prop:badInputMessage"?: (HelixTimePicker["badInputMessage"]) | undefined;
37557
37683
  /** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
37558
37684
 
@@ -49682,7 +49808,13 @@ export type CustomElements = {
49682
49808
  * - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
49683
49809
  * - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
49684
49810
  * - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
49685
- * set. `{mode}` is `single`, `range`, or `multiple`.
49811
+ * set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
49812
+ * date written as the field writes one, `August 24, 2026` in `en-US` and
49813
+ * `24. August 2026` in `de-DE` at the default `date-style`.
49814
+ *
49815
+ * **The default names a date the field reads back.** It said "Enter a date
49816
+ * as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
49817
+ * pattern token is words for a developer. Time Input says the same.
49686
49818
  * - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
49687
49819
  * `{heading}` filled in.
49688
49820
  * - `disabled`: Whether the control is disabled and cannot be used.
@@ -49971,8 +50103,12 @@ export type CustomElements = {
49971
50103
  * **Every sentence a control raises in the browser's bubble is a property**,
49972
50104
  * named for the validity flag it reports, so a form in another language
49973
50105
  * speaks it. Unset is the sentence registered for the page's language, then
49974
- * the English. `{mode}` is `single`, `range` or `multiple`, so each can have
49975
- * its own sentence.
50106
+ * the English. `{example}` is a date written as the calendar names one,
50107
+ * `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
50108
+ * is `single`, `range` or `multiple`, so each can have its own sentence.
50109
+ *
50110
+ * **The default names a date in words.** It said "Enter a date as
50111
+ * YYYY-MM-DD.", and a pattern token is words for a developer.
49976
50112
  * - `calendar`: The calendar the heading, the days, and the months are written in.
49977
50113
  *
49978
50114
  * `gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five
@@ -52525,6 +52661,9 @@ export type CustomElements = {
52525
52661
  * them.
52526
52662
  * - `clear-label`/`clearLabel`: The name of the clear button, read by screen readers. The button shows only
52527
52663
  * an icon.
52664
+ * - `filter-delay`/`filterDelay`: How long typing rests before `source` is asked, in milliseconds. A delay
52665
+ * sends one request for a word in place of one for each letter. The arrow
52666
+ * keys and Enter ask at once. `0` asks on every keystroke.
52528
52667
  * - `filter-suggestions`/`filterSuggestions`: Whether the panel narrows itself to the suggestions that hold the term
52529
52668
  * being typed, as React Aria's Autocomplete filters. Off, the panel shows
52530
52669
  * what you slot and you narrow it.
@@ -52573,6 +52712,12 @@ export type CustomElements = {
52573
52712
  * imperatively later, and nothing is hydrating by then.
52574
52713
  *
52575
52714
  * Here rather than on each control.
52715
+ * - `source`: Where the suggestions come from: a function given the term at the caret,
52716
+ * the field it is a value of, the whole text, and an `AbortSignal`, which
52717
+ * returns the suggestions or a promise of them. Each is a string, or a
52718
+ * `value` with a `label` and `disabled`. The field draws them as options in
52719
+ * the panel, beside any you slot. A property only, there being no way to
52720
+ * write a function in markup. See the class description. (property only)
52576
52721
  * - `selectionDirection`: The direction of the selection, named as on `<input>`.
52577
52722
  *
52578
52723
  * **Published for the reason `Input` publishes them, and this element needs
@@ -52630,7 +52775,7 @@ export type CustomElements = {
52630
52775
  * - `helix-before-open`: Fired before the suggestions open. Cancelable: call `preventDefault()` to keep them closed.
52631
52776
  * - `helix-dismiss`: Fired when the user removes a token with its remove button or with Backspace in an empty field. A `FilterChip` that names a declared field sends `helix-facet` instead. Cancelable: call `preventDefault()` to keep the token.
52632
52777
  * - `helix-facet`: Fired when a filter changes, whether it was typed, picked, or removed. Cancelable: call `preventDefault()` to leave the text and the chip as they were.
52633
- * - `helix-select`: Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on a choice; you decide what it does.
52778
+ * - `helix-select`: Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on an option you slotted, and you decide what it does. A suggestion from `source` is written over the term at the caret unless you cancel it.
52634
52779
  * - `input`: Fired when the text changes.
52635
52780
  *
52636
52781
  * ## Slots
@@ -52756,7 +52901,7 @@ export type CustomElements = {
52756
52901
  * - `label`: The label above the field.
52757
52902
  * - `lead`: The box before the text that holds the `start` slot.
52758
52903
  * - `live`: The live region that says how many suggestions the open panel offers. It is rendered from the first time the panel opens with suggestions.
52759
- * - `loading`: Shown in the panel while the suggestions load.
52904
+ * - `loading`: Shown in the panel while the suggestions load: while `loading` is set, or a request to `source` is out.
52760
52905
  * - `rest`: The count of tokens that did not fit. It is a `<button>` with `expandable` and a `<span>` without it.
52761
52906
  * - `surface`: The floating panel the suggestions sit in.
52762
52907
  * - `tags`: The row the tokens sit in.
@@ -52766,7 +52911,7 @@ export type CustomElements = {
52766
52911
  * These can be used to apply styling when a component is in a given state.
52767
52912
  *
52768
52913
  * - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
52769
- * - `loading`: While `loading` is set.
52914
+ * - `loading`: While `loading` is set, or a request to `source` is out.
52770
52915
  * - `no-results`: `filter-suggestions` hid every suggestion, and `no-results-text` or the `no-results` slot says so.
52771
52916
  * - `open`: The suggestions are open.
52772
52917
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -53168,6 +53313,9 @@ export type CustomElements = {
53168
53313
  * - `legend`: Names the groups over the drawing, each a button in its color that shows
53169
53314
  * or hides its notes. Drawn where the notes have two groups or more.
53170
53315
  * - `legend-label`/`legendLabel`: The legend's name, read by screen readers.
53316
+ * - `link-count-label`/`linkCountLabel`: What screen readers hear when a walk along the links reaches a note that
53317
+ * has no link to follow, or goes back to a note: `{note}` for its name and
53318
+ * `{count}` for how many notes the list holds that it links to or from.
53171
53319
  * - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
53172
53320
  * - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
53173
53321
  * - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
@@ -53192,6 +53340,10 @@ export type CustomElements = {
53192
53340
  * the list then holds, written with `count-label`.
53193
53341
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
53194
53342
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
53343
+ * - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
53344
+ * `{note}` for its name, `{relation}` for how it stands to the note the
53345
+ * step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
53346
+ * for its place among that note's links.
53195
53347
  * - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
53196
53348
  * `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere.
53197
53349
  * - `zoomed-in-label`/`zoomedInLabel`: What screen readers hear once the drawing has zoomed in, after `moved()`.
@@ -53239,7 +53391,7 @@ export type CustomElements = {
53239
53391
  * - `helix-graph-filter`: A group in the legend was pressed, to show or hide its notes. The detail's `hidden` is every group that would be hidden. Cancelable: cancel it to keep the groups as they were, or to set `hiddenGroups` yourself.
53240
53392
  * - `helix-graph-layout`: A layout settled, with where it put each note, sent by `laidOut()`. Keep the positions and pass them back as each note's `x` and `y`, and `z` where a renderer draws in three dimensions.
53241
53393
  * - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`.
53242
- * - `helix-graph-part-change`: The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
53394
+ * - `helix-graph-part-change`: The notes, the links, the selection, the depth, the note the keys are on, or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
53243
53395
  * - `helix-graph-ready`: The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not.
53244
53396
  * - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
53245
53397
  * - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing, then calls `moved()`.
@@ -68167,9 +68319,14 @@ export type CustomElements = {
68167
68319
  * **Every sentence a control raises in the browser's bubble is a property**,
68168
68320
  * named for the validity flag it reports, so a form in another language
68169
68321
  * speaks it. Unset is the sentence registered for the page's language, then
68170
- * the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
68171
- * `{mode}` is `single`, `range` or `multiple`, so each can have its own
68172
- * sentence.
68322
+ * the English. `{example}` is a time written as the picker writes one,
68323
+ * `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
68324
+ * `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
68325
+ * have its own sentence.
68326
+ *
68327
+ * **The default names a time as the picker shows one.** It said "Enter a
68328
+ * time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
68329
+ * token is words for a developer. Time Input says the same.
68173
68330
  * - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
68174
68331
  *
68175
68332
  * The counterpart to Date Picker's `disable-dates`, and it exists for the same
@@ -79349,7 +79506,13 @@ export type CustomElementsSolidJs = {
79349
79506
  * - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
79350
79507
  * - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
79351
79508
  * - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
79352
- * set. `{mode}` is `single`, `range`, or `multiple`.
79509
+ * set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
79510
+ * date written as the field writes one, `August 24, 2026` in `en-US` and
79511
+ * `24. August 2026` in `de-DE` at the default `date-style`.
79512
+ *
79513
+ * **The default names a date the field reads back.** It said "Enter a date
79514
+ * as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
79515
+ * pattern token is words for a developer. Time Input says the same.
79353
79516
  * - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
79354
79517
  * `{heading}` filled in.
79355
79518
  * - `disabled`: Whether the control is disabled and cannot be used.
@@ -79641,8 +79804,12 @@ export type CustomElementsSolidJs = {
79641
79804
  * **Every sentence a control raises in the browser's bubble is a property**,
79642
79805
  * named for the validity flag it reports, so a form in another language
79643
79806
  * speaks it. Unset is the sentence registered for the page's language, then
79644
- * the English. `{mode}` is `single`, `range` or `multiple`, so each can have
79645
- * its own sentence.
79807
+ * the English. `{example}` is a date written as the calendar names one,
79808
+ * `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
79809
+ * is `single`, `range` or `multiple`, so each can have its own sentence.
79810
+ *
79811
+ * **The default names a date in words.** It said "Enter a date as
79812
+ * YYYY-MM-DD.", and a pattern token is words for a developer.
79646
79813
  * - `calendar`: The calendar the heading, the days, and the months are written in.
79647
79814
  *
79648
79815
  * `gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five
@@ -82240,6 +82407,9 @@ export type CustomElementsSolidJs = {
82240
82407
  * them.
82241
82408
  * - `clear-label`/`clearLabel`: The name of the clear button, read by screen readers. The button shows only
82242
82409
  * an icon.
82410
+ * - `filter-delay`/`filterDelay`: How long typing rests before `source` is asked, in milliseconds. A delay
82411
+ * sends one request for a word in place of one for each letter. The arrow
82412
+ * keys and Enter ask at once. `0` asks on every keystroke.
82243
82413
  * - `filter-suggestions`/`filterSuggestions`: Whether the panel narrows itself to the suggestions that hold the term
82244
82414
  * being typed, as React Aria's Autocomplete filters. Off, the panel shows
82245
82415
  * what you slot and you narrow it.
@@ -82288,6 +82458,12 @@ export type CustomElementsSolidJs = {
82288
82458
  * imperatively later, and nothing is hydrating by then.
82289
82459
  *
82290
82460
  * Here rather than on each control.
82461
+ * - `source`: Where the suggestions come from: a function given the term at the caret,
82462
+ * the field it is a value of, the whole text, and an `AbortSignal`, which
82463
+ * returns the suggestions or a promise of them. Each is a string, or a
82464
+ * `value` with a `label` and `disabled`. The field draws them as options in
82465
+ * the panel, beside any you slot. A property only, there being no way to
82466
+ * write a function in markup. See the class description. (property only)
82291
82467
  * - `selectionDirection`: The direction of the selection, named as on `<input>`.
82292
82468
  *
82293
82469
  * **Published for the reason `Input` publishes them, and this element needs
@@ -82345,7 +82521,7 @@ export type CustomElementsSolidJs = {
82345
82521
  * - `helix-before-open`: Fired before the suggestions open. Cancelable: call `preventDefault()` to keep them closed.
82346
82522
  * - `helix-dismiss`: Fired when the user removes a token with its remove button or with Backspace in an empty field. A `FilterChip` that names a declared field sends `helix-facet` instead. Cancelable: call `preventDefault()` to keep the token.
82347
82523
  * - `helix-facet`: Fired when a filter changes, whether it was typed, picked, or removed. Cancelable: call `preventDefault()` to leave the text and the chip as they were.
82348
- * - `helix-select`: Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on a choice; you decide what it does.
82524
+ * - `helix-select`: Fired by an option in `suggestions` when it is chosen, and bubbles out of the field. Cancelable: call `preventDefault()` to stop other listeners acting on it. The field takes no action on an option you slotted, and you decide what it does. A suggestion from `source` is written over the term at the caret unless you cancel it.
82349
82525
  * - `input`: Fired when the text changes.
82350
82526
  *
82351
82527
  * ## Slots
@@ -82471,7 +82647,7 @@ export type CustomElementsSolidJs = {
82471
82647
  * - `label`: The label above the field.
82472
82648
  * - `lead`: The box before the text that holds the `start` slot.
82473
82649
  * - `live`: The live region that says how many suggestions the open panel offers. It is rendered from the first time the panel opens with suggestions.
82474
- * - `loading`: Shown in the panel while the suggestions load.
82650
+ * - `loading`: Shown in the panel while the suggestions load: while `loading` is set, or a request to `source` is out.
82475
82651
  * - `rest`: The count of tokens that did not fit. It is a `<button>` with `expandable` and a `<span>` without it.
82476
82652
  * - `surface`: The floating panel the suggestions sit in.
82477
82653
  * - `tags`: The row the tokens sit in.
@@ -82481,7 +82657,7 @@ export type CustomElementsSolidJs = {
82481
82657
  * These can be used to apply styling when a component is in a given state.
82482
82658
  *
82483
82659
  * - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
82484
- * - `loading`: While `loading` is set.
82660
+ * - `loading`: While `loading` is set, or a request to `source` is out.
82485
82661
  * - `no-results`: `filter-suggestions` hid every suggestion, and `no-results-text` or the `no-results` slot says so.
82486
82662
  * - `open`: The suggestions are open.
82487
82663
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -82891,6 +83067,9 @@ export type CustomElementsSolidJs = {
82891
83067
  * - `legend`: Names the groups over the drawing, each a button in its color that shows
82892
83068
  * or hides its notes. Drawn where the notes have two groups or more.
82893
83069
  * - `legend-label`/`legendLabel`: The legend's name, read by screen readers.
83070
+ * - `link-count-label`/`linkCountLabel`: What screen readers hear when a walk along the links reaches a note that
83071
+ * has no link to follow, or goes back to a note: `{note}` for its name and
83072
+ * `{count}` for how many notes the list holds that it links to or from.
82894
83073
  * - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
82895
83074
  * - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
82896
83075
  * - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
@@ -82915,6 +83094,10 @@ export type CustomElementsSolidJs = {
82915
83094
  * the list then holds, written with `count-label`.
82916
83095
  * - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
82917
83096
  * - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
83097
+ * - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
83098
+ * `{note}` for its name, `{relation}` for how it stands to the note the
83099
+ * step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
83100
+ * for its place among that note's links.
82918
83101
  * - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
82919
83102
  * `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere.
82920
83103
  * - `zoomed-in-label`/`zoomedInLabel`: What screen readers hear once the drawing has zoomed in, after `moved()`.
@@ -82962,7 +83145,7 @@ export type CustomElementsSolidJs = {
82962
83145
  * - `helix-graph-filter`: A group in the legend was pressed, to show or hide its notes. The detail's `hidden` is every group that would be hidden. Cancelable: cancel it to keep the groups as they were, or to set `hiddenGroups` yourself.
82963
83146
  * - `helix-graph-layout`: A layout settled, with where it put each note, sent by `laidOut()`. Keep the positions and pass them back as each note's `x` and `y`, and `z` where a renderer draws in three dimensions.
82964
83147
  * - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`.
82965
- * - `helix-graph-part-change`: The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
83148
+ * - `helix-graph-part-change`: The notes, the links, the selection, the depth, the note the keys are on, or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
82966
83149
  * - `helix-graph-ready`: The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not.
82967
83150
  * - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
82968
83151
  * - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing, then calls `moved()`.
@@ -98163,9 +98346,14 @@ export type CustomElementsSolidJs = {
98163
98346
  * **Every sentence a control raises in the browser's bubble is a property**,
98164
98347
  * named for the validity flag it reports, so a form in another language
98165
98348
  * speaks it. Unset is the sentence registered for the page's language, then
98166
- * the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
98167
- * `{mode}` is `single`, `range` or `multiple`, so each can have its own
98168
- * sentence.
98349
+ * the English. `{example}` is a time written as the picker writes one,
98350
+ * `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
98351
+ * `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
98352
+ * have its own sentence.
98353
+ *
98354
+ * **The default names a time as the picker shows one.** It said "Enter a
98355
+ * time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
98356
+ * token is words for a developer. Time Input says the same.
98169
98357
  * - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
98170
98358
  *
98171
98359
  * The counterpart to Date Picker's `disable-dates`, and it exists for the same