@fusion.dev/helix 0.156.0 → 0.157.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.
@@ -73552,6 +73552,20 @@
73552
73552
  "module": "src/drilldown/item/drilldown-item.ts"
73553
73553
  }
73554
73554
  },
73555
+ {
73556
+ "kind": "field",
73557
+ "name": "download",
73558
+ "type": {
73559
+ "text": "boolean"
73560
+ },
73561
+ "default": "false",
73562
+ "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.",
73563
+ "attribute": "download",
73564
+ "inheritedFrom": {
73565
+ "name": "HelixHeadlessDrilldownItem",
73566
+ "module": "src/drilldown/item/drilldown-item.ts"
73567
+ }
73568
+ },
73555
73569
  {
73556
73570
  "kind": "field",
73557
73571
  "name": "focusable",
@@ -73565,6 +73579,48 @@
73565
73579
  "module": "src/drilldown/item/drilldown-item.ts"
73566
73580
  }
73567
73581
  },
73582
+ {
73583
+ "kind": "field",
73584
+ "name": "href",
73585
+ "type": {
73586
+ "text": "string"
73587
+ },
73588
+ "default": "''",
73589
+ "description": "The URL the row links to. Setting it renders the row as a link, unless the\nrow opens a page or is disabled.",
73590
+ "attribute": "href",
73591
+ "inheritedFrom": {
73592
+ "name": "HelixHeadlessDrilldownItem",
73593
+ "module": "src/drilldown/item/drilldown-item.ts"
73594
+ }
73595
+ },
73596
+ {
73597
+ "kind": "field",
73598
+ "name": "rel",
73599
+ "type": {
73600
+ "text": "string"
73601
+ },
73602
+ "default": "''",
73603
+ "description": "The link's `rel`. Set it whenever you set `target=\"_blank\"`.",
73604
+ "attribute": "rel",
73605
+ "inheritedFrom": {
73606
+ "name": "HelixHeadlessDrilldownItem",
73607
+ "module": "src/drilldown/item/drilldown-item.ts"
73608
+ }
73609
+ },
73610
+ {
73611
+ "kind": "field",
73612
+ "name": "target",
73613
+ "type": {
73614
+ "text": "string"
73615
+ },
73616
+ "default": "''",
73617
+ "description": "Where the link opens, for rows that should open outside the current page.",
73618
+ "attribute": "target",
73619
+ "inheritedFrom": {
73620
+ "name": "HelixHeadlessDrilldownItem",
73621
+ "module": "src/drilldown/item/drilldown-item.ts"
73622
+ }
73623
+ },
73568
73624
  {
73569
73625
  "kind": "field",
73570
73626
  "name": "value",
@@ -73717,6 +73773,57 @@
73717
73773
  "module": "src/drilldown/item/drilldown-item.ts"
73718
73774
  }
73719
73775
  },
73776
+ {
73777
+ "kind": "method",
73778
+ "name": "choose",
73779
+ "privacy": "private",
73780
+ "return": {
73781
+ "type": {
73782
+ "text": "boolean"
73783
+ }
73784
+ },
73785
+ "description": "Fires `helix-select`, and returns whether the choice stood.",
73786
+ "inheritedFrom": {
73787
+ "name": "HelixHeadlessDrilldownItem",
73788
+ "module": "src/drilldown/item/drilldown-item.ts"
73789
+ }
73790
+ },
73791
+ {
73792
+ "kind": "field",
73793
+ "name": "handleClick",
73794
+ "privacy": "private",
73795
+ "readonly": true,
73796
+ "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.",
73797
+ "inheritedFrom": {
73798
+ "name": "HelixHeadlessDrilldownItem",
73799
+ "module": "src/drilldown/item/drilldown-item.ts"
73800
+ }
73801
+ },
73802
+ {
73803
+ "kind": "field",
73804
+ "name": "handleLinkKeydown",
73805
+ "privacy": "private",
73806
+ "readonly": true,
73807
+ "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.",
73808
+ "inheritedFrom": {
73809
+ "name": "HelixHeadlessDrilldownItem",
73810
+ "module": "src/drilldown/item/drilldown-item.ts"
73811
+ }
73812
+ },
73813
+ {
73814
+ "kind": "field",
73815
+ "name": "linked",
73816
+ "type": {
73817
+ "text": "boolean"
73818
+ },
73819
+ "privacy": "private",
73820
+ "description": "Whether the row renders as a link.",
73821
+ "readonly": true,
73822
+ "inheritedFrom": {
73823
+ "name": "HelixHeadlessDrilldownItem",
73824
+ "module": "src/drilldown/item/drilldown-item.ts"
73825
+ }
73826
+ },
73720
73827
  {
73721
73828
  "kind": "method",
73722
73829
  "name": "renderMark",
@@ -74143,7 +74250,7 @@
74143
74250
  ],
74144
74251
  "cssParts": [
74145
74252
  {
74146
- "description": "The row itself.",
74253
+ "description": "The row itself, which is an `<a>` where `href` is set.",
74147
74254
  "name": "item",
74148
74255
  "inheritedFrom": {
74149
74256
  "name": "HelixHeadlessDrilldownItem",
@@ -74181,6 +74288,58 @@
74181
74288
  "module": "src/drilldown/item/drilldown-item.ts"
74182
74289
  }
74183
74290
  },
74291
+ {
74292
+ "name": "download",
74293
+ "type": {
74294
+ "text": "boolean"
74295
+ },
74296
+ "default": "false",
74297
+ "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.",
74298
+ "fieldName": "download",
74299
+ "inheritedFrom": {
74300
+ "name": "HelixHeadlessDrilldownItem",
74301
+ "module": "src/drilldown/item/drilldown-item.ts"
74302
+ }
74303
+ },
74304
+ {
74305
+ "name": "href",
74306
+ "type": {
74307
+ "text": "string"
74308
+ },
74309
+ "default": "''",
74310
+ "description": "The URL the row links to. Setting it renders the row as a link, unless the\nrow opens a page or is disabled.",
74311
+ "fieldName": "href",
74312
+ "inheritedFrom": {
74313
+ "name": "HelixHeadlessDrilldownItem",
74314
+ "module": "src/drilldown/item/drilldown-item.ts"
74315
+ }
74316
+ },
74317
+ {
74318
+ "name": "rel",
74319
+ "type": {
74320
+ "text": "string"
74321
+ },
74322
+ "default": "''",
74323
+ "description": "The link's `rel`. Set it whenever you set `target=\"_blank\"`.",
74324
+ "fieldName": "rel",
74325
+ "inheritedFrom": {
74326
+ "name": "HelixHeadlessDrilldownItem",
74327
+ "module": "src/drilldown/item/drilldown-item.ts"
74328
+ }
74329
+ },
74330
+ {
74331
+ "name": "target",
74332
+ "type": {
74333
+ "text": "string"
74334
+ },
74335
+ "default": "''",
74336
+ "description": "Where the link opens, for rows that should open outside the current page.",
74337
+ "fieldName": "target",
74338
+ "inheritedFrom": {
74339
+ "name": "HelixHeadlessDrilldownItem",
74340
+ "module": "src/drilldown/item/drilldown-item.ts"
74341
+ }
74342
+ },
74184
74343
  {
74185
74344
  "name": "value",
74186
74345
  "type": {
@@ -74577,6 +74736,34 @@
74577
74736
  "module": "src/drilldown/root/drilldown-root.ts"
74578
74737
  }
74579
74738
  },
74739
+ {
74740
+ "kind": "field",
74741
+ "name": "navigation",
74742
+ "type": {
74743
+ "text": "boolean"
74744
+ },
74745
+ "default": "false",
74746
+ "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`.",
74747
+ "attribute": "navigation",
74748
+ "inheritedFrom": {
74749
+ "name": "HelixHeadlessDrilldown",
74750
+ "module": "src/drilldown/root/drilldown-root.ts"
74751
+ }
74752
+ },
74753
+ {
74754
+ "kind": "field",
74755
+ "name": "page",
74756
+ "type": {
74757
+ "text": "string"
74758
+ },
74759
+ "default": "''",
74760
+ "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.",
74761
+ "attribute": "page",
74762
+ "inheritedFrom": {
74763
+ "name": "HelixHeadlessDrilldown",
74764
+ "module": "src/drilldown/root/drilldown-root.ts"
74765
+ }
74766
+ },
74580
74767
  {
74581
74768
  "kind": "field",
74582
74769
  "name": "direction",
@@ -74668,6 +74855,52 @@
74668
74855
  "module": "src/drilldown/root/drilldown-root.ts"
74669
74856
  }
74670
74857
  },
