@fusion.dev/helix 0.156.0 → 0.158.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1859,7 +1859,7 @@
1859
1859
  "text": "HTMLElement | undefined"
1860
1860
  }
1861
1861
  },
1862
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
1862
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
1863
1863
  "inheritedFrom": {
1864
1864
  "name": "MixinDismissible",
1865
1865
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -17137,7 +17137,7 @@
17137
17137
  "text": "HTMLElement | undefined"
17138
17138
  }
17139
17139
  },
17140
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
17140
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
17141
17141
  "inheritedFrom": {
17142
17142
  "name": "MixinDismissible",
17143
17143
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -50134,6 +50134,18 @@
50134
50134
  "module": "src/command/root/command-root.ts"
50135
50135
  }
50136
50136
  },
50137
+ {
50138
+ "kind": "field",
50139
+ "name": "filterMatch",
50140
+ "type": {
50141
+ "text": "((text: string, filter: string) => boolean) | undefined | undefined"
50142
+ },
50143
+ "description": "Whether a command is kept by the filter: a function given the command's\nwords and the filter, trimmed, that returns `true` to keep it showing, as\nReact Aria's `Autocomplete` takes `filter`. See Listbox's `filterMatch`.\n\nAbsent, a command is kept where its words hold the filter, in any case. A\nproperty only, there being no way to write a function in markup.",
50144
+ "inheritedFrom": {
50145
+ "name": "HelixHeadlessCommand",
50146
+ "module": "src/command/root/command-root.ts"
50147
+ }
50148
+ },
50137
50149
  {
50138
50150
  "kind": "field",
50139
50151
  "name": "hotkey",
@@ -50419,6 +50431,18 @@
50419
50431
  "module": "src/command/root/command-root.ts"
50420
50432
  }
50421
50433
  },
50434
+ {
50435
+ "kind": "field",
50436
+ "name": "status",
50437
+ "privacy": "private",
50438
+ "readonly": true,
50439
+ "default": "new StatusController(this)",
50440
+ "description": "The region the page shown is said from as it changes.",
50441
+ "inheritedFrom": {
50442
+ "name": "HelixHeadlessCommand",
50443
+ "module": "src/command/root/command-root.ts"
50444
+ }
50445
+ },
50422
50446
  {
50423
50447
  "kind": "field",
50424
50448
  "name": "handleBack",
@@ -51442,6 +51466,14 @@
51442
51466
  "name": "HelixHeadlessCommand",
51443
51467
  "module": "src/command/root/command-root.ts"
51444
51468
  }
51469
+ },
51470
+ {
51471
+ "description": "The region a screen reader announces the page shown from, by the words of the command that opens it, drawn once there is one to say. Visually hidden in the styled tier.",
51472
+ "name": "live",
51473
+ "inheritedFrom": {
51474
+ "name": "HelixHeadlessCommand",
51475
+ "module": "src/command/root/command-root.ts"
51476
+ }
51445
51477
  }
51446
51478
  ],
51447
51479
  "cssStates": [
@@ -56822,6 +56854,13 @@
56822
56854
  "type": {
56823
56855
  "text": "boolean"
56824
56856
  }
56857
+ },
56858
+ {
56859
+ "name": "id",
56860
+ "optional": true,
56861
+ "type": {
56862
+ "text": "string"
56863
+ }
56825
56864
  }
56826
56865
  ],
56827
56866
  "description": "One cell, carrying its column's edge as a fact rather than as a decision.\n\n**A fact published rather than a property chosen**, which is what `Table`\ndoes with the same attribute: what lining up *means*, a `justify-content`\nfor a value that fits or a `text-align` for one that wraps, belongs to\nwhoever draws the cell. Written here as an inline `text-align` it was this\ntier choosing, in the tier that ships no CSS, and a consumer could not\noverrule it either, an inline declaration beating any `::part(cell)` rule\nthey wrote.\n\nOnly the three edges reach it, `text-align` being a string anybody can write and\nthis being a style attribute: `edgeOf` is that guard, and `Table` holds the\nsame value to the same three.",
@@ -73552,6 +73591,20 @@
73552
73591
  "module": "src/drilldown/item/drilldown-item.ts"
73553
73592
  }
73554
73593
  },
73594
+ {
73595
+ "kind": "field",
73596
+ "name": "download",
73597
+ "type": {
73598
+ "text": "boolean"
73599
+ },
73600
+ "default": "false",
73601
+ "description": "Whether the link downloads the file when the row is chosen. Only\nmeaningful beside an `href`, and only for a file served from this origin.",
73602
+ "attribute": "download",
73603
+ "inheritedFrom": {
73604
+ "name": "HelixHeadlessDrilldownItem",
73605
+ "module": "src/drilldown/item/drilldown-item.ts"
73606
+ }
73607
+ },
73555
73608
  {
73556
73609
  "kind": "field",
73557
73610
  "name": "focusable",
@@ -73565,6 +73618,48 @@
73565
73618
  "module": "src/drilldown/item/drilldown-item.ts"
73566
73619
  }
73567
73620
  },
73621
+ {
73622
+ "kind": "field",
73623
+ "name": "href",
73624
+ "type": {
73625
+ "text": "string"
73626
+ },
73627
+ "default": "''",
73628
+ "description": "The URL the row links to. Setting it renders the row as a link, unless the\nrow opens a page or is disabled.",
73629
+ "attribute": "href",
73630
+ "inheritedFrom": {
73631
+ "name": "HelixHeadlessDrilldownItem",
73632
+ "module": "src/drilldown/item/drilldown-item.ts"
73633
+ }
73634
+ },
73635
+ {
73636
+ "kind": "field",
73637
+ "name": "rel",
73638
+ "type": {
73639
+ "text": "string"
73640
+ },
73641
+ "default": "''",
73642
+ "description": "The link's `rel`. Set it whenever you set `target=\"_blank\"`.",
73643
+ "attribute": "rel",
73644
+ "inheritedFrom": {
73645
+ "name": "HelixHeadlessDrilldownItem",
73646
+ "module": "src/drilldown/item/drilldown-item.ts"
73647
+ }
73648
+ },
73649
+ {
73650
+ "kind": "field",
73651
+ "name": "target",
73652
+ "type": {
73653
+ "text": "string"
73654
+ },
73655
+ "default": "''",
73656
+ "description": "Where the link opens, for rows that should open outside the current page.",
73657
+ "attribute": "target",
73658
+ "inheritedFrom": {
73659
+ "name": "HelixHeadlessDrilldownItem",
73660
+ "module": "src/drilldown/item/drilldown-item.ts"
73661
+ }
73662
+ },
73568
73663
  {
73569
73664
  "kind": "field",
73570
73665
  "name": "value",
@@ -73717,6 +73812,57 @@
73717
73812
  "module": "src/drilldown/item/drilldown-item.ts"
73718
73813
  }
73719
73814
  },
73815
+ {
73816
+ "kind": "method",
73817
+ "name": "choose",
73818
+ "privacy": "private",
73819
+ "return": {
73820
+ "type": {
73821
+ "text": "boolean"
73822
+ }
73823
+ },
73824
+ "description": "Fires `helix-select`, and returns whether the choice stood.",
73825
+ "inheritedFrom": {
73826
+ "name": "HelixHeadlessDrilldownItem",
73827
+ "module": "src/drilldown/item/drilldown-item.ts"
73828
+ }
73829
+ },
73830
+ {
73831
+ "kind": "field",
73832
+ "name": "handleClick",
73833
+ "privacy": "private",
73834
+ "readonly": true,
73835
+ "description": "A press on the row. On a link, a refused `helix-select` stops the link\nfrom being followed, so a router can take the navigation.",
73836
+ "inheritedFrom": {
73837
+ "name": "HelixHeadlessDrilldownItem",
73838
+ "module": "src/drilldown/item/drilldown-item.ts"
73839
+ }
73840
+ },
73841
+ {
73842
+ "kind": "field",
73843
+ "name": "handleLinkKeydown",
73844
+ "privacy": "private",
73845
+ "readonly": true,
73846
+ "description": "Space on a link presses it, which an anchor does not do on its own. Enter\nis the anchor's, which fires a click and follows the link.",
73847
+ "inheritedFrom": {
73848
+ "name": "HelixHeadlessDrilldownItem",
73849
+ "module": "src/drilldown/item/drilldown-item.ts"
73850
+ }
73851
+ },
73852
+ {
73853
+ "kind": "field",
73854
+ "name": "linked",
73855
+ "type": {
73856
+ "text": "boolean"
73857
+ },
73858
+ "privacy": "private",
73859
+ "description": "Whether the row renders as a link.",
73860
+ "readonly": true,
73861
+ "inheritedFrom": {
73862
+ "name": "HelixHeadlessDrilldownItem",
73863
+ "module": "src/drilldown/item/drilldown-item.ts"
73864
+ }
73865
+ },
73720
73866
  {
73721
73867
  "kind": "method",
73722
73868
  "name": "renderMark",
@@ -74143,7 +74289,7 @@
74143
74289
  ],
74144
74290
  "cssParts": [
74145
74291
  {
74146
- "description": "The row itself.",
74292
+ "description": "The row itself, which is an `<a>` where `href` is set.",
74147
74293
  "name": "item",
74148
74294
  "inheritedFrom": {
74149
74295
  "name": "HelixHeadlessDrilldownItem",
@@ -74181,6 +74327,58 @@
74181
74327
  "module": "src/drilldown/item/drilldown-item.ts"
74182
74328
  }
74183
74329
  },
74330
+ {
74331
+ "name": "download",
74332
+ "type": {
74333
+ "text": "boolean"
74334
+ },
74335
+ "default": "false",
74336
+ "description": "Whether the link downloads the file when the row is chosen. Only\nmeaningful beside an `href`, and only for a file served from this origin.",
74337
+ "fieldName": "download",
74338
+ "inheritedFrom": {
74339
+ "name": "HelixHeadlessDrilldownItem",
74340
+ "module": "src/drilldown/item/drilldown-item.ts"
74341
+ }
74342
+ },
74343
+ {
74344
+ "name": "href",
74345
+ "type": {
74346
+ "text": "string"
74347
+ },
74348
+ "default": "''",
74349
+ "description": "The URL the row links to. Setting it renders the row as a link, unless the\nrow opens a page or is disabled.",
74350
+ "fieldName": "href",
74351
+ "inheritedFrom": {
74352
+ "name": "HelixHeadlessDrilldownItem",
74353
+ "module": "src/drilldown/item/drilldown-item.ts"
74354
+ }
74355
+ },
74356
+ {
74357
+ "name": "rel",
74358
+ "type": {
74359
+ "text": "string"
74360
+ },
74361
+ "default": "''",
74362
+ "description": "The link's `rel`. Set it whenever you set `target=\"_blank\"`.",
74363
+ "fieldName": "rel",
74364
+ "inheritedFrom": {
74365
+ "name": "HelixHeadlessDrilldownItem",
74366
+ "module": "src/drilldown/item/drilldown-item.ts"
74367
+ }
74368
+ },
74369
+ {
74370
+ "name": "target",
74371
+ "type": {
74372
+ "text": "string"
74373
+ },
74374
+ "default": "''",
74375
+ "description": "Where the link opens, for rows that should open outside the current page.",
74376
+ "fieldName": "target",
74377
+ "inheritedFrom": {
74378
+ "name": "HelixHeadlessDrilldownItem",
74379
+ "module": "src/drilldown/item/drilldown-item.ts"
74380
+ }
74381
+ },
74184
74382
  {
74185
74383
  "name": "value",
74186
74384
  "type": {
@@ -74577,6 +74775,34 @@
74577
74775
  "module": "src/drilldown/root/drilldown-root.ts"
74578
74776
  }
74579
74777
  },
74778
+ {
74779
+ "kind": "field",
74780
+ "name": "navigation",
74781
+ "type": {
74782
+ "text": "boolean"
74783
+ },
74784
+ "default": "false",
74785
+ "description": "Whether the drilldown is a site's navigation: a `navigation` landmark\nnamed by `label`, whose pages are lists of links. Without it, each page is\na `menu`.",
74786
+ "attribute": "navigation",
74787
+ "inheritedFrom": {
74788
+ "name": "HelixHeadlessDrilldown",
74789
+ "module": "src/drilldown/root/drilldown-root.ts"
74790
+ }
74791
+ },
74792
+ {
74793
+ "kind": "field",
74794
+ "name": "page",
74795
+ "type": {
74796
+ "text": "string"
74797
+ },
74798
+ "default": "''",
74799
+ "description": "The page showing, as the `value` of the row that opens it. Empty is the\ntop page. Setting it shows that page, and a value no row with a page has\nshows the top page.",
74800
+ "attribute": "page",
74801
+ "inheritedFrom": {
74802
+ "name": "HelixHeadlessDrilldown",
74803
+ "module": "src/drilldown/root/drilldown-root.ts"
74804
+ }
74805
+ },
74580
74806
  {
74581
74807
  "kind": "field",
74582
74808
  "name": "direction",
@@ -74668,6 +74894,52 @@
74668
74894
  "module": "src/drilldown/root/drilldown-root.ts"
74669
74895
  }
74670
74896
  },
