@fusion.dev/helix-headless 0.165.0 → 0.166.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 +578 -54
- package/dist/callout/root/callout-root.d.ts +8 -2
- package/dist/callout/root/callout-root.js +14 -1
- package/dist/code-block/root/code-block-root.d.ts +63 -0
- package/dist/code-block/root/code-block-root.js +117 -6
- package/dist/element-events.generated.js +15 -2
- package/dist/filter-input/menu/filter-menu.d.ts +1 -0
- package/dist/filter-input/menu/filter-menu.js +1 -1
- package/dist/listbox/root/listbox-root.js +2 -5
- package/dist/menu/item/menu-item.d.ts +20 -0
- package/dist/menu/item/menu-item.js +53 -20
- package/dist/menu/root/menu-root.d.ts +84 -1
- package/dist/menu/root/menu-root.js +187 -44
- package/dist/object-inspector/root/object-inspector-root.d.ts +5 -0
- package/dist/object-inspector/root/object-inspector-root.js +5 -0
- package/dist/steps/root/steps-root.d.ts +7 -0
- package/dist/steps/root/steps-root.js +7 -0
- package/dist/video/root/video-root.d.ts +2 -0
- package/dist/video/root/video-root.js +4 -2
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +1 -0
- package/dist/video-playlist/menu/video-playlist-menu.js +1 -1
- package/dist/video-playlist/root/video-playlist-root.js +15 -1
- package/lint.json +1 -1
- package/package.json +5 -5
- package/types/jsx.d.ts +262 -20
- package/types/vue.d.ts +59 -5
- package/types/words.d.ts +18 -0
package/custom-elements.json
CHANGED
|
@@ -12964,6 +12964,21 @@
|
|
|
12964
12964
|
],
|
|
12965
12965
|
"description": "The dismiss button's name: `dismissLabel` with the heading's words, or the\ntone's name.\n\nThe heading is read from the children, so a server and a hydrating render\nname the button for the tone, and the update after names it for the\nheading."
|
|
12966
12966
|
},
|
|
12967
|
+
{
|
|
12968
|
+
"kind": "method",
|
|
12969
|
+
"name": "dismissEvent",
|
|
12970
|
+
"privacy": "protected",
|
|
12971
|
+
"return": {
|
|
12972
|
+
"type": {
|
|
12973
|
+
"text": "HelixDismissEvent"
|
|
12974
|
+
}
|
|
12975
|
+
},
|
|
12976
|
+
"description": "The event a dismissal sends, naming the note by its heading where it has\none, the words its dismiss button is named by, and otherwise by its text.",
|
|
12977
|
+
"inheritedFrom": {
|
|
12978
|
+
"name": "MixinDismissible",
|
|
12979
|
+
"module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
|
|
12980
|
+
}
|
|
12981
|
+
},
|
|
12967
12982
|
{
|
|
12968
12983
|
"kind": "method",
|
|
12969
12984
|
"name": "journey",
|
|
@@ -12997,21 +13012,6 @@
|
|
|
12997
13012
|
"module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
|
|
12998
13013
|
}
|
|
12999
13014
|
},
|
|
13000
|
-
{
|
|
13001
|
-
"kind": "method",
|
|
13002
|
-
"name": "dismissEvent",
|
|
13003
|
-
"privacy": "protected",
|
|
13004
|
-
"return": {
|
|
13005
|
-
"type": {
|
|
13006
|
-
"text": "HelixDismissEvent"
|
|
13007
|
-
}
|
|
13008
|
-
},
|
|
13009
|
-
"description": "The event, built and not dispatched.\n\nReading text is safe here: nothing calls this on a server, because the\nonly things that do are a press and a timer.",
|
|
13010
|
-
"inheritedFrom": {
|
|
13011
|
-
"name": "MixinDismissible",
|
|
13012
|
-
"module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
|
|
13013
|
-
}
|
|
13014
|
-
},
|
|
13015
13015
|
{
|
|
13016
13016
|
"kind": "field",
|
|
13017
13017
|
"name": "returnFocusTo",
|
|
@@ -30939,7 +30939,7 @@
|
|
|
30939
30939
|
"declarations": [
|
|
30940
30940
|
{
|
|
30941
30941
|
"kind": "class",
|
|
30942
|
-
"description": "Renders a `<pre><code>` pair: `pre` keeps the whitespace, and `code` marks it\nas code. Long lines scroll inside the block and do not wrap, because a line\nbreak can be significant in code.\n\nA copy button is on by default. Set `no-copy` to remove it. The button copies\nthe slotted text, so there is no second copy of the code to keep in sync.\n\nFor a fragment of code inside a sentence, use `Code`.\n\nSet `line-numbers` to number the lines in a gutter beside the code, hidden\nfrom the accessibility tree and left out of a copy. Set `mark-lines` to\nmark lines a reader should look at, such as `2, 4-6`: the block draws a\nband behind each run, placed where the lines are laid out, so it follows a\nhighlighter's markup and lines that wrap. Set `wrap` to wrap long lines\nrather than scroll them; a gutter then numbers each line where it starts.\nSet `wrappable` for a button in the header that turns `wrap` on and off,\npressed while the lines wrap.\n\nThe header holds the name, the `actions` slot, and the copy button. Slot a\ncontrol into `actions`, such as a button that sets `wrap` or one that opens\nthe code in an editor, and the block draws a header for it even with no\nname. `copy-icon` and `copied-icon` replace the copy button's two icons. Set `highlight` to a\nfunction that turns the code into highlighted markup, such as one wrapping\nShiki or Prism, and the block draws what it returns; it is handed the\nblock's `language`, so one function serves every block. The code stays in\nthe slot, so the copy button and the page's own text are the code as\nwritten.\n\nSet `expandable` on a block whose height is capped, such as by\n`--code-block-max-block-size`, and a button under it shows every line and\nthen fewer again, as a docs site's long example does. The button is drawn\nonly while the cap hides something, says whether the block is expanded with\n`aria-expanded`, names the block it opens with `aria-controls`, and the block\ncarries `:state(expanded)` while it is.\n\nSet `diff` to show a change. Put a unified diff, the output of `git diff` or\n`diff -u`, in the same slot, and the block draws the lines it added and\nremoved. The block never computes a diff itself. Line numbers come from the\nhunk headers and are hidden from the accessibility tree. Changed lines are\n`<ins>` and `<del>` with the `+` and `-` kept as text, so the change does not\ndepend on color. Where a removed line is paired with the added line that\nreplaced it, the words each does not share with the other are the `changed`\npart, so the eye goes to what changed within the line. Each file in the patch is its own block under its own name,\nand its copy button copies the new version of the file. `variant=\"split\"`\nshows the old version beside the new, each removal opposite its replacement.\n`context-lines` folds each long run of unchanged lines, keeping that many\nbeside each change, behind a button that shows them and hides them again,\nas a code host draws a diff written with more context than a reader needs.\n\n**A block that scrolls is a tab stop.** While its lines run past its width or\nits cap, the scroller is a region named for the block, such as \"Code,\napp.ts\", that Tab reaches, so a keyboard scrolls it with the arrow keys in\nevery browser. Chromium and Firefox make a scrolling box focusable on their\nown, and Safari does not. A block that fits is no stop at all.\n\n**The code the block draws is marked untranslated**, `translate=\"no\"` on\nits `<pre>`, so a page translator leaves highlighted lines and a diff as\nwritten. Code in the slot takes its translation mode from the element, which\nwrites nothing onto itself, so set `translate=\"no\"` on the element to keep a\ntranslator off plain code too.\n\nOn the server, the slot renders as ordinary code, so a diff first appears as\nthe patch text in a `<pre>`. The client makes the same first render, which\nkeeps hydration clean, and draws the diff once it can read the content. Diff\nmode is experimental. The rest of the family is stable.",
|
|
30942
|
+
"description": "Renders a `<pre><code>` pair: `pre` keeps the whitespace, and `code` marks it\nas code. Long lines scroll inside the block and do not wrap, because a line\nbreak can be significant in code.\n\nA copy button is on by default. Set `no-copy` to remove it. The button copies\nthe slotted text, so there is no second copy of the code to keep in sync.\n\nFor a fragment of code inside a sentence, use `Code`.\n\nSet `line-numbers` to number the lines in a gutter beside the code, hidden\nfrom the accessibility tree and left out of a copy. Set `mark-lines` to\nmark lines a reader should look at, such as `2, 4-6`: the block draws a\nband behind each run, placed where the lines are laid out, so it follows a\nhighlighter's markup and lines that wrap. Set `wrap` to wrap long lines\nrather than scroll them; a gutter then numbers each line where it starts.\nSet `wrappable` for a button in the header that turns `wrap` on and off,\npressed while the lines wrap.\n\nThe header holds the name, the `actions` slot, and the copy button. Slot a\ncontrol into `actions`, such as a button that sets `wrap` or one that opens\nthe code in an editor, and the block draws a header for it even with no\nname. `copy-icon` and `copied-icon` replace the copy button's two icons. Set `highlight` to a\nfunction that turns the code into highlighted markup, such as one wrapping\nShiki or Prism, and the block draws what it returns; it is handed the\nblock's `language`, so one function serves every block. The code stays in\nthe slot, so the copy button and the page's own text are the code as\nwritten.\n\nSet `expandable` on a block whose height is capped, such as by\n`--code-block-max-block-size`, and a button under it shows every line and\nthen fewer again, as a docs site's long example does. The button is drawn\nonly while the cap hides something, says whether the block is expanded with\n`aria-expanded`, names the block it opens with `aria-controls`, and the block\ncarries `:state(expanded)` while it is.\n\nSet `diff` to show a change. Put a unified diff, the output of `git diff` or\n`diff -u`, in the same slot, and the block draws the lines it added and\nremoved. The block never computes a diff itself. Line numbers come from the\nhunk headers and are hidden from the accessibility tree. Changed lines are\n`<ins>` and `<del>` with the `+` and `-` kept as text, so the change does not\ndepend on color. Where a removed line is paired with the added line that\nreplaced it, the words each does not share with the other are the `changed`\npart, so the eye goes to what changed within the line. Each file in the patch is its own block under its own name,\nand its copy button copies the new version of the file. `variant=\"split\"`\nshows the old version beside the new, each removal opposite its replacement.\n`context-lines` folds each long run of unchanged lines, keeping that many\nbeside each change, behind a button that shows them and hides them again,\nas a code host draws a diff written with more context than a reader needs.\n\n**A block that scrolls is a tab stop.** While its lines run past its width or\nits cap, the scroller is a region named for the block, such as \"Code,\napp.ts\", that Tab reaches, so a keyboard scrolls it with the arrow keys in\nevery browser. Chromium and Firefox make a scrolling box focusable on their\nown, and Safari does not. A block that fits is no stop at all.\n\n**The code the block draws is marked untranslated**, `translate=\"no\"` on\nits `<pre>`, so a page translator leaves highlighted lines and a diff as\nwritten. Code in the slot takes its translation mode from the element, which\nwrites nothing onto itself, so set `translate=\"no\"` on the element to keep a\ntranslator off plain code too.\n\nOn the server, the slot renders as ordinary code, so a diff first appears as\nthe patch text in a `<pre>`. The client makes the same first render, which\nkeeps hydration clean, and draws the diff once it can read the content. Diff\nmode is experimental. The rest of the family is stable.\n\n**Several blocks are files**, one shown at a time under a row of tabs, as\nSandbox shows its source panes. Put Code Blocks in the default slot of a\nCode Block, and each is a file named on its tab by its `label` or, without\none, its `language`. `file` holds the name of the file shown. The tabs are a\ntab list: the arrow keys move to a tab and show its file, the two swapping\non a right-to-left page, and Home and End go to the first and the last.\nChoosing one sends `helix-before-change` with the file's name, which you can\ncancel, and `change` once `file` holds it. The files not shown carry\n`hidden`, and the one shown draws no name of its own, its tab naming it. One\nblock draws no tabs. A server cannot see the blocks inside, so the client\ndraws the tabs once it upgrades.",
|
|
30943
30943
|
"name": "HelixHeadlessCodeBlock",
|
|
30944
30944
|
"cssProperties": [
|
|
30945
30945
|
{
|
|
@@ -31056,6 +31056,14 @@
|
|
|
31056
31056
|
"description": "In a diff, one file's header and block.",
|
|
31057
31057
|
"name": "file"
|
|
31058
31058
|
},
|
|
31059
|
+
{
|
|
31060
|
+
"description": "One file tab, `aria-selected` while its file is shown.",
|
|
31061
|
+
"name": "file-tab"
|
|
31062
|
+
},
|
|
31063
|
+
{
|
|
31064
|
+
"description": "The file tabs over the blocks a block holds, where there are several.",
|
|
31065
|
+
"name": "files"
|
|
31066
|
+
},
|
|
31059
31067
|
{
|
|
31060
31068
|
"description": "In a split diff, the empty row opposite a line the other side does not have.",
|
|
31061
31069
|
"name": "filler"
|
|
@@ -31271,6 +31279,28 @@
|
|
|
31271
31279
|
"words": true
|
|
31272
31280
|
}
|
|
31273
31281
|
},
|
|
31282
|
+
{
|
|
31283
|
+
"kind": "field",
|
|
31284
|
+
"name": "file",
|
|
31285
|
+
"type": {
|
|
31286
|
+
"text": "string | undefined"
|
|
31287
|
+
},
|
|
31288
|
+
"description": "The name of the file shown, where the block holds several Code Blocks:\nthe `label` of one, or its `language` without one.\n\nUnset, or a name no file has, shows the first.",
|
|
31289
|
+
"attribute": "file"
|
|
31290
|
+
},
|
|
31291
|
+
{
|
|
31292
|
+
"kind": "field",
|
|
31293
|
+
"name": "filesLabel",
|
|
31294
|
+
"type": {
|
|
31295
|
+
"text": "string"
|
|
31296
|
+
},
|
|
31297
|
+
"default": "'Files'",
|
|
31298
|
+
"description": "The name of the file tabs, read by screen readers.",
|
|
31299
|
+
"attribute": "files-label",
|
|
31300
|
+
"helix": {
|
|
31301
|
+
"words": true
|
|
31302
|
+
}
|
|
31303
|
+
},
|
|
31274
31304
|
{
|
|
31275
31305
|
"kind": "field",
|
|
31276
31306
|
"name": "hideUnchangedLabel",
|
|
@@ -31590,6 +31620,119 @@
|
|
|
31590
31620
|
},
|
|
31591
31621
|
"description": "Places each mark behind its run of lines, and makes each number in a\nwrapping gutter as tall as its line, from where the lines are laid out.\n\n**Written onto the elements as custom properties**, which are facts the\nblock computed and CSS cannot, and no render follows from them."
|
|
31592
31622
|
},
|
|
31623
|
+
{
|
|
31624
|
+
"kind": "field",
|
|
31625
|
+
"name": "blocks",
|
|
31626
|
+
"type": {
|
|
31627
|
+
"text": "HelixHeadlessCodeBlock[]"
|
|
31628
|
+
},
|
|
31629
|
+
"privacy": "private",
|
|
31630
|
+
"description": "The Code Blocks this block holds as its code, once its children can be read.",
|
|
31631
|
+
"readonly": true
|
|
31632
|
+
},
|
|
31633
|
+
{
|
|
31634
|
+
"kind": "field",
|
|
31635
|
+
"name": "tabbed",
|
|
31636
|
+
"type": {
|
|
31637
|
+
"text": "boolean"
|
|
31638
|
+
},
|
|
31639
|
+
"privacy": "private",
|
|
31640
|
+
"description": "Whether the block is one of several files under another block's tabs,\nwhich name it. Read from the parent, so a block needs no telling.",
|
|
31641
|
+
"readonly": true
|
|
31642
|
+
},
|
|
31643
|
+
{
|
|
31644
|
+
"kind": "method",
|
|
31645
|
+
"name": "shownFile",
|
|
31646
|
+
"privacy": "private",
|
|
31647
|
+
"return": {
|
|
31648
|
+
"type": {
|
|
31649
|
+
"text": "HelixHeadlessCodeBlock | undefined"
|
|
31650
|
+
}
|
|
31651
|
+
},
|
|
31652
|
+
"parameters": [
|
|
31653
|
+
{
|
|
31654
|
+
"name": "blocks",
|
|
31655
|
+
"type": {
|
|
31656
|
+
"text": "HelixHeadlessCodeBlock[]"
|
|
31657
|
+
}
|
|
31658
|
+
}
|
|
31659
|
+
],
|
|
31660
|
+
"description": "The file shown among several: the one `file` names, or the first."
|
|
31661
|
+
},
|
|
31662
|
+
{
|
|
31663
|
+
"kind": "method",
|
|
31664
|
+
"name": "chooseFile",
|
|
31665
|
+
"privacy": "private",
|
|
31666
|
+
"return": {
|
|
31667
|
+
"type": {
|
|
31668
|
+
"text": "void"
|
|
31669
|
+
}
|
|
31670
|
+
},
|
|
31671
|
+
"parameters": [
|
|
31672
|
+
{
|
|
31673
|
+
"name": "block",
|
|
31674
|
+
"type": {
|
|
31675
|
+
"text": "HelixHeadlessCodeBlock"
|
|
31676
|
+
}
|
|
31677
|
+
}
|
|
31678
|
+
],
|
|
31679
|
+
"description": "Shows the file a tab names, once nobody refused."
|
|
31680
|
+
},
|
|
31681
|
+
{
|
|
31682
|
+
"kind": "field",
|
|
31683
|
+
"name": "handleFileKey",
|
|
31684
|
+
"privacy": "private",
|
|
31685
|
+
"readonly": true,
|
|
31686
|
+
"description": "Arrow keys, `Home` and `End` on the file tabs, which move to a tab and\nshow its file, as a tab list that follows focus does and as Sandbox's file\ntabs do. Left and Right swap on a right-to-left page."
|
|
31687
|
+
},
|
|
31688
|
+
{
|
|
31689
|
+
"kind": "field",
|
|
31690
|
+
"name": "hid",
|
|
31691
|
+
"privacy": "private",
|
|
31692
|
+
"readonly": true,
|
|
31693
|
+
"default": "new Set<Element>()",
|
|
31694
|
+
"description": "The blocks this element hid, to show them again."
|
|
31695
|
+
},
|
|
31696
|
+
{
|
|
31697
|
+
"kind": "field",
|
|
31698
|
+
"name": "fileCount",
|
|
31699
|
+
"type": {
|
|
31700
|
+
"text": "number"
|
|
31701
|
+
},
|
|
31702
|
+
"privacy": "private",
|
|
31703
|
+
"default": "0",
|
|
31704
|
+
"description": "How many files the block last held, so each is told when that changes."
|
|
31705
|
+
},
|
|
31706
|
+
{
|
|
31707
|
+
"kind": "method",
|
|
31708
|
+
"name": "showFile",
|
|
31709
|
+
"privacy": "private",
|
|
31710
|
+
"return": {
|
|
31711
|
+
"type": {
|
|
31712
|
+
"text": "void"
|
|
31713
|
+
}
|
|
31714
|
+
},
|
|
31715
|
+
"description": "Hides the files not shown, shows any this element hid that is now, and\ntells each file when how many there are changes, since a file draws its\nown name only while it is alone."
|
|
31716
|
+
},
|
|
31717
|
+
{
|
|
31718
|
+
"kind": "method",
|
|
31719
|
+
"name": "renderFiles",
|
|
31720
|
+
"privacy": "private",
|
|
31721
|
+
"return": {
|
|
31722
|
+
"type": {
|
|
31723
|
+
"text": "TemplateResult"
|
|
31724
|
+
}
|
|
31725
|
+
},
|
|
31726
|
+
"parameters": [
|
|
31727
|
+
{
|
|
31728
|
+
"name": "blocks",
|
|
31729
|
+
"type": {
|
|
31730
|
+
"text": "HelixHeadlessCodeBlock[]"
|
|
31731
|
+
}
|
|
31732
|
+
}
|
|
31733
|
+
],
|
|
31734
|
+
"description": "The tabs over several files, and the file shown under them. One file\ndraws no tabs, only itself."
|
|
31735
|
+
},
|
|
31593
31736
|
{
|
|
31594
31737
|
"kind": "method",
|
|
31595
31738
|
"name": "renderExpand",
|
|
@@ -31642,6 +31785,10 @@
|
|
|
31642
31785
|
"type": {
|
|
31643
31786
|
"text": "string"
|
|
31644
31787
|
}
|
|
31788
|
+
},
|
|
31789
|
+
{
|
|
31790
|
+
"name": "drawn",
|
|
31791
|
+
"default": "name"
|
|
31645
31792
|
}
|
|
31646
31793
|
],
|
|
31647
31794
|
"description": "The name with the copy button beside it, or nothing when there is no name.\n\n**The button is in the header wherever there is one**, because beside the\ncode it stands over the block and the block has to make room for it. A\ndiff cannot: its washes run to the edge, so the button stood on the hunk\nline and the line under it. In the header it is over nothing.\n\n**No name draws no header**, unless the page put a control in `actions`\nor asked for the wrap button. A bar holding the copy button alone turned a\n`Usage` section of one-line imports into a run of empty strips. The button\nthen stands beside the code, in room the block keeps for it."
|
|
@@ -32208,6 +32355,22 @@
|
|
|
32208
32355
|
}
|
|
32209
32356
|
],
|
|
32210
32357
|
"events": [
|
|
32358
|
+
{
|
|
32359
|
+
"type": {
|
|
32360
|
+
"text": "Event"
|
|
32361
|
+
},
|
|
32362
|
+
"description": "A file tab showed its file, whose name `file` now holds.",
|
|
32363
|
+
"name": "change",
|
|
32364
|
+
"reactProp": "onchange"
|
|
32365
|
+
},
|
|
32366
|
+
{
|
|
32367
|
+
"type": {
|
|
32368
|
+
"text": "HelixBeforeChangeEvent"
|
|
32369
|
+
},
|
|
32370
|
+
"description": "A file tab is about to show its file, with the file's name in `detail.value`. Cancelable: cancel it to keep the file shown.",
|
|
32371
|
+
"name": "helix-before-change",
|
|
32372
|
+
"reactProp": "onhelix-before-change"
|
|
32373
|
+
},
|
|
32211
32374
|
{
|
|
32212
32375
|
"type": {
|
|
32213
32376
|
"text": "HelixBeforeToggleEvent"
|
|
@@ -32216,6 +32379,22 @@
|
|
|
32216
32379
|
"name": "helix-before-toggle",
|
|
32217
32380
|
"reactProp": "onhelix-before-toggle"
|
|
32218
32381
|
},
|
|
32382
|
+
{
|
|
32383
|
+
"type": {
|
|
32384
|
+
"text": "HelixCopyEvent"
|
|
32385
|
+
},
|
|
32386
|
+
"description": "The copy button put the code on the clipboard, with the text in `detail.value`.",
|
|
32387
|
+
"name": "helix-copy",
|
|
32388
|
+
"reactProp": "onhelix-copy"
|
|
32389
|
+
},
|
|
32390
|
+
{
|
|
32391
|
+
"type": {
|
|
32392
|
+
"text": "HelixCopyErrorEvent"
|
|
32393
|
+
},
|
|
32394
|
+
"description": "A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code.",
|
|
32395
|
+
"name": "helix-copy-error",
|
|
32396
|
+
"reactProp": "onhelix-copy-error"
|
|
32397
|
+
},
|
|
32219
32398
|
{
|
|
32220
32399
|
"type": {
|
|
32221
32400
|
"text": "HelixToggleEvent"
|
|
@@ -32315,6 +32494,23 @@
|
|
|
32315
32494
|
"description": "The expand button's words while the cap hides lines.",
|
|
32316
32495
|
"fieldName": "expandLabel"
|
|
32317
32496
|
},
|
|
32497
|
+
{
|
|
32498
|
+
"name": "file",
|
|
32499
|
+
"type": {
|
|
32500
|
+
"text": "string | undefined"
|
|
32501
|
+
},
|
|
32502
|
+
"description": "The name of the file shown, where the block holds several Code Blocks:\nthe `label` of one, or its `language` without one.\n\nUnset, or a name no file has, shows the first.",
|
|
32503
|
+
"fieldName": "file"
|
|
32504
|
+
},
|
|
32505
|
+
{
|
|
32506
|
+
"name": "files-label",
|
|
32507
|
+
"type": {
|
|
32508
|
+
"text": "string"
|
|
32509
|
+
},
|
|
32510
|
+
"default": "'Files'",
|
|
32511
|
+
"description": "The name of the file tabs, read by screen readers.",
|
|
32512
|
+
"fieldName": "filesLabel"
|
|
32513
|
+
},
|
|
32318
32514
|
{
|
|
32319
32515
|
"name": "hide-unchanged-label",
|
|
32320
32516
|
"type": {
|
|
@@ -32419,6 +32615,10 @@
|
|
|
32419
32615
|
"description": "The expand button has shown every line of a capped block.",
|
|
32420
32616
|
"name": "expanded"
|
|
32421
32617
|
},
|
|
32618
|
+
{
|
|
32619
|
+
"description": "The block is one of several files under another block's tabs, which name it, so it draws no name of its own.",
|
|
32620
|
+
"name": "tabbed"
|
|
32621
|
+
},
|
|
32422
32622
|
{
|
|
32423
32623
|
"description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
|
|
32424
32624
|
"name": "settled",
|
|
@@ -67827,6 +68027,10 @@
|
|
|
67827
68027
|
"description": "Shown while the fields are loading.",
|
|
67828
68028
|
"name": "menu-loading"
|
|
67829
68029
|
},
|
|
68030
|
+
{
|
|
68031
|
+
"description": "The inner menu's filter field, drawn with `filterable`.",
|
|
68032
|
+
"name": "menu-search-field"
|
|
68033
|
+
},
|
|
67830
68034
|
{
|
|
67831
68035
|
"description": "The floating panel the menu is drawn on.",
|
|
67832
68036
|
"name": "menu-surface"
|
|
@@ -107397,7 +107601,7 @@
|
|
|
107397
107601
|
"declarations": [
|
|
107398
107602
|
{
|
|
107399
107603
|
"kind": "class",
|
|
107400
|
-
"description": "One element covers three kinds of row, and what you give it decides which:\n- Content in the `submenu` slot makes the row open a submenu page.\n- `checked` makes the row a choice.\n- With neither, the row is a command.\n\nThe role follows the kind. A row with `checkable` or `checked` is\n`menuitemcheckbox` with `aria-checked`, and an `exclusive` row is\n`menuitemradio`, for a set where only one can be on. A row that opens a page\nkeeps `menuitem` and sets `aria-haspopup`.\n\nChoosing a choice row checks or unchecks it before `helix-select` is sent,\nso a listener reads the new `checked`. An `exclusive` row turns on and turns\noff the `exclusive` rows next to it. Cancel `helix-before-toggle` to keep a\nrow as it is and set `checked` yourself.\n\nSpace on a choice row changes it and leaves the menu open, so a reader can\nset several in a row, as the APG's menu does. Enter and a press change it and\nclose the menu. `close-on-select=\"false\"` on the row keeps the menu open after\nany choice of it, and `close-on-select` on the row closes it after a Space as\nwell.\n\nThe menu sets whether the row's page is showing as a property, never as an\nattribute. An attribute written onto your element after it upgrades causes a\nhydration mismatch.\n\n`shortcut` shows a row's keyboard shortcut after its label, drawn by `Kbd`\nin the platform's glyphs, and gives the row `aria-keyshortcuts`. It binds\nnothing: the shortcut is the page's to bind. Other trailing words, such as a\ncount, go in the `end` slot.\n\nThe row is named by its label alone. Words in `description`, a line under the\nlabel, and in `end` describe it instead, through `aria-describedby`, as\nReact Aria's menu item does with its description: a reader hears \"Copy\",\nthen \"Copies the selection\".\n\nA development build warns when a row has no words to be named by, such as a\nrow holding only an icon with no label.\n\nThe check mark and the caret are the fallbacks of the `check` and `chevron`\nslots, so a mark of your own replaces either by being slotted. Neither is\nread as part of the row's name.",
|
|
107604
|
+
"description": "One element covers three kinds of row, and what you give it decides which:\n- Content in the `submenu` slot makes the row open a submenu page.\n- `checked` makes the row a choice.\n- With neither, the row is a command.\n\nThe role follows the kind. A row with `checkable` or `checked` is\n`menuitemcheckbox` with `aria-checked`, and an `exclusive` row is\n`menuitemradio`, for a set where only one can be on. A row that opens a page\nkeeps `menuitem` and sets `aria-haspopup`.\n\nChoosing a choice row checks or unchecks it before `helix-select` is sent,\nso a listener reads the new `checked`. An `exclusive` row turns on and turns\noff the `exclusive` rows next to it. Cancel `helix-before-toggle` to keep a\nrow as it is and set `checked` yourself.\n\nSpace on a choice row changes it and leaves the menu open, so a reader can\nset several in a row, as the APG's menu does. Enter and a press change it and\nclose the menu. `close-on-select=\"false\"` on the row keeps the menu open after\nany choice of it, and `close-on-select` on the row closes it after a Space as\nwell.\n\nThe menu sets whether the row's page is showing as a property, never as an\nattribute. An attribute written onto your element after it upgrades causes a\nhydration mismatch.\n\n`shortcut` shows a row's keyboard shortcut after its label, drawn by `Kbd`\nin the platform's glyphs, and gives the row `aria-keyshortcuts`. It binds\nnothing: the shortcut is the page's to bind. Other trailing words, such as a\ncount, go in the `end` slot.\n\nThe row is named by its label alone. Words in `description`, a line under the\nlabel, and in `end` describe it instead, through `aria-describedby`, as\nReact Aria's menu item does with its description: a reader hears \"Copy\",\nthen \"Copies the selection\".\n\nA development build warns when a row has no words to be named by, such as a\nrow holding only an icon with no label.\n\nThe check mark and the caret are the fallbacks of the `check` and `chevron`\nslots, so a mark of your own replaces either by being slotted. Neither is\nread as part of the row's name.\n\nIn a menu with `filterable`, focus stays in the menu's filter field and the\nrow the arrow keys reach is highlighted: the field names it with\n`aria-activedescendant`, the row carries its role on its host so the field\ncan point at it, and `:state(highlighted)` says which row it is. A row with\nan `href` then follows its link without an anchor, as `Option` does.",
|
|
107401
107605
|
"name": "HelixHeadlessMenuItem",
|
|
107402
107606
|
"cssParts": [
|
|
107403
107607
|
{
|
|
@@ -107665,7 +107869,7 @@
|
|
|
107665
107869
|
"kind": "field",
|
|
107666
107870
|
"name": "describedBy",
|
|
107667
107871
|
"type": {
|
|
107668
|
-
"text": "string |
|
|
107872
|
+
"text": "string | null"
|
|
107669
107873
|
},
|
|
107670
107874
|
"privacy": "private",
|
|
107671
107875
|
"description": "What describes the row: the line under its label and the words after it.",
|
|
@@ -107835,6 +108039,16 @@
|
|
|
107835
108039
|
],
|
|
107836
108040
|
"description": "The trailing mark: the caret of a row that opens a page, or the tick of a\nchecked one, each the fallback of a slot a mark of your own replaces.\n\nOne trailing column, and a row is never both: a way into a page has nothing\nto tick, and a choice opens nothing. The tick sits after the label rather\nthan before it, so the labels start at the edge of the row and the marks\nline up down the side they are read from.\n\n`data-mirror` is what tells the two apart. They share a part name because\nthey share a column, and only one of them is directional: a caret has to\nmirror in a right-to-left document and a tick must not, which Unicode's own\nmirroring list agrees on. The attribute is on an element in this shadow\nroot rather than on the host, so it is the divider's `data-empty` and not a\nhydration hazard.\n\nNothing to mark, so nothing is drawn. The column this would have sat in is\nreserved by the menu when some row on the page needs one, so the labels\nstill line up without every row carrying an empty box to line them up with."
|
|
107837
108041
|
},
|
|
108042
|
+
{
|
|
108043
|
+
"kind": "field",
|
|
108044
|
+
"name": "onHost",
|
|
108045
|
+
"type": {
|
|
108046
|
+
"text": "boolean"
|
|
108047
|
+
},
|
|
108048
|
+
"privacy": "private",
|
|
108049
|
+
"description": "Whether the row says what it is from its host, for a field's `aria-activedescendant`.",
|
|
108050
|
+
"readonly": true
|
|
108051
|
+
},
|
|
107838
108052
|
{
|
|
107839
108053
|
"kind": "field",
|
|
107840
108054
|
"name": "tier",
|
|
@@ -108298,6 +108512,10 @@
|
|
|
108298
108512
|
"description": "The row is checked.",
|
|
108299
108513
|
"name": "checked"
|
|
108300
108514
|
},
|
|
108515
|
+
{
|
|
108516
|
+
"description": "In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.",
|
|
108517
|
+
"name": "highlighted"
|
|
108518
|
+
},
|
|
108301
108519
|
{
|
|
108302
108520
|
"description": "Under `submenus=\"flyout\"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.",
|
|
108303
108521
|
"name": "submenu-mark"
|
|
@@ -108366,7 +108584,7 @@
|
|
|
108366
108584
|
"declarations": [
|
|
108367
108585
|
{
|
|
108368
108586
|
"kind": "class",
|
|
108369
|
-
"description": "The trigger is slotted and stays your own element, as with the tooltip. The\nmenu renders its surface in the top layer with the popover API, so an\nancestor with `overflow: hidden` does not clip it and it needs no `z-index`.\n\nSlot a `helix-button` or `helix-icon-button` as the trigger, and the menu\ntells it that it opens a menu and whether the menu is open, inside its own\nshadow root. On a plain element, such as a `<button>`, the menu writes\n`aria-haspopup=\"menu\"` and `aria-expanded`, from a frame after its own first\nrender, so a server's markup is never changed while a framework hydrates it.\nIt never writes `aria-expanded` where you wrote it yourself.\n\nSubmenus drill down by default. A submenu replaces the panel's content, and a\nback row returns to the previous page. One panel stays inside a narrow\nwindow, and works on touch screens, which have no hover.\n\n**`submenus=\"flyout\"` opens each submenu in a panel of its own beside its\nrow**, as React Aria's `SubmenuTrigger` and Radix's `Sub` do. Resting the\npointer on the row opens it, and a pointer crossing toward the open panel\nover the rows between keeps it open, as Radix's grace area does. Right Arrow\nopens a row's submenu on its first row, and Left Arrow or Escape closes it\nand returns focus to the row, the two arrows swapping on a right-to-left\npage. The row says `aria-expanded`, and the panel is a `menu` named by the\nrow.\n\nThe root holds which page is open, because only one page shows at a time. It\nsets this on items as a property, never as an attribute. An attribute written\nonto your element after it upgrades causes a hydration mismatch.\n\nGroup rows under a heading with `Menu.Section`, which is a `group` named by\nits heading. Between runs of rows, a `<helix-divider>` is a separator a\nscreen reader announces.\n\nKeys: Enter, Space or Down Arrow on the trigger opens the menu on its first\nrow, and Up Arrow on its last. In the menu, Up and Down Arrow move between\nrows, Home and End go to the first and the last, a typed letter moves to\nthe next row whose name starts with it, Enter and Space choose (Space on a\nchoice row changes it and leaves the menu open), Right Arrow\nopens a row's submenu and Left Arrow goes back, the two swapping on a\nright-to-left page. Left Arrow on the top page does nothing. Escape closes\nthe menu and returns focus to the trigger. Tab closes it and moves on.\n\nWhile it is open, the surface carries the trigger's width as\n`--floating-anchor-inline-size` and the room left below it as\n`--floating-available-block-size`, as Radix's dropdown menu publishes its\ntrigger's width, for a menu as wide as its trigger:\n`helix-menu::part(surface) { min-inline-size: var(--floating-anchor-inline-size) }`.\n\nWith `context`, the trigger is an area and the menu is its context menu: a\nright-click, a long press, Shift+F10 or the menu key over the area opens it\nat the pointer, or at the area's corner from the keyboard, as Radix's context\nmenu does. A press on the area does not open it, and closing it returns focus\nto where it was. A touch or a pen held still on the area opens it too, on\nevery browser, since iOS sends no `contextmenu` for one.\n\n**A trigger with its own action.** With `open-on=\"long-press\"`, a press on\nthe trigger is the trigger's own, and a press held for half a second opens\nthe menu, as React Aria's `trigger=\"longPress\"` does. Alt+Down or Alt+Up\nopens it from the keyboard, and the trigger is described by\n`long-press-label`, which says so.",
|
|
108587
|
+
"description": "The trigger is slotted and stays your own element, as with the tooltip. The\nmenu renders its surface in the top layer with the popover API, so an\nancestor with `overflow: hidden` does not clip it and it needs no `z-index`.\n\nSlot a `helix-button` or `helix-icon-button` as the trigger, and the menu\ntells it that it opens a menu and whether the menu is open, inside its own\nshadow root. On a plain element, such as a `<button>`, the menu writes\n`aria-haspopup=\"menu\"` and `aria-expanded`, from a frame after its own first\nrender, so a server's markup is never changed while a framework hydrates it.\nIt never writes `aria-expanded` where you wrote it yourself.\n\nSubmenus drill down by default. A submenu replaces the panel's content, and a\nback row returns to the previous page. One panel stays inside a narrow\nwindow, and works on touch screens, which have no hover.\n\n**`submenus=\"flyout\"` opens each submenu in a panel of its own beside its\nrow**, as React Aria's `SubmenuTrigger` and Radix's `Sub` do. Resting the\npointer on the row opens it, and a pointer crossing toward the open panel\nover the rows between keeps it open, as Radix's grace area does. Right Arrow\nopens a row's submenu on its first row, and Left Arrow or Escape closes it\nand returns focus to the row, the two arrows swapping on a right-to-left\npage. The row says `aria-expanded`, and the panel is a `menu` named by the\nrow.\n\nThe root holds which page is open, because only one page shows at a time. It\nsets this on items as a property, never as an attribute. An attribute written\nonto your element after it upgrades causes a hydration mismatch.\n\nGroup rows under a heading with `Menu.Section`, which is a `group` named by\nits heading. Between runs of rows, a `<helix-divider>` is a separator a\nscreen reader announces.\n\nKeys: Enter, Space or Down Arrow on the trigger opens the menu on its first\nrow, and Up Arrow on its last. In the menu, Up and Down Arrow move between\nrows, Home and End go to the first and the last, a typed letter moves to\nthe next row whose name starts with it, Enter and Space choose (Space on a\nchoice row changes it and leaves the menu open), Right Arrow\nopens a row's submenu and Left Arrow goes back, the two swapping on a\nright-to-left page. Left Arrow on the top page does nothing. Escape closes\nthe menu and returns focus to the trigger. Tab closes it and moves on.\n\nWhile it is open, the surface carries the trigger's width as\n`--floating-anchor-inline-size` and the room left below it as\n`--floating-available-block-size`, as Radix's dropdown menu publishes its\ntrigger's width, for a menu as wide as its trigger:\n`helix-menu::part(surface) { min-inline-size: var(--floating-anchor-inline-size) }`.\n\nWith `context`, the trigger is an area and the menu is its context menu: a\nright-click, a long press, Shift+F10 or the menu key over the area opens it\nat the pointer, or at the area's corner from the keyboard, as Radix's context\nmenu does. A press on the area does not open it, and closing it returns focus\nto where it was. A touch or a pen held still on the area opens it too, on\nevery browser, since iOS sends no `contextmenu` for one.\n\n**A trigger with its own action.** With `open-on=\"long-press\"`, a press on\nthe trigger is the trigger's own, and a press held for half a second opens\nthe menu, as React Aria's `trigger=\"longPress\"` does. Alt+Down or Alt+Up\nopens it from the keyboard, and the trigger is described by\n`long-press-label`, which says so.\n\n**A filter field.** With `filterable`, the menu opens with focus in a field\nabove its rows, and typing narrows the rows of the page the keys move in,\nas React Aria's `Autocomplete` around a `Menu` does. A row is kept where its\nwords hold the filter, in any case, or where `filterMatch` says so. Each\npage starts unfiltered, and the filter is cleared as the menu closes. Where\ntyping keeps no row, the menu shows `no-results-text`. Focus stays in the\nfield: Up and Down Arrow move the highlight through the rows that are left,\nEnter chooses the highlighted row, Right Arrow opens its submenu, Left Arrow\non a submenu goes back, and Escape clears the filter and then closes the\nmenu. Home, End and the other keys move the caret and type. The field names\nthe highlighted row with `aria-activedescendant`, and the rows are a `menu`\nafter the field. Cancel `helix-filter` to keep every row\nshowing and narrow the rows yourself, such as by replacing them with rows\nfrom a server.",
|
|
108370
108588
|
"name": "HelixHeadlessMenu",
|
|
108371
108589
|
"cssProperties": [
|
|
108372
108590
|
{
|
|
@@ -108404,7 +108622,11 @@
|
|
|
108404
108622
|
"name": "loading"
|
|
108405
108623
|
},
|
|
108406
108624
|
{
|
|
108407
|
-
"description": "
|
|
108625
|
+
"description": "With `filterable`, the field that narrows the rows.",
|
|
108626
|
+
"name": "search-field"
|
|
108627
|
+
},
|
|
108628
|
+
{
|
|
108629
|
+
"description": "The floating panel the menu is drawn on. It is the `menu` itself, and with `filterable` it holds the filter field and then the `menu`.",
|
|
108408
108630
|
"name": "surface"
|
|
108409
108631
|
},
|
|
108410
108632
|
{
|
|
@@ -108417,6 +108639,10 @@
|
|
|
108417
108639
|
"description": "The items.",
|
|
108418
108640
|
"name": ""
|
|
108419
108641
|
},
|
|
108642
|
+
{
|
|
108643
|
+
"description": "What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.",
|
|
108644
|
+
"name": "no-results"
|
|
108645
|
+
},
|
|
108420
108646
|
{
|
|
108421
108647
|
"description": "The control that opens the menu, or with `context` the area a context menu opens over.",
|
|
108422
108648
|
"name": "trigger"
|
|
@@ -108471,6 +108697,47 @@
|
|
|
108471
108697
|
"attribute": "context",
|
|
108472
108698
|
"reflects": true
|
|
108473
108699
|
},
|
|
108700
|
+
{
|
|
108701
|
+
"kind": "field",
|
|
108702
|
+
"name": "filter",
|
|
108703
|
+
"type": {
|
|
108704
|
+
"text": "string"
|
|
108705
|
+
},
|
|
108706
|
+
"default": "''",
|
|
108707
|
+
"description": "The text the rows are filtered by, which the filter field holds.\n\nCleared as the menu closes and as a submenu opens or closes, so each page\nstarts with every row showing.",
|
|
108708
|
+
"attribute": "filter"
|
|
108709
|
+
},
|
|
108710
|
+
{
|
|
108711
|
+
"kind": "field",
|
|
108712
|
+
"name": "filterable",
|
|
108713
|
+
"type": {
|
|
108714
|
+
"text": "boolean"
|
|
108715
|
+
},
|
|
108716
|
+
"default": "false",
|
|
108717
|
+
"description": "Whether the menu shows a field above its rows that narrows them as the\nreader types, with focus staying in the field.",
|
|
108718
|
+
"attribute": "filterable"
|
|
108719
|
+
},
|
|
108720
|
+
{
|
|
108721
|
+
"kind": "field",
|
|
108722
|
+
"name": "filterLabel",
|
|
108723
|
+
"type": {
|
|
108724
|
+
"text": "string"
|
|
108725
|
+
},
|
|
108726
|
+
"default": "'Filter'",
|
|
108727
|
+
"description": "The filter field's name and placeholder.",
|
|
108728
|
+
"attribute": "filter-label",
|
|
108729
|
+
"helix": {
|
|
108730
|
+
"words": true
|
|
108731
|
+
}
|
|
108732
|
+
},
|
|
108733
|
+
{
|
|
108734
|
+
"kind": "field",
|
|
108735
|
+
"name": "filterMatch",
|
|
108736
|
+
"type": {
|
|
108737
|
+
"text": "((text: string, filter: string) => boolean) | undefined | undefined"
|
|
108738
|
+
},
|
|
108739
|
+
"description": "Whether a row is kept by the filter: a function given the row's words and\nthe filter, trimmed, that returns `true` to keep it showing, as React\nAria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.\n\nAbsent, a row is kept where its words hold the filter, in any case. A\nproperty only, there being no way to write a function in markup."
|
|
108740
|
+
},
|
|
108474
108741
|
{
|
|
108475
108742
|
"kind": "field",
|
|
108476
108743
|
"name": "label",
|
|
@@ -108591,6 +108858,19 @@
|
|
|
108591
108858
|
"words": true
|
|
108592
108859
|
}
|
|
108593
108860
|
},
|
|
108861
|
+
{
|
|
108862
|
+
"kind": "field",
|
|
108863
|
+
"name": "noResultsText",
|
|
108864
|
+
"type": {
|
|
108865
|
+
"text": "string"
|
|
108866
|
+
},
|
|
108867
|
+
"default": "'No matches'",
|
|
108868
|
+
"description": "The text shown when the filter keeps no rows.",
|
|
108869
|
+
"attribute": "no-results-text",
|
|
108870
|
+
"helix": {
|
|
108871
|
+
"words": true
|
|
108872
|
+
}
|
|
108873
|
+
},
|
|
108594
108874
|
{
|
|
108595
108875
|
"kind": "field",
|
|
108596
108876
|
"name": "offset",
|
|
@@ -108679,7 +108959,7 @@
|
|
|
108679
108959
|
"name": "aria",
|
|
108680
108960
|
"privacy": "protected",
|
|
108681
108961
|
"readonly": true,
|
|
108682
|
-
"default": "new AriaForwardController(this, { label: true, target: () => this.
|
|
108962
|
+
"default": "new AriaForwardController(this, { label: true, target: () => this.menuBox, })",
|
|
108683
108963
|
"description": "Carries a host `aria-label` and `aria-labelledby` to the surface."
|
|
108684
108964
|
},
|
|
108685
108965
|
{
|
|
@@ -108757,6 +109037,146 @@
|
|
|
108757
109037
|
"description": "The items on the page that is showing, which is what the keys move over.",
|
|
108758
109038
|
"readonly": true
|
|
108759
109039
|
},
|
|
109040
|
+
{
|
|
109041
|
+
"kind": "field",
|
|
109042
|
+
"name": "menuBox",
|
|
109043
|
+
"type": {
|
|
109044
|
+
"text": "HTMLElement | null"
|
|
109045
|
+
},
|
|
109046
|
+
"privacy": "private",
|
|
109047
|
+
"description": "The element that is the `menu`: the surface, or with `filterable` the box after the field.",
|
|
109048
|
+
"readonly": true
|
|
109049
|
+
},
|
|
109050
|
+
{
|
|
109051
|
+
"kind": "field",
|
|
109052
|
+
"name": "field",
|
|
109053
|
+
"type": {
|
|
109054
|
+
"text": "HTMLInputElement | null"
|
|
109055
|
+
},
|
|
109056
|
+
"privacy": "private",
|
|
109057
|
+
"description": "The filter field, with `filterable`.",
|
|
109058
|
+
"readonly": true
|
|
109059
|
+
},
|
|
109060
|
+
{
|
|
109061
|
+
"kind": "field",
|
|
109062
|
+
"name": "filterPage",
|
|
109063
|
+
"type": {
|
|
109064
|
+
"text": "HelixHeadlessMenuItem | null"
|
|
109065
|
+
},
|
|
109066
|
+
"privacy": "private",
|
|
109067
|
+
"default": "null",
|
|
109068
|
+
"description": "The submenu the filter narrows, or null for the top page."
|
|
109069
|
+
},
|
|
109070
|
+
{
|
|
109071
|
+
"kind": "field",
|
|
109072
|
+
"name": "refused",
|
|
109073
|
+
"type": {
|
|
109074
|
+
"text": "string | undefined"
|
|
109075
|
+
},
|
|
109076
|
+
"privacy": "private",
|
|
109077
|
+
"description": "The filter a listener refused, which narrows nothing."
|
|
109078
|
+
},
|
|
109079
|
+
{
|
|
109080
|
+
"kind": "field",
|
|
109081
|
+
"name": "filtering",
|
|
109082
|
+
"type": {
|
|
109083
|
+
"text": "boolean"
|
|
109084
|
+
},
|
|
109085
|
+
"privacy": "private",
|
|
109086
|
+
"description": "Whether the filter is narrowing the rows.",
|
|
109087
|
+
"readonly": true
|
|
109088
|
+
},
|
|
109089
|
+
{
|
|
109090
|
+
"kind": "method",
|
|
109091
|
+
"name": "kept",
|
|
109092
|
+
"privacy": "private",
|
|
109093
|
+
"return": {
|
|
109094
|
+
"type": {
|
|
109095
|
+
"text": "boolean"
|
|
109096
|
+
}
|
|
109097
|
+
},
|
|
109098
|
+
"parameters": [
|
|
109099
|
+
{
|
|
109100
|
+
"name": "row",
|
|
109101
|
+
"type": {
|
|
109102
|
+
"text": "HelixHeadlessMenuItem"
|
|
109103
|
+
}
|
|
109104
|
+
}
|
|
109105
|
+
],
|
|
109106
|
+
"description": "Whether the filter keeps a row: one of another page, or one whose words it matches."
|
|
109107
|
+
},
|
|
109108
|
+
{
|
|
109109
|
+
"kind": "method",
|
|
109110
|
+
"name": "requestFilter",
|
|
109111
|
+
"privacy": "private",
|
|
109112
|
+
"return": {
|
|
109113
|
+
"type": {
|
|
109114
|
+
"text": "void"
|
|
109115
|
+
}
|
|
109116
|
+
},
|
|
109117
|
+
"parameters": [
|
|
109118
|
+
{
|
|
109119
|
+
"name": "value",
|
|
109120
|
+
"type": {
|
|
109121
|
+
"text": "string"
|
|
109122
|
+
}
|
|
109123
|
+
}
|
|
109124
|
+
],
|
|
109125
|
+
"description": "Asks to filter by new text, which the field and `filter` then hold. A\nrefusal keeps every row showing, for a page that narrows them itself."
|
|
109126
|
+
},
|
|
109127
|
+
{
|
|
109128
|
+
"kind": "field",
|
|
109129
|
+
"name": "handleFilterInput",
|
|
109130
|
+
"privacy": "private",
|
|
109131
|
+
"readonly": true
|
|
109132
|
+
},
|
|
109133
|
+
{
|
|
109134
|
+
"kind": "method",
|
|
109135
|
+
"name": "filterBy",
|
|
109136
|
+
"privacy": "private",
|
|
109137
|
+
"return": {
|
|
109138
|
+
"type": {
|
|
109139
|
+
"text": "void"
|
|
109140
|
+
}
|
|
109141
|
+
},
|
|
109142
|
+
"parameters": [
|
|
109143
|
+
{
|
|
109144
|
+
"name": "value",
|
|
109145
|
+
"type": {
|
|
109146
|
+
"text": "string"
|
|
109147
|
+
}
|
|
109148
|
+
}
|
|
109149
|
+
],
|
|
109150
|
+
"description": "Filters by what the reader typed, and highlights the first row kept."
|
|
109151
|
+
},
|
|
109152
|
+
{
|
|
109153
|
+
"kind": "field",
|
|
109154
|
+
"name": "highlighted",
|
|
109155
|
+
"type": {
|
|
109156
|
+
"text": "HelixHeadlessMenuItem | undefined"
|
|
109157
|
+
},
|
|
109158
|
+
"privacy": "private",
|
|
109159
|
+
"description": "The row the keys reached while focus stays in the filter field."
|
|
109160
|
+
},
|
|
109161
|
+
{
|
|
109162
|
+
"kind": "method",
|
|
109163
|
+
"name": "reach",
|
|
109164
|
+
"privacy": "private",
|
|
109165
|
+
"return": {
|
|
109166
|
+
"type": {
|
|
109167
|
+
"text": "void"
|
|
109168
|
+
}
|
|
109169
|
+
},
|
|
109170
|
+
"parameters": [
|
|
109171
|
+
{
|
|
109172
|
+
"name": "row",
|
|
109173
|
+
"type": {
|
|
109174
|
+
"text": "HelixHeadlessMenuItem | undefined"
|
|
109175
|
+
}
|
|
109176
|
+
}
|
|
109177
|
+
],
|
|
109178
|
+
"description": "Moves the reader to a row: focus, or with `filterable` the highlight,\nwhich the field names with `aria-activedescendant`. An element reference,\nbecause the field is in this shadow root and the row in the tree around\nit, the one direction a reference crosses."
|
|
109179
|
+
},
|
|
108760
109180
|
{
|
|
108761
109181
|
"kind": "method",
|
|
108762
109182
|
"name": "show",
|
|
@@ -108871,6 +109291,25 @@
|
|
|
108871
109291
|
"readonly": true,
|
|
108872
109292
|
"description": "Keeps whatever has focus in sight, however it got there.\n\nOn `focusin` rather than in the branches that move focus: a row reached by\nTab, or focused by the drilldown on the way into a page, can otherwise sit\nbelow the fold of a scrolled panel."
|
|
108873
109293
|
},
|
|
109294
|
+
{
|
|
109295
|
+
"kind": "method",
|
|
109296
|
+
"name": "revealRow",
|
|
109297
|
+
"privacy": "private",
|
|
109298
|
+
"return": {
|
|
109299
|
+
"type": {
|
|
109300
|
+
"text": "void"
|
|
109301
|
+
}
|
|
109302
|
+
},
|
|
109303
|
+
"parameters": [
|
|
109304
|
+
{
|
|
109305
|
+
"name": "item",
|
|
109306
|
+
"type": {
|
|
109307
|
+
"text": "HelixHeadlessMenuItem"
|
|
109308
|
+
}
|
|
109309
|
+
}
|
|
109310
|
+
],
|
|
109311
|
+
"description": "Scrolls the panel that holds a row to show it."
|
|
109312
|
+
},
|
|
108874
109313
|
{
|
|
108875
109314
|
"kind": "field",
|
|
108876
109315
|
"name": "handleKeydown",
|
|
@@ -108928,6 +109367,13 @@
|
|
|
108928
109367
|
"readonly": true,
|
|
108929
109368
|
"description": "A press on the trigger starting: the start of a held one under\n`open-on=\"long-press\"`, or a touch or a pen held on a context menu's area."
|
|
108930
109369
|
},
|
|
109370
|
+
{
|
|
109371
|
+
"kind": "field",
|
|
109372
|
+
"name": "handleMouseDown",
|
|
109373
|
+
"privacy": "private",
|
|
109374
|
+
"readonly": true,
|
|
109375
|
+
"description": "Keeps focus in the filter field through a press on a row or the way\nback, as React Aria's virtual focus does: the press still chooses."
|
|
109376
|
+
},
|
|
108931
109377
|
{
|
|
108932
109378
|
"kind": "field",
|
|
108933
109379
|
"name": "handlePointerMove",
|
|
@@ -109788,6 +110234,14 @@
|
|
|
109788
110234
|
"name": "helix-before-open",
|
|
109789
110235
|
"reactProp": "onhelix-before-open"
|
|
109790
110236
|
},
|
|
110237
|
+
{
|
|
110238
|
+
"type": {
|
|
110239
|
+
"text": "HelixFilterEvent"
|
|
110240
|
+
},
|
|
110241
|
+
"description": "The text in the filter field changed, with the new text in `detail.value`. Cancelable: cancel it to keep every row showing and narrow the rows yourself.",
|
|
110242
|
+
"name": "helix-filter",
|
|
110243
|
+
"reactProp": "onhelix-filter"
|
|
110244
|
+
},
|
|
109791
110245
|
{
|
|
109792
110246
|
"type": {
|
|
109793
110247
|
"text": "HelixSelectEvent"
|
|
@@ -109837,6 +110291,33 @@
|
|
|
109837
110291
|
"description": "Whether the menu is the trigger's context menu: it opens where the reader\nasks for one, with a right-click, a long press, Shift+F10 or the menu key.",
|
|
109838
110292
|
"fieldName": "context"
|
|
109839
110293
|
},
|
|
110294
|
+
{
|
|
110295
|
+
"name": "filter",
|
|
110296
|
+
"type": {
|
|
110297
|
+
"text": "string"
|
|
110298
|
+
},
|
|
110299
|
+
"default": "''",
|
|
110300
|
+
"description": "The text the rows are filtered by, which the filter field holds.\n\nCleared as the menu closes and as a submenu opens or closes, so each page\nstarts with every row showing.",
|
|
110301
|
+
"fieldName": "filter"
|
|
110302
|
+
},
|
|
110303
|
+
{
|
|
110304
|
+
"name": "filterable",
|
|
110305
|
+
"type": {
|
|
110306
|
+
"text": "boolean"
|
|
110307
|
+
},
|
|
110308
|
+
"default": "false",
|
|
110309
|
+
"description": "Whether the menu shows a field above its rows that narrows them as the\nreader types, with focus staying in the field.",
|
|
110310
|
+
"fieldName": "filterable"
|
|
110311
|
+
},
|
|
110312
|
+
{
|
|
110313
|
+
"name": "filter-label",
|
|
110314
|
+
"type": {
|
|
110315
|
+
"text": "string"
|
|
110316
|
+
},
|
|
110317
|
+
"default": "'Filter'",
|
|
110318
|
+
"description": "The filter field's name and placeholder.",
|
|
110319
|
+
"fieldName": "filterLabel"
|
|
110320
|
+
},
|
|
109840
110321
|
{
|
|
109841
110322
|
"name": "label",
|
|
109842
110323
|
"type": {
|
|
@@ -109855,6 +110336,15 @@
|
|
|
109855
110336
|
"description": "The description a trigger gives under `open-on=\"long-press\"`, saying how\nto open the menu. Translate it with the rest of your interface.",
|
|
109856
110337
|
"fieldName": "longPressLabel"
|
|
109857
110338
|
},
|
|
110339
|
+
{
|
|
110340
|
+
"name": "no-results-text",
|
|
110341
|
+
"type": {
|
|
110342
|
+
"text": "string"
|
|
110343
|
+
},
|
|
110344
|
+
"default": "'No matches'",
|
|
110345
|
+
"description": "The text shown when the filter keeps no rows.",
|
|
110346
|
+
"fieldName": "noResultsText"
|
|
110347
|
+
},
|
|
109858
110348
|
{
|
|
109859
110349
|
"name": "offset",
|
|
109860
110350
|
"type": {
|
|
@@ -118445,6 +118935,28 @@
|
|
|
118445
118935
|
},
|
|
118446
118936
|
"description": "Says how many entries the filter matched, and nothing for an empty one."
|
|
118447
118937
|
},
|
|
118938
|
+
{
|
|
118939
|
+
"kind": "method",
|
|
118940
|
+
"name": "focus",
|
|
118941
|
+
"return": {
|
|
118942
|
+
"type": {
|
|
118943
|
+
"text": "void"
|
|
118944
|
+
}
|
|
118945
|
+
},
|
|
118946
|
+
"parameters": [
|
|
118947
|
+
{
|
|
118948
|
+
"name": "options",
|
|
118949
|
+
"optional": true,
|
|
118950
|
+
"type": {
|
|
118951
|
+
"text": "FocusOptions"
|
|
118952
|
+
}
|
|
118953
|
+
}
|
|
118954
|
+
],
|
|
118955
|
+
"description": "Moves focus to the row the keys move from, or to the tree while that row\nis scrolled out of the window, as Tab reaches them.",
|
|
118956
|
+
"type": {
|
|
118957
|
+
"text": "focus(options?: FocusOptions) => void"
|
|
118958
|
+
}
|
|
118959
|
+
},
|
|
118448
118960
|
{
|
|
118449
118961
|
"kind": "method",
|
|
118450
118962
|
"name": "focusActive",
|
|
@@ -150810,6 +151322,38 @@
|
|
|
150810
151322
|
"description": "The index of the stage the reader is on, or `-1`.\n\nRead from `active` once anything has set it, because a move writes\n`active` at once and each step's `current` only on the next update: two\ncalls to `next()` in one task then move two stages.",
|
|
150811
151323
|
"readonly": true
|
|
150812
151324
|
},
|
|
151325
|
+
{
|
|
151326
|
+
"kind": "method",
|
|
151327
|
+
"name": "requestActive",
|
|
151328
|
+
"return": {
|
|
151329
|
+
"type": {
|
|
151330
|
+
"text": "boolean"
|
|
151331
|
+
}
|
|
151332
|
+
},
|
|
151333
|
+
"parameters": [
|
|
151334
|
+
{
|
|
151335
|
+
"name": "next",
|
|
151336
|
+
"type": {
|
|
151337
|
+
"text": "string"
|
|
151338
|
+
}
|
|
151339
|
+
},
|
|
151340
|
+
{
|
|
151341
|
+
"name": "cause",
|
|
151342
|
+
"optional": true,
|
|
151343
|
+
"type": {
|
|
151344
|
+
"text": "string"
|
|
151345
|
+
}
|
|
151346
|
+
}
|
|
151347
|
+
],
|
|
151348
|
+
"description": "Requests a new current stage, and returns whether it moved.\n\nWhere only a step's `current` says where the reader is, `active` is first\nwritten with that step, so `helix-activate` names it as `previous`.",
|
|
151349
|
+
"inheritedFrom": {
|
|
151350
|
+
"name": "MixinControllerActive",
|
|
151351
|
+
"module": "src/mixins/mixin-controller-active/mixin-controller-active.ts"
|
|
151352
|
+
},
|
|
151353
|
+
"type": {
|
|
151354
|
+
"text": "requestActive(next: string, cause?: string) => boolean"
|
|
151355
|
+
}
|
|
151356
|
+
},
|
|
150813
151357
|
{
|
|
150814
151358
|
"kind": "method",
|
|
150815
151359
|
"name": "next",
|
|
@@ -151000,38 +151544,6 @@
|
|
|
151000
151544
|
"module": "src/mixins/mixin-controller-active/mixin-controller-active.ts"
|
|
151001
151545
|
}
|
|
151002
151546
|
},
|
|
151003
|
-
{
|
|
151004
|
-
"kind": "method",
|
|
151005
|
-
"name": "requestActive",
|
|
151006
|
-
"return": {
|
|
151007
|
-
"type": {
|
|
151008
|
-
"text": "boolean"
|
|
151009
|
-
}
|
|
151010
|
-
},
|
|
151011
|
-
"parameters": [
|
|
151012
|
-
{
|
|
151013
|
-
"name": "next",
|
|
151014
|
-
"type": {
|
|
151015
|
-
"text": "string"
|
|
151016
|
-
}
|
|
151017
|
-
},
|
|
151018
|
-
{
|
|
151019
|
-
"name": "cause",
|
|
151020
|
-
"optional": true,
|
|
151021
|
-
"type": {
|
|
151022
|
-
"text": "string"
|
|
151023
|
-
}
|
|
151024
|
-
}
|
|
151025
|
-
],
|
|
151026
|
-
"description": "Requests a new current item, and returns whether the change was applied.\n\nAnnounces before it acts, so `preventDefault()` on the `helix-before-activate` is\na refusal and nothing moves. Unlike a native control, nothing has moved\nby the time this runs, so refusing is simply not writing: there is\nnothing to put back. Nobody refusing means the set updates itself,\nwhether or not a consumer declared `active`, a declared property being a\nseed and a correction. `cause` says why, where the family names its\ncauses, and reaches the event as `detail.cause`.",
|
|
151027
|
-
"inheritedFrom": {
|
|
151028
|
-
"name": "MixinControllerActive",
|
|
151029
|
-
"module": "src/mixins/mixin-controller-active/mixin-controller-active.ts"
|
|
151030
|
-
},
|
|
151031
|
-
"type": {
|
|
151032
|
-
"text": "requestActive(next: string, cause?: string) => boolean"
|
|
151033
|
-
}
|
|
151034
|
-
},
|
|
151035
151547
|
{
|
|
151036
151548
|
"kind": "method",
|
|
151037
151549
|
"name": "announceActivated",
|
|
@@ -186577,6 +187089,10 @@
|
|
|
186577
187089
|
"description": "Shown while the items are loading.",
|
|
186578
187090
|
"name": "menu-loading"
|
|
186579
187091
|
},
|
|
187092
|
+
{
|
|
187093
|
+
"description": "The inner menu's filter field, drawn with `filterable`.",
|
|
187094
|
+
"name": "menu-search-field"
|
|
187095
|
+
},
|
|
186580
187096
|
{
|
|
186581
187097
|
"description": "The floating panel the menu is drawn on.",
|
|
186582
187098
|
"name": "menu-surface"
|
|
@@ -188894,6 +189410,10 @@
|
|
|
188894
189410
|
"description": "The text shown while the items are loading.",
|
|
188895
189411
|
"name": "captions-menu-loading"
|
|
188896
189412
|
},
|
|
189413
|
+
{
|
|
189414
|
+
"description": "The inner menu's filter field, drawn with `filterable`.",
|
|
189415
|
+
"name": "captions-menu-search-field"
|
|
189416
|
+
},
|
|
188897
189417
|
{
|
|
188898
189418
|
"description": "The floating panel the menu is drawn on.",
|
|
188899
189419
|
"name": "captions-menu-surface"
|
|
@@ -189018,6 +189538,10 @@
|
|
|
189018
189538
|
"description": "The text shown while the items are loading.",
|
|
189019
189539
|
"name": "overflow-loading"
|
|
189020
189540
|
},
|
|
189541
|
+
{
|
|
189542
|
+
"description": "The inner menu's filter field, drawn with `filterable`.",
|
|
189543
|
+
"name": "overflow-search-field"
|
|
189544
|
+
},
|
|
189021
189545
|
{
|
|
189022
189546
|
"description": "The floating panel the menu is drawn on.",
|
|
189023
189547
|
"name": "overflow-surface"
|
|
@@ -193663,6 +194187,6 @@
|
|
|
193663
194187
|
],
|
|
193664
194188
|
"helix": {
|
|
193665
194189
|
"package": "@fusion.dev/helix-headless",
|
|
193666
|
-
"version": "0.
|
|
194190
|
+
"version": "0.166.0"
|
|
193667
194191
|
}
|
|
193668
194192
|
}
|