@fusion.dev/helix-headless 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/custom-elements.json +557 -53
- package/dist/color-input/root/color-input-root.d.ts +0 -13
- package/dist/color-input/root/color-input-root.js +1 -19
- package/dist/date-input/root/date-input-root.d.ts +7 -1
- package/dist/date-input/root/date-input-root.js +6 -2
- package/dist/date-picker/root/date-picker-root.d.ts +6 -2
- package/dist/date-picker/root/date-picker-root.js +6 -2
- package/dist/filter-input/index.d.ts +1 -0
- package/dist/filter-input/root/filter-input-root.d.ts +92 -6
- package/dist/filter-input/root/filter-input-root.js +182 -10
- package/dist/filter-input/suggest.d.ts +47 -0
- package/dist/filter-input/suggest.js +17 -0
- package/dist/graph/root/graph-root.d.ts +101 -3
- package/dist/graph/root/graph-root.js +188 -9
- package/dist/time-picker/root/time-picker-root.d.ts +8 -3
- package/dist/time-picker/root/time-picker-root.js +2 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +324 -54
- package/types/vue.d.ts +79 -16
- package/types/words.d.ts +23 -4
package/types/jsx.d.ts
CHANGED
|
@@ -10536,10 +10536,22 @@ Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
|
10536
10536
|
/** The message shown when `disable-dates` or `disable-days` bars a date. */
|
|
10537
10537
|
unavailableMessage?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
10538
10538
|
/** The message for text that is no date, where `bad-input-message` is not
|
|
10539
|
-
set. `{mode}` is `single`, `range`, or `multiple
|
|
10539
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
10540
|
+
date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
10541
|
+
`24. August 2026` in `de-DE` at the default `date-style`.
|
|
10542
|
+
|
|
10543
|
+
**The default names a date the field reads back.** It said "Enter a date
|
|
10544
|
+
as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
10545
|
+
pattern token is words for a developer. Time Input says the same. */
|
|
10540
10546
|
"unreadable-message"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
10541
10547
|
/** The message for text that is no date, where `bad-input-message` is not
|
|
10542
|
-
set. `{mode}` is `single`, `range`, or `multiple
|
|
10548
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
10549
|
+
date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
10550
|
+
`24. August 2026` in `de-DE` at the default `date-style`.
|
|
10551
|
+
|
|
10552
|
+
**The default names a date the field reads back.** It said "Enter a date
|
|
10553
|
+
as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
10554
|
+
pattern token is words for a developer. Time Input says the same. */
|
|
10543
10555
|
unreadableMessage?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
10544
10556
|
/** The name of the calendar's heading where it shows a page of years, with
|
|
10545
10557
|
`{heading}` filled in. */
|
|
@@ -11056,10 +11068,22 @@ Empty is the reader's own. Dates are plain `YYYY-MM-DD` and carry no zone. */
|
|
|
11056
11068
|
/** The message shown when `disable-dates` or `disable-days` bars a date. */
|
|
11057
11069
|
"prop:unavailableMessage"?: (HelixHeadlessDateInput["unavailableMessage"]) | undefined;
|
|
11058
11070
|
/** The message for text that is no date, where `bad-input-message` is not
|
|
11059
|
-
set. `{mode}` is `single`, `range`, or `multiple
|
|
11071
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
11072
|
+
date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
11073
|
+
`24. August 2026` in `de-DE` at the default `date-style`.
|
|
11074
|
+
|
|
11075
|
+
**The default names a date the field reads back.** It said "Enter a date
|
|
11076
|
+
as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
11077
|
+
pattern token is words for a developer. Time Input says the same. */
|
|
11060
11078
|
"attr:unreadable-message"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
11061
11079
|
/** The message for text that is no date, where `bad-input-message` is not
|
|
11062
|
-
set. `{mode}` is `single`, `range`, or `multiple
|
|
11080
|
+
set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
11081
|
+
date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
11082
|
+
`24. August 2026` in `de-DE` at the default `date-style`.
|
|
11083
|
+
|
|
11084
|
+
**The default names a date the field reads back.** It said "Enter a date
|
|
11085
|
+
as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
11086
|
+
pattern token is words for a developer. Time Input says the same. */
|
|
11063
11087
|
"prop:unreadableMessage"?: (HelixHeadlessDateInput["unreadableMessage"]) | undefined;
|
|
11064
11088
|
/** The name of the calendar's heading where it shows a page of years, with
|
|
11065
11089
|
`{heading}` filled in. */
|
|
@@ -11358,16 +11382,24 @@ export type HelixHeadlessDatePickerProps = {
|
|
|
11358
11382
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
11359
11383
|
named for the validity flag it reports, so a form in another language
|
|
11360
11384
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
11361
|
-
the English. `{
|
|
11362
|
-
|
|
11385
|
+
the English. `{example}` is a date written as the calendar names one,
|
|
11386
|
+
`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
11387
|
+
is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
11388
|
+
|
|
11389
|
+
**The default names a date in words.** It said "Enter a date as
|
|
11390
|
+
YYYY-MM-DD.", and a pattern token is words for a developer. */
|
|
11363
11391
|
"bad-input-message"?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
11364
11392
|
/** The validation message for a value that is not a date.
|
|
11365
11393
|
|
|
11366
11394
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
11367
11395
|
named for the validity flag it reports, so a form in another language
|
|
11368
11396
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
11369
|
-
the English. `{
|
|
11370
|
-
|
|
11397
|
+
the English. `{example}` is a date written as the calendar names one,
|
|
11398
|
+
`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
11399
|
+
is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
11400
|
+
|
|
11401
|
+
**The default names a date in words.** It said "Enter a date as
|
|
11402
|
+
YYYY-MM-DD.", and a pattern token is words for a developer. */
|
|
11371
11403
|
badInputMessage?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
11372
11404
|
/** The calendar the heading, the days, and the months are written in.
|
|
11373
11405
|
|
|
@@ -11705,16 +11737,24 @@ export type HelixHeadlessDatePickerSolidJsProps = {
|
|
|
11705
11737
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
11706
11738
|
named for the validity flag it reports, so a form in another language
|
|
11707
11739
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
11708
|
-
the English. `{
|
|
11709
|
-
|
|
11740
|
+
the English. `{example}` is a date written as the calendar names one,
|
|
11741
|
+
`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
11742
|
+
is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
11743
|
+
|
|
11744
|
+
**The default names a date in words.** It said "Enter a date as
|
|
11745
|
+
YYYY-MM-DD.", and a pattern token is words for a developer. */
|
|
11710
11746
|
"attr:bad-input-message"?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
11711
11747
|
/** The validation message for a value that is not a date.
|
|
11712
11748
|
|
|
11713
11749
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
11714
11750
|
named for the validity flag it reports, so a form in another language
|
|
11715
11751
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
11716
|
-
the English. `{
|
|
11717
|
-
|
|
11752
|
+
the English. `{example}` is a date written as the calendar names one,
|
|
11753
|
+
`August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
11754
|
+
is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
11755
|
+
|
|
11756
|
+
**The default names a date in words.** It said "Enter a date as
|
|
11757
|
+
YYYY-MM-DD.", and a pattern token is words for a developer. */
|
|
11718
11758
|
"prop:badInputMessage"?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
11719
11759
|
/** The calendar the heading, the days, and the months are written in.
|
|
11720
11760
|
|
|
@@ -14058,6 +14098,14 @@ an icon. */
|
|
|
14058
14098
|
/** The name of the clear button, read by screen readers. The button shows only
|
|
14059
14099
|
an icon. */
|
|
14060
14100
|
clearLabel?: (HelixHeadlessFilterInput["clearLabel"]) | undefined;
|
|
14101
|
+
/** How long typing rests before `source` is asked, in milliseconds. A delay
|
|
14102
|
+
sends one request for a word in place of one for each letter. The arrow
|
|
14103
|
+
keys and Enter ask at once. `0` asks on every keystroke. */
|
|
14104
|
+
"filter-delay"?: (HelixHeadlessFilterInput["filterDelay"] | `${number}`) | undefined;
|
|
14105
|
+
/** How long typing rests before `source` is asked, in milliseconds. A delay
|
|
14106
|
+
sends one request for a word in place of one for each letter. The arrow
|
|
14107
|
+
keys and Enter ask at once. `0` asks on every keystroke. */
|
|
14108
|
+
filterDelay?: (HelixHeadlessFilterInput["filterDelay"]) | undefined;
|
|
14061
14109
|
/** Whether the panel narrows itself to the suggestions that hold the term
|
|
14062
14110
|
being typed, as React Aria's Autocomplete filters. Off, the panel shows
|
|
14063
14111
|
what you slot and you narrow it. */
|
|
@@ -14251,6 +14299,13 @@ imperatively later, and nothing is hydrating by then.
|
|
|
14251
14299
|
|
|
14252
14300
|
Here rather than on each control. */
|
|
14253
14301
|
name?: (HelixHeadlessFilterInput["name"]) | undefined;
|
|
14302
|
+
/** Where the suggestions come from: a function given the term at the caret,
|
|
14303
|
+
the field it is a value of, the whole text, and an `AbortSignal`, which
|
|
14304
|
+
returns the suggestions or a promise of them. Each is a string, or a
|
|
14305
|
+
`value` with a `label` and `disabled`. The field draws them as options in
|
|
14306
|
+
the panel, beside any you slot. A property only, there being no way to
|
|
14307
|
+
write a function in markup. See the class description. */
|
|
14308
|
+
source?: (HelixHeadlessFilterInput["source"]) | undefined;
|
|
14254
14309
|
|
|
14255
14310
|
/** Fired from the input when the user finishes editing the text. */
|
|
14256
14311
|
onchange?: ((e: HelixHeadlessFilterInputElementEvent) => void) | undefined;
|
|
@@ -14272,7 +14327,7 @@ Here rather than on each control. */
|
|
|
14272
14327
|
) => void) | undefined;
|
|
14273
14328
|
/** 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. */
|
|
14274
14329
|
"onhelix-facet"?: ((e: HelixHeadlessFilterInputHelixFacetElementEvent) => void) | undefined;
|
|
14275
|
-
/** 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
|
|
14330
|
+
/** 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. */
|
|
14276
14331
|
"onhelix-select"?: ((
|
|
14277
14332
|
e: HelixHeadlessFilterInputHelixSelectElementEvent,
|
|
14278
14333
|
) => void) | undefined;
|
|
@@ -14308,6 +14363,14 @@ an icon. */
|
|
|
14308
14363
|
/** The name of the clear button, read by screen readers. The button shows only
|
|
14309
14364
|
an icon. */
|
|
14310
14365
|
"prop:clearLabel"?: (HelixHeadlessFilterInput["clearLabel"]) | undefined;
|
|
14366
|
+
/** How long typing rests before `source` is asked, in milliseconds. A delay
|
|
14367
|
+
sends one request for a word in place of one for each letter. The arrow
|
|
14368
|
+
keys and Enter ask at once. `0` asks on every keystroke. */
|
|
14369
|
+
"attr:filter-delay"?: (HelixHeadlessFilterInput["filterDelay"] | `${number}`) | undefined;
|
|
14370
|
+
/** How long typing rests before `source` is asked, in milliseconds. A delay
|
|
14371
|
+
sends one request for a word in place of one for each letter. The arrow
|
|
14372
|
+
keys and Enter ask at once. `0` asks on every keystroke. */
|
|
14373
|
+
"prop:filterDelay"?: (HelixHeadlessFilterInput["filterDelay"]) | undefined;
|
|
14311
14374
|
/** Whether the panel narrows itself to the suggestions that hold the term
|
|
14312
14375
|
being typed, as React Aria's Autocomplete filters. Off, the panel shows
|
|
14313
14376
|
what you slot and you narrow it. */
|
|
@@ -14501,6 +14564,13 @@ imperatively later, and nothing is hydrating by then.
|
|
|
14501
14564
|
|
|
14502
14565
|
Here rather than on each control. */
|
|
14503
14566
|
"prop:name"?: (HelixHeadlessFilterInput["name"]) | undefined;
|
|
14567
|
+
/** Where the suggestions come from: a function given the term at the caret,
|
|
14568
|
+
the field it is a value of, the whole text, and an `AbortSignal`, which
|
|
14569
|
+
returns the suggestions or a promise of them. Each is a string, or a
|
|
14570
|
+
`value` with a `label` and `disabled`. The field draws them as options in
|
|
14571
|
+
the panel, beside any you slot. A property only, there being no way to
|
|
14572
|
+
write a function in markup. See the class description. */
|
|
14573
|
+
"prop:source"?: (HelixHeadlessFilterInput["source"]) | undefined;
|
|
14504
14574
|
/** Fired from the input when the user finishes editing the text. */
|
|
14505
14575
|
"on:change"?: ((e: HelixHeadlessFilterInputElementEvent) => void) | undefined;
|
|
14506
14576
|
/** Fired as the text changes. Cancelable: call `preventDefault()` to keep the current text. */
|
|
@@ -14523,7 +14593,7 @@ Here rather than on each control. */
|
|
|
14523
14593
|
"on:helix-facet"?: ((
|
|
14524
14594
|
e: HelixHeadlessFilterInputHelixFacetElementEvent,
|
|
14525
14595
|
) => void) | undefined;
|
|
14526
|
-
/** 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
|
|
14596
|
+
/** 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. */
|
|
14527
14597
|
"on:helix-select"?: ((
|
|
14528
14598
|
e: HelixHeadlessFilterInputHelixSelectElementEvent,
|
|
14529
14599
|
) => void) | undefined;
|
|
@@ -14910,6 +14980,14 @@ or hides its notes. Drawn where the notes have two groups or more. */
|
|
|
14910
14980
|
"legend-label"?: (HelixHeadlessGraph["legendLabel"]) | undefined;
|
|
14911
14981
|
/** The legend's name, read by screen readers. */
|
|
14912
14982
|
legendLabel?: (HelixHeadlessGraph["legendLabel"]) | undefined;
|
|
14983
|
+
/** What screen readers hear when a walk along the links reaches a note that
|
|
14984
|
+
has no link to follow, or goes back to a note: `{note}` for its name and
|
|
14985
|
+
`{count}` for how many notes the list holds that it links to or from. */
|
|
14986
|
+
"link-count-label"?: (HelixHeadlessGraph["linkCountLabel"]) | undefined;
|
|
14987
|
+
/** What screen readers hear when a walk along the links reaches a note that
|
|
14988
|
+
has no link to follow, or goes back to a note: `{note}` for its name and
|
|
14989
|
+
`{count}` for how many notes the list holds that it links to or from. */
|
|
14990
|
+
linkCountLabel?: (HelixHeadlessGraph["linkCountLabel"]) | undefined;
|
|
14913
14991
|
/** How a note linked both to and from the selected one is described, with `{note}`. */
|
|
14914
14992
|
"linked-both-label"?: (HelixHeadlessGraph["linkedBothLabel"]) | undefined;
|
|
14915
14993
|
/** How a note linked both to and from the selected one is described, with `{note}`. */
|
|
@@ -14989,6 +15067,16 @@ the list then holds, written with `count-label`. */
|
|
|
14989
15067
|
"using-label"?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
14990
15068
|
/** The line shown while the graph, with `gestures="activate"`, has the gestures. */
|
|
14991
15069
|
usingLabel?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
15070
|
+
/** What screen readers hear when a walk along the links moves to a note:
|
|
15071
|
+
`{note}` for its name, `{relation}` for how it stands to the note the
|
|
15072
|
+
step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
15073
|
+
for its place among that note's links. */
|
|
15074
|
+
"walk-label"?: (HelixHeadlessGraph["walkLabel"]) | undefined;
|
|
15075
|
+
/** What screen readers hear when a walk along the links moves to a note:
|
|
15076
|
+
`{note}` for its name, `{relation}` for how it stands to the note the
|
|
15077
|
+
step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
15078
|
+
for its place among that note's links. */
|
|
15079
|
+
walkLabel?: (HelixHeadlessGraph["walkLabel"]) | undefined;
|
|
14992
15080
|
/** The hint shown when the wheel scrolls past the graph with
|
|
14993
15081
|
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
14994
15082
|
"wheel-hint-label"?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
@@ -15187,7 +15275,7 @@ markup. */
|
|
|
15187
15275
|
"onhelix-graph-pan"?: ((
|
|
15188
15276
|
e: HelixHeadlessGraphHelixGraphPanElementEvent,
|
|
15189
15277
|
) => void) | undefined;
|
|
15190
|
-
/** The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
|
|
15278
|
+
/** 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. */
|
|
15191
15279
|
"onhelix-graph-part-change"?: ((
|
|
15192
15280
|
e: HelixHeadlessGraphHelixGraphPartChangeElementEvent,
|
|
15193
15281
|
) => void) | undefined;
|
|
@@ -15249,6 +15337,14 @@ or hides its notes. Drawn where the notes have two groups or more. */
|
|
|
15249
15337
|
"attr:legend-label"?: (HelixHeadlessGraph["legendLabel"]) | undefined;
|
|
15250
15338
|
/** The legend's name, read by screen readers. */
|
|
15251
15339
|
"prop:legendLabel"?: (HelixHeadlessGraph["legendLabel"]) | undefined;
|
|
15340
|
+
/** What screen readers hear when a walk along the links reaches a note that
|
|
15341
|
+
has no link to follow, or goes back to a note: `{note}` for its name and
|
|
15342
|
+
`{count}` for how many notes the list holds that it links to or from. */
|
|
15343
|
+
"attr:link-count-label"?: (HelixHeadlessGraph["linkCountLabel"]) | undefined;
|
|
15344
|
+
/** What screen readers hear when a walk along the links reaches a note that
|
|
15345
|
+
has no link to follow, or goes back to a note: `{note}` for its name and
|
|
15346
|
+
`{count}` for how many notes the list holds that it links to or from. */
|
|
15347
|
+
"prop:linkCountLabel"?: (HelixHeadlessGraph["linkCountLabel"]) | undefined;
|
|
15252
15348
|
/** How a note linked both to and from the selected one is described, with `{note}`. */
|
|
15253
15349
|
"attr:linked-both-label"?: (HelixHeadlessGraph["linkedBothLabel"]) | undefined;
|
|
15254
15350
|
/** How a note linked both to and from the selected one is described, with `{note}`. */
|
|
@@ -15328,6 +15424,16 @@ the list then holds, written with `count-label`. */
|
|
|
15328
15424
|
"attr:using-label"?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
15329
15425
|
/** The line shown while the graph, with `gestures="activate"`, has the gestures. */
|
|
15330
15426
|
"prop:usingLabel"?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
15427
|
+
/** What screen readers hear when a walk along the links moves to a note:
|
|
15428
|
+
`{note}` for its name, `{relation}` for how it stands to the note the
|
|
15429
|
+
step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
15430
|
+
for its place among that note's links. */
|
|
15431
|
+
"attr:walk-label"?: (HelixHeadlessGraph["walkLabel"]) | undefined;
|
|
15432
|
+
/** What screen readers hear when a walk along the links moves to a note:
|
|
15433
|
+
`{note}` for its name, `{relation}` for how it stands to the note the
|
|
15434
|
+
step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
15435
|
+
for its place among that note's links. */
|
|
15436
|
+
"prop:walkLabel"?: (HelixHeadlessGraph["walkLabel"]) | undefined;
|
|
15331
15437
|
/** The hint shown when the wheel scrolls past the graph with
|
|
15332
15438
|
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
15333
15439
|
"attr:wheel-hint-label"?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
@@ -15527,7 +15633,7 @@ markup. */
|
|
|
15527
15633
|
"on:helix-graph-pan"?: ((
|
|
15528
15634
|
e: HelixHeadlessGraphHelixGraphPanElementEvent,
|
|
15529
15635
|
) => void) | undefined;
|
|
15530
|
-
/** The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
|
|
15636
|
+
/** 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. */
|
|
15531
15637
|
"on:helix-graph-part-change"?: ((
|
|
15532
15638
|
e: HelixHeadlessGraphHelixGraphPartChangeElementEvent,
|
|
15533
15639
|
) => void) | undefined;
|
|
@@ -32384,18 +32490,28 @@ export type HelixHeadlessTimePickerProps = {
|
|
|
32384
32490
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
32385
32491
|
named for the validity flag it reports, so a form in another language
|
|
32386
32492
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
32387
|
-
the English. `{
|
|
32388
|
-
`
|
|
32389
|
-
|
|
32493
|
+
the English. `{example}` is a time written as the picker writes one,
|
|
32494
|
+
`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
32495
|
+
`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
32496
|
+
have its own sentence.
|
|
32497
|
+
|
|
32498
|
+
**The default names a time as the picker shows one.** It said "Enter a
|
|
32499
|
+
time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
32500
|
+
token is words for a developer. Time Input says the same. */
|
|
32390
32501
|
"bad-input-message"?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
32391
32502
|
/** The validation message for a value that is not a time.
|
|
32392
32503
|
|
|
32393
32504
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
32394
32505
|
named for the validity flag it reports, so a form in another language
|
|
32395
32506
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
32396
|
-
the English. `{
|
|
32397
|
-
`
|
|
32398
|
-
|
|
32507
|
+
the English. `{example}` is a time written as the picker writes one,
|
|
32508
|
+
`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
32509
|
+
`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
32510
|
+
have its own sentence.
|
|
32511
|
+
|
|
32512
|
+
**The default names a time as the picker shows one.** It said "Enter a
|
|
32513
|
+
time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
32514
|
+
token is words for a developer. Time Input says the same. */
|
|
32399
32515
|
badInputMessage?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
32400
32516
|
/** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
32401
32517
|
|
|
@@ -32732,18 +32848,28 @@ export type HelixHeadlessTimePickerSolidJsProps = {
|
|
|
32732
32848
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
32733
32849
|
named for the validity flag it reports, so a form in another language
|
|
32734
32850
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
32735
|
-
the English. `{
|
|
32736
|
-
`
|
|
32737
|
-
|
|
32851
|
+
the English. `{example}` is a time written as the picker writes one,
|
|
32852
|
+
`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
32853
|
+
`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
32854
|
+
have its own sentence.
|
|
32855
|
+
|
|
32856
|
+
**The default names a time as the picker shows one.** It said "Enter a
|
|
32857
|
+
time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
32858
|
+
token is words for a developer. Time Input says the same. */
|
|
32738
32859
|
"attr:bad-input-message"?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
32739
32860
|
/** The validation message for a value that is not a time.
|
|
32740
32861
|
|
|
32741
32862
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
32742
32863
|
named for the validity flag it reports, so a form in another language
|
|
32743
32864
|
speaks it. Unset is the sentence registered for the page's language, then
|
|
32744
|
-
the English. `{
|
|
32745
|
-
`
|
|
32746
|
-
|
|
32865
|
+
the English. `{example}` is a time written as the picker writes one,
|
|
32866
|
+
`2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
32867
|
+
`HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
32868
|
+
have its own sentence.
|
|
32869
|
+
|
|
32870
|
+
**The default names a time as the picker shows one.** It said "Enter a
|
|
32871
|
+
time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
32872
|
+
token is words for a developer. Time Input says the same. */
|
|
32747
32873
|
"prop:badInputMessage"?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
32748
32874
|
/** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
32749
32875
|
|
|
@@ -44613,7 +44739,13 @@ export type CustomElements = {
|
|
|
44613
44739
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
|
|
44614
44740
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
|
|
44615
44741
|
* - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
|
|
44616
|
-
* set. `{mode}` is `single`, `range`, or `multiple
|
|
44742
|
+
* set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
44743
|
+
* date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
44744
|
+
* `24. August 2026` in `de-DE` at the default `date-style`.
|
|
44745
|
+
*
|
|
44746
|
+
* **The default names a date the field reads back.** It said "Enter a date
|
|
44747
|
+
* as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
44748
|
+
* pattern token is words for a developer. Time Input says the same.
|
|
44617
44749
|
* - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
|
|
44618
44750
|
* `{heading}` filled in.
|
|
44619
44751
|
* - `empty-message`/`emptyMessage`: What a row of segments reports when the field is required and every
|
|
@@ -44997,8 +45129,12 @@ export type CustomElements = {
|
|
|
44997
45129
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
44998
45130
|
* named for the validity flag it reports, so a form in another language
|
|
44999
45131
|
* speaks it. Unset is the sentence registered for the page's language, then
|
|
45000
|
-
* the English. `{
|
|
45001
|
-
*
|
|
45132
|
+
* the English. `{example}` is a date written as the calendar names one,
|
|
45133
|
+
* `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
45134
|
+
* is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
45135
|
+
*
|
|
45136
|
+
* **The default names a date in words.** It said "Enter a date as
|
|
45137
|
+
* YYYY-MM-DD.", and a pattern token is words for a developer.
|
|
45002
45138
|
* - `calendar`: The calendar the heading, the days, and the months are written in.
|
|
45003
45139
|
*
|
|
45004
45140
|
* `gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five
|
|
@@ -47652,9 +47788,15 @@ export type CustomElements = {
|
|
|
47652
47788
|
*
|
|
47653
47789
|
* **The picker has an entry of its own.** `FilterMenu` draws its pages with
|
|
47654
47790
|
* `Menu`, which a field without a picker does not need, so this family's entry
|
|
47655
|
-
* leaves it out. A page that writes
|
|
47656
|
-
*
|
|
47657
|
-
*
|
|
47791
|
+
* leaves it out. A page that writes a `FilterMenu` imports both entries:
|
|
47792
|
+
*
|
|
47793
|
+
* ```js
|
|
47794
|
+
* import '@fusion.dev/helix/filter-input'
|
|
47795
|
+
* import '@fusion.dev/helix/filter-input/menu'
|
|
47796
|
+
* ```
|
|
47797
|
+
*
|
|
47798
|
+
* A picker written without the second is reported once the page has loaded,
|
|
47799
|
+
* with the entry to add.
|
|
47658
47800
|
*
|
|
47659
47801
|
* **Suggestions.** Slot options into `suggestions` and the field shows them,
|
|
47660
47802
|
* moves through them with the arrow keys, and presses one on Enter. The option
|
|
@@ -47670,6 +47812,24 @@ export type CustomElements = {
|
|
|
47670
47812
|
* completion back and put the caret after it, or the next parse reads the wrong
|
|
47671
47813
|
* term.
|
|
47672
47814
|
*
|
|
47815
|
+
* **Suggestions from a source.** Set `source` to a function, and the field asks
|
|
47816
|
+
* it for suggestions as the text changes and draws them as options in the
|
|
47817
|
+
* panel. It is given the term at the caret, the field the term is a value of,
|
|
47818
|
+
* the whole text, and an `AbortSignal`, and returns the suggestions or a
|
|
47819
|
+
* promise of them. `filter-delay` waits for typing to rest before asking, and
|
|
47820
|
+
* a later keystroke aborts a request still out. While a promise is pending, the
|
|
47821
|
+
* panel shows `loading-text` and a screen reader hears it, then the count.
|
|
47822
|
+
* Choosing a suggestion writes its value over the term at the caret, and a
|
|
47823
|
+
* finished `field:value` is read into a chip as Enter would. Cancel its
|
|
47824
|
+
* `helix-select` to write it yourself.
|
|
47825
|
+
*
|
|
47826
|
+
* ```js
|
|
47827
|
+
* filter.source = async ({ field, term, signal }) => {
|
|
47828
|
+
* const response = await fetch(`/values?field=${field}&q=${term}`, { signal })
|
|
47829
|
+
* return response.json()
|
|
47830
|
+
* }
|
|
47831
|
+
* ```
|
|
47832
|
+
*
|
|
47673
47833
|
* **State.** Three things have three different owners:
|
|
47674
47834
|
*
|
|
47675
47835
|
* - `value` is the text. The user types, the element applies it, and `input`
|
|
@@ -47711,6 +47871,9 @@ export type CustomElements = {
|
|
|
47711
47871
|
* them.
|
|
47712
47872
|
* - `clear-label`/`clearLabel`: The name of the clear button, read by screen readers. The button shows only
|
|
47713
47873
|
* an icon.
|
|
47874
|
+
* - `filter-delay`/`filterDelay`: How long typing rests before `source` is asked, in milliseconds. A delay
|
|
47875
|
+
* sends one request for a word in place of one for each letter. The arrow
|
|
47876
|
+
* keys and Enter ask at once. `0` asks on every keystroke.
|
|
47714
47877
|
* - `filter-suggestions`/`filterSuggestions`: Whether the panel narrows itself to the suggestions that hold the term
|
|
47715
47878
|
* being typed, as React Aria's Autocomplete filters. Off, the panel shows
|
|
47716
47879
|
* what you slot and you narrow it.
|
|
@@ -47818,6 +47981,12 @@ export type CustomElements = {
|
|
|
47818
47981
|
* imperatively later, and nothing is hydrating by then.
|
|
47819
47982
|
*
|
|
47820
47983
|
* Here rather than on each control.
|
|
47984
|
+
* - `source`: Where the suggestions come from: a function given the term at the caret,
|
|
47985
|
+
* the field it is a value of, the whole text, and an `AbortSignal`, which
|
|
47986
|
+
* returns the suggestions or a promise of them. Each is a string, or a
|
|
47987
|
+
* `value` with a `label` and `disabled`. The field draws them as options in
|
|
47988
|
+
* the panel, beside any you slot. A property only, there being no way to
|
|
47989
|
+
* write a function in markup. See the class description. (property only)
|
|
47821
47990
|
* - `selectionDirection`: The direction of the selection, named as on `<input>`.
|
|
47822
47991
|
*
|
|
47823
47992
|
* **Published for the reason `Input` publishes them, and this element needs
|
|
@@ -47874,7 +48043,7 @@ export type CustomElements = {
|
|
|
47874
48043
|
* - `helix-before-open`: Fired before the suggestions open. Cancelable: call `preventDefault()` to keep them closed.
|
|
47875
48044
|
* - `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.
|
|
47876
48045
|
* - `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.
|
|
47877
|
-
* - `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
|
|
48046
|
+
* - `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.
|
|
47878
48047
|
* - `input`: Fired when the text changes.
|
|
47879
48048
|
* - `toggle`: Fired when the suggestions panel opens or closes, with `newState` and `oldState`.
|
|
47880
48049
|
*
|
|
@@ -47981,7 +48150,7 @@ export type CustomElements = {
|
|
|
47981
48150
|
* - `label`: The label above the field.
|
|
47982
48151
|
* - `lead`: The box before the text that holds the `start` slot.
|
|
47983
48152
|
* - `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.
|
|
47984
|
-
* - `loading`: Shown in the panel while the suggestions load.
|
|
48153
|
+
* - `loading`: Shown in the panel while the suggestions load: while `loading` is set, or a request to `source` is out.
|
|
47985
48154
|
* - `rest`: The count of tokens that did not fit. It is a `<button>` with `expandable` and a `<span>` without it.
|
|
47986
48155
|
* - `surface`: The floating panel the suggestions sit in.
|
|
47987
48156
|
* - `tags`: The row the tokens sit in.
|
|
@@ -47991,7 +48160,7 @@ export type CustomElements = {
|
|
|
47991
48160
|
* These can be used to apply styling when a component is in a given state.
|
|
47992
48161
|
*
|
|
47993
48162
|
* - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
|
|
47994
|
-
* - `loading`: While `loading` is set.
|
|
48163
|
+
* - `loading`: While `loading` is set, or a request to `source` is out.
|
|
47995
48164
|
* - `no-results`: `filter-suggestions` hid every suggestion, and `no-results-text` or the `no-results` slot says so.
|
|
47996
48165
|
* - `open`: The suggestions are open.
|
|
47997
48166
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -48211,6 +48380,23 @@ export type CustomElements = {
|
|
|
48211
48380
|
* Set `depth` to show the local graph: only the notes within that many links
|
|
48212
48381
|
* of the selected one.
|
|
48213
48382
|
*
|
|
48383
|
+
* The search field is a combobox over the list. Down and Up move through the
|
|
48384
|
+
* notes while the focus stays in the field, and Enter selects one.
|
|
48385
|
+
*
|
|
48386
|
+
* **Walk the links with Alt and the arrow keys**, in the list or in the
|
|
48387
|
+
* search field once its keys are on a note. The note the keys are on is
|
|
48388
|
+
* marked in the drawing.
|
|
48389
|
+
*
|
|
48390
|
+
* | Key | What it does |
|
|
48391
|
+
* |---|---|
|
|
48392
|
+
* | Alt+Right | Follows a link, to the first note the one the keys are on links to or from. |
|
|
48393
|
+
* | Alt+Down, Alt+Up | Moves to the next or the previous note linked to the one the step came from, wrapping. |
|
|
48394
|
+
* | Alt+Left | Goes back along the links walked. |
|
|
48395
|
+
*
|
|
48396
|
+
* Right and Left swap on a right-to-left page. Each step says the note, how it
|
|
48397
|
+
* stands to the note it came from, and its place among that note's links,
|
|
48398
|
+
* such as "Hiring plan. Linked from Roadmap. 2 of 3". Enter selects the note.
|
|
48399
|
+
*
|
|
48214
48400
|
* Set `legend` to name the groups over the drawing, each a button that shows
|
|
48215
48401
|
* or hides its notes. `hiddenGroups` holds the groups turned off, and the
|
|
48216
48402
|
* list holds only what the drawing shows. The legend is a toolbar and one tab
|
|
@@ -48246,6 +48432,9 @@ export type CustomElements = {
|
|
|
48246
48432
|
* - `legend`: Names the groups over the drawing, each a button in its color that shows
|
|
48247
48433
|
* or hides its notes. Drawn where the notes have two groups or more.
|
|
48248
48434
|
* - `legend-label`/`legendLabel`: The legend's name, read by screen readers.
|
|
48435
|
+
* - `link-count-label`/`linkCountLabel`: What screen readers hear when a walk along the links reaches a note that
|
|
48436
|
+
* has no link to follow, or goes back to a note: `{note}` for its name and
|
|
48437
|
+
* `{count}` for how many notes the list holds that it links to or from.
|
|
48249
48438
|
* - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
|
|
48250
48439
|
* - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
|
|
48251
48440
|
* - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
|
|
@@ -48270,6 +48459,10 @@ export type CustomElements = {
|
|
|
48270
48459
|
* the list then holds, written with `count-label`.
|
|
48271
48460
|
* - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
|
|
48272
48461
|
* - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
|
|
48462
|
+
* - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
|
|
48463
|
+
* `{note}` for its name, `{relation}` for how it stands to the note the
|
|
48464
|
+
* step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
48465
|
+
* for its place among that note's links.
|
|
48273
48466
|
* - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
|
|
48274
48467
|
* `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere.
|
|
48275
48468
|
* - `zoomed-in-label`/`zoomedInLabel`: What screen readers hear once the drawing has zoomed in, after `moved()`.
|
|
@@ -48403,7 +48596,7 @@ export type CustomElements = {
|
|
|
48403
48596
|
* - `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.
|
|
48404
48597
|
* - `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.
|
|
48405
48598
|
* - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`.
|
|
48406
|
-
* - `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.
|
|
48599
|
+
* - `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.
|
|
48407
48600
|
* - `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.
|
|
48408
48601
|
* - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
|
|
48409
48602
|
* - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing, then calls `moved()`.
|
|
@@ -62663,9 +62856,14 @@ export type CustomElements = {
|
|
|
62663
62856
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
62664
62857
|
* named for the validity flag it reports, so a form in another language
|
|
62665
62858
|
* speaks it. Unset is the sentence registered for the page's language, then
|
|
62666
|
-
* the English. `{
|
|
62667
|
-
* `
|
|
62668
|
-
*
|
|
62859
|
+
* the English. `{example}` is a time written as the picker writes one,
|
|
62860
|
+
* `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
62861
|
+
* `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
62862
|
+
* have its own sentence.
|
|
62863
|
+
*
|
|
62864
|
+
* **The default names a time as the picker shows one.** It said "Enter a
|
|
62865
|
+
* time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
62866
|
+
* token is words for a developer. Time Input says the same.
|
|
62669
62867
|
* - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
62670
62868
|
*
|
|
62671
62869
|
* The counterpart to Date Picker's `disable-dates`, and it exists for the same
|
|
@@ -74103,7 +74301,13 @@ export type CustomElementsSolidJs = {
|
|
|
74103
74301
|
* - `trigger-label`/`triggerLabel`: The name of the button that opens the calendar, read by screen readers.
|
|
74104
74302
|
* - `unavailable-message`/`unavailableMessage`: The message shown when `disable-dates` or `disable-days` bars a date.
|
|
74105
74303
|
* - `unreadable-message`/`unreadableMessage`: The message for text that is no date, where `bad-input-message` is not
|
|
74106
|
-
* set. `{mode}` is `single`, `range`, or `multiple
|
|
74304
|
+
* set. `{mode}` is `single`, `range`, or `multiple`, and `{example}` is a
|
|
74305
|
+
* date written as the field writes one, `August 24, 2026` in `en-US` and
|
|
74306
|
+
* `24. August 2026` in `de-DE` at the default `date-style`.
|
|
74307
|
+
*
|
|
74308
|
+
* **The default names a date the field reads back.** It said "Enter a date
|
|
74309
|
+
* as YYYY-MM-DD." to a reader whose field showed `August 4, 2026`, and a
|
|
74310
|
+
* pattern token is words for a developer. Time Input says the same.
|
|
74107
74311
|
* - `year-view-label`/`yearViewLabel`: The name of the calendar's heading where it shows a page of years, with
|
|
74108
74312
|
* `{heading}` filled in.
|
|
74109
74313
|
* - `empty-message`/`emptyMessage`: What a row of segments reports when the field is required and every
|
|
@@ -74490,8 +74694,12 @@ export type CustomElementsSolidJs = {
|
|
|
74490
74694
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
74491
74695
|
* named for the validity flag it reports, so a form in another language
|
|
74492
74696
|
* speaks it. Unset is the sentence registered for the page's language, then
|
|
74493
|
-
* the English. `{
|
|
74494
|
-
*
|
|
74697
|
+
* the English. `{example}` is a date written as the calendar names one,
|
|
74698
|
+
* `August 24, 2026` in `en-US` and `24. August 2026` in `de-DE`, and `{mode}`
|
|
74699
|
+
* is `single`, `range` or `multiple`, so each can have its own sentence.
|
|
74700
|
+
*
|
|
74701
|
+
* **The default names a date in words.** It said "Enter a date as
|
|
74702
|
+
* YYYY-MM-DD.", and a pattern token is words for a developer.
|
|
74495
74703
|
* - `calendar`: The calendar the heading, the days, and the months are written in.
|
|
74496
74704
|
*
|
|
74497
74705
|
* `gregory`, `buddhist`, `japanese`, `roc`, and `iso8601` are the five
|
|
@@ -77172,9 +77380,15 @@ export type CustomElementsSolidJs = {
|
|
|
77172
77380
|
*
|
|
77173
77381
|
* **The picker has an entry of its own.** `FilterMenu` draws its pages with
|
|
77174
77382
|
* `Menu`, which a field without a picker does not need, so this family's entry
|
|
77175
|
-
* leaves it out. A page that writes
|
|
77176
|
-
*
|
|
77177
|
-
*
|
|
77383
|
+
* leaves it out. A page that writes a `FilterMenu` imports both entries:
|
|
77384
|
+
*
|
|
77385
|
+
* ```js
|
|
77386
|
+
* import '@fusion.dev/helix/filter-input'
|
|
77387
|
+
* import '@fusion.dev/helix/filter-input/menu'
|
|
77388
|
+
* ```
|
|
77389
|
+
*
|
|
77390
|
+
* A picker written without the second is reported once the page has loaded,
|
|
77391
|
+
* with the entry to add.
|
|
77178
77392
|
*
|
|
77179
77393
|
* **Suggestions.** Slot options into `suggestions` and the field shows them,
|
|
77180
77394
|
* moves through them with the arrow keys, and presses one on Enter. The option
|
|
@@ -77190,6 +77404,24 @@ export type CustomElementsSolidJs = {
|
|
|
77190
77404
|
* completion back and put the caret after it, or the next parse reads the wrong
|
|
77191
77405
|
* term.
|
|
77192
77406
|
*
|
|
77407
|
+
* **Suggestions from a source.** Set `source` to a function, and the field asks
|
|
77408
|
+
* it for suggestions as the text changes and draws them as options in the
|
|
77409
|
+
* panel. It is given the term at the caret, the field the term is a value of,
|
|
77410
|
+
* the whole text, and an `AbortSignal`, and returns the suggestions or a
|
|
77411
|
+
* promise of them. `filter-delay` waits for typing to rest before asking, and
|
|
77412
|
+
* a later keystroke aborts a request still out. While a promise is pending, the
|
|
77413
|
+
* panel shows `loading-text` and a screen reader hears it, then the count.
|
|
77414
|
+
* Choosing a suggestion writes its value over the term at the caret, and a
|
|
77415
|
+
* finished `field:value` is read into a chip as Enter would. Cancel its
|
|
77416
|
+
* `helix-select` to write it yourself.
|
|
77417
|
+
*
|
|
77418
|
+
* ```js
|
|
77419
|
+
* filter.source = async ({ field, term, signal }) => {
|
|
77420
|
+
* const response = await fetch(`/values?field=${field}&q=${term}`, { signal })
|
|
77421
|
+
* return response.json()
|
|
77422
|
+
* }
|
|
77423
|
+
* ```
|
|
77424
|
+
*
|
|
77193
77425
|
* **State.** Three things have three different owners:
|
|
77194
77426
|
*
|
|
77195
77427
|
* - `value` is the text. The user types, the element applies it, and `input`
|
|
@@ -77231,6 +77463,9 @@ export type CustomElementsSolidJs = {
|
|
|
77231
77463
|
* them.
|
|
77232
77464
|
* - `clear-label`/`clearLabel`: The name of the clear button, read by screen readers. The button shows only
|
|
77233
77465
|
* an icon.
|
|
77466
|
+
* - `filter-delay`/`filterDelay`: How long typing rests before `source` is asked, in milliseconds. A delay
|
|
77467
|
+
* sends one request for a word in place of one for each letter. The arrow
|
|
77468
|
+
* keys and Enter ask at once. `0` asks on every keystroke.
|
|
77234
77469
|
* - `filter-suggestions`/`filterSuggestions`: Whether the panel narrows itself to the suggestions that hold the term
|
|
77235
77470
|
* being typed, as React Aria's Autocomplete filters. Off, the panel shows
|
|
77236
77471
|
* what you slot and you narrow it.
|
|
@@ -77338,6 +77573,12 @@ export type CustomElementsSolidJs = {
|
|
|
77338
77573
|
* imperatively later, and nothing is hydrating by then.
|
|
77339
77574
|
*
|
|
77340
77575
|
* Here rather than on each control.
|
|
77576
|
+
* - `source`: Where the suggestions come from: a function given the term at the caret,
|
|
77577
|
+
* the field it is a value of, the whole text, and an `AbortSignal`, which
|
|
77578
|
+
* returns the suggestions or a promise of them. Each is a string, or a
|
|
77579
|
+
* `value` with a `label` and `disabled`. The field draws them as options in
|
|
77580
|
+
* the panel, beside any you slot. A property only, there being no way to
|
|
77581
|
+
* write a function in markup. See the class description. (property only)
|
|
77341
77582
|
* - `selectionDirection`: The direction of the selection, named as on `<input>`.
|
|
77342
77583
|
*
|
|
77343
77584
|
* **Published for the reason `Input` publishes them, and this element needs
|
|
@@ -77394,7 +77635,7 @@ export type CustomElementsSolidJs = {
|
|
|
77394
77635
|
* - `helix-before-open`: Fired before the suggestions open. Cancelable: call `preventDefault()` to keep them closed.
|
|
77395
77636
|
* - `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.
|
|
77396
77637
|
* - `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.
|
|
77397
|
-
* - `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
|
|
77638
|
+
* - `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.
|
|
77398
77639
|
* - `input`: Fired when the text changes.
|
|
77399
77640
|
* - `toggle`: Fired when the suggestions panel opens or closes, with `newState` and `oldState`.
|
|
77400
77641
|
*
|
|
@@ -77501,7 +77742,7 @@ export type CustomElementsSolidJs = {
|
|
|
77501
77742
|
* - `label`: The label above the field.
|
|
77502
77743
|
* - `lead`: The box before the text that holds the `start` slot.
|
|
77503
77744
|
* - `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.
|
|
77504
|
-
* - `loading`: Shown in the panel while the suggestions load.
|
|
77745
|
+
* - `loading`: Shown in the panel while the suggestions load: while `loading` is set, or a request to `source` is out.
|
|
77505
77746
|
* - `rest`: The count of tokens that did not fit. It is a `<button>` with `expandable` and a `<span>` without it.
|
|
77506
77747
|
* - `surface`: The floating panel the suggestions sit in.
|
|
77507
77748
|
* - `tags`: The row the tokens sit in.
|
|
@@ -77511,7 +77752,7 @@ export type CustomElementsSolidJs = {
|
|
|
77511
77752
|
* These can be used to apply styling when a component is in a given state.
|
|
77512
77753
|
*
|
|
77513
77754
|
* - `invalid`: The field has an error to show, from the browser's validation or from your `feedback`.
|
|
77514
|
-
* - `loading`: While `loading` is set.
|
|
77755
|
+
* - `loading`: While `loading` is set, or a request to `source` is out.
|
|
77515
77756
|
* - `no-results`: `filter-suggestions` hid every suggestion, and `no-results-text` or the `no-results` slot says so.
|
|
77516
77757
|
* - `open`: The suggestions are open.
|
|
77517
77758
|
* - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
|
|
@@ -77733,6 +77974,23 @@ export type CustomElementsSolidJs = {
|
|
|
77733
77974
|
* Set `depth` to show the local graph: only the notes within that many links
|
|
77734
77975
|
* of the selected one.
|
|
77735
77976
|
*
|
|
77977
|
+
* The search field is a combobox over the list. Down and Up move through the
|
|
77978
|
+
* notes while the focus stays in the field, and Enter selects one.
|
|
77979
|
+
*
|
|
77980
|
+
* **Walk the links with Alt and the arrow keys**, in the list or in the
|
|
77981
|
+
* search field once its keys are on a note. The note the keys are on is
|
|
77982
|
+
* marked in the drawing.
|
|
77983
|
+
*
|
|
77984
|
+
* | Key | What it does |
|
|
77985
|
+
* |---|---|
|
|
77986
|
+
* | Alt+Right | Follows a link, to the first note the one the keys are on links to or from. |
|
|
77987
|
+
* | Alt+Down, Alt+Up | Moves to the next or the previous note linked to the one the step came from, wrapping. |
|
|
77988
|
+
* | Alt+Left | Goes back along the links walked. |
|
|
77989
|
+
*
|
|
77990
|
+
* Right and Left swap on a right-to-left page. Each step says the note, how it
|
|
77991
|
+
* stands to the note it came from, and its place among that note's links,
|
|
77992
|
+
* such as "Hiring plan. Linked from Roadmap. 2 of 3". Enter selects the note.
|
|
77993
|
+
*
|
|
77736
77994
|
* Set `legend` to name the groups over the drawing, each a button that shows
|
|
77737
77995
|
* or hides its notes. `hiddenGroups` holds the groups turned off, and the
|
|
77738
77996
|
* list holds only what the drawing shows. The legend is a toolbar and one tab
|
|
@@ -77768,6 +78026,9 @@ export type CustomElementsSolidJs = {
|
|
|
77768
78026
|
* - `legend`: Names the groups over the drawing, each a button in its color that shows
|
|
77769
78027
|
* or hides its notes. Drawn where the notes have two groups or more.
|
|
77770
78028
|
* - `legend-label`/`legendLabel`: The legend's name, read by screen readers.
|
|
78029
|
+
* - `link-count-label`/`linkCountLabel`: What screen readers hear when a walk along the links reaches a note that
|
|
78030
|
+
* has no link to follow, or goes back to a note: `{note}` for its name and
|
|
78031
|
+
* `{count}` for how many notes the list holds that it links to or from.
|
|
77771
78032
|
* - `linked-both-label`/`linkedBothLabel`: How a note linked both to and from the selected one is described, with `{note}`.
|
|
77772
78033
|
* - `linked-from-label`/`linkedFromLabel`: How a note the selected one links to is described, with `{note}`, the selected note's name.
|
|
77773
78034
|
* - `links-to-label`/`linksToLabel`: How a note that links to the selected one is described, with `{note}`.
|
|
@@ -77792,6 +78053,10 @@ export type CustomElementsSolidJs = {
|
|
|
77792
78053
|
* the list then holds, written with `count-label`.
|
|
77793
78054
|
* - `two-finger-hint-label`/`twoFingerHintLabel`: The hint shown when one finger swipes over the graph with `gestures="cooperative"`.
|
|
77794
78055
|
* - `using-label`/`usingLabel`: The line shown while the graph, with `gestures="activate"`, has the gestures.
|
|
78056
|
+
* - `walk-label`/`walkLabel`: What screen readers hear when a walk along the links moves to a note:
|
|
78057
|
+
* `{note}` for its name, `{relation}` for how it stands to the note the
|
|
78058
|
+
* step came from, such as "Linked from Roadmap", and `{index}` and `{count}`
|
|
78059
|
+
* for its place among that note's links.
|
|
77795
78060
|
* - `wheel-hint-label`/`wheelHintLabel`: The hint shown when the wheel scrolls past the graph with
|
|
77796
78061
|
* `gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere.
|
|
77797
78062
|
* - `zoomed-in-label`/`zoomedInLabel`: What screen readers hear once the drawing has zoomed in, after `moved()`.
|
|
@@ -77925,7 +78190,7 @@ export type CustomElementsSolidJs = {
|
|
|
77925
78190
|
* - `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.
|
|
77926
78191
|
* - `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.
|
|
77927
78192
|
* - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`.
|
|
77928
|
-
* - `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.
|
|
78193
|
+
* - `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.
|
|
77929
78194
|
* - `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.
|
|
77930
78195
|
* - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
|
|
77931
78196
|
* - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing, then calls `moved()`.
|
|
@@ -92372,9 +92637,14 @@ export type CustomElementsSolidJs = {
|
|
|
92372
92637
|
* **Every sentence a control raises in the browser's bubble is a property**,
|
|
92373
92638
|
* named for the validity flag it reports, so a form in another language
|
|
92374
92639
|
* speaks it. Unset is the sentence registered for the page's language, then
|
|
92375
|
-
* the English. `{
|
|
92376
|
-
* `
|
|
92377
|
-
*
|
|
92640
|
+
* the English. `{example}` is a time written as the picker writes one,
|
|
92641
|
+
* `2:30 PM` in `en-US` and `14:30` in `de-DE`, `{shape}` is `HH:mm` or
|
|
92642
|
+
* `HH:mm:ss`, and `{mode}` is `single`, `range` or `multiple`, so each can
|
|
92643
|
+
* have its own sentence.
|
|
92644
|
+
*
|
|
92645
|
+
* **The default names a time as the picker shows one.** It said "Enter a
|
|
92646
|
+
* time as HH:mm." to a reader whose list showed `2:30 PM`, and a pattern
|
|
92647
|
+
* token is words for a developer. Time Input says the same.
|
|
92378
92648
|
* - `disable-times`/`disableTimes`: Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
92379
92649
|
*
|
|
92380
92650
|
* The counterpart to Date Picker's `disable-dates`, and it exists for the same
|