74897
+ {
74898
+ "kind": "method",
74899
+ "name": "navigate",
74900
+ "privacy": "private",
74901
+ "return": {
74902
+ "type": {
74903
+ "text": "boolean"
74904
+ }
74905
+ },
74906
+ "parameters": [
74907
+ {
74908
+ "name": "to",
74909
+ "type": {
74910
+ "text": "HelixHeadlessDrilldownItem | null"
74911
+ }
74912
+ }
74913
+ ],
74914
+ "description": "Asks before a reader's move to a page, the row's or the top one, and\nreturns whether the move may go ahead.",
74915
+ "inheritedFrom": {
74916
+ "name": "HelixHeadlessDrilldown",
74917
+ "module": "src/drilldown/root/drilldown-root.ts"
74918
+ }
74919
+ },
74920
+ {
74921
+ "kind": "method",
74922
+ "name": "holderOf",
74923
+ "privacy": "private",
74924
+ "return": {
74925
+ "type": {
74926
+ "text": "HelixHeadlessDrilldownItem | null"
74927
+ }
74928
+ },
74929
+ "parameters": [
74930
+ {
74931
+ "name": "row",
74932
+ "type": {
74933
+ "text": "HelixHeadlessDrilldownItem"
74934
+ }
74935
+ }
74936
+ ],
74937
+ "description": "The row whose page holds a row, or null for the top page.",
74938
+ "inheritedFrom": {
74939
+ "name": "HelixHeadlessDrilldown",
74940
+ "module": "src/drilldown/root/drilldown-root.ts"
74941
+ }
74942
+ },
74671
74943
  {
74672
74944
  "kind": "method",
74673
74945
  "name": "enter",
@@ -74708,6 +74980,29 @@
74708
74980
  "module": "src/drilldown/root/drilldown-root.ts"
74709
74981
  }
74710
74982
  },
74983
+ {
74984
+ "kind": "method",
74985
+ "name": "showPage",
74986
+ "privacy": "private",
74987
+ "return": {
74988
+ "type": {
74989
+ "text": "void"
74990
+ }
74991
+ },
74992
+ "parameters": [
74993
+ {
74994
+ "name": "value",
74995
+ "type": {
74996
+ "text": "string"
74997
+ }
74998
+ }
74999
+ ],
75000
+ "description": "Shows the page of the row with a value, or the top page where no row with a page has it.",
75001
+ "inheritedFrom": {
75002
+ "name": "HelixHeadlessDrilldown",
75003
+ "module": "src/drilldown/root/drilldown-root.ts"
75004
+ }
75005
+ },
74711
75006
  {
74712
75007
  "kind": "field",
74713
75008
  "name": "handleFocusIn",
@@ -75169,6 +75464,10 @@
75169
75464
  {
75170
75465
  "description": "The `helix-select` event, sent when you choose a row at any level of the menu.",
75171
75466
  "slug": "events"
75467
+ },
75468
+ {
75469
+ "description": "A site's navigation, with pages of links in a landmark.",
75470
+ "slug": "navigation"
75172
75471
  }
75173
75472
  ],
75174
75473
  "source": "helix/styled/src/drilldown"
@@ -75240,6 +75539,32 @@
75240
75539
  "name": "HelixHeadlessDrilldown",
75241
75540
  "module": "src/drilldown/root/drilldown-root.ts"
75242
75541
  }
75542
+ },
75543
+ {
75544
+ "name": "navigation",
75545
+ "type": {
75546
+ "text": "boolean"
75547
+ },
75548
+ "default": "false",
75549
+ "description": "Whether the drilldown is a site's navigation: a `navigation` landmark\nnamed by `label`, whose pages are lists of links. Without it, each page is\na `menu`.",
75550
+ "fieldName": "navigation",
75551
+ "inheritedFrom": {
75552
+ "name": "HelixHeadlessDrilldown",
75553
+ "module": "src/drilldown/root/drilldown-root.ts"
75554
+ }
75555
+ },
75556
+ {
75557
+ "name": "page",
75558
+ "type": {
75559
+ "text": "string"
75560
+ },
75561
+ "default": "''",
75562
+ "description": "The page showing, as the `value` of the row that opens it. Empty is the\ntop page. Setting it shows that page, and a value no row with a page has\nshows the top page.",
75563
+ "fieldName": "page",
75564
+ "inheritedFrom": {
75565
+ "name": "HelixHeadlessDrilldown",
75566
+ "module": "src/drilldown/root/drilldown-root.ts"
75567
+ }
75243
75568
  }
75244
75569
  ],
75245
75570
  "slots": [
@@ -75327,6 +75652,18 @@
75327
75652
  }
75328
75653
  ],
75329
75654
  "events": [
75655
+ {
75656
+ "type": {
75657
+ "text": "HelixNavigateEvent"
75658
+ },
75659
+ "description": "Fired before a reader moves into a page or back out of one. `detail.value` is the `value` of the row whose page is about to show, empty for the top page. Cancelable: cancel it to stay on the page showing.",
75660
+ "name": "helix-navigate",
75661
+ "reactProp": "onhelix-navigate",
75662
+ "inheritedFrom": {
75663
+ "name": "HelixHeadlessDrilldown",
75664
+ "module": "src/drilldown/root/drilldown-root.ts"
75665
+ }
75666
+ },
75330
75667
  {
75331
75668
  "type": {
75332
75669
  "text": "HelixSelectEvent"
@@ -79094,7 +79431,7 @@
79094
79431
  "text": "HTMLElement | undefined"
79095
79432
  }
79096
79433
  },
79097
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
79434
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
79098
79435
  "inheritedFrom": {
79099
79436
  "name": "MixinDismissible",
79100
79437
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -81101,6 +81438,14 @@
81101
81438
  "module": "src/filter-input/menu/filter-menu.ts"
81102
81439
  }
81103
81440
  },
81441
+ {
81442
+ "description": "The panel a row's submenu opens in beside it. The filter menu's rows have none.",
81443
+ "name": "entry-surface",
81444
+ "inheritedFrom": {
81445
+ "name": "HelixHeadlessFilterMenu",
81446
+ "module": "src/filter-input/menu/filter-menu.ts"
81447
+ }
81448
+ },
81104
81449
  {
81105
81450
  "description": "The menu the fields are offered in.",
81106
81451
  "name": "menu",
@@ -107645,7 +107990,7 @@
107645
107990
  "text": "boolean"
107646
107991
  },
107647
107992
  "default": "false",
107648
- "description": "Takes the row out of reach in a list with `selection-mode`: the arrow keys\npass over it and it cannot be selected or acted on.",
107993
+ "description": "Takes the row out of reach in a list with `selection-mode`: the arrow keys\npass over it and it cannot be selected or acted on. In a list with\n`disabled-behavior=\"selection\"`, it cannot be selected and is reached and\nacted on as any row is.",
107649
107994
  "attribute": "disabled",
107650
107995
  "reflects": true,
107651
107996
  "inheritedFrom": {
@@ -107729,6 +108074,19 @@
107729
108074
  "module": "src/list/item/list-item.ts"
107730
108075
  }
107731
108076
  },
108077
+ {
108078
+ "kind": "field",
108079
+ "name": "selectionOnly",
108080
+ "type": {
108081
+ "text": "boolean"
108082
+ },
108083
+ "default": "false",
108084
+ "description": "Whether `disabled` takes the row out of selection alone, written by a list\nwith `disabled-behavior=\"selection\"`. No attribute: it is coordination\nbetween elements, as `focusable` is.",
108085
+ "inheritedFrom": {
108086
+ "name": "HelixHeadlessListItem",
108087
+ "module": "src/list/item/list-item.ts"
108088
+ }
108089
+ },
107732
108090
  {
107733
108091
  "kind": "field",
107734
108092
  "name": "target",
@@ -107798,6 +108156,17 @@
107798
108156
  "module": "src/list/item/list-item.ts"
107799
108157
  }
107800
108158
  },
108159
+ {
108160
+ "kind": "field",
108161
+ "name": "handleCellFocus",
108162
+ "privacy": "private",
108163
+ "readonly": true,
108164
+ "description": "Says whether the cell shows keyboard focus, as `:focus-visible` does, so a\nsheet outside can draw the ring on the row by the host.",
108165
+ "inheritedFrom": {
108166
+ "name": "HelixHeadlessListItem",
108167
+ "module": "src/list/item/list-item.ts"
108168
+ }
108169
+ },
107801
108170
  {
107802
108171
  "kind": "method",
107803
108172
  "name": "focusItem",
@@ -108242,7 +108611,7 @@
108242
108611
  "text": "boolean"
108243
108612
  },
108244
108613
  "default": "false",
108245
- "description": "Takes the row out of reach in a list with `selection-mode`: the arrow keys\npass over it and it cannot be selected or acted on.",
108614
+ "description": "Takes the row out of reach in a list with `selection-mode`: the arrow keys\npass over it and it cannot be selected or acted on. In a list with\n`disabled-behavior=\"selection\"`, it cannot be selected and is reached and\nacted on as any row is.",
108246
108615
  "fieldName": "disabled",
108247
108616
  "inheritedFrom": {
108248
108617
  "name": "HelixHeadlessListItem",
@@ -108341,6 +108710,14 @@
108341
108710
  "module": "src/list/item/list-item.ts"
108342
108711
  }
108343
108712
  },
108713
+ {
108714
+ "description": "The row's cell has keyboard focus that the browser shows, in a list with `selection-mode`.",
108715
+ "name": "focus-visible",
108716
+ "inheritedFrom": {
108717
+ "name": "HelixHeadlessListItem",
108718
+ "module": "src/list/item/list-item.ts"
108719
+ }
108720
+ },
108344
108721
  {
108345
108722
  "description": "The row is selected, in a list that selects.",
108346
108723
  "name": "selected",
@@ -108536,6 +108913,19 @@
108536
108913
  "module": "src/list/root/list-root.ts"
108537
108914
  }
108538
108915
  },
