@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/types/jsx.d.ts CHANGED
@@ -6075,9 +6075,18 @@ export type HelixHeadlessCodeBlockElementEvent<E = Event> = TypedEvent<
6075
6075
  HelixHeadlessCodeBlock,
6076
6076
  E
6077
6077
  >;
6078
+ /** `helix-before-change` event type */
6079
+ export type HelixHeadlessCodeBlockHelixBeforeChangeElementEvent =
6080
+ HelixHeadlessCodeBlockElementEvent<HelixBeforeChangeEvent>;
6078
6081
  /** `helix-before-toggle` event type */
6079
6082
  export type HelixHeadlessCodeBlockHelixBeforeToggleElementEvent =
6080
6083
  HelixHeadlessCodeBlockElementEvent<HelixBeforeToggleEvent>;
6084
+ /** `helix-copy` event type */
6085
+ export type HelixHeadlessCodeBlockHelixCopyElementEvent =
6086
+ HelixHeadlessCodeBlockElementEvent<HelixCopyEvent>;
6087
+ /** `helix-copy-error` event type */
6088
+ export type HelixHeadlessCodeBlockHelixCopyErrorElementEvent =
6089
+ HelixHeadlessCodeBlockElementEvent<HelixCopyErrorEvent>;
6081
6090
  /** `helix-toggle` event type */
6082
6091
  export type HelixHeadlessCodeBlockHelixToggleElementEvent =
6083
6092
  HelixHeadlessCodeBlockElementEvent<HelixToggleEvent>;
@@ -6149,6 +6158,15 @@ block lays out. Not for a diff, whose files each scroll on their own. */
6149
6158
  "expand-label"?: (HelixHeadlessCodeBlock["expandLabel"]) | undefined;
6150
6159
  /** The expand button's words while the cap hides lines. */
6151
6160
  expandLabel?: (HelixHeadlessCodeBlock["expandLabel"]) | undefined;
6161
+ /** The name of the file shown, where the block holds several Code Blocks:
6162
+ the `label` of one, or its `language` without one.
6163
+
6164
+ Unset, or a name no file has, shows the first. */
6165
+ file?: (HelixHeadlessCodeBlock["file"]) | undefined;
6166
+ /** The name of the file tabs, read by screen readers. */
6167
+ "files-label"?: (HelixHeadlessCodeBlock["filesLabel"]) | undefined;
6168
+ /** The name of the file tabs, read by screen readers. */
6169
+ filesLabel?: (HelixHeadlessCodeBlock["filesLabel"]) | undefined;
6152
6170
  /** The words of a button that hides a run of unchanged lines it showed, in a
6153
6171
  diff with `context-lines`. `{count}` is how many, and each language
6154
6172
  writes the forms it has. */
@@ -6283,10 +6301,22 @@ the script still has it. Not called on a server, which has no code to
6283
6301
  read, nor for a diff. */
6284
6302
  highlight?: (HelixHeadlessCodeBlock["highlight"]) | undefined;
6285
6303
 
6304
+ /** A file tab showed its file, whose name `file` now holds. */
6305
+ onchange?: ((e: HelixHeadlessCodeBlockElementEvent) => void) | undefined;
6306
+ /** 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. */
6307
+ "onhelix-before-change"?: ((
6308
+ e: HelixHeadlessCodeBlockHelixBeforeChangeElementEvent,
6309
+ ) => void) | undefined;
6286
6310
  /** The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are. */
6287
6311
  "onhelix-before-toggle"?: ((
6288
6312
  e: HelixHeadlessCodeBlockHelixBeforeToggleElementEvent,
6289
6313
  ) => void) | undefined;
6314
+ /** The copy button put the code on the clipboard, with the text in `detail.value`. */
6315
+ "onhelix-copy"?: ((e: HelixHeadlessCodeBlockHelixCopyElementEvent) => void) | undefined;
6316
+ /** A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code. */
6317
+ "onhelix-copy-error"?: ((
6318
+ e: HelixHeadlessCodeBlockHelixCopyErrorElementEvent,
6319
+ ) => void) | undefined;
6290
6320
  /** Fired after the wrap button changed `wrap`, with the new value in `detail.checked`. */
6291
6321
  "onhelix-toggle"?: ((e: HelixHeadlessCodeBlockHelixToggleElementEvent) => void) | undefined;
6292
6322
  };
@@ -6358,6 +6388,15 @@ block lays out. Not for a diff, whose files each scroll on their own. */
6358
6388
  "attr:expand-label"?: (HelixHeadlessCodeBlock["expandLabel"]) | undefined;
6359
6389
  /** The expand button's words while the cap hides lines. */
6360
6390
  "prop:expandLabel"?: (HelixHeadlessCodeBlock["expandLabel"]) | undefined;
6391
+ /** The name of the file shown, where the block holds several Code Blocks:
6392
+ the `label` of one, or its `language` without one.
6393
+
6394
+ Unset, or a name no file has, shows the first. */
6395
+ "prop:file"?: (HelixHeadlessCodeBlock["file"]) | undefined;
6396
+ /** The name of the file tabs, read by screen readers. */
6397
+ "attr:files-label"?: (HelixHeadlessCodeBlock["filesLabel"]) | undefined;
6398
+ /** The name of the file tabs, read by screen readers. */
6399
+ "prop:filesLabel"?: (HelixHeadlessCodeBlock["filesLabel"]) | undefined;
6361
6400
  /** The words of a button that hides a run of unchanged lines it showed, in a
6362
6401
  diff with `context-lines`. `{count}` is how many, and each language
6363
6402
  writes the forms it has. */
@@ -6491,10 +6530,22 @@ in the slot, so the copy button copies it as written and a reader without
6491
6530
  the script still has it. Not called on a server, which has no code to