74858
+ {
74859
+ "kind": "method",
74860
+ "name": "navigate",
74861
+ "privacy": "private",
74862
+ "return": {
74863
+ "type": {
74864
+ "text": "boolean"
74865
+ }
74866
+ },
74867
+ "parameters": [
74868
+ {
74869
+ "name": "to",
74870
+ "type": {
74871
+ "text": "HelixHeadlessDrilldownItem | null"
74872
+ }
74873
+ }
74874
+ ],
74875
+ "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.",
74876
+ "inheritedFrom": {
74877
+ "name": "HelixHeadlessDrilldown",
74878
+ "module": "src/drilldown/root/drilldown-root.ts"
74879
+ }
74880
+ },
74881
+ {
74882
+ "kind": "method",
74883
+ "name": "holderOf",
74884
+ "privacy": "private",
74885
+ "return": {
74886
+ "type": {
74887
+ "text": "HelixHeadlessDrilldownItem | null"
74888
+ }
74889
+ },
74890
+ "parameters": [
74891
+ {
74892
+ "name": "row",
74893
+ "type": {
74894
+ "text": "HelixHeadlessDrilldownItem"
74895
+ }
74896
+ }
74897
+ ],
74898
+ "description": "The row whose page holds a row, or null for the top page.",
74899
+ "inheritedFrom": {
74900
+ "name": "HelixHeadlessDrilldown",
74901
+ "module": "src/drilldown/root/drilldown-root.ts"
74902
+ }
74903
+ },
74671
74904
  {
74672
74905
  "kind": "method",
74673
74906
  "name": "enter",
@@ -74708,6 +74941,29 @@
74708
74941
  "module": "src/drilldown/root/drilldown-root.ts"
74709
74942
  }
74710
74943
  },
74944
+ {
74945
+ "kind": "method",
74946
+ "name": "showPage",
74947
+ "privacy": "private",
74948
+ "return": {
74949
+ "type": {
74950
+ "text": "void"
74951
+ }
74952
+ },
74953
+ "parameters": [
74954
+ {
74955
+ "name": "value",
74956
+ "type": {
74957
+ "text": "string"
74958
+ }
74959
+ }
74960
+ ],
74961
+ "description": "Shows the page of the row with a value, or the top page where no row with a page has it.",
74962
+ "inheritedFrom": {
74963
+ "name": "HelixHeadlessDrilldown",
74964
+ "module": "src/drilldown/root/drilldown-root.ts"
74965
+ }
74966
+ },
74711
74967
  {
74712
74968
  "kind": "field",
74713
74969
  "name": "handleFocusIn",
@@ -75169,6 +75425,10 @@
75169
75425
  {
75170
75426
  "description": "The `helix-select` event, sent when you choose a row at any level of the menu.",
75171
75427
  "slug": "events"
75428
+ },
75429
+ {
75430
+ "description": "A site's navigation, with pages of links in a landmark.",
75431
+ "slug": "navigation"
75172
75432
  }
75173
75433
  ],
75174
75434
  "source": "helix/styled/src/drilldown"
@@ -75240,6 +75500,32 @@
75240
75500
  "name": "HelixHeadlessDrilldown",
75241
75501
  "module": "src/drilldown/root/drilldown-root.ts"
75242
75502
  }
75503
+ },
75504
+ {
75505
+ "name": "navigation",
75506
+ "type": {
75507
+ "text": "boolean"
75508
+ },
75509
+ "default": "false",
75510
+ "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`.",
75511
+ "fieldName": "navigation",
75512
+ "inheritedFrom": {
75513
+ "name": "HelixHeadlessDrilldown",
75514
+ "module": "src/drilldown/root/drilldown-root.ts"
75515
+ }
75516
+ },
75517
+ {
75518
+ "name": "page",
75519
+ "type": {
75520
+ "text": "string"
75521
+ },
75522
+ "default": "''",
75523
+ "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.",
75524
+ "fieldName": "page",
75525
+ "inheritedFrom": {
75526
+ "name": "HelixHeadlessDrilldown",
75527
+ "module": "src/drilldown/root/drilldown-root.ts"
75528
+ }
75243
75529
  }
75244
75530
  ],
75245
75531
  "slots": [
@@ -75327,6 +75613,18 @@
75327
75613
  }
75328
75614
  ],
75329
75615
  "events": [
75616
+ {
75617
+ "type": {
75618
+ "text": "HelixNavigateEvent"
75619
+ },
75620
+ "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.",
75621
+ "name": "helix-navigate",
75622
+ "reactProp": "onhelix-navigate",
75623
+ "inheritedFrom": {
75624
+ "name": "HelixHeadlessDrilldown",
75625
+ "module": "src/drilldown/root/drilldown-root.ts"
75626
+ }
75627
+ },
75330
75628
  {
75331
75629
  "type": {
75332
75630
  "text": "HelixSelectEvent"
@@ -81101,6 +81399,14 @@
81101
81399
  "module": "src/filter-input/menu/filter-menu.ts"
81102
81400
  }
81103
81401
  },
81402
+ {
81403
+ "description": "The panel a row's submenu opens in beside it. The filter menu's rows have none.",
81404
+ "name": "entry-surface",
81405
+ "inheritedFrom": {
81406
+ "name": "HelixHeadlessFilterMenu",
81407
+ "module": "src/filter-input/menu/filter-menu.ts"
81408
+ }
81409
+ },
81104
81410
  {
81105
81411
  "description": "The menu the fields are offered in.",
81106
81412
  "name": "menu",
@@ -126129,6 +126435,20 @@
126129
126435
  "module": "src/megamenu/root/megamenu-root.ts"
126130
126436
  }
126131
126437
  },
126438
+ {
126439
+ "kind": "field",
126440
+ "name": "closeDelay",
126441
+ "type": {
126442
+ "text": "number"
126443
+ },
126444
+ "default": "220",
126445
+ "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.",
126446
+ "attribute": "close-delay",
126447
+ "inheritedFrom": {
126448
+ "name": "HelixHeadlessMegamenu",
126449
+ "module": "src/megamenu/root/megamenu-root.ts"
126450
+ }
126451
+ },
126132
126452
  {
126133
126453
  "kind": "field",
126134
126454
  "name": "label",
@@ -126143,6 +126463,20 @@
126143
126463
  "module": "src/megamenu/root/megamenu-root.ts"
126144
126464
  }
126145
126465
  },