108916
+ {
108917
+ "kind": "field",
108918
+ "name": "disabledBehavior",
108919
+ "type": {
108920
+ "text": "'all' | 'selection' | undefined | undefined"
108921
+ },
108922
+ "description": "What `disabled` takes from a row, in a list that selects: `all`, which\npasses over the row, or `selection`, which keeps the row out of the\nselection and lets the keys reach it and Enter or a press act on it, as\nReact Aria's GridList takes `disabledBehavior`.\n\nAbsent is `all`.",
108923
+ "attribute": "disabled-behavior",
108924
+ "inheritedFrom": {
108925
+ "name": "HelixHeadlessList",
108926
+ "module": "src/list/root/list-root.ts"
108927
+ }
108928
+ },
108539
108929
  {
108540
108930
  "kind": "field",
108541
108931
  "name": "droppedLabel",
@@ -108733,6 +109123,43 @@
108733
109123
  "module": "src/list/root/list-root.ts"
108734
109124
  }
108735
109125
  },
109126
+ {
109127
+ "kind": "method",
109128
+ "name": "blocked",
109129
+ "privacy": "private",
109130
+ "return": {
109131
+ "type": {
109132
+ "text": "boolean"
109133
+ }
109134
+ },
109135
+ "parameters": [
109136
+ {
109137
+ "name": "row",
109138
+ "type": {
109139
+ "text": "HelixHeadlessListItem"
109140
+ }
109141
+ }
109142
+ ],
109143
+ "description": "Whether the row is out of reach of the keys and of actions, past selection.",
109144
+ "inheritedFrom": {
109145
+ "name": "HelixHeadlessList",
109146
+ "module": "src/list/root/list-root.ts"
109147
+ }
109148
+ },
109149
+ {
109150
+ "kind": "field",
109151
+ "name": "selectable",
109152
+ "type": {
109153
+ "text": "HelixHeadlessListItem[]"
109154
+ },
109155
+ "privacy": "private",
109156
+ "description": "The rows a key can land on that can also be selected.",
109157
+ "readonly": true,
109158
+ "inheritedFrom": {
109159
+ "name": "HelixHeadlessList",
109160
+ "module": "src/list/root/list-root.ts"
109161
+ }
109162
+ },
108736
109163
  {
108737
109164
  "kind": "field",
108738
109165
  "name": "selectionMode",
@@ -108800,6 +109227,20 @@
108800
109227
  "module": "src/list/root/list-root.ts"
108801
109228
  }
108802
109229
  },
109230
+ {
109231
+ "kind": "field",
109232
+ "name": "placed",
109233
+ "type": {
109234
+ "text": "HelixHeadlessListItem[]"
109235
+ },
109236
+ "privacy": "private",
109237
+ "default": "[]",
109238
+ "description": "The rows in order on the last `sync`, so a removed row's place is known.",
109239
+ "inheritedFrom": {
109240
+ "name": "HelixHeadlessList",
109241
+ "module": "src/list/root/list-root.ts"
109242
+ }
109243
+ },
108803
109244
  {
108804
109245
  "kind": "field",
108805
109246
  "name": "anchor",
@@ -109067,6 +109508,29 @@
109067
109508
  "module": "src/list/root/list-root.ts"
109068
109509
  }
109069
109510
  },
109511
+ {
109512
+ "kind": "method",
109513
+ "name": "followRemoved",
109514
+ "privacy": "private",
109515
+ "return": {
109516
+ "type": {
109517
+ "text": "void"
109518
+ }
109519
+ },
109520
+ "parameters": [
109521
+ {
109522
+ "name": "rows",
109523
+ "type": {
109524
+ "text": "HelixHeadlessListItem[]"
109525
+ }
109526
+ }
109527
+ ],
109528
+ "description": "Moves the tab stop off a row the page removed, to the next row a key can\nreach or, at the end, the one before it, and moves focus there where\nremoving the row dropped it to the body.\n\n**Focus went to the body**, and the arrow keys did nothing until the\nreader tabbed back into the list. React Aria's GridList moves focus to a\nneighbor the same way. Focus anywhere but the body is where you put it,\nand is left there.",
109529
+ "inheritedFrom": {
109530
+ "name": "HelixHeadlessList",
109531
+ "module": "src/list/root/list-root.ts"
109532
+ }
109533
+ },
109070
109534
  {
109071
109535
  "kind": "method",
109072
109536
  "name": "rowOf",
@@ -109854,6 +110318,18 @@
109854
110318
  "module": "src/list/root/list-root.ts"
109855
110319
  }
109856
110320
  },
110321
+ {
110322
+ "name": "disabled-behavior",
110323
+ "type": {
110324
+ "text": "'all' | 'selection' | undefined | undefined"
110325
+ },
110326
+ "description": "What `disabled` takes from a row, in a list that selects: `all`, which\npasses over the row, or `selection`, which keeps the row out of the\nselection and lets the keys reach it and Enter or a press act on it, as\nReact Aria's GridList takes `disabledBehavior`.\n\nAbsent is `all`.",
110327
+ "fieldName": "disabledBehavior",
110328
+ "inheritedFrom": {
110329
+ "name": "HelixHeadlessList",
110330
+ "module": "src/list/root/list-root.ts"
110331
+ }
110332
+ },
109857
110333
  {
109858
110334
  "name": "dropped-label",
109859
110335
  "type": {
@@ -111342,6 +111818,18 @@
111342
111818
  "module": "src/listbox/root/listbox-root.ts"
111343
111819
  }
111344
111820
  },
111821
+ {
111822
+ "kind": "field",
111823
+ "name": "filterMatch",
111824
+ "type": {
111825
+ "text": "((text: string, filter: string) => boolean) | undefined | undefined"
111826
+ },
111827
+ "description": "Whether an option is kept by the filter: a function given the option's\nwords and the filter, trimmed, that returns `true` to keep it showing, as\nReact Aria's `Autocomplete` takes `filter`. For matching that ignores\naccents, matches the start of each word, or matches out of order.\n\nAbsent, an option is kept where its words hold the filter, in any case. A\nproperty only, there being no way to write a function in markup.",
111828
+ "inheritedFrom": {
111829
+ "name": "HelixHeadlessListbox",
111830
+ "module": "src/listbox/root/listbox-root.ts"
111831
+ }
111832
+ },
111345
111833
  {
111346
111834
  "kind": "field",
111347
111835
  "name": "items",
@@ -111805,7 +112293,7 @@
111805
112293
  "type": {
111806
112294
  "text": "string[]"
111807
112295
  },
111808
- "description": "The chosen values, as an array whether or not `multiple` is set.",
112296
+ "description": "The chosen values, as an array whether or not `multiple` is set.\n\nRead against the options' values, so an option whose value holds a comma\nis one value. See `chosenValues`.",
111809
112297
  "readonly": true,
111810
112298
  "inheritedFrom": {
111811
112299
  "name": "HelixHeadlessListbox",
@@ -122430,7 +122918,7 @@
122430
122918
  "name": "handlePartChange",
122431
122919
  "privacy": "private",
122432
122920
  "readonly": true,
122433
- "description": "A route or area renamed, or its description changed, which the list says\nand a slot change does not report.",
122921
+ "description": "A route or area renamed, or its description changed, which the list says\nand a slot change does not report.\n\nNot the map's own `gestures` news, which it sends from `updated` and which\nchanges nothing it draws: an update asked for there ran every map's\nupdate twice, and Lit's development build warned about it.",
122434
122922
  "inheritedFrom": {
122435
122923
  "name": "HelixHeadlessMap",
122436
122924
  "module": "src/map/root/map-root.ts"
@@ -126129,6 +126617,20 @@
126129
126617
  "module": "src/megamenu/root/megamenu-root.ts"
126130
126618
  }
126131
126619
  },
126620
+ {
126621
+ "kind": "field",
126622
+ "name": "closeDelay",
126623
+ "type": {
126624
+ "text": "number"
126625
+ },
126626
+ "default": "220",
126627
+ "description": "How long a pointer leaving the trigger and the panel waits before the panel\ncloses, in milliseconds. The pointer needs the time to cross from the\ntrigger to the panel.",
126628
+ "attribute": "close-delay",
126629
+ "inheritedFrom": {
126630
+ "name": "HelixHeadlessMegamenu",
126631
+ "module": "src/megamenu/root/megamenu-root.ts"
126632
+ }
126633
+ },
126132
126634
  {
126133
126635
  "kind": "field",
126134
126636
  "name": "label",
@@ -126143,6 +126645,20 @@
126143
126645
  "module": "src/megamenu/root/megamenu-root.ts"
126144
126646
  }
126145
126647
  },
126648
+ {
126649
+ "kind": "field",
126650
+ "name": "openDelay",
126651
+ "type": {
126652
+ "text": "number"
126653
+ },
126654
+ "default": "120",
126655
+ "description": "How long a pointer rests on the trigger before the panel opens, in\nmilliseconds, under `open-on=\"hover\"`. A pointer crossing the bar on its\nway somewhere else opens nothing.",
126656
+ "attribute": "open-delay",
126657
+ "inheritedFrom": {
126658
+ "name": "HelixHeadlessMegamenu",
126659
+ "module": "src/megamenu/root/megamenu-root.ts"
126660
+ }
126661
+ },
126146
126662
  {
126147
126663
  "kind": "field",
126148
126664
  "name": "openOn",
@@ -126157,6 +126673,20 @@
126157
126673
  "module": "src/megamenu/root/megamenu-root.ts"
126158
126674
  }
126159
126675
  },
126676
+ {
126677
+ "kind": "field",
126678
+ "name": "placement",
126679
+ "type": {
126680
+ "text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
126681
+ },
126682
+ "default": "'bottom-start'",
126683
+ "description": "The side of the trigger a card panel opens on, when there is room. It\nmoves if that side does not fit. A band ignores it, since a band spans the\npage under its bar.",
126684
+ "attribute": "placement",
126685
+ "inheritedFrom": {
126686
+ "name": "HelixHeadlessMegamenu",
126687
+ "module": "src/megamenu/root/megamenu-root.ts"
126688
+ }
126689
+ },
126160
126690
  {
126161
126691
  "kind": "field",
126162
126692
  "name": "variant",
@@ -126239,7 +126769,7 @@
126239
126769
  "name": "panel",
126240
126770
  "privacy": "protected",
126241
126771
  "readonly": true,
126242
- "default": "new PopoverController(this, { anchor: () => this.trigger, /* The host, not the panel. A press on the trigger is a press on this element, and counting it as outside would close the panel on the way to the click that toggles it. `Menu` says the same about its own. Every other megamenu too: a press on one of them opens it, and opening it closes this one with a direction. */ boundary: () => [...HelixHeadlessMegamenu.bar.connected], onDismiss: () => this.close(), open: () => this.open, place: () => !this.banded, placement: () => 'bottom-start', surface: () => this.partNamed('surface'), })",
126772
+ "default": "new PopoverController(this, { anchor: () => this.trigger, /* The host, not the panel. A press on the trigger is a press on this element, and counting it as outside would close the panel on the way to the click that toggles it. `Menu` says the same about its own. Every other megamenu too: a press on one of them opens it, and opening it closes this one with a direction. */ boundary: () => [...HelixHeadlessMegamenu.bar.connected], onDismiss: () => this.close(), open: () => this.open, place: () => !this.banded, placement: () => this.placement, surface: () => this.partNamed('surface'), })",
126243
126773
  "inheritedFrom": {
126244
126774
  "name": "HelixHeadlessMegamenu",
126245
126775
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126254,7 +126784,34 @@
126254
126784
  "text": "void"
126255
126785
  }
126256
126786
  },