6492
6531
  read, nor for a diff. */
6493
6532
  "prop:highlight"?: (HelixHeadlessCodeBlock["highlight"]) | undefined;
6533
+ /** A file tab showed its file, whose name `file` now holds. */
6534
+ "on:change"?: ((e: HelixHeadlessCodeBlockElementEvent) => void) | undefined;
6535
+ /** 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. */
6536
+ "on:helix-before-change"?: ((
6537
+ e: HelixHeadlessCodeBlockHelixBeforeChangeElementEvent,
6538
+ ) => void) | undefined;
6494
6539
  /** The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are. */
6495
6540
  "on:helix-before-toggle"?: ((
6496
6541
  e: HelixHeadlessCodeBlockHelixBeforeToggleElementEvent,
6497
6542
  ) => void) | undefined;
6543
+ /** The copy button put the code on the clipboard, with the text in `detail.value`. */
6544
+ "on:helix-copy"?: ((e: HelixHeadlessCodeBlockHelixCopyElementEvent) => void) | undefined;
6545
+ /** A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code. */
6546
+ "on:helix-copy-error"?: ((
6547
+ e: HelixHeadlessCodeBlockHelixCopyErrorElementEvent,
6548
+ ) => void) | undefined;
6498
6549
  /** Fired after the wrap button changed `wrap`, with the new value in `detail.checked`. */