126466
+ {
126467
+ "kind": "field",
126468
+ "name": "openDelay",
126469
+ "type": {
126470
+ "text": "number"
126471
+ },
126472
+ "default": "120",
126473
+ "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.",
126474
+ "attribute": "open-delay",
126475
+ "inheritedFrom": {
126476
+ "name": "HelixHeadlessMegamenu",
126477
+ "module": "src/megamenu/root/megamenu-root.ts"
126478
+ }
126479
+ },
126146
126480
  {
126147
126481
  "kind": "field",
126148
126482
  "name": "openOn",
@@ -126157,6 +126491,20 @@
126157
126491
  "module": "src/megamenu/root/megamenu-root.ts"
126158
126492
  }
126159
126493
  },
126494
+ {
126495
+ "kind": "field",
126496
+ "name": "placement",
126497
+ "type": {
126498
+ "text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
126499
+ },
126500
+ "default": "'bottom-start'",
126501
+ "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.",
126502
+ "attribute": "placement",
126503
+ "inheritedFrom": {
126504
+ "name": "HelixHeadlessMegamenu",
126505
+ "module": "src/megamenu/root/megamenu-root.ts"
126506
+ }
126507
+ },
126160
126508
  {
126161
126509
  "kind": "field",
126162
126510
  "name": "variant",
@@ -126239,7 +126587,7 @@
126239
126587
  "name": "panel",
126240
126588
  "privacy": "protected",
126241
126589
  "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'), })",
126590
+ "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
126591
  "inheritedFrom": {
126244
126592
  "name": "HelixHeadlessMegamenu",
126245
126593
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126254,7 +126602,34 @@
126254
126602
  "text": "void"
126255
126603
  }
126256
126604
  },
126257
- "description": "Tells a slotted trigger the disclosure state, by property. See `tellDisclosure`.",
126605
+ "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.",
126606
+ "inheritedFrom": {
126607
+ "name": "HelixHeadlessMegamenu",
126608
+ "module": "src/megamenu/root/megamenu-root.ts"
126609
+ }
126610
+ },
126611
+ {
126612
+ "kind": "field",
126613
+ "name": "settledOnce",
126614
+ "type": {
126615
+ "text": "boolean"
126616
+ },
126617
+ "privacy": "private",
126618
+ "default": "false",
126619
+ "description": "Whether a frame has passed since the first render, after which a plain trigger may be told.",
126620
+ "inheritedFrom": {
126621
+ "name": "HelixHeadlessMegamenu",
126622
+ "module": "src/megamenu/root/megamenu-root.ts"
126623
+ }
126624
+ },
126625
+ {
126626
+ "kind": "field",
126627
+ "name": "told",
126628
+ "type": {
126629
+ "text": "Element | undefined"
126630
+ },
126631
+ "privacy": "private",
126632
+ "description": "The plain trigger this megamenu writes `aria-expanded` on.",
126258
126633
  "inheritedFrom": {
126259
126634
  "name": "HelixHeadlessMegamenu",
126260
126635
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126312,15 +126687,13 @@
126312
126687
  }
126313
126688
  },
126314
126689
  {
126315
- "kind": "method",
126316
- "name": "close",
126317
- "privacy": "private",
126318
- "return": {
126319
- "type": {
126320
- "text": "void"
126321
- }
126690
+ "kind": "field",
126691
+ "name": "currentWatch",
126692
+ "type": {
126693
+ "text": "MutationObserver | undefined"
126322
126694
  },
126323
- "description": "Shuts it and puts the reader back where they were.",
126695
+ "privacy": "private",
126696
+ "description": "Watches the panel's links for the one that is the page you are on.",
126324
126697
  "inheritedFrom": {
126325
126698
  "name": "HelixHeadlessMegamenu",
126326
126699
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126328,14 +126701,14 @@
126328
126701
  },
126329
126702
  {
126330
126703
  "kind": "method",
126331
- "name": "band",
126704
+ "name": "markCurrent",
126332
126705
  "privacy": "private",
126333
126706
  "return": {
126334
126707
  "type": {
126335
126708
  "text": "void"
126336
126709
  }
126337
126710
  },
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.",
126711
+ "description": "Records whether a link in the panel is the page you are on.",
126339
126712
  "inheritedFrom": {
126340
126713
  "name": "HelixHeadlessMegamenu",
126341
126714
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -126343,45 +126716,44 @@
126343
126716
  },
126344
126717
  {
126345
126718
  "kind": "method",
126346
- "name": "bar",
126719
+ "name": "close",
126347
126720
  "privacy": "private",
126348
126721
  "return": {
126349
126722
  "type": {
126350
- "text": "number"
126723
+ "text": "void"
126351
126724
  }
126352
126725
  },
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.",
126726
+ "description": "Shuts it and puts the reader back where they were.",
126354
126727
  "inheritedFrom": {
126355
126728
  "name": "HelixHeadlessMegamenu",
126356
126729
  "module": "src/megamenu/root/megamenu-root.ts"
126357
126730
  }
126358
126731
  },
126359
126732
  {
126360
- "kind": "field",
126361
- "name": "OPEN_DELAY",
126362
- "type": {
126363
- "text": "number"
126364
- },
126733
+ "kind": "method",
126734
+ "name": "band",
126365
126735
  "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.",
126736
+ "return": {
126737
+ "type": {
126738
+ "text": "void"
126739
+ }
126740
+ },
126741
+ "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
126742
  "inheritedFrom": {
126371
126743
  "name": "HelixHeadlessMegamenu",
126372
126744
  "module": "src/megamenu/root/megamenu-root.ts"
126373
126745
  }
126374
126746
  },
126375
126747
  {
126376
- "kind": "field",
126377
- "name": "CLOSE_DELAY",
126378
- "type": {
126379
- "text": "number"
126380
- },
126748
+ "kind": "method",
126749
+ "name": "bar",
126381
126750
  "privacy": "private",
126382
- "static": true,
126383
- "readonly": true,
126384
- "default": "220",
126751
+ "return": {
126752
+ "type": {
126753
+ "text": "number"
126754
+ }
126755
+ },
126756
+ "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
126757
  "inheritedFrom": {
126386
126758
  "name": "HelixHeadlessMegamenu",
126387
126759
  "module": "src/megamenu/root/megamenu-root.ts"
@@ -127048,6 +127420,19 @@
127048
127420
  "module": "src/megamenu/root/megamenu-root.ts"
127049
127421
  }
127050
127422
  },
127423
+ {
127424
+ "name": "close-delay",
127425
+ "type": {
127426
+ "text": "number"
127427
+ },
127428
+ "default": "220",
127429
+ "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.",
127430
+ "fieldName": "closeDelay",
127431
+ "inheritedFrom": {
127432
+ "name": "HelixHeadlessMegamenu",
127433
+ "module": "src/megamenu/root/megamenu-root.ts"
127434
+ }
127435
+ },
127051
127436
  {
127052
127437
  "name": "label",
127053
127438
  "type": {
@@ -127061,6 +127446,19 @@
127061
127446
  "module": "src/megamenu/root/megamenu-root.ts"
127062
127447
  }
127063
127448
  },
127449
+ {
127450
+ "name": "open-delay",
127451
+ "type": {
127452
+ "text": "number"
127453
+ },
127454
+ "default": "120",
127455
+ "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.",
127456
+ "fieldName": "openDelay",
127457
+ "inheritedFrom": {
127458
+ "name": "HelixHeadlessMegamenu",
127459
+ "module": "src/megamenu/root/megamenu-root.ts"
127460
+ }
127461
+ },
127064
127462
  {
127065
127463
  "name": "open-on",
127066
127464
  "type": {
@@ -127074,6 +127472,19 @@
127074
127472
  "module": "src/megamenu/root/megamenu-root.ts"
127075
127473
  }
127076
127474
  },
127475
+ {
127476
+ "name": "placement",
127477
+ "type": {
127478
+ "text": "'bottom' | 'bottom-end' | 'bottom-start' | 'left' | 'left-end' | 'left-start' | 'right' | 'right-end' | 'right-start' | 'top' | 'top-end' | 'top-start'"
127479
+ },
127480
+ "default": "'bottom-start'",
127481
+ "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.",
127482
+ "fieldName": "placement",
127483
+ "inheritedFrom": {
127484
+ "name": "HelixHeadlessMegamenu",
127485
+ "module": "src/megamenu/root/megamenu-root.ts"
127486
+ }
127487
+ },
127077
127488
  {
127078
127489
  "name": "variant",
127079
127490
  "type": {
@@ -127186,6 +127597,14 @@
127186
127597
  }
127187
127598
  ],
127188
127599
  "cssStates": [
127600
+ {
127601
+ "description": "A link in the panel carries `aria-current=\"page\"`, so the trigger can show the section you are in.",
127602
+ "name": "current",
127603
+ "inheritedFrom": {
127604
+ "name": "HelixHeadlessMegamenu",
127605
+ "module": "src/megamenu/root/megamenu-root.ts"
127606
+ }
127607
+ },
127189
127608
  {
127190
127609
  "description": "The panel opened in place of one earlier in the bar, so it can enter from the end side.",
127191
127610
  "name": "from-end",
@@ -127696,6 +128115,18 @@
127696
128115
  "module": "src/menu/item/menu-item.ts"
127697
128116
  }
127698
128117
  },
128118
+ {
128119
+ "kind": "field",
128120
+ "name": "flyoutPanel",
128121
+ "privacy": "protected",
128122
+ "readonly": true,
128123
+ "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), })",
128124
+ "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.",
128125
+ "inheritedFrom": {
128126
+ "name": "HelixHeadlessMenuItem",
128127
+ "module": "src/menu/item/menu-item.ts"
128128
+ }
128129
+ },
127699
128130
  {
127700
128131
  "kind": "method",
127701
128132
  "name": "select",
@@ -128294,6 +128725,14 @@
128294
128725
  "name": "HelixHeadlessMenuItem",
128295
128726
  "module": "src/menu/item/menu-item.ts"
128296
128727
  }
128728
+ },
128729
+ {
128730
+ "description": "The panel a submenu opens in beside the row, under the menu's `submenus=\"flyout\"`.",
128731
+ "name": "surface",
128732
+ "inheritedFrom": {
128733
+ "name": "HelixHeadlessMenuItem",
128734
+ "module": "src/menu/item/menu-item.ts"
128735
+ }
128297
128736
  }
128298
128737
  ],
128299
128738
  "attributes": [
@@ -128463,6 +128902,22 @@
128463
128902
  "module": "src/menu/item/menu-item.ts"
128464
128903
  }
128465
128904
  },