126257
- "description": "Tells a slotted trigger the disclosure state, by property. See `tellDisclosure`.",
126787
+ "description": "Tells a slotted trigger the disclosure state.\n\nA Helix trigger by property, through `tellDisclosure`. A plain element,\nwhich has no shadow root to keep the state out of the markup, by\n`aria-expanded`, from a frame after the first render, as `Popover` writes\nit. One that already carries `aria-expanded` is the consumer's to keep.",
126788
+ "inheritedFrom": {
126789
+ "name": "HelixHeadlessMegamenu",
126790
+ "module": "src/megamenu/root/megamenu-root.ts"
126791
+ }
126792
+ },
126793
+ {
126794
+ "kind": "field",
126795
+ "name": "settledOnce",
126796
+ "type": {
126797
+ "text": "boolean"
126798
+ },
126799
+ "privacy": "private",
126800
+ "default": "false",
126801
+ "description": "Whether a frame has passed since the first render, after which a plain trigger may be told.",
126802
+ "inheritedFrom": {
126803
+ "name": "HelixHeadlessMegamenu",
126804
+ "module": "src/megamenu/root/megamenu-root.ts"
126805
+ }
126806
+ },
126807
+ {
126808
+ "kind": "field",
126809
+ "name": "told",
126810
+ "type": {
126811
+ "text": "Element | undefined"
126812
+ },
126813
+ "privacy": "private",
126814
+ "description": "The plain trigger this megamenu writes `aria-expanded` on.",
126258
126815
  "inheritedFrom": {
126259
126816
  "name": "HelixHeadlessMegamenu",
126260
126817
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126312,15 +126869,13 @@
126312
126869
  }
126313
126870
  },
126314
126871
  {
126315
- "kind": "method",
126316
- "name": "close",
126317
- "privacy": "private",
126318
- "return": {
126319
- "type": {
126320
- "text": "void"
126321
- }
126872
+ "kind": "field",
126873
+ "name": "currentWatch",
126874
+ "type": {
126875
+ "text": "MutationObserver | undefined"
126322
126876
  },
126323
- "description": "Shuts it and puts the reader back where they were.",
126877
+ "privacy": "private",
126878
+ "description": "Watches the panel's links for the one that is the page you are on.",
126324
126879
  "inheritedFrom": {
126325
126880
  "name": "HelixHeadlessMegamenu",
126326
126881
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126328,14 +126883,14 @@
126328
126883
  },
126329
126884
  {
126330
126885
  "kind": "method",
126331
- "name": "band",
126886
+ "name": "markCurrent",
126332
126887
  "privacy": "private",
126333
126888
  "return": {
126334
126889
  "type": {
126335
126890
  "text": "void"
126336
126891
  }
126337
126892
  },
126338
- "description": "Where a full-bleed band starts, which is the only number it needs.\n\nThe placing pass is off for that appearance, so nothing else is measuring:\na band spans the viewport and has only one degree of freedom, how far down\nit sits, and that is the bottom of the trigger in viewport coordinates\nbecause the panel is fixed. A header that scrolls takes the band with it,\nwhich is what a panel hanging off a header should do.\n\nWritten as a custom property rather than an inline `top`, so the stylesheet\nkeeps the arrangement and this contributes the one measurement it cannot\nmake. Nothing to do for the card, which the controller places.",
126893
+ "description": "Records whether a link in the panel is the page you are on.",
126339
126894
  "inheritedFrom": {
126340
126895
  "name": "HelixHeadlessMegamenu",
126341
126896
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126343,45 +126898,44 @@
126343
126898
  },
126344
126899
  {
126345
126900
  "kind": "method",
126346
- "name": "bar",
126901
+ "name": "close",
126347
126902
  "privacy": "private",
126348
126903
  "return": {
126349
126904
  "type": {
126350
- "text": "number"
126905
+ "text": "void"
126351
126906
  }
126352
126907
  },
126353
- "description": "The bottom edge of the bar this hangs from.\n\nThe trigger's own bottom is the obvious answer and is the wrong one: a\nheader is taller than the word inside it, so a band starting at the word\nstarts partway up the header, over its lower padding and its border.\nMeasured: trigger bottom 44, header bottom 57, thirteen pixels of header\nwith a band drawn across it.\n\n**The first ancestor as wide as the window, which is a fact and not a tag\nname.** A band spans the viewport, so what it should hang from is whatever\nelse does: that is what makes something a bar. Asking for `AppHeader` by\nname would make this element know about that one, which is the coupling\n`Menu` is careful not to have with `Drilldown`, and would leave a consumer\nwho wrote their own header with a band across it.\n\n`body` ends the walk. It is as wide as the window and is not a bar, and its\nbottom is the foot of the page: without the guard a megamenu on a plain page\nwould put its band down there. Nothing found means nothing to hang from, and\nthe trigger is the honest answer again.",
126908
+ "description": "Shuts it and puts the reader back where they were.",
126354
126909
  "inheritedFrom": {
126355
126910
  "name": "HelixHeadlessMegamenu",
126356
126911
  "module": "src/megamenu/root/megamenu-root.ts"
126357
126912
  }
126358
126913
  },
126359
126914
  {
126360
- "kind": "field",
126361
- "name": "OPEN_DELAY",
126362
- "type": {
126363
- "text": "number"
126364
- },
126915
+ "kind": "method",
126916
+ "name": "band",
126365
126917
  "privacy": "private",
126366
- "static": true,
126367
- "readonly": true,
126368
- "default": "120",
126369
- "description": "How long a pointer has to mean it, in milliseconds.\n\nOpening is the shorter wait: too long and the panel feels stuck, too short\nand crossing the bar opens things. Closing is longer because the pointer\nhas to get from the trigger to the panel, and the straight line between\nthem is not the line anybody moves along.",
126918
+ "return": {
126919
+ "type": {
126920
+ "text": "void"
126921
+ }
126922
+ },
126923
+ "description": "Where a full-bleed band starts, which is the only number it needs.\n\nThe placing pass is off for that appearance, so nothing else is measuring:\na band spans the viewport and has only one degree of freedom, how far down\nit sits, and that is the bottom of the trigger in viewport coordinates\nbecause the panel is fixed. A header that scrolls takes the band with it,\nwhich is what a panel hanging off a header should do.\n\nWritten as a custom property rather than an inline `top`, so the stylesheet\nkeeps the arrangement and this contributes the one measurement it cannot\nmake. Nothing to do for the card, which the controller places.",
126370
126924
  "inheritedFrom": {
126371
126925
  "name": "HelixHeadlessMegamenu",
126372
126926
  "module": "src/megamenu/root/megamenu-root.ts"
126373
126927
  }
126374
126928
  },
126375
126929
  {
126376
- "kind": "field",
126377
- "name": "CLOSE_DELAY",
126378
- "type": {
126379
- "text": "number"
126380
- },
126930
+ "kind": "method",
126931
+ "name": "bar",
126381
126932
  "privacy": "private",
126382
- "static": true,
126383
- "readonly": true,
126384
- "default": "220",
126933
+ "return": {
126934
+ "type": {
126935
+ "text": "number"
126936
+ }
126937
+ },
126938
+ "description": "The bottom edge of the bar this hangs from.\n\nThe trigger's own bottom is the obvious answer and is the wrong one: a\nheader is taller than the word inside it, so a band starting at the word\nstarts partway up the header, over its lower padding and its border.\nMeasured: trigger bottom 44, header bottom 57, thirteen pixels of header\nwith a band drawn across it.\n\n**The first ancestor as wide as the window, which is a fact and not a tag\nname.** A band spans the viewport, so what it should hang from is whatever\nelse does: that is what makes something a bar. Asking for `AppHeader` by\nname would make this element know about that one, which is the coupling\n`Menu` is careful not to have with `Drilldown`, and would leave a consumer\nwho wrote their own header with a band across it.\n\n`body` ends the walk. It is as wide as the window and is not a bar, and its\nbottom is the foot of the page: without the guard a megamenu on a plain page\nwould put its band down there. Nothing found means nothing to hang from, and\nthe trigger is the honest answer again.",
126385
126939
  "inheritedFrom": {
126386
126940
  "name": "HelixHeadlessMegamenu",
126387
126941
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -127048,6 +127602,19 @@
127048
127602
  "module": "src/megamenu/root/megamenu-root.ts"
127049
127603
  }
127050
127604
  },
127605
+ {
127606
+ "name": "close-delay",
127607
+ "type": {
127608
+ "text": "number"
127609
+ },
127610
+ "default": "220",
127611
+ "description": "How long a pointer leaving the trigger and the panel waits before the panel\ncloses, in milliseconds. The pointer needs the time to cross from the\ntrigger to the panel.",
127612
+ "fieldName": "closeDelay",
127613
+ "inheritedFrom": {
127614
+ "name": "HelixHeadlessMegamenu",
127615
+ "module": "src/megamenu/root/megamenu-root.ts"
127616
+ }
127617
+ },
127051
127618
  {
127052
127619
  "name": "label",
127053
127620
  "type": {
@@ -127061,6 +127628,19 @@
127061
127628
  "module": "src/megamenu/root/megamenu-root.ts"
127062
127629
  }
127063
127630
  },
127631
+ {
127632
+ "name": "open-delay",
127633
+ "type": {
127634
+ "text": "number"
127635
+ },
127636
+ "default": "120",
127637
+ "description": "How long a pointer rests on the trigger before the panel opens, in\nmilliseconds, under `open-on=\"hover\"`. A pointer crossing the bar on its\nway somewhere else opens nothing.",
127638
+ "fieldName": "openDelay",
127639
+ "inheritedFrom": {
127640
+ "name": "HelixHeadlessMegamenu",
127641
+ "module": "src/megamenu/root/megamenu-root.ts"
127642
+ }
127643
+ },
127064
127644
  {
127065
127645
  "name": "open-on",
127066
127646
  "type": {
@@ -127074,6 +127654,19 @@
127074
127654
  "module": "src/megamenu/root/megamenu-root.ts"
127075
127655
  }
127076
127656
  },
127657
+ {
127658
+ "name": "placement",
127659
+ "type": {
127660
+ "text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
127661
+ },
127662
+ "default": "'bottom-start'",
127663
+ "description": "The side of the trigger a card panel opens on, when there is room. It\nmoves if that side does not fit. A band ignores it, since a band spans the\npage under its bar.",
127664
+ "fieldName": "placement",
127665
+ "inheritedFrom": {
127666
+ "name": "HelixHeadlessMegamenu",
127667
+ "module": "src/megamenu/root/megamenu-root.ts"
127668
+ }
127669
+ },
127077
127670
  {
127078
127671
  "name": "variant",
127079
127672
  "type": {
@@ -127186,6 +127779,14 @@
127186
127779
  }
127187
127780
  ],
127188
127781
  "cssStates": [
127782
+ {
127783
+ "description": "A link in the panel carries `aria-current=\"page\"`, so the trigger can show the section you are in.",
127784
+ "name": "current",
127785
+ "inheritedFrom": {
127786
+ "name": "HelixHeadlessMegamenu",
127787
+ "module": "src/megamenu/root/megamenu-root.ts"
127788
+ }
127789
+ },
127189
127790
  {
127190
127791
  "description": "The panel opened in place of one earlier in the bar, so it can enter from the end side.",
127191
127792
  "name": "from-end",
@@ -127696,6 +128297,18 @@
127696
128297
  "module": "src/menu/item/menu-item.ts"
127697
128298
  }
127698
128299
  },
128300
+ {
128301
+ "kind": "field",
128302
+ "name": "flyoutPanel",
128303
+ "privacy": "protected",
128304
+ "readonly": true,
128305
+ "default": "new PopoverController(this, { anchor: () => this.partNamed('item'), boundary: () => this, onDismiss: () => {}, open: () => this.flyout && this.expanded && this.onPage && this.submenu, placement: () => (isRtl(this) ? 'left-start' : 'right-start'), surface: () => (this.flyout ? this.partNamed('surface') : null), })",
128306
+ "description": "The panel a flyout submenu opens in, beside the row and in the top layer.\nThe menu around it says when, and answers a press outside and Escape, so\nits own dismissal does nothing.",
128307
+ "inheritedFrom": {
128308
+ "name": "HelixHeadlessMenuItem",
128309
+ "module": "src/menu/item/menu-item.ts"
128310
+ }
128311
+ },
127699
128312
  {
127700
128313
  "kind": "method",
127701
128314
  "name": "select",
@@ -128294,6 +128907,14 @@
128294
128907
  "name": "HelixHeadlessMenuItem",
128295
128908
  "module": "src/menu/item/menu-item.ts"
128296
128909
  }
128910
+ },
128911
+ {
128912
+ "description": "The panel a submenu opens in beside the row, under the menu's `submenus=\"flyout\"`.",
128913
+ "name": "surface",
128914
+ "inheritedFrom": {
128915
+ "name": "HelixHeadlessMenuItem",
128916
+ "module": "src/menu/item/menu-item.ts"
128917
+ }
128297
128918
  }
128298
128919
  ],
128299
128920
  "attributes": [
@@ -128463,6 +129084,22 @@
128463
129084
  "module": "src/menu/item/menu-item.ts"
128464
129085
  }
128465
129086
  },