6499
6550
  "on:helix-toggle"?: ((
6500
6551
  e: HelixHeadlessCodeBlockHelixToggleElementEvent,
@@ -20863,6 +20914,9 @@ export type HelixHeadlessMenuHelixBeforeCloseElementEvent =
20863
20914
  /** `helix-before-open` event type */
20864
20915
  export type HelixHeadlessMenuHelixBeforeOpenElementEvent =
20865
20916
  HelixHeadlessMenuElementEvent<HelixBeforeOpenEvent>;
20917
+ /** `helix-filter` event type */
20918
+ export type HelixHeadlessMenuHelixFilterElementEvent =
20919
+ HelixHeadlessMenuElementEvent<HelixFilterEvent>;
20866
20920
  /** `helix-select` event type */
20867
20921
  export type HelixHeadlessMenuHelixSelectElementEvent =
20868
20922
  HelixHeadlessMenuElementEvent<HelixSelectEvent>;
@@ -20890,6 +20944,18 @@ Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this. */
20890
20944
  /** Whether the menu is the trigger's context menu: it opens where the reader
20891
20945
  asks for one, with a right-click, a long press, Shift+F10 or the menu key. */
20892
20946
  context?: (HelixHeadlessMenu["context"]) | undefined;
20947
+ /** The text the rows are filtered by, which the filter field holds.
20948
+
20949
+ Cleared as the menu closes and as a submenu opens or closes, so each page
20950
+ starts with every row showing. */
20951
+ filter?: (HelixHeadlessMenu["filter"]) | undefined;
20952
+ /** Whether the menu shows a field above its rows that narrows them as the
20953
+ reader types, with focus staying in the field. */
20954
+ filterable?: (HelixHeadlessMenu["filterable"]) | undefined;
20955
+ /** The filter field's name and placeholder. */
20956
+ "filter-label"?: (HelixHeadlessMenu["filterLabel"]) | undefined;
20957
+ /** The filter field's name and placeholder. */
20958
+ filterLabel?: (HelixHeadlessMenu["filterLabel"]) | undefined;
20893
20959
  /** Accessible name for the surface.
20894
20960
 
20895
20961
  Empty by default, which names the surface by its trigger, so a menu opened
@@ -20902,6 +20968,10 @@ to open the menu. Translate it with the rest of your interface. */
20902
20968
  /** The description a trigger gives under `open-on="long-press"`, saying how
20903
20969
  to open the menu. Translate it with the rest of your interface. */
20904
20970
  longPressLabel?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
20971
+ /** The text shown when the filter keeps no rows. */
20972
+ "no-results-text"?: (HelixHeadlessMenu["noResultsText"]) | undefined;
20973
+ /** The text shown when the filter keeps no rows. */
20974
+ noResultsText?: (HelixHeadlessMenu["noResultsText"]) | undefined;
20905
20975
  /** Space between the trigger and the surface, in pixels. */
20906
20976
  offset?: (HelixHeadlessMenu["offset"]) | undefined;
20907
20977
  /** What opens the menu from its trigger. `long-press` leaves a press to the
@@ -20950,6 +21020,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
20950
21020
  last reader did rather than what the author wrote. `:state(open)` carries
20951
21021
  the resolved state for stylesheets, which is what the mirror is for. */
20952
21022
  open?: (HelixHeadlessMenu["open"]) | undefined;
21023
+ /** Whether a row is kept by the filter: a function given the row's words and
21024
+ the filter, trimmed, that returns `true` to keep it showing, as React
21025
+ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
21026
+
21027
+ Absent, a row is kept where its words hold the filter, in any case. A
21028
+ property only, there being no way to write a function in markup. */
21029
+ filterMatch?: (HelixHeadlessMenu["filterMatch"]) | undefined;
20953
21030
 
20954
21031
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
20955
21032
  "onhelix-before-close"?: ((
@@ -20959,6 +21036,8 @@ the resolved state for stylesheets, which is what the mirror is for. */
20959
21036
  "onhelix-before-open"?: ((
20960
21037
  e: HelixHeadlessMenuHelixBeforeOpenElementEvent,
20961
21038
  ) => void) | undefined;
21039
+ /** 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. */
21040
+ "onhelix-filter"?: ((e: HelixHeadlessMenuHelixFilterElementEvent) => void) | undefined;
20962
21041
  /** An item was chosen. Cancelable: cancel it to keep the menu open. */
20963
21042
  "onhelix-select"?: ((e: HelixHeadlessMenuHelixSelectElementEvent) => void) | undefined;
20964
21043
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
@@ -20985,6 +21064,18 @@ Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this. */
20985
21064
  /** Whether the menu is the trigger's context menu: it opens where the reader
20986
21065
  asks for one, with a right-click, a long press, Shift+F10 or the menu key. */
20987
21066
  "prop:context"?: (HelixHeadlessMenu["context"]) | undefined;
21067
+ /** The text the rows are filtered by, which the filter field holds.
21068
+
21069
+ Cleared as the menu closes and as a submenu opens or closes, so each page
21070
+ starts with every row showing. */
21071
+ "prop:filter"?: (HelixHeadlessMenu["filter"]) | undefined;
21072
+ /** Whether the menu shows a field above its rows that narrows them as the
21073
+ reader types, with focus staying in the field. */
21074
+ "prop:filterable"?: (HelixHeadlessMenu["filterable"]) | undefined;
21075
+ /** The filter field's name and placeholder. */
21076
+ "attr:filter-label"?: (HelixHeadlessMenu["filterLabel"]) | undefined;
21077
+ /** The filter field's name and placeholder. */
21078
+ "prop:filterLabel"?: (HelixHeadlessMenu["filterLabel"]) | undefined;
20988
21079
  /** Accessible name for the surface.
20989
21080
 
20990
21081
  Empty by default, which names the surface by its trigger, so a menu opened
@@ -20997,6 +21088,10 @@ to open the menu. Translate it with the rest of your interface. */
20997
21088
  /** The description a trigger gives under `open-on="long-press"`, saying how
20998
21089
  to open the menu. Translate it with the rest of your interface. */
20999
21090
  "prop:longPressLabel"?: (HelixHeadlessMenu["longPressLabel"]) | undefined;
21091
+ /** The text shown when the filter keeps no rows. */
21092
+ "attr:no-results-text"?: (HelixHeadlessMenu["noResultsText"]) | undefined;
21093
+ /** The text shown when the filter keeps no rows. */
21094
+ "prop:noResultsText"?: (HelixHeadlessMenu["noResultsText"]) | undefined;
21000
21095
  /** Space between the trigger and the surface, in pixels. */
21001
21096
  "prop:offset"?: (HelixHeadlessMenu["offset"]) | undefined;
21002
21097
  /** What opens the menu from its trigger. `long-press` leaves a press to the
@@ -21045,6 +21140,13 @@ hydration, or diffed by a framework, it comes back holding whatever the
21045
21140
  last reader did rather than what the author wrote. `:state(open)` carries
21046
21141
  the resolved state for stylesheets, which is what the mirror is for. */
21047
21142
  "prop:open"?: (HelixHeadlessMenu["open"]) | undefined;
21143
+ /** Whether a row is kept by the filter: a function given the row's words and
21144
+ the filter, trimmed, that returns `true` to keep it showing, as React
21145
+ Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
21146
+
21147
+ Absent, a row is kept where its words hold the filter, in any case. A
21148
+ property only, there being no way to write a function in markup. */
21149
+ "prop:filterMatch"?: (HelixHeadlessMenu["filterMatch"]) | undefined;
21048
21150
  /** The menu is about to close. Cancelable: cancel it to keep it open. */
21049
21151
  "on:helix-before-close"?: ((
21050
21152
  e: HelixHeadlessMenuHelixBeforeCloseElementEvent,
@@ -21053,6 +21155,8 @@ the resolved state for stylesheets, which is what the mirror is for. */
21053
21155
  "on:helix-before-open"?: ((
21054
21156
  e: HelixHeadlessMenuHelixBeforeOpenElementEvent,
21055
21157
  ) => void) | undefined;
21158
+ /** 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. */
21159
+ "on:helix-filter"?: ((e: HelixHeadlessMenuHelixFilterElementEvent) => void) | undefined;
21056
21160
  /** An item was chosen. Cancelable: cancel it to keep the menu open. */
21057
21161
  "on:helix-select"?: ((e: HelixHeadlessMenuHelixSelectElementEvent) => void) | undefined;
21058
21162
  /** The menu opened or closed. The event carries `newState` and `oldState`. */
@@ -40920,6 +41024,18 @@ export type CustomElements = {
40920
41024
  * keeps hydration clean, and draws the diff once it can read the content. Diff
40921
41025
  * mode is experimental. The rest of the family is stable.
40922
41026
  *
41027
+ * **Several blocks are files**, one shown at a time under a row of tabs, as
41028
+ * Sandbox shows its source panes. Put Code Blocks in the default slot of a
41029
+ * Code Block, and each is a file named on its tab by its `label` or, without
41030
+ * one, its `language`. `file` holds the name of the file shown. The tabs are a
41031
+ * tab list: the arrow keys move to a tab and show its file, the two swapping
41032
+ * on a right-to-left page, and Home and End go to the first and the last.
41033
+ * Choosing one sends `helix-before-change` with the file's name, which you can
41034
+ * cancel, and `change` once `file` holds it. The files not shown carry
41035
+ * `hidden`, and the one shown draws no name of its own, its tab naming it. One
41036
+ * block draws no tabs. A server cannot see the blocks inside, so the client
41037
+ * draws the tabs once it upgrades.
41038
+ *
40923
41039
  * ## Attributes & Properties
40924
41040
  *
40925
41041
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -40953,6 +41069,11 @@ export type CustomElements = {
40953
41069
  * the button is drawn only while the cap hides something, measured as the
40954
41070
  * block lays out. Not for a diff, whose files each scroll on their own.
40955
41071
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
41072
+ * - `file`: The name of the file shown, where the block holds several Code Blocks:
41073
+ * the `label` of one, or its `language` without one.
41074
+ *
41075
+ * Unset, or a name no file has, shows the first.
41076
+ * - `files-label`/`filesLabel`: The name of the file tabs, read by screen readers.
40956
41077
  * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
40957
41078
  * diff with `context-lines`. `{count}` is how many, and each language
40958
41079
  * writes the forms it has.
@@ -41059,7 +41180,11 @@ export type CustomElements = {
41059
41180
  *
41060
41181
  * Events that will be emitted by the component.
41061
41182
  *
41183
+ * - `change`: A file tab showed its file, whose name `file` now holds.
41184
+ * - `helix-before-change`: 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.
41062
41185
  * - `helix-before-toggle`: The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are.
41186
+ * - `helix-copy`: The copy button put the code on the clipboard, with the text in `detail.value`.
41187
+ * - `helix-copy-error`: A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code.
41063
41188
  * - `helix-toggle`: Fired after the wrap button changed `wrap`, with the new value in `detail.checked`.
41064
41189
  *
41065
41190
  * ## Slots
@@ -41108,6 +41233,8 @@ export type CustomElements = {
41108
41233
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Applied with `copy-tooltip`.
41109
41234
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
41110
41235
  * - `file`: In a diff, one file's header and block.
41236
+ * - `file-tab`: One file tab, `aria-selected` while its file is shown.
41237
+ * - `files`: The file tabs over the blocks a block holds, where there are several.
41111
41238
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
41112
41239
  * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
41113
41240
  * - `frame`: The code, and the copy button beside it where there is no header.
@@ -41130,6 +41257,7 @@ export type CustomElements = {
41130
41257
  * These can be used to apply styling when a component is in a given state.
41131
41258
  *
41132
41259
  * - `expanded`: The expand button has shown every line of a capped block.
41260
+ * - `tabbed`: The block is one of several files under another block's tabs, which name it, so it draws no name of its own.
41133
41261
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
41134
41262
  */
41135
41263
  "helix-headless-code-block": Partial<
@@ -46339,6 +46467,7 @@ export type CustomElements = {
46339
46467
  * - `menu-header`: The bar above a field's page, with the back button and the field's name.
46340
46468
  * - `menu-live`: The inner menu's `live` part: the region that screen readers announce the empty and loading messages from.
46341
46469
  * - `menu-loading`: Shown while the fields are loading.
46470
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
46342
46471
  * - `menu-surface`: The floating panel the menu is drawn on.
46343
46472
  * - `menu-title`: The name of the field whose page is showing.
46344
46473
  *
@@ -51779,6 +51908,12 @@ export type CustomElements = {
51779
51908
  * slots, so a mark of your own replaces either by being slotted. Neither is
51780
51909
  * read as part of the row's name.
51781
51910
  *
51911
+ * In a menu with `filterable`, focus stays in the menu's filter field and the
51912
+ * row the arrow keys reach is highlighted: the field names it with
51913
+ * `aria-activedescendant`, the row carries its role on its host so the field
51914
+ * can point at it, and `:state(highlighted)` says which row it is. A row with
51915
+ * an `href` then follows its link without an anchor, as `Option` does.
51916
+ *
51782
51917
  * ## Attributes & Properties
51783
51918
  *
51784
51919
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -51931,6 +52066,7 @@ export type CustomElements = {
51931
52066
  * These can be used to apply styling when a component is in a given state.
51932
52067
  *
51933
52068
  * - `checked`: The row is checked.
52069
+ * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
51934
52070
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
51935
52071
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
51936
52072
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -52000,6 +52136,21 @@ export type CustomElements = {
52000
52136
  * opens it from the keyboard, and the trigger is described by
52001
52137
  * `long-press-label`, which says so.
52002
52138
  *
52139
+ * **A filter field.** With `filterable`, the menu opens with focus in a field
52140
+ * above its rows, and typing narrows the rows of the page the keys move in,
52141
+ * as React Aria's `Autocomplete` around a `Menu` does. A row is kept where its
52142
+ * words hold the filter, in any case, or where `filterMatch` says so. Each
52143
+ * page starts unfiltered, and the filter is cleared as the menu closes. Where
52144
+ * typing keeps no row, the menu shows `no-results-text`. Focus stays in the
52145
+ * field: Up and Down Arrow move the highlight through the rows that are left,
52146
+ * Enter chooses the highlighted row, Right Arrow opens its submenu, Left Arrow
52147
+ * on a submenu goes back, and Escape clears the filter and then closes the
52148
+ * menu. Home, End and the other keys move the caret and type. The field names
52149
+ * the highlighted row with `aria-activedescendant`, and the rows are a `menu`
52150
+ * after the field. Cancel `helix-filter` to keep every row
52151
+ * showing and narrow the rows yourself, such as by replacing them with rows
52152
+ * from a server.
52153
+ *
52003
52154
  * ## Attributes & Properties
52004
52155
  *
52005
52156
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -52012,6 +52163,13 @@ export type CustomElements = {
52012
52163
  * Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.
52013
52164
  * - `context`: Whether the menu is the trigger's context menu: it opens where the reader
52014
52165
  * asks for one, with a right-click, a long press, Shift+F10 or the menu key.
52166
+ * - `filter`: The text the rows are filtered by, which the filter field holds.
52167
+ *
52168
+ * Cleared as the menu closes and as a submenu opens or closes, so each page
52169
+ * starts with every row showing.
52170
+ * - `filterable`: Whether the menu shows a field above its rows that narrows them as the
52171
+ * reader types, with focus staying in the field.
52172
+ * - `filter-label`/`filterLabel`: The filter field's name and placeholder.
52015
52173
  * - `label`: Accessible name for the surface.
52016
52174
  *
52017
52175
  * Empty by default, which names the surface by its trigger, so a menu opened
@@ -52019,6 +52177,7 @@ export type CustomElements = {
52019
52177
  * `aria-labelledby` on the host names it too, and wins over both.
52020
52178
  * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
52021
52179
  * to open the menu. Translate it with the rest of your interface.
52180
+ * - `no-results-text`/`noResultsText`: The text shown when the filter keeps no rows.
52022
52181
  * - `offset`: Space between the trigger and the surface, in pixels.
52023
52182
  * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
52024
52183
  * trigger's own action and opens the menu on a press held for half a second,
@@ -52048,6 +52207,12 @@ export type CustomElements = {
52048
52207
  * hydration, or diffed by a framework, it comes back holding whatever the
52049
52208
  * last reader did rather than what the author wrote. `:state(open)` carries
52050
52209
  * the resolved state for stylesheets, which is what the mirror is for.
52210
+ * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
52211
+ * the filter, trimmed, that returns `true` to keep it showing, as React
52212
+ * Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
52213
+ *
52214
+ * Absent, a row is kept where its words hold the filter, in any case. A
52215
+ * property only, there being no way to write a function in markup. (property only)
52051
52216
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
52052
52217
  *
52053
52218
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -52075,6 +52240,7 @@ export type CustomElements = {
52075
52240
  *
52076
52241
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
52077
52242
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
52243
+ * - `helix-filter`: 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.
52078
52244
  * - `helix-select`: An item was chosen. Cancelable: cancel it to keep the menu open.
52079
52245
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
52080
52246
  *
@@ -52083,6 +52249,7 @@ export type CustomElements = {
52083
52249
  * Areas where markup can be added to the component.
52084
52250
  *
52085
52251
  * - `(default)`: The items.
52252
+ * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
52086
52253
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
52087
52254
  *
52088
52255
  * ## Methods
@@ -52118,7 +52285,8 @@ export type CustomElements = {
52118
52285
  * - `header`: The bar above a submenu, holding the way back and its name.
52119
52286
  * - `live`: A live region that repeats the empty and loading text, so screen readers announce it when it changes. Visually hidden in the styled tier.
52120
52287
  * - `loading`: The text shown while the items are loading.
52121
- * - `surface`: The floating panel the menu is drawn on.
52288
+ * - `search-field`: With `filterable`, the field that narrows the rows.
52289
+ * - `surface`: 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`.
52122
52290
  * - `title`: The name of the submenu that is showing.
52123
52291
  *
52124
52292
  * ## CSS States
@@ -53570,6 +53738,13 @@ export type CustomElements = {
53570
53738
  *
53571
53739
  * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
53572
53740
  *
53741
+ * ## Methods
53742
+ *
53743
+ * Methods that can be called to access component functionality.
53744
+ *
53745
+ * - `focus(options?: FocusOptions) => void`: Moves focus to the row the keys move from, or to the tree while that row
53746
+ * is scrolled out of the window, as Tab reaches them.
53747
+ *
53573
53748
  * ## CSS Custom Properties
53574
53749
  *
53575
53750
  * CSS variables available for styling the component.
@@ -58600,6 +58775,10 @@ export type CustomElements = {
58600
58775
  *
58601
58776
  * Methods that can be called to access component functionality.
58602
58777
  *
58778
+ * - `requestActive(next: string, cause?: string) => boolean`: Requests a new current stage, and returns whether it moved.
58779
+ *
58780
+ * Where only a step's `current` says where the reader is, `active` is first
58781
+ * written with that step, so `helix-activate` names it as `previous`.
58603
58782
  * - `next() => boolean`: Moves to the next stage that can be gone to, as Ark UI's `goToNextStep`
58604
58783
  * does. Returns whether it moved: not past the last stage, not into a stage
58605
58784
  * `linear` holds out of reach, and not where a listener refused.
@@ -58608,15 +58787,6 @@ export type CustomElements = {
58608
58787
  * and the invalid mark from every stage, as Ark UI's `resetStep` does.
58609
58788
  * Returns whether it moved: a listener can refuse the move with
58610
58789
  * `helix-before-activate`, and the stages then keep their marks.
58611
- * - `requestActive(next: string, cause?: string) => boolean`: Requests a new current item, and returns whether the change was applied.
58612
- *
58613
- * Announces before it acts, so `preventDefault()` on the `helix-before-activate` is
58614
- * a refusal and nothing moves. Unlike a native control, nothing has moved
58615
- * by the time this runs, so refusing is simply not writing: there is
58616
- * nothing to put back. Nobody refusing means the set updates itself,
58617
- * whether or not a consumer declared `active`, a declared property being a
58618
- * seed and a correction. `cause` says why, where the family names its
58619
- * causes, and reaches the event as `detail.cause`.
58620
58790
  *
58621
58791
  * ## CSS Custom Properties
58622
58792
  *
@@ -64011,6 +64181,7 @@ export type CustomElements = {
64011
64181
  * - `menu-header`: The bar above a submenu, holding the back button and the submenu's name.
64012
64182
  * - `menu-live`: The inner menu's `live` part, the region screen readers announce its empty and loading messages from.
64013
64183
  * - `menu-loading`: Shown while the items are loading.
64184
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
64014
64185
  * - `menu-surface`: The floating panel the menu is drawn on.
64015
64186
  * - `menu-title`: The name of the submenu that is shown.
64016
64187
  * - `poster`: An entry's poster image, if it has one.
@@ -64602,6 +64773,7 @@ export type CustomElements = {
64602
64773
  * - `captions-menu-header`: The bar above a submenu, holding the way back and its name.
64603
64774
  * - `captions-menu-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
64604
64775
  * - `captions-menu-loading`: The text shown while the items are loading.
64776
+ * - `captions-menu-search-field`: The inner menu's filter field, drawn with `filterable`.
64605
64777
  * - `captions-menu-surface`: The floating panel the menu is drawn on.
64606
64778
  * - `captions-menu-title`: The name of the submenu that is showing.
64607
64779
  * - `controls`: The control bar along the bottom.
@@ -64633,6 +64805,7 @@ export type CustomElements = {
64633
64805
  * - `overflow-header`: The bar above a submenu, holding the way back and its name.
64634
64806
  * - `overflow-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
64635
64807
  * - `overflow-loading`: The text shown while the items are loading.
64808
+ * - `overflow-search-field`: The inner menu's filter field, drawn with `filterable`.
64636
64809
  * - `overflow-surface`: The floating panel the menu is drawn on.
64637
64810
  * - `overflow-title`: The name of the submenu that is showing.
64638
64811
  * - `pip`: The picture-in-picture button, when `extra-controls` includes it and the browser supports it.
@@ -69728,6 +69901,18 @@ export type CustomElementsSolidJs = {
69728
69901
  * keeps hydration clean, and draws the diff once it can read the content. Diff
69729
69902
  * mode is experimental. The rest of the family is stable.
69730
69903
  *
69904
+ * **Several blocks are files**, one shown at a time under a row of tabs, as
69905
+ * Sandbox shows its source panes. Put Code Blocks in the default slot of a
69906
+ * Code Block, and each is a file named on its tab by its `label` or, without
69907
+ * one, its `language`. `file` holds the name of the file shown. The tabs are a
69908
+ * tab list: the arrow keys move to a tab and show its file, the two swapping
69909
+ * on a right-to-left page, and Home and End go to the first and the last.
69910
+ * Choosing one sends `helix-before-change` with the file's name, which you can
69911
+ * cancel, and `change` once `file` holds it. The files not shown carry
69912
+ * `hidden`, and the one shown draws no name of its own, its tab naming it. One
69913
+ * block draws no tabs. A server cannot see the blocks inside, so the client
69914
+ * draws the tabs once it upgrades.
69915
+ *
69731
69916
  * ## Attributes & Properties
69732
69917
  *
69733
69918
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -69761,6 +69946,11 @@ export type CustomElementsSolidJs = {
69761
69946
  * the button is drawn only while the cap hides something, measured as the
69762
69947
  * block lays out. Not for a diff, whose files each scroll on their own.
69763
69948
  * - `expand-label`/`expandLabel`: The expand button's words while the cap hides lines.
69949
+ * - `file`: The name of the file shown, where the block holds several Code Blocks:
69950
+ * the `label` of one, or its `language` without one.
69951
+ *
69952
+ * Unset, or a name no file has, shows the first.
69953
+ * - `files-label`/`filesLabel`: The name of the file tabs, read by screen readers.
69764
69954
  * - `hide-unchanged-label`/`hideUnchangedLabel`: The words of a button that hides a run of unchanged lines it showed, in a
69765
69955
  * diff with `context-lines`. `{count}` is how many, and each language
69766
69956
  * writes the forms it has.
@@ -69867,7 +70057,11 @@ export type CustomElementsSolidJs = {
69867
70057
  *
69868
70058
  * Events that will be emitted by the component.
69869
70059
  *
70060
+ * - `change`: A file tab showed its file, whose name `file` now holds.
70061
+ * - `helix-before-change`: 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.
69870
70062
  * - `helix-before-toggle`: The wrap button was pressed, with the `wrap` it asks for in `detail.checked`. Cancelable: cancel it to keep the lines as they are.
70063
+ * - `helix-copy`: The copy button put the code on the clipboard, with the text in `detail.value`.
70064
+ * - `helix-copy-error`: A press on the copy button put nothing on the clipboard: the browser did not allow the write, or there was no code.
69871
70065
  * - `helix-toggle`: Fired after the wrap button changed `wrap`, with the new value in `detail.checked`.
69872
70066
  *
69873
70067
  * ## Slots
@@ -69916,6 +70110,8 @@ export type CustomElementsSolidJs = {
69916
70110
  * - `copy-tooltip-top`: The tooltip while it is above the copy button. Applied with `copy-tooltip`.
69917
70111
  * - `expand`: The button under a capped block that shows every line, and fewer again. Drawn when `expandable` is set and the cap hides something.
69918
70112
  * - `file`: In a diff, one file's header and block.
70113
+ * - `file-tab`: One file tab, `aria-selected` while its file is shown.
70114
+ * - `files`: The file tabs over the blocks a block holds, where there are several.
69919
70115
  * - `filler`: In a split diff, the empty row opposite a line the other side does not have.
69920
70116
  * - `fold`: In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.
69921
70117
  * - `frame`: The code, and the copy button beside it where there is no header.
@@ -69938,6 +70134,7 @@ export type CustomElementsSolidJs = {
69938
70134
  * These can be used to apply styling when a component is in a given state.
69939
70135
  *
69940
70136
  * - `expanded`: The expand button has shown every line of a capped block.
70137
+ * - `tabbed`: The block is one of several files under another block's tabs, which name it, so it draws no name of its own.
69941
70138
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
69942
70139
  */
69943
70140
  "helix-headless-code-block": Partial<
@@ -75193,6 +75390,7 @@ export type CustomElementsSolidJs = {
75193
75390
  * - `menu-header`: The bar above a field's page, with the back button and the field's name.
75194
75391
  * - `menu-live`: The inner menu's `live` part: the region that screen readers announce the empty and loading messages from.
75195
75392
  * - `menu-loading`: Shown while the fields are loading.
75393
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
75196
75394
  * - `menu-surface`: The floating panel the menu is drawn on.
75197
75395
  * - `menu-title`: The name of the field whose page is showing.
75198
75396
  *
@@ -80704,6 +80902,12 @@ export type CustomElementsSolidJs = {
80704
80902
  * slots, so a mark of your own replaces either by being slotted. Neither is
80705
80903
  * read as part of the row's name.
80706
80904
  *
80905
+ * In a menu with `filterable`, focus stays in the menu's filter field and the
80906
+ * row the arrow keys reach is highlighted: the field names it with
80907
+ * `aria-activedescendant`, the row carries its role on its host so the field
80908
+ * can point at it, and `:state(highlighted)` says which row it is. A row with
80909
+ * an `href` then follows its link without an anchor, as `Option` does.
80910
+ *
80707
80911
  * ## Attributes & Properties
80708
80912
  *
80709
80913
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -80856,6 +81060,7 @@ export type CustomElementsSolidJs = {
80856
81060
  * These can be used to apply styling when a component is in a given state.
80857
81061
  *
80858
81062
  * - `checked`: The row is checked.
81063
+ * - `highlighted`: In a menu with `filterable`, the arrow keys or the pointer reached the row while focus stays in the filter field.
80859
81064
  * - `submenu-mark`: Under `submenus="flyout"`, a row in this row's submenu can be ticked or opens a submenu, so the submenu keeps its trailing column.
80860
81065
  * - `submenu-start`: Under `submenus="flyout"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.
80861
81066
  * - `settled`: Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.
@@ -80928,6 +81133,21 @@ export type CustomElementsSolidJs = {
80928
81133
  * opens it from the keyboard, and the trigger is described by
80929
81134
  * `long-press-label`, which says so.
80930
81135
  *
81136
+ * **A filter field.** With `filterable`, the menu opens with focus in a field
81137
+ * above its rows, and typing narrows the rows of the page the keys move in,
81138
+ * as React Aria's `Autocomplete` around a `Menu` does. A row is kept where its
81139
+ * words hold the filter, in any case, or where `filterMatch` says so. Each
81140
+ * page starts unfiltered, and the filter is cleared as the menu closes. Where
81141
+ * typing keeps no row, the menu shows `no-results-text`. Focus stays in the
81142
+ * field: Up and Down Arrow move the highlight through the rows that are left,
81143
+ * Enter chooses the highlighted row, Right Arrow opens its submenu, Left Arrow
81144
+ * on a submenu goes back, and Escape clears the filter and then closes the
81145
+ * menu. Home, End and the other keys move the caret and type. The field names
81146
+ * the highlighted row with `aria-activedescendant`, and the rows are a `menu`
81147
+ * after the field. Cancel `helix-filter` to keep every row
81148
+ * showing and narrow the rows yourself, such as by replacing them with rows
81149
+ * from a server.
81150
+ *
80931
81151
  * ## Attributes & Properties
80932
81152
  *
80933
81153
  * Component attributes and properties that can be applied to the element or by using JavaScript.
@@ -80940,6 +81160,13 @@ export type CustomElementsSolidJs = {
80940
81160
  * Ark UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.
80941
81161
  * - `context`: Whether the menu is the trigger's context menu: it opens where the reader
80942
81162
  * asks for one, with a right-click, a long press, Shift+F10 or the menu key.
81163
+ * - `filter`: The text the rows are filtered by, which the filter field holds.
81164
+ *
81165
+ * Cleared as the menu closes and as a submenu opens or closes, so each page
81166
+ * starts with every row showing.
81167
+ * - `filterable`: Whether the menu shows a field above its rows that narrows them as the
81168
+ * reader types, with focus staying in the field.
81169
+ * - `filter-label`/`filterLabel`: The filter field's name and placeholder.
80943
81170
  * - `label`: Accessible name for the surface.
80944
81171
  *
80945
81172
  * Empty by default, which names the surface by its trigger, so a menu opened
@@ -80947,6 +81174,7 @@ export type CustomElementsSolidJs = {
80947
81174
  * `aria-labelledby` on the host names it too, and wins over both.
80948
81175
  * - `long-press-label`/`longPressLabel`: The description a trigger gives under `open-on="long-press"`, saying how
80949
81176
  * to open the menu. Translate it with the rest of your interface.
81177
+ * - `no-results-text`/`noResultsText`: The text shown when the filter keeps no rows.
80950
81178
  * - `offset`: Space between the trigger and the surface, in pixels.
80951
81179
  * - `open-on`/`openOn`: What opens the menu from its trigger. `long-press` leaves a press to the
80952
81180
  * trigger's own action and opens the menu on a press held for half a second,
@@ -80976,6 +81204,12 @@ export type CustomElementsSolidJs = {
80976
81204
  * hydration, or diffed by a framework, it comes back holding whatever the
80977
81205
  * last reader did rather than what the author wrote. `:state(open)` carries
80978
81206
  * the resolved state for stylesheets, which is what the mirror is for.
81207
+ * - `filterMatch`: Whether a row is kept by the filter: a function given the row's words and
81208
+ * the filter, trimmed, that returns `true` to keep it showing, as React
81209
+ * Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.
81210
+ *
81211
+ * Absent, a row is kept where its words hold the filter, in any case. A
81212
+ * property only, there being no way to write a function in markup. (property only)
80979
81213
  * - `whenSettled`: Resolves a frame after the first update, when transitions are switched on.
80980
81214
  *
80981
81215
  * **Named `whenSettled` because `settled` is taken four times over**, by
@@ -81003,6 +81237,7 @@ export type CustomElementsSolidJs = {
81003
81237
  *
81004
81238
  * - `helix-before-close`: The menu is about to close. Cancelable: cancel it to keep it open.
81005
81239
  * - `helix-before-open`: The menu is about to open. Cancelable: cancel it to keep it closed.
81240
+ * - `helix-filter`: 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.
81006
81241
  * - `helix-select`: An item was chosen. Cancelable: cancel it to keep the menu open.
81007
81242
  * - `toggle`: The menu opened or closed. The event carries `newState` and `oldState`.
81008
81243
  *
@@ -81011,6 +81246,7 @@ export type CustomElementsSolidJs = {
81011
81246
  * Areas where markup can be added to the component.
81012
81247
  *
81013
81248
  * - `(default)`: The items.
81249
+ * - `no-results`: What the menu shows when the filter keeps no rows, for content richer than `no-results-text`.
81014
81250
  * - `trigger`: The control that opens the menu, or with `context` the area a context menu opens over.
81015
81251
  *
81016
81252
  * ## Methods
@@ -81046,7 +81282,8 @@ export type CustomElementsSolidJs = {
81046
81282
  * - `header`: The bar above a submenu, holding the way back and its name.
81047
81283
  * - `live`: A live region that repeats the empty and loading text, so screen readers announce it when it changes. Visually hidden in the styled tier.
81048
81284
  * - `loading`: The text shown while the items are loading.
81049
- * - `surface`: The floating panel the menu is drawn on.
81285
+ * - `search-field`: With `filterable`, the field that narrows the rows.
81286
+ * - `surface`: 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`.
81050
81287
  * - `title`: The name of the submenu that is showing.
81051
81288
  *
81052
81289
  * ## CSS States
@@ -82510,6 +82747,13 @@ export type CustomElementsSolidJs = {
82510
82747
  *
82511
82748
  * - `empty`: Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.
82512
82749
  *
82750
+ * ## Methods
82751
+ *
82752
+ * Methods that can be called to access component functionality.
82753
+ *
82754
+ * - `focus(options?: FocusOptions) => void`: Moves focus to the row the keys move from, or to the tree while that row
82755
+ * is scrolled out of the window, as Tab reaches them.
82756
+ *
82513
82757
  * ## CSS Custom Properties
82514
82758
  *
82515
82759
  * CSS variables available for styling the component.
@@ -87605,6 +87849,10 @@ export type CustomElementsSolidJs = {
87605
87849
  *
87606
87850
  * Methods that can be called to access component functionality.
87607
87851
  *
87852
+ * - `requestActive(next: string, cause?: string) => boolean`: Requests a new current stage, and returns whether it moved.
87853
+ *
87854
+ * Where only a step's `current` says where the reader is, `active` is first
87855
+ * written with that step, so `helix-activate` names it as `previous`.
87608
87856
  * - `next() => boolean`: Moves to the next stage that can be gone to, as Ark UI's `goToNextStep`
87609
87857
  * does. Returns whether it moved: not past the last stage, not into a stage
87610
87858
  * `linear` holds out of reach, and not where a listener refused.
@@ -87613,15 +87861,6 @@ export type CustomElementsSolidJs = {
87613
87861
  * and the invalid mark from every stage, as Ark UI's `resetStep` does.
87614
87862
  * Returns whether it moved: a listener can refuse the move with
87615
87863
  * `helix-before-activate`, and the stages then keep their marks.
87616
- * - `requestActive(next: string, cause?: string) => boolean`: Requests a new current item, and returns whether the change was applied.
87617
- *
87618
- * Announces before it acts, so `preventDefault()` on the `helix-before-activate` is
87619
- * a refusal and nothing moves. Unlike a native control, nothing has moved
87620
- * by the time this runs, so refusing is simply not writing: there is
87621
- * nothing to put back. Nobody refusing means the set updates itself,
87622
- * whether or not a consumer declared `active`, a declared property being a
87623
- * seed and a correction. `cause` says why, where the family names its
87624
- * causes, and reaches the event as `detail.cause`.
87625
87864
  *
87626
87865
  * ## CSS Custom Properties
87627
87866
  *
@@ -93094,6 +93333,7 @@ export type CustomElementsSolidJs = {
93094
93333
  * - `menu-header`: The bar above a submenu, holding the back button and the submenu's name.
93095
93334
  * - `menu-live`: The inner menu's `live` part, the region screen readers announce its empty and loading messages from.
93096
93335
  * - `menu-loading`: Shown while the items are loading.
93336
+ * - `menu-search-field`: The inner menu's filter field, drawn with `filterable`.
93097
93337
  * - `menu-surface`: The floating panel the menu is drawn on.
93098
93338
  * - `menu-title`: The name of the submenu that is shown.
93099
93339
  * - `poster`: An entry's poster image, if it has one.
@@ -93687,6 +93927,7 @@ export type CustomElementsSolidJs = {
93687
93927
  * - `captions-menu-header`: The bar above a submenu, holding the way back and its name.
93688
93928
  * - `captions-menu-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
93689
93929
  * - `captions-menu-loading`: The text shown while the items are loading.
93930
+ * - `captions-menu-search-field`: The inner menu's filter field, drawn with `filterable`.
93690
93931
  * - `captions-menu-surface`: The floating panel the menu is drawn on.
93691
93932
  * - `captions-menu-title`: The name of the submenu that is showing.
93692
93933
  * - `controls`: The control bar along the bottom.
@@ -93718,6 +93959,7 @@ export type CustomElementsSolidJs = {
93718
93959
  * - `overflow-header`: The bar above a submenu, holding the way back and its name.
93719
93960
  * - `overflow-live`: The inner menu's `live` part, a live region that repeats the empty and loading text for screen readers.
93720
93961
  * - `overflow-loading`: The text shown while the items are loading.
93962
+ * - `overflow-search-field`: The inner menu's filter field, drawn with `filterable`.
93721
93963
  * - `overflow-surface`: The floating panel the menu is drawn on.
93722
93964
  * - `overflow-title`: The name of the submenu that is showing.
93723
93965
  * - `pip`: The picture-in-picture button, when `extra-controls` includes it and the browser supports it.