128905
+ {
128906
+ "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.",
128907
+ "name": "submenu-mark",
128908
+ "inheritedFrom": {
128909
+ "name": "HelixHeadlessMenuItem",
128910
+ "module": "src/menu/item/menu-item.ts"
128911
+ }
128912
+ },
128913
+ {
128914
+ "description": "Under `submenus=\"flyout\"`, a row in this row's submenu has content before its label, so the submenu keeps its leading column.",
128915
+ "name": "submenu-start",
128916
+ "inheritedFrom": {
128917
+ "name": "HelixHeadlessMenuItem",
128918
+ "module": "src/menu/item/menu-item.ts"
128919
+ }
128920
+ },
128466
128921
  {
128467
128922
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
128468
128923
  "name": "settled",
@@ -128954,6 +129409,148 @@
128954
129409
  "module": "src/menu/root/menu-root.ts"
128955
129410
  }
128956
129411
  },
129412
+ {
129413
+ "kind": "field",
129414
+ "name": "flies",
129415
+ "type": {
129416
+ "text": "boolean"
129417
+ },
129418
+ "privacy": "private",
129419
+ "description": "Whether submenus open beside their rows.",
129420
+ "readonly": true,
129421
+ "inheritedFrom": {
129422
+ "name": "HelixHeadlessMenu",
129423
+ "module": "src/menu/root/menu-root.ts"
129424
+ }
129425
+ },
129426
+ {
129427
+ "kind": "field",
129428
+ "name": "topRows",
129429
+ "type": {
129430
+ "text": "HelixHeadlessMenuItem[]"
129431
+ },
129432
+ "privacy": "private",
129433
+ "description": "The rows of the top page, read through each section.",
129434
+ "readonly": true,
129435
+ "inheritedFrom": {
129436
+ "name": "HelixHeadlessMenu",
129437
+ "module": "src/menu/root/menu-root.ts"
129438
+ }
129439
+ },
129440
+ {
129441
+ "kind": "method",
129442
+ "name": "rowsOf",
129443
+ "privacy": "private",
129444
+ "return": {
129445
+ "type": {
129446
+ "text": "HelixHeadlessMenuItem[]"
129447
+ }
129448
+ },
129449
+ "parameters": [
129450
+ {
129451
+ "name": "holder",
129452
+ "type": {
129453
+ "text": "HelixHeadlessMenuItem | null"
129454
+ }
129455
+ }
129456
+ ],
129457
+ "description": "The rows of a submenu, or of the top page for null.",
129458
+ "inheritedFrom": {
129459
+ "name": "HelixHeadlessMenu",
129460
+ "module": "src/menu/root/menu-root.ts"
129461
+ }
129462
+ },
129463
+ {
129464
+ "kind": "method",
129465
+ "name": "holderOf",
129466
+ "privacy": "private",
129467
+ "return": {
129468
+ "type": {
129469
+ "text": "HelixHeadlessMenuItem | null"
129470
+ }
129471
+ },
129472
+ "parameters": [
129473
+ {
129474
+ "name": "row",
129475
+ "type": {
129476
+ "text": "HelixHeadlessMenuItem"
129477
+ }
129478
+ }
129479
+ ],
129480
+ "description": "The row whose submenu holds a row, or null for a row of the top page.",
129481
+ "inheritedFrom": {
129482
+ "name": "HelixHeadlessMenu",
129483
+ "module": "src/menu/root/menu-root.ts"
129484
+ }
129485
+ },
129486
+ {
129487
+ "kind": "field",
129488
+ "name": "openPages",
129489
+ "type": {
129490
+ "text": "(HelixHeadlessMenuItem | null)[]"
129491
+ },
129492
+ "privacy": "private",
129493
+ "description": "The submenus open, from the top page down to the deepest.",
129494
+ "readonly": true,
129495
+ "inheritedFrom": {
129496
+ "name": "HelixHeadlessMenu",
129497
+ "module": "src/menu/root/menu-root.ts"
129498
+ }
129499
+ },
129500
+ {
129501
+ "kind": "field",
129502
+ "name": "keyPage",
129503
+ "type": {
129504
+ "text": "HelixHeadlessMenuItem | null"
129505
+ },
129506
+ "privacy": "private",
129507
+ "description": "The submenu the keys move in under `flyout`: the one holding the row with\nfocus, or the deepest open one.",
129508
+ "readonly": true,
129509
+ "inheritedFrom": {
129510
+ "name": "HelixHeadlessMenu",
129511
+ "module": "src/menu/root/menu-root.ts"
129512
+ }
129513
+ },
129514
+ {
129515
+ "kind": "method",
129516
+ "name": "openPage",
129517
+ "privacy": "private",
129518
+ "return": {
129519
+ "type": {
129520
+ "text": "void"
129521
+ }
129522
+ },
129523
+ "parameters": [
129524
+ {
129525
+ "name": "holder",
129526
+ "type": {
129527
+ "text": "HelixHeadlessMenuItem | null"
129528
+ }
129529
+ }
129530
+ ],
129531
+ "description": "Opens a submenu and closes the ones below it, or closes them all for null.",
129532
+ "inheritedFrom": {
129533
+ "name": "HelixHeadlessMenu",
129534
+ "module": "src/menu/root/menu-root.ts"
129535
+ }
129536
+ },
129537
+ {
129538
+ "kind": "field",
129539
+ "name": "longPressLabel",
129540
+ "type": {
129541
+ "text": "string"
129542
+ },
129543
+ "default": "'Long press or press Alt+Down to show the menu'",
129544
+ "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.",
129545
+ "attribute": "long-press-label",
129546
+ "helix": {
129547
+ "words": true
129548
+ },
129549
+ "inheritedFrom": {
129550
+ "name": "HelixHeadlessMenu",
129551
+ "module": "src/menu/root/menu-root.ts"
129552
+ }
129553
+ },
128957
129554
  {
128958
129555
  "kind": "field",
128959
129556
  "name": "offset",
@@ -128968,6 +129565,59 @@
128968
129565
  "module": "src/menu/root/menu-root.ts"
128969
129566
  }