129087
+ {
129088
+ "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.",
129089
+ "name": "submenu-mark",
129090
+ "inheritedFrom": {
129091
+ "name": "HelixHeadlessMenuItem",
129092
+ "module": "src/menu/item/menu-item.ts"
129093
+ }
129094
+ },
129095
+ {
129096
+ "description": "Under `submenus=\"flyout\"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.",
129097
+ "name": "submenu-start",
129098
+ "inheritedFrom": {
129099
+ "name": "HelixHeadlessMenuItem",
129100
+ "module": "src/menu/item/menu-item.ts"
129101
+ }
129102
+ },
128466
129103
  {
128467
129104
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
128468
129105
  "name": "settled",
@@ -128954,6 +129591,148 @@
128954
129591
  "module": "src/menu/root/menu-root.ts"
128955
129592
  }
128956
129593
  },
129594
+ {
129595
+ "kind": "field",
129596
+ "name": "flies",
129597
+ "type": {
129598
+ "text": "boolean"
129599
+ },
129600
+ "privacy": "private",
129601
+ "description": "Whether submenus open beside their rows.",
129602
+ "readonly": true,
129603
+ "inheritedFrom": {
129604
+ "name": "HelixHeadlessMenu",
129605
+ "module": "src/menu/root/menu-root.ts"
129606
+ }
129607
+ },
129608
+ {
129609
+ "kind": "field",
129610
+ "name": "topRows",
129611
+ "type": {
129612
+ "text": "HelixHeadlessMenuItem[]"
129613
+ },
129614
+ "privacy": "private",
129615
+ "description": "The rows of the top page, read through each section.",
129616
+ "readonly": true,
129617
+ "inheritedFrom": {
129618
+ "name": "HelixHeadlessMenu",
129619
+ "module": "src/menu/root/menu-root.ts"
129620
+ }
129621
+ },
129622
+ {
129623
+ "kind": "method",
129624
+ "name": "rowsOf",
129625
+ "privacy": "private",
129626
+ "return": {
129627
+ "type": {
129628
+ "text": "HelixHeadlessMenuItem[]"
129629
+ }
129630
+ },
129631
+ "parameters": [
129632
+ {
129633
+ "name": "holder",
129634
+ "type": {
129635
+ "text": "HelixHeadlessMenuItem | null"
129636
+ }
129637
+ }
129638
+ ],
129639
+ "description": "The rows of a submenu, or of the top page for null.",
129640
+ "inheritedFrom": {
129641
+ "name": "HelixHeadlessMenu",
129642
+ "module": "src/menu/root/menu-root.ts"
129643
+ }
129644
+ },
129645
+ {
129646
+ "kind": "method",
129647
+ "name": "holderOf",
129648
+ "privacy": "private",
129649
+ "return": {
129650
+ "type": {
129651
+ "text": "HelixHeadlessMenuItem | null"
129652
+ }
129653
+ },
129654
+ "parameters": [
129655
+ {
129656
+ "name": "row",
129657
+ "type": {
129658
+ "text": "HelixHeadlessMenuItem"
129659
+ }
129660
+ }
129661
+ ],
129662
+ "description": "The row whose submenu holds a row, or null for a row of the top page.",
129663
+ "inheritedFrom": {
129664
+ "name": "HelixHeadlessMenu",
129665
+ "module": "src/menu/root/menu-root.ts"
129666
+ }
129667
+ },
129668
+ {
129669
+ "kind": "field",
129670
+ "name": "openPages",
129671
+ "type": {
129672
+ "text": "(HelixHeadlessMenuItem | null)[]"
129673
+ },
129674
+ "privacy": "private",
129675
+ "description": "The submenus open, from the top page down to the deepest.",
129676
+ "readonly": true,
129677
+ "inheritedFrom": {
129678
+ "name": "HelixHeadlessMenu",
129679
+ "module": "src/menu/root/menu-root.ts"
129680
+ }
129681
+ },
129682
+ {
129683
+ "kind": "field",
129684
+ "name": "keyPage",
129685
+ "type": {
129686
+ "text": "HelixHeadlessMenuItem | null"
129687
+ },
129688
+ "privacy": "private",
129689
+ "description": "The submenu the keys move in under `flyout`: the one holding the row with\nfocus, or the deepest open one.",
129690
+ "readonly": true,
129691
+ "inheritedFrom": {
129692
+ "name": "HelixHeadlessMenu",
129693
+ "module": "src/menu/root/menu-root.ts"
129694
+ }
129695
+ },
129696
+ {
129697
+ "kind": "method",
129698
+ "name": "openPage",
129699
+ "privacy": "private",
129700
+ "return": {
129701
+ "type": {
129702
+ "text": "void"
129703
+ }
129704
+ },
129705
+ "parameters": [
129706
+ {
129707
+ "name": "holder",
129708
+ "type": {
129709
+ "text": "HelixHeadlessMenuItem | null"
129710
+ }
129711
+ }
129712
+ ],
129713
+ "description": "Opens a submenu and closes the ones below it, or closes them all for null.",
129714
+ "inheritedFrom": {
129715
+ "name": "HelixHeadlessMenu",
129716
+ "module": "src/menu/root/menu-root.ts"
129717
+ }
129718
+ },
129719
+ {
129720
+ "kind": "field",
129721
+ "name": "longPressLabel",
129722
+ "type": {
129723
+ "text": "string"
129724
+ },
129725
+ "default": "'Long press or press Alt+Down to show the menu'",
129726
+ "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.",
129727
+ "attribute": "long-press-label",
129728
+ "helix": {
129729
+ "words": true
129730
+ },
129731
+ "inheritedFrom": {
129732
+ "name": "HelixHeadlessMenu",
129733
+ "module": "src/menu/root/menu-root.ts"
129734
+ }
129735
+ },
128957
129736
  {
128958
129737
  "kind": "field",
128959
129738
  "name": "offset",
@@ -128968,6 +129747,59 @@
128968
129747
  "module": "src/menu/root/menu-root.ts"
128969
129748
  }
128970
129749
  },
129750
+ {
129751
+ "kind": "field",
129752
+ "name": "pressHeld",
129753
+ "type": {
129754
+ "text": "boolean"
129755
+ },
129756
+ "privacy": "private",
129757
+ "description": "Whether the trigger opens the menu only on a held press.",
129758
+ "readonly": true,
129759
+ "inheritedFrom": {
129760
+ "name": "HelixHeadlessMenu",
129761
+ "module": "src/menu/root/menu-root.ts"
129762
+ }
129763
+ },
129764
+ {
129765
+ "kind": "field",
129766
+ "name": "longPress",
129767
+ "privacy": "private",
129768
+ "readonly": true,
129769
+ "default": "new LongPress(this, { onLongPress: () => { if (this.context) { const at = this.heldAt if (at) { this.openContextAt(at) } return } if (!this.open) { this.show() } }, })",
129770
+ "description": "Watches the trigger for a held press: under `open-on=\"long-press\"`, and\nfor a touch or a pen on a context menu's area.",
129771
+ "inheritedFrom": {
129772
+ "name": "HelixHeadlessMenu",
129773
+ "module": "src/menu/root/menu-root.ts"
129774
+ }
129775
+ },
129776
+ {
129777
+ "kind": "field",
129778
+ "name": "heldAt",
129779
+ "type": {
129780
+ "text": "{ x: number; y: number } | undefined"
129781
+ },
129782
+ "privacy": "private",
129783
+ "description": "Where a held press on a context menu's area is, to open the menu there.",
129784
+ "inheritedFrom": {
129785
+ "name": "HelixHeadlessMenu",
129786
+ "module": "src/menu/root/menu-root.ts"
129787
+ }
129788
+ },
129789
+ {
129790
+ "kind": "field",
129791
+ "name": "openOn",
129792
+ "type": {
129793
+ "text": "'click' | 'long-press'"
129794
+ },
129795
+ "default": "'click'",
129796
+ "description": "What opens the menu from its trigger. `long-press` leaves a press to the\ntrigger's own action and opens the menu on a press held for half a second,\nor on Alt+Down or Alt+Up.",
129797
+ "attribute": "open-on",
129798
+ "inheritedFrom": {
129799
+ "name": "HelixHeadlessMenu",
129800
+ "module": "src/menu/root/menu-root.ts"
129801
+ }
129802
+ },
128971
129803
  {
128972
129804
  "kind": "field",
128973
129805
  "name": "placement",
@@ -128982,6 +129814,20 @@
128982
129814
  "module": "src/menu/root/menu-root.ts"
128983
129815
  }
128984
129816
  },
129817
+ {
129818
+ "kind": "field",
129819
+ "name": "submenus",
129820
+ "type": {
129821
+ "text": "'drill' | 'flyout'"
129822
+ },
129823
+ "default": "'drill'",
129824
+ "description": "How a submenu opens. `drill` shows it in place of the page showing, with\na way back. `flyout` opens it in a panel of its own beside its row.",
129825
+ "attribute": "submenus",
129826
+ "inheritedFrom": {
129827
+ "name": "HelixHeadlessMenu",
129828
+ "module": "src/menu/root/menu-root.ts"
129829
+ }
129830
+ },
128985
129831
  {
128986
129832
  "kind": "field",
128987
129833
  "name": "drilldown",
@@ -129049,7 +129895,7 @@
129049
129895
  "name": "panel",
129050
129896
  "privacy": "private",
129051
129897
  "readonly": true,
129052
- "default": "new PopoverController(this, { anchor: () => this.context && this.point ? this.renderRoot?.querySelector<HTMLElement>('#point') : this.trigger, // The host is `display: contents`, so it has no box a press can land in. // What counts as inside is the surface, plus the trigger, whose own click // handler decides what a press there means. boundary: () => this, offset: () => this.offset, onDismiss: () => this.hide(), open: () => this.open, placement: () => this.placement, surface: () => this.partNamed('surface'), })",
129898
+ "default": "new PopoverController(this, { anchor: () => this.context && this.point ? this.renderRoot?.querySelector<HTMLElement>('#point') : this.trigger, // The host is `display: contents`, so it has no box a press can land in. // What counts as inside is the surface, plus the trigger, whose own click // handler decides what a press there means. boundary: () => this, offset: () => this.offset, onDismiss: () => this.hide(), /* The side the panel landed on, for a sheet outside that draws by side, as Popover says it. */ onPlace: (placement) => { const side = sideOf(placement) this.toggleState('placed-bottom', side === 'bottom') this.toggleState('placed-left', side === 'left') this.toggleState('placed-right', side === 'right') this.toggleState('placed-top', side === 'top') }, open: () => this.open, placement: () => this.placement, surface: () => this.partNamed('surface'), })",
129053
129899
  "inheritedFrom": {
129054
129900
  "name": "HelixHeadlessMenu",
129055
129901
  "module": "src/menu/root/menu-root.ts"
@@ -129070,6 +129916,33 @@
129070
129916
  "module": "src/menu/root/menu-root.ts"
129071
129917
  }
129072
129918
  },
129919
+ {
129920
+ "kind": "field",
129921
+ "name": "settledOnce",
129922
+ "type": {
129923
+ "text": "boolean"
129924
+ },
129925
+ "privacy": "private",
129926
+ "default": "false",
129927
+ "description": "Whether a frame has passed since the first render, after which a plain trigger may be told.",
129928
+ "inheritedFrom": {
129929
+ "name": "HelixHeadlessMenu",
129930
+ "module": "src/menu/root/menu-root.ts"
129931
+ }
129932
+ },
129933
+ {
129934
+ "kind": "field",
129935
+ "name": "told",
129936
+ "type": {
129937
+ "text": "Element | undefined"
129938
+ },
129939
+ "privacy": "private",
129940
+ "description": "The plain trigger this menu writes `aria-expanded` on.",
129941
+ "inheritedFrom": {
129942
+ "name": "HelixHeadlessMenu",
129943
+ "module": "src/menu/root/menu-root.ts"
129944
+ }
129945
+ },
129073
129946
  {
129074
129947
  "kind": "field",
129075
129948
  "name": "trigger",
@@ -129166,6 +130039,29 @@
129166
130039
  "module": "src/menu/root/menu-root.ts"
129167
130040
  }
129168
130041
  },
130042
+ {
130043
+ "kind": "method",
130044
+ "name": "openContextAt",
130045
+ "privacy": "private",
130046
+ "return": {
130047
+ "type": {
130048
+ "text": "void"
130049
+ }
130050
+ },
130051
+ "parameters": [
130052
+ {
130053
+ "name": "point",
130054
+ "type": {
130055
+ "text": "{ x: number; y: number }"
130056
+ }
130057
+ }
130058
+ ],
130059
+ "description": "Opens a context menu at a point in the viewport, or moves an open one there.",
130060
+ "inheritedFrom": {
130061
+ "name": "HelixHeadlessMenu",
130062
+ "module": "src/menu/root/menu-root.ts"
130063
+ }
130064
+ },
129169
130065
  {
129170
130066
  "kind": "method",
129171
130067
  "name": "enter",
@@ -129268,6 +130164,224 @@
129268
130164
  "module": "src/menu/root/menu-root.ts"
129269
130165
  }
129270
130166
  },
130167
+ {
130168
+ "kind": "method",
130169
+ "name": "fromTrigger",
130170
+ "privacy": "private",
130171
+ "return": {
130172
+ "type": {
130173
+ "text": "boolean"
130174
+ }
130175
+ },
130176
+ "parameters": [
130177
+ {
130178
+ "name": "event",
130179
+ "type": {
130180
+ "text": "Event"
130181
+ }
130182
+ }
130183
+ ],
130184
+ "description": "Whether an event came from the slotted trigger, or the area of a context menu.",
130185
+ "inheritedFrom": {
130186
+ "name": "HelixHeadlessMenu",
130187
+ "module": "src/menu/root/menu-root.ts"
130188
+ }
130189
+ },
130190
+ {
130191
+ "kind": "field",
130192
+ "name": "handlePointerDown",
130193
+ "privacy": "private",
130194
+ "readonly": true,
130195
+ "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.",
130196
+ "inheritedFrom": {
130197
+ "name": "HelixHeadlessMenu",
130198
+ "module": "src/menu/root/menu-root.ts"
130199
+ }
130200
+ },
130201
+ {
130202
+ "kind": "field",
130203
+ "name": "handlePointerMove",
130204
+ "privacy": "private",
130205
+ "readonly": true,
130206
+ "inheritedFrom": {
130207
+ "name": "HelixHeadlessMenu",
130208
+ "module": "src/menu/root/menu-root.ts"
130209
+ }
130210
+ },
130211
+ {
130212
+ "kind": "field",
130213
+ "name": "handlePointerUp",
130214
+ "privacy": "private",
130215
+ "readonly": true,
130216
+ "inheritedFrom": {
130217
+ "name": "HelixHeadlessMenu",
130218
+ "module": "src/menu/root/menu-root.ts"
130219
+ }
130220
+ },
130221
+ {
130222
+ "kind": "field",
130223
+ "name": "handlePointerCancel",
130224
+ "privacy": "private",
130225
+ "readonly": true,
130226
+ "inheritedFrom": {
130227
+ "name": "HelixHeadlessMenu",
130228
+ "module": "src/menu/root/menu-root.ts"
130229
+ }
130230
+ },
130231
+ {
130232
+ "kind": "field",
130233
+ "name": "handleHeldClick",
130234
+ "privacy": "private",
130235
+ "readonly": true,
130236
+ "description": "Takes the click a held press ends in, ahead of the trigger's own\nlisteners, so a press that opened the menu does not also do the trigger's\naction. In capture, on the host, which is above a slotted trigger.",
130237
+ "inheritedFrom": {
130238
+ "name": "HelixHeadlessMenu",
130239
+ "module": "src/menu/root/menu-root.ts"
130240
+ }
130241
+ },
130242
+ {
130243
+ "kind": "field",
130244
+ "name": "described",
130245
+ "type": {
130246
+ "text": "Element | undefined"
130247
+ },
130248
+ "privacy": "private",
130249
+ "description": "The control the menu has described, so the description can be taken back.",
130250
+ "inheritedFrom": {
130251
+ "name": "HelixHeadlessMenu",
130252
+ "module": "src/menu/root/menu-root.ts"
130253
+ }
130254
+ },
130255
+ {
130256
+ "kind": "method",
130257
+ "name": "describeTrigger",
130258
+ "privacy": "private",
130259
+ "return": {
130260
+ "type": {
130261
+ "text": "void"
130262
+ }
130263
+ },
130264
+ "parameters": [
130265
+ {
130266
+ "name": "light",
130267
+ "default": "false"
130268
+ }
130269
+ ],
130270
+ "description": "Describes the trigger by `long-press-label` under `open-on=\"long-press\"`,\nor takes it back, by the host, which carries the words as its label, as\n`SpeedDial` does. On the consumer's own element only once a reader has\nreached it, which is after hydration.",
130271
+ "inheritedFrom": {
130272
+ "name": "HelixHeadlessMenu",
130273
+ "module": "src/menu/root/menu-root.ts"
130274
+ }
130275
+ },
130276
+ {
130277
+ "kind": "field",
130278
+ "name": "handleTriggerFocusIn",
130279
+ "privacy": "private",
130280
+ "readonly": true,
130281
+ "description": "A reader reaching the trigger, which is late enough to describe a plain one.",
130282
+ "inheritedFrom": {
130283
+ "name": "HelixHeadlessMenu",
130284
+ "module": "src/menu/root/menu-root.ts"
130285
+ }
130286
+ },
130287
+ {
130288
+ "kind": "field",
130289
+ "name": "hovered",
130290
+ "type": {
130291
+ "text": "HelixHeadlessMenuItem | undefined"
130292
+ },
130293
+ "privacy": "private",
130294
+ "description": "The row the pointer last rested on, under `flyout`.",
130295
+ "inheritedFrom": {
130296
+ "name": "HelixHeadlessMenu",
130297
+ "module": "src/menu/root/menu-root.ts"
130298
+ }
130299
+ },
130300
+ {
130301
+ "kind": "field",
130302
+ "name": "hoverTimer",
130303
+ "type": {
130304
+ "text": "ReturnType<typeof setTimeout> | undefined"
130305
+ },
130306
+ "privacy": "private",
130307
+ "description": "The wait before a rested-on row opens or closes a submenu.",
130308
+ "inheritedFrom": {
130309
+ "name": "HelixHeadlessMenu",
130310
+ "module": "src/menu/root/menu-root.ts"
130311
+ }
130312
+ },
130313
+ {
130314
+ "kind": "field",
130315
+ "name": "grace",
130316
+ "type": {
130317
+ "text": "{ points: [number, number][]; until: number } | undefined"
130318
+ },
130319
+ "privacy": "private",
130320
+ "description": "The triangle from where the pointer left a row with an open submenu to the\nnear edge of that submenu, and until when it holds.",
130321
+ "inheritedFrom": {
130322
+ "name": "HelixHeadlessMenu",
130323
+ "module": "src/menu/root/menu-root.ts"
130324
+ }
130325
+ },
130326
+ {
130327
+ "kind": "method",
130328
+ "name": "stopHover",
130329
+ "privacy": "private",
130330
+ "return": {
130331
+ "type": {
130332
+ "text": "void"
130333
+ }
130334
+ },
130335
+ "inheritedFrom": {
130336
+ "name": "HelixHeadlessMenu",
130337
+ "module": "src/menu/root/menu-root.ts"
130338
+ }
130339
+ },
130340
+ {
130341
+ "kind": "field",
130342
+ "name": "handleHover",
130343
+ "privacy": "private",
130344
+ "readonly": true,
130345
+ "description": "A mouse resting on a row, under `flyout`: focus follows it, and after a\nmoment the row's submenu opens, or the submenus below the row's own page\nclose. Not while the pointer is crossing toward an open submenu.",
130346
+ "inheritedFrom": {
130347
+ "name": "HelixHeadlessMenu",
130348
+ "module": "src/menu/root/menu-root.ts"
130349
+ }
130350
+ },
130351
+ {
130352
+ "kind": "field",
130353
+ "name": "handleRowOut",
130354
+ "privacy": "private",
130355
+ "readonly": true,
130356
+ "description": "The pointer leaving a row whose submenu is open, which starts the grace area.",
130357
+ "inheritedFrom": {
130358
+ "name": "HelixHeadlessMenu",
130359
+ "module": "src/menu/root/menu-root.ts"
130360
+ }
130361
+ },
130362
+ {
130363
+ "kind": "method",
130364
+ "name": "inGrace",
130365
+ "privacy": "private",
130366
+ "return": {
130367
+ "type": {
130368
+ "text": "boolean"
130369
+ }
130370
+ },
130371
+ "parameters": [
130372
+ {
130373
+ "name": "event",
130374
+ "type": {
130375
+ "text": "PointerEvent"
130376
+ }
130377
+ }
130378
+ ],
130379
+ "description": "Whether the pointer is inside the grace area, while it holds.",
130380
+ "inheritedFrom": {
130381
+ "name": "HelixHeadlessMenu",
130382
+ "module": "src/menu/root/menu-root.ts"
130383
+ }
130384
+ },
129271
130385
  {
129272
130386
  "kind": "method",
129273
130387
  "name": "nameSurface",
@@ -129700,10 +130814,19 @@
129700
130814
  "min": 300,
129701
130815
  "slug": "events"
129702
130816
  },
130817
+ {
130818
+ "description": "A menu whose submenus open in a panel beside their rows.",
130819
+ "min": 300,
130820
+ "slug": "flyout"
130821
+ },
129703
130822
  {
129704
130823
  "description": "Rows that navigate, rendered as anchors.",
129705
130824
  "slug": "links"
129706
130825
  },
130826
+ {
130827
+ "description": "A button that runs its own action on a press, and opens a menu on a long press or Alt+Down.",
130828
+ "slug": "long-press"
130829
+ },
129707
130830
  {
129708
130831
  "description": "A menu that opens to the right with a larger offset, and a row that downloads a file.",
129709
130832
  "slug": "placement"
@@ -129822,6 +130945,19 @@
129822
130945
  "module": "src/menu/root/menu-root.ts"
129823
130946
  }