128970
129567
  },
129568
+ {
129569
+ "kind": "field",
129570
+ "name": "pressHeld",
129571
+ "type": {
129572
+ "text": "boolean"
129573
+ },
129574
+ "privacy": "private",
129575
+ "description": "Whether the trigger opens the menu only on a held press.",
129576
+ "readonly": true,
129577
+ "inheritedFrom": {
129578
+ "name": "HelixHeadlessMenu",
129579
+ "module": "src/menu/root/menu-root.ts"
129580
+ }
129581
+ },
129582
+ {
129583
+ "kind": "field",
129584
+ "name": "longPress",
129585
+ "privacy": "private",
129586
+ "readonly": true,
129587
+ "default": "new LongPress(this, { onLongPress: () => { if (this.context) { const at = this.heldAt if (at) { this.openContextAt(at) } return } if (!this.open) { this.show() } }, })",
129588
+ "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.",
129589
+ "inheritedFrom": {
129590
+ "name": "HelixHeadlessMenu",
129591
+ "module": "src/menu/root/menu-root.ts"
129592
+ }
129593
+ },
129594
+ {
129595
+ "kind": "field",
129596
+ "name": "heldAt",
129597
+ "type": {
129598
+ "text": "{ x: number; y: number } | undefined"
129599
+ },
129600
+ "privacy": "private",
129601
+ "description": "Where a held press on a context menu's area is, to open the menu there.",
129602
+ "inheritedFrom": {
129603
+ "name": "HelixHeadlessMenu",
129604
+ "module": "src/menu/root/menu-root.ts"
129605
+ }
129606
+ },
129607
+ {
129608
+ "kind": "field",
129609
+ "name": "openOn",
129610
+ "type": {
129611
+ "text": "'click' | 'long-press'"
129612
+ },
129613
+ "default": "'click'",
129614
+ "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.",
129615
+ "attribute": "open-on",
129616
+ "inheritedFrom": {
129617
+ "name": "HelixHeadlessMenu",
129618
+ "module": "src/menu/root/menu-root.ts"
129619
+ }
129620
+ },
128971
129621
  {
128972
129622
  "kind": "field",
128973
129623
  "name": "placement",
@@ -128982,6 +129632,20 @@
128982
129632
  "module": "src/menu/root/menu-root.ts"
128983
129633
  }
128984
129634
  },
129635
+ {
129636
+ "kind": "field",
129637
+ "name": "submenus",
129638
+ "type": {
129639
+ "text": "'drill' | 'flyout'"
129640
+ },
129641
+ "default": "'drill'",
129642
+ "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.",
129643
+ "attribute": "submenus",
129644
+ "inheritedFrom": {
129645
+ "name": "HelixHeadlessMenu",
129646
+ "module": "src/menu/root/menu-root.ts"
129647
+ }
129648
+ },
128985
129649
  {
128986
129650
  "kind": "field",
128987
129651
  "name": "drilldown",
@@ -129070,6 +129734,33 @@
129070
129734
  "module": "src/menu/root/menu-root.ts"
129071
129735
  }
129072
129736
  },
129737
+ {
129738
+ "kind": "field",
129739
+ "name": "settledOnce",
129740
+ "type": {
129741
+ "text": "boolean"
129742
+ },
129743
+ "privacy": "private",
129744
+ "default": "false",
129745
+ "description": "Whether a frame has passed since the first render, after which a plain trigger may be told.",
129746
+ "inheritedFrom": {
129747
+ "name": "HelixHeadlessMenu",
129748
+ "module": "src/menu/root/menu-root.ts"
129749
+ }
129750
+ },
129751
+ {
129752
+ "kind": "field",
129753
+ "name": "told",
129754
+ "type": {
129755
+ "text": "Element | undefined"
129756
+ },
129757
+ "privacy": "private",
129758
+ "description": "The plain trigger this menu writes `aria-expanded` on.",
129759
+ "inheritedFrom": {
129760
+ "name": "HelixHeadlessMenu",
129761
+ "module": "src/menu/root/menu-root.ts"
129762
+ }
129763
+ },
129073
129764
  {
129074
129765
  "kind": "field",
129075
129766
  "name": "trigger",
@@ -129166,6 +129857,29 @@
129166
129857
  "module": "src/menu/root/menu-root.ts"
129167
129858
  }
129168
129859
  },
129860
+ {
129861
+ "kind": "method",
129862
+ "name": "openContextAt",
129863
+ "privacy": "private",
129864
+ "return": {
129865
+ "type": {
129866
+ "text": "void"
129867
+ }
129868
+ },
129869
+ "parameters": [
129870
+ {
129871
+ "name": "point",
129872
+ "type": {
129873
+ "text": "{ x: number; y: number }"
129874
+ }
129875
+ }
129876
+ ],
129877
+ "description": "Opens a context menu at a point in the viewport, or moves an open one there.",
129878
+ "inheritedFrom": {
129879
+ "name": "HelixHeadlessMenu",
129880
+ "module": "src/menu/root/menu-root.ts"
129881
+ }
129882
+ },
129169
129883
  {
129170
129884
  "kind": "method",
129171
129885
  "name": "enter",
@@ -129268,6 +129982,224 @@
129268
129982
  "module": "src/menu/root/menu-root.ts"
129269
129983
  }
129270
129984
  },
129985
+ {
129986
+ "kind": "method",
129987
+ "name": "fromTrigger",
129988
+ "privacy": "private",
129989
+ "return": {
129990
+ "type": {
129991
+ "text": "boolean"
129992
+ }
129993
+ },
129994
+ "parameters": [
129995
+ {
129996
+ "name": "event",
129997
+ "type": {
129998
+ "text": "Event"
129999
+ }
130000
+ }
130001
+ ],
130002
+ "description": "Whether an event came from the slotted trigger, or the area of a context menu.",
130003
+ "inheritedFrom": {
130004
+ "name": "HelixHeadlessMenu",
130005
+ "module": "src/menu/root/menu-root.ts"
130006
+ }
130007
+ },
130008
+ {
130009
+ "kind": "field",
130010
+ "name": "handlePointerDown",
130011
+ "privacy": "private",
130012
+ "readonly": true,
130013
+ "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.",
130014
+ "inheritedFrom": {
130015
+ "name": "HelixHeadlessMenu",
130016
+ "module": "src/menu/root/menu-root.ts"
130017
+ }
130018
+ },
130019
+ {
130020
+ "kind": "field",
130021
+ "name": "handlePointerMove",
130022
+ "privacy": "private",
130023
+ "readonly": true,
130024
+ "inheritedFrom": {
130025
+ "name": "HelixHeadlessMenu",
130026
+ "module": "src/menu/root/menu-root.ts"
130027
+ }
130028
+ },
130029
+ {
130030
+ "kind": "field",
130031
+ "name": "handlePointerUp",
130032
+ "privacy": "private",
130033
+ "readonly": true,
130034
+ "inheritedFrom": {
130035
+ "name": "HelixHeadlessMenu",
130036
+ "module": "src/menu/root/menu-root.ts"
130037
+ }
130038
+ },
130039
+ {
130040
+ "kind": "field",
130041
+ "name": "handlePointerCancel",
130042
+ "privacy": "private",
130043
+ "readonly": true,
130044
+ "inheritedFrom": {
130045
+ "name": "HelixHeadlessMenu",
130046
+ "module": "src/menu/root/menu-root.ts"
130047
+ }
130048
+ },
130049
+ {
130050
+ "kind": "field",
130051
+ "name": "handleHeldClick",
130052
+ "privacy": "private",
130053
+ "readonly": true,
130054
+ "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.",
130055
+ "inheritedFrom": {
130056
+ "name": "HelixHeadlessMenu",
130057
+ "module": "src/menu/root/menu-root.ts"
130058
+ }
130059
+ },
130060
+ {
130061
+ "kind": "field",
130062
+ "name": "described",
130063
+ "type": {
130064
+ "text": "Element | undefined"
130065
+ },
130066
+ "privacy": "private",
130067
+ "description": "The control the menu has described, so the description can be taken back.",
130068
+ "inheritedFrom": {
130069
+ "name": "HelixHeadlessMenu",
130070
+ "module": "src/menu/root/menu-root.ts"
130071
+ }
130072
+ },
130073
+ {
130074
+ "kind": "method",
130075
+ "name": "describeTrigger",
130076
+ "privacy": "private",
130077
+ "return": {
130078
+ "type": {
130079
+ "text": "void"
130080
+ }
130081
+ },
130082
+ "parameters": [
130083
+ {
130084
+ "name": "light",
130085
+ "default": "false"
130086
+ }
130087
+ ],
130088
+ "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.",
130089
+ "inheritedFrom": {
130090
+ "name": "HelixHeadlessMenu",
130091
+ "module": "src/menu/root/menu-root.ts"
130092
+ }
130093
+ },
130094
+ {
130095
+ "kind": "field",
130096
+ "name": "handleTriggerFocusIn",
130097
+ "privacy": "private",
130098
+ "readonly": true,
130099
+ "description": "A reader reaching the trigger, which is late enough to describe a plain one.",
130100
+ "inheritedFrom": {
130101
+ "name": "HelixHeadlessMenu",
130102
+ "module": "src/menu/root/menu-root.ts"
130103
+ }
130104
+ },
130105
+ {
130106
+ "kind": "field",
130107
+ "name": "hovered",
130108
+ "type": {
130109
+ "text": "HelixHeadlessMenuItem | undefined"
130110
+ },
130111
+ "privacy": "private",
130112
+ "description": "The row the pointer last rested on, under `flyout`.",
130113
+ "inheritedFrom": {
130114
+ "name": "HelixHeadlessMenu",
130115
+ "module": "src/menu/root/menu-root.ts"
130116
+ }
130117
+ },
130118
+ {
130119
+ "kind": "field",
130120
+ "name": "hoverTimer",
130121
+ "type": {
130122
+ "text": "ReturnType<typeof setTimeout> | undefined"
130123
+ },
130124
+ "privacy": "private",
130125
+ "description": "The wait before a rested-on row opens or closes a submenu.",
130126
+ "inheritedFrom": {
130127
+ "name": "HelixHeadlessMenu",
130128
+ "module": "src/menu/root/menu-root.ts"
130129
+ }
130130
+ },
130131
+ {
130132
+ "kind": "field",
130133
+ "name": "grace",
130134
+ "type": {
130135
+ "text": "{ points: [number, number][]; until: number } | undefined"
130136
+ },
130137
+ "privacy": "private",
130138
+ "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.",
130139
+ "inheritedFrom": {
130140
+ "name": "HelixHeadlessMenu",
130141
+ "module": "src/menu/root/menu-root.ts"
130142
+ }
130143
+ },
130144
+ {
130145
+ "kind": "method",
130146
+ "name": "stopHover",
130147
+ "privacy": "private",
130148
+ "return": {
130149
+ "type": {
130150
+ "text": "void"
130151
+ }
130152
+ },
130153
+ "inheritedFrom": {
130154
+ "name": "HelixHeadlessMenu",
130155
+ "module": "src/menu/root/menu-root.ts"
130156
+ }
130157
+ },
130158
+ {
130159
+ "kind": "field",
130160
+ "name": "handleHover",
130161
+ "privacy": "private",
130162
+ "readonly": true,
130163
+ "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.",
130164
+ "inheritedFrom": {
130165
+ "name": "HelixHeadlessMenu",
130166
+ "module": "src/menu/root/menu-root.ts"
130167
+ }
130168
+ },
130169
+ {
130170
+ "kind": "field",
130171
+ "name": "handleRowOut",
130172
+ "privacy": "private",
130173
+ "readonly": true,
130174
+ "description": "The pointer leaving a row whose submenu is open, which starts the grace area.",
130175
+ "inheritedFrom": {
130176
+ "name": "HelixHeadlessMenu",
130177
+ "module": "src/menu/root/menu-root.ts"
130178
+ }
130179
+ },
130180
+ {
130181
+ "kind": "method",
130182
+ "name": "inGrace",
130183
+ "privacy": "private",
130184
+ "return": {
130185
+ "type": {
130186
+ "text": "boolean"
130187
+ }
130188
+ },
130189
+ "parameters": [
130190
+ {
130191
+ "name": "event",
130192
+ "type": {
130193
+ "text": "PointerEvent"
130194
+ }
130195
+ }
130196
+ ],
130197
+ "description": "Whether the pointer is inside the grace area, while it holds.",
130198
+ "inheritedFrom": {
130199
+ "name": "HelixHeadlessMenu",
130200
+ "module": "src/menu/root/menu-root.ts"
130201
+ }
130202
+ },
129271
130203
  {
129272
130204
  "kind": "method",
129273
130205
  "name": "nameSurface",
@@ -129700,10 +130632,19 @@
129700
130632
  "min": 300,
129701
130633
  "slug": "events"
129702
130634
  },
130635
+ {
130636
+ "description": "A menu whose submenus open in a panel beside their rows.",
130637
+ "min": 300,
130638
+ "slug": "flyout"
130639
+ },
129703
130640
  {
129704
130641
  "description": "Rows that navigate, rendered as anchors.",
129705
130642
  "slug": "links"
129706
130643
  },
130644
+ {
130645
+ "description": "A button that runs its own action on a press, and opens a menu on a long press or Alt+Down.",
130646
+ "slug": "long-press"
130647
+ },
129707
130648
  {
129708
130649
  "description": "A menu that opens to the right with a larger offset, and a row that downloads a file.",
129709
130650
  "slug": "placement"
@@ -129822,6 +130763,19 @@
129822
130763
  "module": "src/menu/root/menu-root.ts"
129823
130764
  }
129824
130765
  },