129824
130947
  },
130948
+ {
130949
+ "name": "long-press-label",
130950
+ "type": {
130951
+ "text": "string"
130952
+ },
130953
+ "default": "'Long press or press Alt+Down to show the menu'",
130954
+ "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.",
130955
+ "fieldName": "longPressLabel",
130956
+ "inheritedFrom": {
130957
+ "name": "HelixHeadlessMenu",
130958
+ "module": "src/menu/root/menu-root.ts"
130959
+ }
130960
+ },
129825
130961
  {
129826
130962
  "name": "offset",
129827
130963
  "type": {
@@ -129835,6 +130971,19 @@
129835
130971
  "module": "src/menu/root/menu-root.ts"
129836
130972
  }
129837
130973
  },
130974
+ {
130975
+ "name": "open-on",
130976
+ "type": {
130977
+ "text": "'click' | 'long-press'"
130978
+ },
130979
+ "default": "'click'",
130980
+ "description": "What opens the menu from its trigger. `long-press` leaves a press to the\ntrigger's own action and opens the menu on a press held for half a second,\nor on Alt+Down or Alt+Up.",
130981
+ "fieldName": "openOn",
130982
+ "inheritedFrom": {
130983
+ "name": "HelixHeadlessMenu",
130984
+ "module": "src/menu/root/menu-root.ts"
130985
+ }
130986
+ },
129838
130987
  {
129839
130988
  "name": "placement",
129840
130989
  "type": {
@@ -129847,6 +130996,19 @@
129847
130996
  "name": "HelixHeadlessMenu",
129848
130997
  "module": "src/menu/root/menu-root.ts"
129849
130998
  }
130999
+ },
131000
+ {
131001
+ "name": "submenus",
131002
+ "type": {
131003
+ "text": "'drill' | 'flyout'"
131004
+ },
131005
+ "default": "'drill'",
131006
+ "description": "How a submenu opens. `drill` shows it in place of the page showing, with\na way back. `flyout` opens it in a panel of its own beside its row.",
131007
+ "fieldName": "submenus",
131008
+ "inheritedFrom": {
131009
+ "name": "HelixHeadlessMenu",
131010
+ "module": "src/menu/root/menu-root.ts"
131011
+ }
129850
131012
  }
129851
131013
  ],
129852
131014
  "events": [
@@ -130008,6 +131170,38 @@
130008
131170
  "module": "src/menu/root/menu-root.ts"
130009
131171
  }
130010
131172
  },
131173
+ {
131174
+ "description": "While the open panel sits below its trigger.",
131175
+ "name": "placed-bottom",
131176
+ "inheritedFrom": {
131177
+ "name": "HelixHeadlessMenu",
131178
+ "module": "src/menu/root/menu-root.ts"
131179
+ }
131180
+ },
131181
+ {
131182
+ "description": "While the open panel sits to the left of its trigger.",
131183
+ "name": "placed-left",
131184
+ "inheritedFrom": {
131185
+ "name": "HelixHeadlessMenu",
131186
+ "module": "src/menu/root/menu-root.ts"
131187
+ }
131188
+ },
131189
+ {
131190
+ "description": "While the open panel sits to the right of its trigger.",
131191
+ "name": "placed-right",
131192
+ "inheritedFrom": {
131193
+ "name": "HelixHeadlessMenu",
131194
+ "module": "src/menu/root/menu-root.ts"
131195
+ }
131196
+ },
131197
+ {
131198
+ "description": "While the open panel sits above its trigger.",
131199
+ "name": "placed-top",
131200
+ "inheritedFrom": {
131201
+ "name": "HelixHeadlessMenu",
131202
+ "module": "src/menu/root/menu-root.ts"
131203
+ }
131204
+ },
130011
131205
  {
130012
131206
  "description": "A row on the current page has content in its leading column, so every row keeps that column.",
130013
131207
  "name": "start",
@@ -134024,7 +135218,7 @@
134024
135218
  "text": "HTMLElement | undefined"
134025
135219
  }
134026
135220
  },
134027
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
135221
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
134028
135222
  "inheritedFrom": {
134029
135223
  "name": "MixinDismissible",
134030
135224
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -135278,6 +136472,23 @@
135278
136472
  "module": "src/notifications/root/notifications-root.ts"
135279
136473
  }
135280
136474
  },
136475
+ {
136476
+ "kind": "field",
136477
+ "name": "arrivedLabel",
136478
+ "type": {
136479
+ "text": "string"
136480
+ },
136481
+ "default": "'{count, plural, one {# new notification} other {# new notifications}}'",
136482
+ "description": "What the feed says when unread notifications arrive, with `{count}` the\nnumber of them. Empty it to say nothing.",
136483
+ "attribute": "arrived-label",
136484
+ "helix": {
136485
+ "words": true
136486
+ },
136487
+ "inheritedFrom": {
136488
+ "name": "HelixHeadlessNotifications",
136489
+ "module": "src/notifications/root/notifications-root.ts"
136490
+ }
136491
+ },
135281
136492
  {
135282
136493
  "kind": "field",
135283
136494
  "name": "fallbackLabel",
@@ -135648,6 +136859,46 @@
135648
136859
  "module": "src/notifications/root/notifications-root.ts"
135649
136860
  }
135650
136861
  },
136862
+ {
136863
+ "kind": "field",
136864
+ "name": "seen",
136865
+ "type": {
136866
+ "text": "WeakSet<Element> | undefined"
136867
+ },
136868
+ "privacy": "private",
136869
+ "description": "The rows the feed has met, so a row that arrives later is told apart.",
136870
+ "inheritedFrom": {
136871
+ "name": "HelixHeadlessNotifications",
136872
+ "module": "src/notifications/root/notifications-root.ts"
136873
+ }
136874
+ },
136875
+ {
136876
+ "kind": "field",
136877
+ "name": "hush",
136878
+ "privacy": "private",
136879
+ "readonly": true,
136880
+ "default": "new DelayController(this, { renders: false })",
136881
+ "description": "Empties the arrival a moment after it is said, so the next one is news.",
136882
+ "inheritedFrom": {
136883
+ "name": "HelixHeadlessNotifications",
136884
+ "module": "src/notifications/root/notifications-root.ts"
136885
+ }
136886
+ },
136887
+ {
136888
+ "kind": "method",
136889
+ "name": "noteArrivals",
136890
+ "privacy": "private",
136891
+ "return": {
136892
+ "type": {
136893
+ "text": "void"
136894
+ }
136895
+ },
136896
+ "description": "Counts the unread rows that arrived above the rows there were, and says\nhow many. Rows that fill an empty feed are a page, which says nothing. The rows there are at the first update are\nthe feed's to begin with, and say nothing.",
136897
+ "inheritedFrom": {
136898
+ "name": "HelixHeadlessNotifications",
136899
+ "module": "src/notifications/root/notifications-root.ts"
136900
+ }
136901
+ },
135651
136902
  {
135652
136903
  "kind": "field",
135653
136904
  "name": "failed",
@@ -136088,6 +137339,19 @@
136088
137339
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
136089
137340
  }
136090
137341
  },
137342
+ {
137343
+ "name": "arrived-label",
137344
+ "type": {
137345
+ "text": "string"
137346
+ },
137347
+ "default": "'{count, plural, one {# new notification} other {# new notifications}}'",
137348
+ "description": "What the feed says when unread notifications arrive, with `{count}` the\nnumber of them. Empty it to say nothing.",
137349
+ "fieldName": "arrivedLabel",
137350
+ "inheritedFrom": {
137351
+ "name": "HelixHeadlessNotifications",
137352
+ "module": "src/notifications/root/notifications-root.ts"
137353
+ }
137354
+ },
136091
137355
  {
136092
137356
  "name": "fallback-label",
136093
137357
  "type": {
@@ -138025,7 +139289,7 @@
138025
139289
  "type": {
138026
139290
  "text": "number"
138027
139291
  },
138028
- "description": "The value as a number, or `NaN` while the control is empty.\n\n`NaN` and not zero, which is the trap the platform already avoids: `Number('')`\nis zero, so an empty control would report a number it does not hold and a\nform would submit it.",
139292
+ "description": "The value as a number, or `NaN` while the control is empty or does not\nhold a number.\n\nRead in the locale and the format, as the form reads it, so `1,5` typed\nin a locale with a decimal comma is 1.5 here while the form holds 1.5.\n`NaN` and not zero, which is the trap the platform already avoids: `Number('')`\nis zero, so an empty control would report a number it does not hold and a\nform would submit it.",
138029
139293
  "inheritedFrom": {
138030
139294
  "name": "HelixHeadlessNumberInput",
138031
139295
  "module": "src/number-input/root/number-input-root.ts"
@@ -169860,6 +171124,20 @@
169860
171124
  "module": "src/select/root/select-root.ts"
169861
171125
  }
169862
171126
  },
171127
+ {
171128
+ "kind": "field",
171129
+ "name": "chosen",
171130
+ "type": {
171131
+ "text": "string[]"
171132
+ },
171133
+ "privacy": "private",
171134
+ "description": "The chosen values, read against the options' values, so an option whose\nvalue holds a comma is one value. See `chosenValues`.",
171135
+ "readonly": true,
171136
+ "inheritedFrom": {
171137
+ "name": "HelixHeadlessSelect",
171138
+ "module": "src/select/root/select-root.ts"
171139
+ }
171140
+ },
169863
171141
  {
169864
171142
  "kind": "field",
169865
171143
  "name": "data",
@@ -172259,7 +173537,7 @@
172259
173537
  "text": "string"
172260
173538
  },
172261
173539
  "default": "''",
172262
- "description": "What is loading, read out as the placeholder's name, such as \"Loading\nprofile\".\n\nAbsent hides the placeholder from screen readers.",
173540
+ "description": "What is loading, read out as the placeholder's name, such as \"Loading\nprofile\".\n\nAbsent hides the placeholder from screen readers. Around content, the name\nis read while `loading` is set, and the loaded content is read as it is.",
172263
173541
  "attribute": "label",
172264
173542
  "inheritedFrom": {
172265
173543
  "name": "HelixHeadlessSkeleton",
@@ -172666,7 +173944,7 @@
172666
173944
  "text": "string"
172667
173945
  },
172668
173946
  "default": "''",
172669
- "description": "What is loading, read out as the placeholder's name, such as \"Loading\nprofile\".\n\nAbsent hides the placeholder from screen readers.",
173947
+ "description": "What is loading, read out as the placeholder's name, such as \"Loading\nprofile\".\n\nAbsent hides the placeholder from screen readers. Around content, the name\nis read while `loading` is set, and the loaded content is read as it is.",
172670
173948
  "fieldName": "label",
172671
173949
  "inheritedFrom": {
172672
173950
  "name": "HelixHeadlessSkeleton",
@@ -194361,7 +195639,7 @@
194361
195639
  "text": "HTMLElement | undefined"
194362
195640
  }
194363
195641
  },
194364
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
195642
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
194365
195643
  "inheritedFrom": {
194366
195644
  "name": "MixinDismissible",
194367
195645
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -196518,7 +197796,7 @@
196518
197796
  "text": "HTMLElement | undefined"
196519
197797
  }
196520
197798
  },
196521
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
197799
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
196522
197800
  "inheritedFrom": {
196523
197801
  "name": "MixinDismissible",
196524
197802
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -209670,7 +210948,7 @@
209670
210948
  "text": "HTMLElement | undefined"
209671
210949
  }
209672
210950
  },