130766
+ {
130767
+ "name": "long-press-label",
130768
+ "type": {
130769
+ "text": "string"
130770
+ },
130771
+ "default": "'Long press or press Alt+Down to show the menu'",
130772
+ "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.",
130773
+ "fieldName": "longPressLabel",
130774
+ "inheritedFrom": {
130775
+ "name": "HelixHeadlessMenu",
130776
+ "module": "src/menu/root/menu-root.ts"
130777
+ }
130778
+ },
129825
130779
  {
129826
130780
  "name": "offset",
129827
130781
  "type": {
@@ -129835,6 +130789,19 @@
129835
130789
  "module": "src/menu/root/menu-root.ts"
129836
130790
  }
129837
130791
  },
130792
+ {
130793
+ "name": "open-on",
130794
+ "type": {
130795
+ "text": "'click' | 'long-press'"
130796
+ },
130797
+ "default": "'click'",
130798
+ "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.",
130799
+ "fieldName": "openOn",
130800
+ "inheritedFrom": {
130801
+ "name": "HelixHeadlessMenu",
130802
+ "module": "src/menu/root/menu-root.ts"
130803
+ }
130804
+ },
129838
130805
  {
129839
130806
  "name": "placement",
129840
130807
  "type": {
@@ -129847,6 +130814,19 @@
129847
130814
  "name": "HelixHeadlessMenu",
129848
130815
  "module": "src/menu/root/menu-root.ts"
129849
130816
  }
130817
+ },
130818
+ {
130819
+ "name": "submenus",
130820
+ "type": {
130821
+ "text": "'drill' | 'flyout'"
130822
+ },
130823
+ "default": "'drill'",
130824
+ "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.",
130825
+ "fieldName": "submenus",
130826
+ "inheritedFrom": {
130827
+ "name": "HelixHeadlessMenu",
130828
+ "module": "src/menu/root/menu-root.ts"
130829
+ }
129850
130830
  }
129851
130831
  ],
129852
130832
  "events": [
@@ -135278,6 +136258,23 @@
135278
136258
  "module": "src/notifications/root/notifications-root.ts"
135279
136259
  }
135280
136260
  },
136261
+ {
136262
+ "kind": "field",
136263
+ "name": "arrivedLabel",
136264
+ "type": {
136265
+ "text": "string"
136266
+ },
136267
+ "default": "'{count, plural, one {# new notification} other {# new notifications}}'",
136268
+ "description": "What the feed says when unread notifications arrive, with `{count}` the\nnumber of them. Empty it to say nothing.",
136269
+ "attribute": "arrived-label",
136270
+ "helix": {
136271
+ "words": true
136272
+ },
136273
+ "inheritedFrom": {
136274
+ "name": "HelixHeadlessNotifications",
136275
+ "module": "src/notifications/root/notifications-root.ts"
136276
+ }
136277
+ },
135281
136278
  {
135282
136279
  "kind": "field",
135283
136280
  "name": "fallbackLabel",
@@ -135648,6 +136645,46 @@
135648
136645
  "module": "src/notifications/root/notifications-root.ts"
135649
136646
  }
135650
136647
  },
136648
+ {
136649
+ "kind": "field",
136650
+ "name": "seen",
136651
+ "type": {
136652
+ "text": "WeakSet<Element> | undefined"
136653
+ },
136654
+ "privacy": "private",
136655
+ "description": "The rows the feed has met, so a row that arrives later is told apart.",
136656
+ "inheritedFrom": {
136657
+ "name": "HelixHeadlessNotifications",
136658
+ "module": "src/notifications/root/notifications-root.ts"
136659
+ }
136660
+ },
136661
+ {
136662
+ "kind": "field",
136663
+ "name": "hush",
136664
+ "privacy": "private",
136665
+ "readonly": true,
136666
+ "default": "new DelayController(this, { renders: false })",
136667
+ "description": "Empties the arrival a moment after it is said, so the next one is news.",
136668
+ "inheritedFrom": {
136669
+ "name": "HelixHeadlessNotifications",
136670
+ "module": "src/notifications/root/notifications-root.ts"
136671
+ }
136672
+ },
136673
+ {
136674
+ "kind": "method",
136675
+ "name": "noteArrivals",
136676
+ "privacy": "private",
136677
+ "return": {
136678
+ "type": {
136679
+ "text": "void"
136680
+ }
136681
+ },
136682
+ "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.",
136683
+ "inheritedFrom": {
136684
+ "name": "HelixHeadlessNotifications",
136685
+ "module": "src/notifications/root/notifications-root.ts"
136686
+ }
136687
+ },
135651
136688
  {
135652
136689
  "kind": "field",
135653
136690
  "name": "failed",
@@ -136088,6 +137125,19 @@
136088
137125
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
136089
137126
  }
136090
137127
  },
137128
+ {
137129
+ "name": "arrived-label",
137130
+ "type": {
137131
+ "text": "string"
137132
+ },
137133
+ "default": "'{count, plural, one {# new notification} other {# new notifications}}'",
137134
+ "description": "What the feed says when unread notifications arrive, with `{count}` the\nnumber of them. Empty it to say nothing.",
137135
+ "fieldName": "arrivedLabel",
137136
+ "inheritedFrom": {
137137
+ "name": "HelixHeadlessNotifications",
137138
+ "module": "src/notifications/root/notifications-root.ts"
137139
+ }
137140
+ },
136091
137141
  {
136092
137142
  "name": "fallback-label",
136093
137143
  "type": {
@@ -209814,7 +210864,7 @@
209814
210864
  "name": "countdown",
209815
210865
  "privacy": "private",
209816
210866
  "readonly": true,
209817
- "default": "new CountdownController(this, { done: () => { this.dismiss() }, holdWhileHidden: true, paused: (paused) => { this.toggleAttribute('data-paused', paused) }, })",
210867
+ "default": "new CountdownController(this, { done: () => { this.dismiss() }, holdWhileHidden: true, paused: (paused) => { this.toggleAttribute('data-paused', paused) this.toggleState('paused', paused) }, })",
209818
210868
  "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
210869
  "inheritedFrom": {
209820
210870
  "name": "HelixHeadlessToastItem",
@@ -209835,6 +210885,70 @@
209835
210885
  "module": "src/toast/item/toast-item.ts"
209836
210886
  }
209837
210887
  },
210888
+ {
210889
+ "kind": "field",
210890
+ "name": "waiting",
210891
+ "type": {
210892
+ "text": "boolean"
210893
+ },
210894
+ "default": "false",
210895
+ "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.",
210896
+ "inheritedFrom": {
210897
+ "name": "HelixHeadlessToastItem",
210898
+ "module": "src/toast/item/toast-item.ts"
210899
+ }
210900
+ },
210901
+ {
210902
+ "kind": "field",
210903
+ "name": "started",
210904
+ "type": {
210905
+ "text": "boolean"
210906
+ },
210907
+ "privacy": "private",
210908
+ "default": "false",
210909
+ "description": "Whether the dismiss timer has started, which it does once the message first shows.",
210910
+ "inheritedFrom": {
210911
+ "name": "HelixHeadlessToastItem",
210912
+ "module": "src/toast/item/toast-item.ts"
210913
+ }
210914
+ },
210915
+ {
210916
+ "kind": "field",
210917
+ "name": "holding",
210918
+ "type": {
210919
+ "text": "boolean"
210920
+ },
210921
+ "privacy": "private",
210922
+ "default": "false",
210923
+ "description": "Whether the timer is held for `waiting`, so the hold is let go once.",
210924
+ "inheritedFrom": {
210925
+ "name": "HelixHeadlessToastItem",
210926
+ "module": "src/toast/item/toast-item.ts"
210927
+ }
210928
+ },
210929
+ {
210930
+ "kind": "method",
210931
+ "name": "wait",
210932
+ "privacy": "private",
210933
+ "return": {
210934
+ "type": {
210935
+ "text": "void"
210936
+ }
210937
+ },
210938
+ "parameters": [
210939
+ {
210940
+ "name": "waiting",
210941
+ "type": {
210942
+ "text": "boolean"
210943
+ }
210944
+ }
210945
+ ],
210946
+ "description": "Starts the timer when the message first shows, and holds it while it waits again.",
210947
+ "inheritedFrom": {
210948
+ "name": "HelixHeadlessToastItem",
210949
+ "module": "src/toast/item/toast-item.ts"
210950
+ }
210951
+ },
209838
210952
  {
209839
210953
  "kind": "field",
209840
210954
  "name": "openState",
@@ -209903,6 +211017,17 @@
209903
211017
  "module": "src/toast/item/toast-item.ts"
209904
211018
  }
209905
211019
  },