209673
- "description": "The tab stop after this element on the page, or the one before it at the\nend, for a lone element whose removal would drop focus to the body.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
210951
+ "description": "The tab stop after this element on the page, or the one before it at the\nend, for an element whose removal would drop focus to the body because\nno neighbor of its kind has a control to take it.\n\n**A lone Callout or Announcement had nowhere to hand focus**, so a\nkeyboard reader who dismissed one started again from the top of the\npage. React Aria's Toast hands focus on the same way. Read before the\nevent, in the order Tab reaches the stops, while this element's own are\nstill among them.",
209674
210952
  "inheritedFrom": {
209675
210953
  "name": "MixinDismissible",
209676
210954
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
@@ -209814,7 +211092,7 @@
209814
211092
  "name": "countdown",
209815
211093
  "privacy": "private",
209816
211094
  "readonly": true,
209817
- "default": "new CountdownController(this, { done: () => { this.dismiss() }, holdWhileHidden: true, paused: (paused) => { this.toggleAttribute('data-paused', paused) }, })",
211095
+ "default": "new CountdownController(this, { done: () => { this.dismiss() }, holdWhileHidden: true, paused: (paused) => { this.toggleAttribute('data-paused', paused) this.toggleState('paused', paused) }, })",
209818
211096
  "description": "The dismiss timer, which pauses while a reader is on the message, and\nwhile the page is hidden, and continues from what was left. A message that\narrives in a background tab waits for the reader to come back, as React\nAria's toast queue does.\n\nPaused is said on the host so the indicator can freeze with the clock. A\n`data-` attribute rather than a property, because it is written after\nupgrade from a pointer moving: nothing declares it and no server rendered\nit, which is the same reason `Carousel` names its slides from here.",
209819
211097
  "inheritedFrom": {
209820
211098
  "name": "HelixHeadlessToastItem",
@@ -209835,6 +211113,70 @@
209835
211113
  "module": "src/toast/item/toast-item.ts"
209836
211114
  }
209837
211115
  },
211116
+ {
211117
+ "kind": "field",
211118
+ "name": "waiting",
211119
+ "type": {
211120
+ "text": "boolean"
211121
+ },
211122
+ "default": "false",
211123
+ "description": "Whether the region holds the message back, because more messages are\nshowing than its `max-visible`. The region sets it. A waiting message is\nhidden, its timer has not started, and it is said once it shows.",
211124
+ "inheritedFrom": {
211125
+ "name": "HelixHeadlessToastItem",
211126
+ "module": "src/toast/item/toast-item.ts"
211127
+ }
211128
+ },
211129
+ {
211130
+ "kind": "field",
211131
+ "name": "started",
211132
+ "type": {
211133
+ "text": "boolean"
211134
+ },
211135
+ "privacy": "private",
211136
+ "default": "false",
211137
+ "description": "Whether the dismiss timer has started, which it does once the message first shows.",
211138
+ "inheritedFrom": {
211139
+ "name": "HelixHeadlessToastItem",
211140
+ "module": "src/toast/item/toast-item.ts"
211141
+ }
211142
+ },
211143
+ {
211144
+ "kind": "field",
211145
+ "name": "holding",
211146
+ "type": {
211147
+ "text": "boolean"
211148
+ },
211149
+ "privacy": "private",
211150
+ "default": "false",
211151
+ "description": "Whether the timer is held for `waiting`, so the hold is let go once.",
211152
+ "inheritedFrom": {
211153
+ "name": "HelixHeadlessToastItem",
211154
+ "module": "src/toast/item/toast-item.ts"
211155
+ }
211156
+ },
211157
+ {
211158
+ "kind": "method",
211159
+ "name": "wait",
211160
+ "privacy": "private",
211161
+ "return": {
211162
+ "type": {
211163
+ "text": "void"
211164
+ }
211165
+ },
211166
+ "parameters": [
211167
+ {
211168
+ "name": "waiting",
211169
+ "type": {
211170
+ "text": "boolean"
211171
+ }
211172
+ }
211173
+ ],
211174
+ "description": "Starts the timer when the message first shows, and holds it while it waits again.",
211175
+ "inheritedFrom": {
211176
+ "name": "HelixHeadlessToastItem",
211177
+ "module": "src/toast/item/toast-item.ts"
211178
+ }
211179
+ },
209838
211180
  {
209839
211181
  "kind": "field",
209840
211182
  "name": "openState",
@@ -209903,6 +211245,17 @@
209903
211245
  "module": "src/toast/item/toast-item.ts"
209904
211246
  }
209905
211247
  },
211248
+ {
211249
+ "kind": "field",
211250
+ "name": "handleKeydown",
211251
+ "privacy": "private",
211252
+ "readonly": true,
211253
+ "description": "Escape dismisses the message holding focus, as Radix's toast does. Taken\nonly when the dismissal goes ahead, so a refused one leaves the key to\nthe page.",
211254
+ "inheritedFrom": {
211255
+ "name": "HelixHeadlessToastItem",
211256
+ "module": "src/toast/item/toast-item.ts"
211257
+ }
211258
+ },
209906
211259
  {
209907
211260
  "kind": "method",
209908
211261
  "name": "assigned",
@@ -210541,6 +211894,30 @@
210541
211894
  }
210542
211895
  ],
210543
211896
  "cssStates": [
211897
+ {
211898
+ "description": "The message has been dismissed and is hidden, or leaving.",
211899
+ "name": "closed",
211900
+ "inheritedFrom": {
211901
+ "name": "HelixHeadlessToastItem",
211902
+ "module": "src/toast/item/toast-item.ts"
211903
+ }
211904
+ },
211905
+ {
211906
+ "description": "The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.",
211907
+ "name": "paused",
211908
+ "inheritedFrom": {
211909
+ "name": "HelixHeadlessToastItem",
211910
+ "module": "src/toast/item/toast-item.ts"
211911
+ }
211912
+ },
211913
+ {
211914
+ "description": "The region holds the message back, past its `max-visible`, until a message before it goes.",
211915
+ "name": "waiting",
211916
+ "inheritedFrom": {
211917
+ "name": "HelixHeadlessToastItem",
211918
+ "module": "src/toast/item/toast-item.ts"
211919
+ }
211920
+ },
210544
211921
  {
210545
211922
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
210546
211923
  "name": "settled",
@@ -210675,6 +212052,19 @@
210675
212052
  "module": "src/toast/root/toast-root.ts"
210676
212053
  }
210677
212054
  },
212055
+ {
212056
+ "kind": "field",
212057
+ "name": "maxVisible",
212058
+ "type": {
212059
+ "text": "number | undefined"
212060
+ },
212061
+ "description": "How many messages show at once. The messages after that many wait, hidden\nand with their timers stopped, until a message before them goes. Unset,\nevery message shows.",
212062
+ "attribute": "max-visible",
212063
+ "inheritedFrom": {
212064
+ "name": "HelixHeadlessToast",
212065
+ "module": "src/toast/root/toast-root.ts"
212066
+ }
212067
+ },
210678
212068
  {
210679
212069
  "kind": "field",
210680
212070
  "name": "placement",
@@ -210924,6 +212314,48 @@
210924
212314
  "module": "src/toast/root/toast-root.ts"
210925
212315
  }
210926
212316
  },
212317
+ {
212318
+ "kind": "field",
212319
+ "name": "held",
212320
+ "privacy": "private",
212321
+ "readonly": true,
212322
+ "default": "new WeakSet<Element>()",
212323
+ "description": "The messages `max-visible` holds back.",
212324
+ "inheritedFrom": {
212325
+ "name": "HelixHeadlessToast",
212326
+ "module": "src/toast/root/toast-root.ts"
212327
+ }
212328
+ },
212329
+ {
212330
+ "kind": "method",
212331
+ "name": "queue",
212332
+ "privacy": "private",
212333
+ "return": {
212334
+ "type": {
212335
+ "text": "HTMLElement[]"
212336
+ }
212337
+ },
212338
+ "description": "Holds back the messages past `max-visible`, and returns the ones it has\njust let go. A message that has been dismissed takes no place in the line.",
212339
+ "inheritedFrom": {
212340
+ "name": "HelixHeadlessToast",
212341
+ "module": "src/toast/root/toast-root.ts"
212342
+ }
212343
+ },
212344
+ {
212345
+ "kind": "method",
212346
+ "name": "restack",
212347
+ "privacy": "private",
212348
+ "return": {
212349
+ "type": {
212350
+ "text": "void"
212351
+ }
212352
+ },
212353
+ "description": "Lets go of the messages past `max-visible` that now have room, raises the\nstack and says them, once each has shown.",
212354
+ "inheritedFrom": {
212355
+ "name": "HelixHeadlessToast",
212356
+ "module": "src/toast/root/toast-root.ts"
212357
+ }
212358
+ },
210927
212359
  {
210928
212360
  "kind": "field",
210929
212361
  "name": "region",
@@ -211408,6 +212840,10 @@
211408
212840
  "description": "A message sends `helix-dismiss`, and your code decides whether it closes.",
211409
212841
  "slug": "events"
211410
212842
  },
212843
+ {
212844
+ "description": "Two toasts at a time, with the next shown when you dismiss one.",
212845
+ "slug": "queue"
212846
+ },
211411
212847
  {
211412
212848
  "description": "Toasts with no tone and in the `info`, `success`, `warning`, and `danger` tones.",
211413
212849
  "slug": "tones"
@@ -211472,6 +212908,18 @@
211472
212908
  "module": "src/toast/root/toast-root.ts"
211473
212909
  }
211474
212910
  },
212911
+ {
212912
+ "name": "max-visible",
212913
+ "type": {
212914
+ "text": "number | undefined"
212915
+ },
212916
+ "description": "How many messages show at once. The messages after that many wait, hidden\nand with their timers stopped, until a message before them goes. Unset,\nevery message shows.",
212917
+ "fieldName": "maxVisible",
212918
+ "inheritedFrom": {
212919
+ "name": "HelixHeadlessToast",
212920
+ "module": "src/toast/root/toast-root.ts"
212921
+ }
212922
+ },
211475
212923
  {
211476
212924
  "name": "placement",
211477
212925
  "type": {
@@ -225308,6 +226756,14 @@
225308
226756
  "module": "src/video-playlist/menu/video-playlist-menu.ts"
225309
226757
  }
225310
226758
  },
226759
+ {
226760
+ "description": "The panel an entry's submenu opens in beside it. The playlist's entries have none.",
226761
+ "name": "entry-surface",
226762
+ "inheritedFrom": {
226763
+ "name": "HelixHeadlessVideoPlaylistMenu",
226764
+ "module": "src/video-playlist/menu/video-playlist-menu.ts"
226765
+ }
226766
+ },
225311
226767
  {
225312
226768
  "description": "The menu that holds the entries.",
225313
226769
  "name": "menu",
@@ -229997,6 +231453,14 @@
229997
231453
  "module": "src/video/root/video-root.ts"
229998
231454
  }
229999
231455
  },
231456
+ {
231457
+ "description": "The panel a row's submenu opens in beside it. The player's rows have none.",
231458
+ "name": "entry-surface",
231459
+ "inheritedFrom": {
231460
+ "name": "HelixHeadlessVideo",
231461
+ "module": "src/video/root/video-root.ts"
231462
+ }
231463
+ },
230000
231464
  {
230001
231465
  "description": "The message shown when the source cannot be played.",
230002
231466
  "name": "failure",
@@ -232437,6 +233901,6 @@
232437
233901
  ],
232438
233902
  "helix": {
232439
233903
  "package": "@fusion.dev/helix",
232440
- "version": "0.156.0"
233904
+ "version": "0.158.0"
232441
233905
  }
232442
233906
  }