211020
+ {
211021
+ "kind": "field",
211022
+ "name": "handleKeydown",
211023
+ "privacy": "private",
211024
+ "readonly": true,
211025
+ "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.",
211026
+ "inheritedFrom": {
211027
+ "name": "HelixHeadlessToastItem",
211028
+ "module": "src/toast/item/toast-item.ts"
211029
+ }
211030
+ },
209906
211031
  {
209907
211032
  "kind": "method",
209908
211033
  "name": "assigned",
@@ -210541,6 +211666,30 @@
210541
211666
  }
210542
211667
  ],
210543
211668
  "cssStates": [
211669
+ {
211670
+ "description": "The message has been dismissed and is hidden, or leaving.",
211671
+ "name": "closed",
211672
+ "inheritedFrom": {
211673
+ "name": "HelixHeadlessToastItem",
211674
+ "module": "src/toast/item/toast-item.ts"
211675
+ }
211676
+ },
211677
+ {
211678
+ "description": "The dismiss timer is paused, while a pointer or focus is on the message, or while the page is hidden.",
211679
+ "name": "paused",
211680
+ "inheritedFrom": {
211681
+ "name": "HelixHeadlessToastItem",
211682
+ "module": "src/toast/item/toast-item.ts"
211683
+ }
211684
+ },
211685
+ {
211686
+ "description": "The region holds the message back, past its `max-visible`, until a message before it goes.",
211687
+ "name": "waiting",
211688
+ "inheritedFrom": {
211689
+ "name": "HelixHeadlessToastItem",
211690
+ "module": "src/toast/item/toast-item.ts"
211691
+ }
211692
+ },
210544
211693
  {
210545
211694
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
210546
211695
  "name": "settled",
@@ -210675,6 +211824,19 @@
210675
211824
  "module": "src/toast/root/toast-root.ts"
210676
211825
  }
210677
211826
  },
211827
+ {
211828
+ "kind": "field",
211829
+ "name": "maxVisible",
211830
+ "type": {
211831
+ "text": "number | undefined"
211832
+ },
211833
+ "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.",
211834
+ "attribute": "max-visible",
211835
+ "inheritedFrom": {
211836
+ "name": "HelixHeadlessToast",
211837
+ "module": "src/toast/root/toast-root.ts"
211838
+ }
211839
+ },
210678
211840
  {
210679
211841
  "kind": "field",
210680
211842
  "name": "placement",
@@ -210924,6 +212086,48 @@
210924
212086
  "module": "src/toast/root/toast-root.ts"
210925
212087
  }
210926
212088
  },
212089
+ {
212090
+ "kind": "field",
212091
+ "name": "held",
212092
+ "privacy": "private",
212093
+ "readonly": true,
212094
+ "default": "new WeakSet<Element>()",
212095
+ "description": "The messages `max-visible` holds back.",
212096
+ "inheritedFrom": {
212097
+ "name": "HelixHeadlessToast",
212098
+ "module": "src/toast/root/toast-root.ts"
212099
+ }
212100
+ },
212101
+ {
212102
+ "kind": "method",
212103
+ "name": "queue",
212104
+ "privacy": "private",
212105
+ "return": {
212106
+ "type": {
212107
+ "text": "HTMLElement[]"
212108
+ }
212109
+ },
212110
+ "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.",
212111
+ "inheritedFrom": {
212112
+ "name": "HelixHeadlessToast",
212113
+ "module": "src/toast/root/toast-root.ts"
212114
+ }
212115
+ },
212116
+ {
212117
+ "kind": "method",
212118
+ "name": "restack",
212119
+ "privacy": "private",
212120
+ "return": {
212121
+ "type": {
212122
+ "text": "void"
212123
+ }
212124
+ },
212125
+ "description": "Lets go of the messages past `max-visible` that now have room, raises the\nstack and says them, once each has shown.",
212126
+ "inheritedFrom": {
212127
+ "name": "HelixHeadlessToast",
212128
+ "module": "src/toast/root/toast-root.ts"
212129
+ }
212130
+ },
210927
212131
  {
210928
212132
  "kind": "field",
210929
212133
  "name": "region",
@@ -211408,6 +212612,10 @@
211408
212612
  "description": "A message sends `helix-dismiss`, and your code decides whether it closes.",
211409
212613
  "slug": "events"
211410
212614
  },
212615
+ {
212616
+ "description": "Two toasts at a time, with the next shown when you dismiss one.",
212617
+ "slug": "queue"
212618
+ },
211411
212619
  {
211412
212620
  "description": "Toasts with no tone and in the `info`, `success`, `warning`, and `danger` tones.",
211413
212621
  "slug": "tones"
@@ -211472,6 +212680,18 @@
211472
212680
  "module": "src/toast/root/toast-root.ts"
211473
212681
  }
211474
212682
  },
212683
+ {
212684
+ "name": "max-visible",
212685
+ "type": {
212686
+ "text": "number | undefined"
212687
+ },
212688
+ "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.",
212689
+ "fieldName": "maxVisible",
212690
+ "inheritedFrom": {
212691
+ "name": "HelixHeadlessToast",
212692
+ "module": "src/toast/root/toast-root.ts"
212693
+ }
212694
+ },
211475
212695
  {
211476
212696
  "name": "placement",
211477
212697
  "type": {
@@ -225308,6 +226528,14 @@
225308
226528
  "module": "src/video-playlist/menu/video-playlist-menu.ts"
225309
226529
  }
225310
226530
  },
226531
+ {
226532
+ "description": "The panel an entry's submenu opens in beside it. The playlist's entries have none.",
226533
+ "name": "entry-surface",
226534
+ "inheritedFrom": {
226535
+ "name": "HelixHeadlessVideoPlaylistMenu",
226536
+ "module": "src/video-playlist/menu/video-playlist-menu.ts"
226537
+ }
226538
+ },
225311
226539
  {
225312
226540
  "description": "The menu that holds the entries.",
225313
226541
  "name": "menu",
@@ -229997,6 +231225,14 @@
229997
231225
  "module": "src/video/root/video-root.ts"
229998
231226
  }
229999
231227
  },
231228
+ {
231229
+ "description": "The panel a row's submenu opens in beside it. The player's rows have none.",
231230
+ "name": "entry-surface",
231231
+ "inheritedFrom": {
231232
+ "name": "HelixHeadlessVideo",
231233
+ "module": "src/video/root/video-root.ts"
231234
+ }
231235
+ },
230000
231236
  {
230001
231237
  "description": "The message shown when the source cannot be played.",
230002
231238
  "name": "failure",
@@ -232437,6 +233673,6 @@
232437
233673
  ],
232438
233674
  "helix": {
232439
233675
  "package": "@fusion.dev/helix",
232440
- "version": "0.156.0"
233676
+ "version": "0.157.0"
232441
233677
  }
232442
233678
  }