@fusion.dev/helix 0.162.1 → 0.164.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.
@@ -1833,6 +1833,35 @@
1833
1833
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
1834
1834
  }
1835
1835
  },
1836
+ {
1837
+ "kind": "field",
1838
+ "name": "present",
1839
+ "type": {
1840
+ "text": "boolean"
1841
+ },
1842
+ "privacy": "protected",
1843
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
1844
+ "readonly": true,
1845
+ "inheritedFrom": {
1846
+ "name": "MixinDismissible",
1847
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
1848
+ }
1849
+ },
1850
+ {
1851
+ "kind": "method",
1852
+ "name": "handFocusOn",
1853
+ "privacy": "protected",
1854
+ "return": {
1855
+ "type": {
1856
+ "text": "void"
1857
+ }
1858
+ },
1859
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
1860
+ "inheritedFrom": {
1861
+ "name": "MixinDismissible",
1862
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
1863
+ }
1864
+ },
1836
1865
  {
1837
1866
  "kind": "method",
1838
1867
  "name": "dismiss",
@@ -17404,6 +17433,35 @@
17404
17433
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
17405
17434
  }
17406
17435
  },
17436
+ {
17437
+ "kind": "field",
17438
+ "name": "present",
17439
+ "type": {
17440
+ "text": "boolean"
17441
+ },
17442
+ "privacy": "protected",
17443
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
17444
+ "readonly": true,
17445
+ "inheritedFrom": {
17446
+ "name": "MixinDismissible",
17447
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
17448
+ }
17449
+ },
17450
+ {
17451
+ "kind": "method",
17452
+ "name": "handFocusOn",
17453
+ "privacy": "protected",
17454
+ "return": {
17455
+ "type": {
17456
+ "text": "void"
17457
+ }
17458
+ },
17459
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
17460
+ "inheritedFrom": {
17461
+ "name": "MixinDismissible",
17462
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
17463
+ }
17464
+ },
17407
17465
  {
17408
17466
  "kind": "method",
17409
17467
  "name": "dismiss",
@@ -17509,6 +17567,34 @@
17509
17567
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
17510
17568
  }
17511
17569
  },
17570
+ {
17571
+ "kind": "field",
17572
+ "name": "turn",
17573
+ "type": {
17574
+ "text": "number"
17575
+ },
17576
+ "privacy": "private",
17577
+ "default": "0",
17578
+ "description": "Which journey is the latest, so an entrance settling late leaves an exit alone.",
17579
+ "inheritedFrom": {
17580
+ "name": "HelixHeadlessCallout",
17581
+ "module": "src/callout/root/callout-root.ts"
17582
+ }
17583
+ },
17584
+ {
17585
+ "kind": "field",
17586
+ "name": "open",
17587
+ "type": {
17588
+ "text": "boolean"
17589
+ },
17590
+ "default": "true",
17591
+ "description": "Whether the callout is showing. A dismissal nobody canceled turns it\nfalse and the callout hides itself, and setting it true shows the callout\nagain. Not reflected: open is the resting state, so an `open` attribute\nwould appear on markup a server sent without it.",
17592
+ "attribute": "open",
17593
+ "inheritedFrom": {
17594
+ "name": "HelixHeadlessCallout",
17595
+ "module": "src/callout/root/callout-root.ts"
17596
+ }
17597
+ },
17512
17598
  {
17513
17599
  "kind": "field",
17514
17600
  "name": "tone",
@@ -17621,6 +17707,32 @@
17621
17707
  "module": "src/callout/root/callout-root.ts"
17622
17708
  }
17623
17709
  },
17710
+ {
17711
+ "kind": "method",
17712
+ "name": "journey",
17713
+ "privacy": "private",
17714
+ "return": {
17715
+ "type": {
17716
+ "text": "void"
17717
+ }
17718
+ },
17719
+ "description": "The way out after a dismissal, or back in after `open` is set again.\n\n**Hidden only once the exit has run**, since a hidden element draws no\nanimation: `:state(exiting)` holds until every animation on the callout\nhas finished, or two frames where it has none, and then `hidden` takes it\nout of the page and out of the accessibility tree. Shown again at once,\nwith `:state(entering)` while it arrives.",
17720
+ "inheritedFrom": {
17721
+ "name": "HelixHeadlessCallout",
17722
+ "module": "src/callout/root/callout-root.ts"
17723
+ }
17724
+ },
17725
+ {
17726
+ "kind": "field",
17727
+ "name": "readRegions",
17728
+ "privacy": "private",
17729
+ "readonly": true,
17730
+ "description": "Says which regions hold something, one call apiece so each pairs with its `@cssstate`.",
17731
+ "inheritedFrom": {
17732
+ "name": "HelixHeadlessCallout",
17733
+ "module": "src/callout/root/callout-root.ts"
17734
+ }
17735
+ },
17624
17736
  {
17625
17737
  "kind": "field",
17626
17738
  "name": "tier",
@@ -17996,6 +18108,19 @@
17996
18108
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
17997
18109
  }
17998
18110
  },
18111
+ {
18112
+ "name": "open",
18113
+ "type": {
18114
+ "text": "boolean"
18115
+ },
18116
+ "default": "true",
18117
+ "description": "Whether the callout is showing. A dismissal nobody canceled turns it\nfalse and the callout hides itself, and setting it true shows the callout\nagain. Not reflected: open is the resting state, so an `open` attribute\nwould appear on markup a server sent without it.",
18118
+ "fieldName": "open",
18119
+ "inheritedFrom": {
18120
+ "name": "HelixHeadlessCallout",
18121
+ "module": "src/callout/root/callout-root.ts"
18122
+ }
18123
+ },
17999
18124
  {
18000
18125
  "name": "tone",
18001
18126
  "type": {
@@ -18085,7 +18210,7 @@
18085
18210
  "type": {
18086
18211
  "text": "HelixDismissEvent"
18087
18212
  },
18088
- "description": "The dismiss button was pressed. The callout does not remove itself, so remove it in response. Cancelable.",
18213
+ "description": "The dismiss button was pressed. Unless a listener cancels it, the callout hides itself, and a listener may remove it instead. Cancelable: cancel it to keep the callout showing.",
18089
18214
  "name": "helix-dismiss",
18090
18215
  "reactProp": "onhelix-dismiss",
18091
18216
  "inheritedFrom": {
@@ -18095,6 +18220,46 @@
18095
18220
  }
18096
18221
  ],
18097
18222
  "cssStates": [
18223
+ {
18224
+ "description": "While `open` is false: the callout was dismissed, and is leaving or hidden.",
18225
+ "name": "closed",
18226
+ "inheritedFrom": {
18227
+ "name": "HelixHeadlessCallout",
18228
+ "module": "src/callout/root/callout-root.ts"
18229
+ }
18230
+ },
18231
+ {
18232
+ "description": "While a callout shown again by `open` runs its entrance animations.",
18233
+ "name": "entering",
18234
+ "inheritedFrom": {
18235
+ "name": "HelixHeadlessCallout",
18236
+ "module": "src/callout/root/callout-root.ts"
18237
+ }
18238
+ },
18239
+ {
18240
+ "description": "While a dismissed callout runs its exit animations, before it is hidden.",
18241
+ "name": "exiting",
18242
+ "inheritedFrom": {
18243
+ "name": "HelixHeadlessCallout",
18244
+ "module": "src/callout/root/callout-root.ts"
18245
+ }
18246
+ },
18247
+ {
18248
+ "description": "Something is slotted into `heading`.",
18249
+ "name": "has-heading",
18250
+ "inheritedFrom": {
18251
+ "name": "HelixHeadlessCallout",
18252
+ "module": "src/callout/root/callout-root.ts"
18253
+ }
18254
+ },
18255
+ {
18256
+ "description": "An icon of your own is slotted into `icon`, in place of the tone's.",
18257
+ "name": "has-icon",
18258
+ "inheritedFrom": {
18259
+ "name": "HelixHeadlessCallout",
18260
+ "module": "src/callout/root/callout-root.ts"
18261
+ }
18262
+ },
18098
18263
  {
18099
18264
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
18100
18265
  "name": "settled",
@@ -18903,6 +19068,22 @@
18903
19068
  "package": "@fusion.dev/helix-headless/canvas"
18904
19069
  }
18905
19070
  },
19071
+ {
19072
+ "kind": "js",
19073
+ "name": "CanvasRoute",
19074
+ "declaration": {
19075
+ "name": "CanvasRoute",
19076
+ "package": "@fusion.dev/helix-headless/canvas"
19077
+ }
19078
+ },
19079
+ {
19080
+ "kind": "js",
19081
+ "name": "CanvasRouteEnds",
19082
+ "declaration": {
19083
+ "name": "CanvasRouteEnds",
19084
+ "package": "@fusion.dev/helix-headless/canvas"
19085
+ }
19086
+ },
18906
19087
  {
18907
19088
  "kind": "js",
18908
19089
  "name": "CanvasSide",
@@ -20008,6 +20189,14 @@
20008
20189
  "description": "The size of the label on a connection.",
20009
20190
  "name": "--canvas-label-font-size"
20010
20191
  },
20192
+ {
20193
+ "description": "The height of the minimap, under `controls=\"minimap\"`.",
20194
+ "name": "--canvas-minimap-block-size"
20195
+ },
20196
+ {
20197
+ "description": "The width of the minimap, under `controls=\"minimap\"`.",
20198
+ "name": "--canvas-minimap-inline-size"
20199
+ },
20011
20200
  {
20012
20201
  "description": "The frame's corners.",
20013
20202
  "name": "--canvas-radius"
@@ -21052,6 +21241,18 @@
21052
21241
  "module": "src/canvas/root/canvas-root.ts"
21053
21242
  }
21054
21243
  },
21244
+ {
21245
+ "kind": "field",
21246
+ "name": "edgeRoute",
21247
+ "type": {
21248
+ "text": "CanvasRoute | undefined"
21249
+ },
21250
+ "description": "Draws every connection's line: a function from where it leaves and\narrives, and the sides it does, to its SVG path and where its label sits.\n\nAbsent, or returning nothing for a connection, draws the board's own\nroute. A function that throws draws the board's own too, and the error is\nreported to the page as an uncaught one. Set it as a property.",
21251
+ "inheritedFrom": {
21252
+ "name": "HelixHeadlessCanvas",
21253
+ "module": "src/canvas/root/canvas-root.ts"
21254
+ }
21255
+ },
21055
21256
  {
21056
21257
  "kind": "field",
21057
21258
  "name": "fallbackLabel",
@@ -22383,6 +22584,53 @@
22383
22584
  "module": "src/canvas/root/canvas-root.ts"
22384
22585
  }
22385
22586
  },
22587
+ {
22588
+ "kind": "method",
22589
+ "name": "draw",
22590
+ "privacy": "private",
22591
+ "return": {
22592
+ "type": {
22593
+ "text": "{ d: string; mid: { x: number; y: number } }"
22594
+ }
22595
+ },
22596
+ "parameters": [
22597
+ {
22598
+ "name": "edge",
22599
+ "type": {
22600
+ "text": "CanvasEdge"
22601
+ }
22602
+ },
22603
+ {
22604
+ "name": "from",
22605
+ "type": {
22606
+ "text": "CanvasNode"
22607
+ }
22608
+ },
22609
+ {
22610
+ "name": "to",
22611
+ "type": {
22612
+ "text": "CanvasNode"
22613
+ }
22614
+ },
22615
+ {
22616
+ "name": "path",
22617
+ "type": {
22618
+ "text": "CanvasPath"
22619
+ }
22620
+ },
22621
+ {
22622
+ "name": "drawnHeads",
22623
+ "type": {
22624
+ "text": "{ start: boolean; end: boolean }"
22625
+ }
22626
+ }
22627
+ ],
22628
+ "description": "One connection's line, by `edgeRoute` where it draws one, and by the board's own where not.",
22629
+ "inheritedFrom": {
22630
+ "name": "HelixHeadlessCanvas",
22631
+ "module": "src/canvas/root/canvas-root.ts"
22632
+ }
22633
+ },
22386
22634
  {
22387
22635
  "kind": "method",
22388
22636
  "name": "cardOf",
@@ -24032,6 +24280,60 @@
24032
24280
  "module": "src/canvas/root/canvas-root.ts"
24033
24281
  }
24034
24282
  },
24283
+ {
24284
+ "kind": "field",
24285
+ "name": "onScreen",
24286
+ "type": {
24287
+ "text": "{ x: number; y: number; width: number; height: number }"
24288
+ },
24289
+ "privacy": "private",
24290
+ "description": "The part of the document on screen, in its own units.",
24291
+ "readonly": true,
24292
+ "inheritedFrom": {
24293
+ "name": "HelixHeadlessCanvas",
24294
+ "module": "src/canvas/root/canvas-root.ts"
24295
+ }
24296
+ },
24297
+ {
24298
+ "kind": "field",
24299
+ "name": "minimapArea",
24300
+ "type": {
24301
+ "text": "{ x: number; y: number; width: number; height: number }"
24302
+ },
24303
+ "privacy": "private",
24304
+ "description": "What the minimap shows: every card and what is on screen, with room around them.",
24305
+ "readonly": true,
24306
+ "inheritedFrom": {
24307
+ "name": "HelixHeadlessCanvas",
24308
+ "module": "src/canvas/root/canvas-root.ts"
24309
+ }
24310
+ },
24311
+ {
24312
+ "kind": "field",
24313
+ "name": "handleMinimapPointer",
24314
+ "privacy": "private",
24315
+ "readonly": true,
24316
+ "description": "A press or a drag on the minimap, which brings the place under it to the\nmiddle of the view.\n\n**The point is read through the picture's own scale**: the area is drawn\nwhole and centered in the box, so the box's spare width or height is split\neither side of it.",
24317
+ "inheritedFrom": {
24318
+ "name": "HelixHeadlessCanvas",
24319
+ "module": "src/canvas/root/canvas-root.ts"
24320
+ }
24321
+ },
24322
+ {
24323
+ "kind": "method",
24324
+ "name": "renderMinimap",
24325
+ "privacy": "private",
24326
+ "return": {
24327
+ "type": {
24328
+ "text": "TemplateResult | typeof nothing"
24329
+ }
24330
+ },
24331
+ "description": "The minimap, under `controls=\"minimap\"`: each card as a box, and a frame\naround what is on screen.\n\n**A picture for a pointer**, hidden from screen readers and taking no\nfocus, as a map's own overview is: the arrow keys and `show()` already take\na keyboard to any card, and a second way that says nothing a reader can\nuse would be a stop that does nothing.",
24332
+ "inheritedFrom": {
24333
+ "name": "HelixHeadlessCanvas",
24334
+ "module": "src/canvas/root/canvas-root.ts"
24335
+ }
24336
+ },
24035
24337
  {
24036
24338
  "kind": "field",
24037
24339
  "name": "tier",
@@ -24978,6 +25280,10 @@
24978
25280
  "description": "A flowchart with a pill to start, boxes for steps, a diamond for the decision, and a circle to end, joined at right angles.",
24979
25281
  "slug": "flowchart"
24980
25282
  },
25283
+ {
25284
+ "description": "A board with a minimap in its corner. A press or a drag on the minimap moves the view there.",
25285
+ "slug": "minimap"
25286
+ },
24981
25287
  {
24982
25288
  "description": "A read-only board for publishing. Every card stays where its author put it, and every connection turns at right angles.",
24983
25289
  "slug": "read-only"
@@ -25222,6 +25528,30 @@
25222
25528
  "module": "src/canvas/root/canvas-root.ts"
25223
25529
  }
25224
25530
  },
25531
+ {
25532
+ "description": "The picture of the whole board, under `controls=\"minimap\"`.",
25533
+ "name": "minimap",
25534
+ "inheritedFrom": {
25535
+ "name": "HelixHeadlessCanvas",
25536
+ "module": "src/canvas/root/canvas-root.ts"
25537
+ }
25538
+ },
25539
+ {
25540
+ "description": "One card in the minimap.",
25541
+ "name": "minimap-node",
25542
+ "inheritedFrom": {
25543
+ "name": "HelixHeadlessCanvas",
25544
+ "module": "src/canvas/root/canvas-root.ts"
25545
+ }
25546
+ },
25547
+ {
25548
+ "description": "The frame in the minimap around what is on screen.",
25549
+ "name": "minimap-view",
25550
+ "inheritedFrom": {
25551
+ "name": "HelixHeadlessCanvas",
25552
+ "module": "src/canvas/root/canvas-root.ts"
25553
+ }
25554
+ },
25225
25555
  {
25226
25556
  "description": "The button that moves the board down.",
25227
25557
  "name": "pan-down",
@@ -32965,7 +33295,43 @@
32965
33295
  }
32966
33296
  }
32967
33297
  ],
32968
- "description": "Moves focus to turn `at`, drawing it first where the transcript is\nwindowed and it is not drawn.\n\n**A turn takes focus only once a reader moves to it**, so the\n`tabindex=\"-1\"` a turn written as a child needs is written then, long\nafter any server's markup has hydrated, and never on a turn nobody moved\nto.",
33298
+ "description": "Moves focus to turn `at`, drawing it first where the transcript is\nwindowed and it is not drawn.\n\n**A turn takes focus only once a reader moves to it**, so the `tabindex`\nit needs is written then, long after any server's markup has hydrated,\nand never on a turn nobody moved to.",
33299
+ "inheritedFrom": {
33300
+ "name": "HelixHeadlessChat",
33301
+ "module": "src/chat/root/chat-root.ts"
33302
+ }
33303
+ },
33304
+ {
33305
+ "kind": "field",
33306
+ "name": "stop",
33307
+ "type": {
33308
+ "text": "HTMLElement | undefined"
33309
+ },
33310
+ "privacy": "private",
33311
+ "description": "The turn that is a tab stop because a reader moved to it.",
33312
+ "inheritedFrom": {
33313
+ "name": "HelixHeadlessChat",
33314
+ "module": "src/chat/root/chat-root.ts"
33315
+ }
33316
+ },
33317
+ {
33318
+ "kind": "method",
33319
+ "name": "visit",
33320
+ "privacy": "private",
33321
+ "return": {
33322
+ "type": {
33323
+ "text": "void"
33324
+ }
33325
+ },
33326
+ "parameters": [
33327
+ {
33328
+ "name": "turn",
33329
+ "type": {
33330
+ "text": "HTMLElement"
33331
+ }
33332
+ }
33333
+ ],
33334
+ "description": "Focuses a turn, making it the transcript's one stop a reader moved to.\n\n**`0`, and never `-1`.** Chromium leaves the whole of a shadow host at a\nnegative `tabindex` out of the Tab order, its own controls and what is\nslotted into it alike, so a turn at `-1` lost its links and its Try again\nonce a reader had paged through it. The stop moves with the reader, and a\n`tabindex` you wrote on a turn is left as it is.",
32969
33335
  "inheritedFrom": {
32970
33336
  "name": "HelixHeadlessChat",
32971
33337
  "module": "src/chat/root/chat-root.ts"
@@ -38151,6 +38517,19 @@
38151
38517
  "module": "src/code-block/root/code-block-root.ts"
38152
38518
  }
38153
38519
  },
38520
+ {
38521
+ "kind": "field",
38522
+ "name": "contextLines",
38523
+ "type": {
38524
+ "text": "number | undefined"
38525
+ },
38526
+ "description": "In a diff, how many unchanged lines to keep beside each change. Each\nlonger run of unchanged lines is folded behind a button that shows it.\nUnset shows every line the diff holds.",
38527
+ "attribute": "context-lines",
38528
+ "inheritedFrom": {
38529
+ "name": "HelixHeadlessCodeBlock",
38530
+ "module": "src/code-block/root/code-block-root.ts"
38531
+ }
38532
+ },
38154
38533
  {
38155
38534
  "kind": "field",
38156
38535
  "name": "copiedLabel",
@@ -38248,6 +38627,23 @@
38248
38627
  "module": "src/code-block/root/code-block-root.ts"
38249
38628
  }
38250
38629
  },
38630
+ {
38631
+ "kind": "field",
38632
+ "name": "hideUnchangedLabel",
38633
+ "type": {
38634
+ "text": "string"
38635
+ },
38636
+ "default": "'{count, plural, one {Hide # unchanged line} other {Hide # unchanged lines}}'",
38637
+ "description": "The words of a button that hides a run of unchanged lines it showed, in a\ndiff with `context-lines`. `{count}` is how many, and each language\nwrites the forms it has.",
38638
+ "attribute": "hide-unchanged-label",
38639
+ "helix": {
38640
+ "words": true
38641
+ },
38642
+ "inheritedFrom": {
38643
+ "name": "HelixHeadlessCodeBlock",
38644
+ "module": "src/code-block/root/code-block-root.ts"
38645
+ }
38646
+ },
38251
38647
  {
38252
38648
  "kind": "field",
38253
38649
  "name": "highlight",
@@ -38332,6 +38728,23 @@
38332
38728
  "module": "src/code-block/root/code-block-root.ts"
38333
38729
  }
38334
38730
  },
38731
+ {
38732
+ "kind": "field",
38733
+ "name": "showUnchangedLabel",
38734
+ "type": {
38735
+ "text": "string"
38736
+ },
38737
+ "default": "'{count, plural, one {Show # unchanged line} other {Show # unchanged lines}}'",
38738
+ "description": "The words of a button that shows a folded run of unchanged lines, in a\ndiff with `context-lines`. `{count}` is how many.",
38739
+ "attribute": "show-unchanged-label",
38740
+ "helix": {
38741
+ "words": true
38742
+ },
38743
+ "inheritedFrom": {
38744
+ "name": "HelixHeadlessCodeBlock",
38745
+ "module": "src/code-block/root/code-block-root.ts"
38746
+ }
38747
+ },
38335
38748
  {
38336
38749
  "kind": "field",
38337
38750
  "name": "variant",
@@ -38435,6 +38848,80 @@
38435
38848
  "module": "src/code-block/root/code-block-root.ts"
38436
38849
  }
38437
38850
  },
38851
+ {
38852
+ "kind": "field",
38853
+ "name": "unfolded",
38854
+ "privacy": "private",
38855
+ "readonly": true,
38856
+ "default": "new Set<string>()",
38857
+ "description": "The folds a reader opened, by file, hunk and the line each starts at.",
38858
+ "inheritedFrom": {
38859
+ "name": "HelixHeadlessCodeBlock",
38860
+ "module": "src/code-block/root/code-block-root.ts"
38861
+ }
38862
+ },
38863
+ {
38864
+ "kind": "method",
38865
+ "name": "runsOf",
38866
+ "privacy": "private",
38867
+ "return": {
38868
+ "type": {
38869
+ "text": "DiffRun[]"
38870
+ }
38871
+ },
38872
+ "parameters": [
38873
+ {
38874
+ "name": "hunk",
38875
+ "type": {
38876
+ "text": "DiffHunk"
38877
+ }
38878
+ }
38879
+ ],
38880
+ "description": "A hunk's lines in runs, folded where `context-lines` asks.",
38881
+ "inheritedFrom": {
38882
+ "name": "HelixHeadlessCodeBlock",
38883
+ "module": "src/code-block/root/code-block-root.ts"
38884
+ }
38885
+ },
38886
+ {
38887
+ "kind": "method",
38888
+ "name": "renderFold",
38889
+ "privacy": "private",
38890
+ "return": {
38891
+ "type": {
38892
+ "text": "TemplateResult"
38893
+ }
38894
+ },
38895
+ "parameters": [
38896
+ {
38897
+ "name": "run",
38898
+ "type": {
38899
+ "text": "DiffRun"
38900
+ }
38901
+ },
38902
+ {
38903
+ "name": "key",
38904
+ "type": {
38905
+ "text": "string"
38906
+ }
38907
+ },
38908
+ {
38909
+ "name": "line",
38910
+ "type": {
38911
+ "text": "(one: DiffLine) => TemplateResult"
38912
+ }
38913
+ },
38914
+ {
38915
+ "name": "hidden",
38916
+ "default": "false"
38917
+ }
38918
+ ],
38919
+ "description": "The button over a folded run, and the run once it is open.\n\nA disclosure, so focus stays on the button as the lines appear under it.\nThe new side of a split diff draws the same words hidden from the\naccessibility tree, there to keep the rows level and to answer a press.",
38920
+ "inheritedFrom": {
38921
+ "name": "HelixHeadlessCodeBlock",
38922
+ "module": "src/code-block/root/code-block-root.ts"
38923
+ }
38924
+ },
38438
38925
  {
38439
38926
  "kind": "field",
38440
38927
  "name": "text",
@@ -38859,6 +39346,12 @@
38859
39346
  "type": {
38860
39347
  "text": "number"
38861
39348
  }
39349
+ },
39350
+ {
39351
+ "name": "at",
39352
+ "type": {
39353
+ "text": "number"
39354
+ }
38862
39355
  }
38863
39356
  ],
38864
39357
  "description": "The old version beside the new one, row for row.\n\nThe new side's hunk headers are hidden from the accessibility tree, being\nthe old side's text again and there only to keep the rows level.",
@@ -39327,6 +39820,14 @@
39327
39820
  "module": "src/code-block/root/code-block-root.ts"
39328
39821
  }
39329
39822
  },
39823
+ {
39824
+ "description": "In a diff, the words of a changed line that the line opposite it does not have, inside its `text`.",
39825
+ "name": "changed",
39826
+ "inheritedFrom": {
39827
+ "name": "HelixHeadlessCodeBlock",
39828
+ "module": "src/code-block/root/code-block-root.ts"
39829
+ }
39830
+ },
39330
39831
  {
39331
39832
  "description": "The `<code>` inside it.",
39332
39833
  "name": "code",
@@ -39495,6 +39996,14 @@
39495
39996
  "module": "src/code-block/root/code-block-root.ts"
39496
39997
  }
39497
39998
  },
39999
+ {
40000
+ "description": "In a diff with `context-lines`, the button that shows a folded run of unchanged lines, and hides it again, saying which with `aria-expanded`.",
40001
+ "name": "fold",
40002
+ "inheritedFrom": {
40003
+ "name": "HelixHeadlessCodeBlock",
40004
+ "module": "src/code-block/root/code-block-root.ts"
40005
+ }
40006
+ },
39498
40007
  {
39499
40008
  "description": "The code, and the copy button beside it where there is no header.",
39500
40009
  "name": "frame",
@@ -39648,6 +40157,18 @@
39648
40157
  "module": "src/code-block/root/code-block-root.ts"
39649
40158
  }
39650
40159
  },
40160
+ {
40161
+ "name": "context-lines",
40162
+ "type": {
40163
+ "text": "number | undefined"
40164
+ },
40165
+ "description": "In a diff, how many unchanged lines to keep beside each change. Each\nlonger run of unchanged lines is folded behind a button that shows it.\nUnset shows every line the diff holds.",
40166
+ "fieldName": "contextLines",
40167
+ "inheritedFrom": {
40168
+ "name": "HelixHeadlessCodeBlock",
40169
+ "module": "src/code-block/root/code-block-root.ts"
40170
+ }
40171
+ },
39651
40172
  {
39652
40173
  "name": "copied-label",
39653
40174
  "type": {
@@ -39726,6 +40247,19 @@
39726
40247
  "module": "src/code-block/root/code-block-root.ts"
39727
40248
  }
39728
40249
  },
40250
+ {
40251
+ "name": "hide-unchanged-label",
40252
+ "type": {
40253
+ "text": "string"
40254
+ },
40255
+ "default": "'{count, plural, one {Hide # unchanged line} other {Hide # unchanged lines}}'",
40256
+ "description": "The words of a button that hides a run of unchanged lines it showed, in a\ndiff with `context-lines`. `{count}` is how many, and each language\nwrites the forms it has.",
40257
+ "fieldName": "hideUnchangedLabel",
40258
+ "inheritedFrom": {
40259
+ "name": "HelixHeadlessCodeBlock",
40260
+ "module": "src/code-block/root/code-block-root.ts"
40261
+ }
40262
+ },
39729
40263
  {
39730
40264
  "name": "label",
39731
40265
  "type": {
@@ -39791,6 +40325,19 @@
39791
40325
  "module": "src/code-block/root/code-block-root.ts"
39792
40326
  }
39793
40327
  },
40328
+ {
40329
+ "name": "show-unchanged-label",
40330
+ "type": {
40331
+ "text": "string"
40332
+ },
40333
+ "default": "'{count, plural, one {Show # unchanged line} other {Show # unchanged lines}}'",
40334
+ "description": "The words of a button that shows a folded run of unchanged lines, in a\ndiff with `context-lines`. `{count}` is how many.",
40335
+ "fieldName": "showUnchangedLabel",
40336
+ "inheritedFrom": {
40337
+ "name": "HelixHeadlessCodeBlock",
40338
+ "module": "src/code-block/root/code-block-root.ts"
40339
+ }
40340
+ },
39794
40341
  {
39795
40342
  "name": "variant",
39796
40343
  "type": {
@@ -44829,7 +45376,7 @@
44829
45376
  "name": "handleAreaKeydown",
44830
45377
  "privacy": "private",
44831
45378
  "readonly": true,
44832
- "description": "Moves the square from the keyboard, both axes from either of its inputs.\n\nThe square is two native ranges, and a native range maps every arrow to\nits own one axis: on the saturation input, ArrowUp moved the handle\nsideways. Here the vertical keys move brightness and the horizontal keys\nmove saturation, turned on a right-to-left page as the pointer is, which is\nwhat React Aria's ColorArea does.",
45379
+ "description": "Moves the square from the keyboard, both axes from either of its inputs.\n\nThe square is two native ranges, and a native range maps every arrow to\nits own one axis: on the saturation input, ArrowUp moved the handle\nsideways. Here the vertical keys move brightness and the horizontal keys\nmove saturation, turned on a right-to-left page as the pointer is, which is\nwhat React Aria's ColorArea does. Shift makes an arrow a step of ten, and\nHome and End are saturation's steps of ten, as PageUp and PageDown are\nbrightness's.",
44833
45380
  "inheritedFrom": {
44834
45381
  "name": "HelixHeadlessColorPicker",
44835
45382
  "module": "src/color-picker/root/color-picker-root.ts"
@@ -60049,6 +60596,14 @@
60049
60596
  "module": "src/data-table/root/data-table-root.ts"
60050
60597
  }
60051
60598
  },
60599
+ {
60600
+ "description": "While `loading` is set, as the rows are on their way.",
60601
+ "name": "loading",
60602
+ "inheritedFrom": {
60603
+ "name": "HelixHeadlessDataTable",
60604
+ "module": "src/data-table/root/data-table-root.ts"
60605
+ }
60606
+ },
60052
60607
  {
60053
60608
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
60054
60609
  "name": "settled",
@@ -81197,6 +81752,35 @@
81197
81752
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
81198
81753
  }
81199
81754
  },
81755
+ {
81756
+ "kind": "field",
81757
+ "name": "present",
81758
+ "type": {
81759
+ "text": "boolean"
81760
+ },
81761
+ "privacy": "protected",
81762
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
81763
+ "readonly": true,
81764
+ "inheritedFrom": {
81765
+ "name": "MixinDismissible",
81766
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
81767
+ }
81768
+ },
81769
+ {
81770
+ "kind": "method",
81771
+ "name": "handFocusOn",
81772
+ "privacy": "protected",
81773
+ "return": {
81774
+ "type": {
81775
+ "text": "void"
81776
+ }
81777
+ },
81778
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
81779
+ "inheritedFrom": {
81780
+ "name": "MixinDismissible",
81781
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
81782
+ }
81783
+ },
81200
81784
  {
81201
81785
  "kind": "method",
81202
81786
  "name": "dismiss",
@@ -124731,6 +125315,17 @@
124731
125315
  "module": "src/map/root/map-root.ts"
124732
125316
  }
124733
125317
  },
125318
+ {
125319
+ "kind": "field",
125320
+ "name": "handleMenuFocusOut",
125321
+ "privacy": "private",
125322
+ "readonly": true,
125323
+ "description": "Closes the layers menu when focus moves on from its button and the menu,\nas a Tab past the last tile does. Focus leaving the page, with nothing\nfocused in its place, leaves the menu as it is.",
125324
+ "inheritedFrom": {
125325
+ "name": "HelixHeadlessMap",
125326
+ "module": "src/map/root/map-root.ts"
125327
+ }
125328
+ },
124734
125329
  {
124735
125330
  "kind": "field",
124736
125331
  "name": "handleMenuKeydown",
@@ -129925,7 +130520,7 @@
129925
130520
  "text": "boolean"
129926
130521
  },
129927
130522
  "default": "false",
129928
- "description": "Whether the row is one of a set of choices.\n\nSeparate from `checked`, and it has to be. A row that is off is still a\nchoice, and `checked` alone cannot say so: an unticked row and a row that\nwas never tickable look identical from here. Announcing only the ticked one\nas a checkbox tells a reader its siblings are commands, which is the one\nthing they are not.\n\n`checked` implies it, so a row that is on never has to say both.\n\nChoosing the row checks or unchecks it, after a `helix-before-toggle` that\nyou can cancel.",
130523
+ "description": "Whether the row is one of a set of choices.\n\nSeparate from `checked`, and it has to be. A row that is off is still a\nchoice, and `checked` alone cannot say so: an unticked row and a row that\nwas never tickable look identical from here. Announcing only the ticked one\nas a checkbox tells a reader its siblings are commands, which is the one\nthing they are not.\n\n`checked` and `exclusive` imply it, so a row that is on, or one of a set,\nnever has to say both.\n\nChoosing the row checks or unchecks it, after a `helix-before-toggle` that\nyou can cancel.",
129929
130524
  "attribute": "checkable",
129930
130525
  "reflects": true,
129931
130526
  "inheritedFrom": {
@@ -129947,6 +130542,19 @@
129947
130542
  "module": "src/menu/item/menu-item.ts"
129948
130543
  }
129949
130544
  },
130545
+ {
130546
+ "kind": "field",
130547
+ "name": "closeOnSelect",
130548
+ "type": {
130549
+ "text": "boolean | undefined"
130550
+ },
130551
+ "description": "Whether choosing the row closes the menu.\n\nUnset takes the menu's `close-on-select`, which is on, and keeps the menu\nopen after a Space on a choice row. Write `close-on-select=\"false\"` for a\nrow that changes something the reader is watching, such as a zoom step.",
130552
+ "attribute": "close-on-select",
130553
+ "inheritedFrom": {
130554
+ "name": "HelixHeadlessMenuItem",
130555
+ "module": "src/menu/item/menu-item.ts"
130556
+ }
130557
+ },
129950
130558
  {
129951
130559
  "kind": "field",
129952
130560
  "name": "disabled",
@@ -129983,7 +130591,7 @@
129983
130591
  "text": "boolean"
129984
130592
  },
129985
130593
  "default": "false",
129986
- "description": "Whether only one row in its set can be checked at a time.\n\nThe set is the run of `exclusive` rows next to this one, up to the first\nelement that is not one, such as a divider. Choosing a row in it checks\nthat row and unchecks the others. Choosing the row that is checked leaves\nit checked. `menuitemradio` tells a reader which kind of set they are in,\nwhere `menuitemcheckbox` says every row is independent.\n\nMeaningless without `checkable`, since a row that cannot be ticked is not\none of a set of anything.",
130594
+ "description": "Whether only one row in its set can be checked at a time.\n\nThe set is the run of `exclusive` rows next to this one, up to the first\nelement that is not one, such as a divider. Choosing a row in it checks\nthat row and unchecks the others. Choosing the row that is checked leaves\nit checked. `menuitemradio` tells a reader which kind of set they are in,\nwhere `menuitemcheckbox` says every row is independent.\n\nIt makes the row a choice, so it needs no `checkable` beside it.",
129987
130595
  "attribute": "exclusive",
129988
130596
  "reflects": true,
129989
130597
  "inheritedFrom": {
@@ -130346,6 +130954,13 @@
130346
130954
  "text": "void"
130347
130955
  }
130348
130956
  },
130957
+ "parameters": [
130958
+ {
130959
+ "name": "space",
130960
+ "default": "false"
130961
+ }
130962
+ ],
130963
+ "description": "Chooses the row. `space` is whether a Space chose it, which keeps the menu\nopen on a choice row unless the row says otherwise.",
130349
130964
  "inheritedFrom": {
130350
130965
  "name": "HelixHeadlessMenuItem",
130351
130966
  "module": "src/menu/item/menu-item.ts"
@@ -130361,6 +130976,20 @@
130361
130976
  "module": "src/menu/item/menu-item.ts"
130362
130977
  }
130363
130978
  },
130979
+ {
130980
+ "kind": "field",
130981
+ "name": "spacePressed",
130982
+ "type": {
130983
+ "text": "boolean"
130984
+ },
130985
+ "privacy": "private",
130986
+ "default": "false",
130987
+ "description": "Whether the click on its way is the one a Space on a linked row sent.",
130988
+ "inheritedFrom": {
130989
+ "name": "HelixHeadlessMenuItem",
130990
+ "module": "src/menu/item/menu-item.ts"
130991
+ }
130992
+ },
130364
130993
  {
130365
130994
  "kind": "field",
130366
130995
  "name": "handleKeydown",
@@ -130879,7 +131508,7 @@
130879
131508
  "text": "boolean"
130880
131509
  },
130881
131510
  "default": "false",
130882
- "description": "Whether the row is one of a set of choices.\n\nSeparate from `checked`, and it has to be. A row that is off is still a\nchoice, and `checked` alone cannot say so: an unticked row and a row that\nwas never tickable look identical from here. Announcing only the ticked one\nas a checkbox tells a reader its siblings are commands, which is the one\nthing they are not.\n\n`checked` implies it, so a row that is on never has to say both.\n\nChoosing the row checks or unchecks it, after a `helix-before-toggle` that\nyou can cancel.",
131511
+ "description": "Whether the row is one of a set of choices.\n\nSeparate from `checked`, and it has to be. A row that is off is still a\nchoice, and `checked` alone cannot say so: an unticked row and a row that\nwas never tickable look identical from here. Announcing only the ticked one\nas a checkbox tells a reader its siblings are commands, which is the one\nthing they are not.\n\n`checked` and `exclusive` imply it, so a row that is on, or one of a set,\nnever has to say both.\n\nChoosing the row checks or unchecks it, after a `helix-before-toggle` that\nyou can cancel.",
130883
131512
  "fieldName": "checkable",
130884
131513
  "inheritedFrom": {
130885
131514
  "name": "HelixHeadlessMenuItem",
@@ -130899,6 +131528,18 @@
130899
131528
  "module": "src/menu/item/menu-item.ts"
130900
131529
  }
130901
131530
  },
131531
+ {
131532
+ "name": "close-on-select",
131533
+ "type": {
131534
+ "text": "boolean | undefined"
131535
+ },
131536
+ "description": "Whether choosing the row closes the menu.\n\nUnset takes the menu's `close-on-select`, which is on, and keeps the menu\nopen after a Space on a choice row. Write `close-on-select=\"false\"` for a\nrow that changes something the reader is watching, such as a zoom step.",
131537
+ "fieldName": "closeOnSelect",
131538
+ "inheritedFrom": {
131539
+ "name": "HelixHeadlessMenuItem",
131540
+ "module": "src/menu/item/menu-item.ts"
131541
+ }
131542
+ },
130902
131543
  {
130903
131544
  "name": "disabled",
130904
131545
  "type": {
@@ -130931,7 +131572,7 @@
130931
131572
  "text": "boolean"
130932
131573
  },
130933
131574
  "default": "false",
130934
- "description": "Whether only one row in its set can be checked at a time.\n\nThe set is the run of `exclusive` rows next to this one, up to the first\nelement that is not one, such as a divider. Choosing a row in it checks\nthat row and unchecks the others. Choosing the row that is checked leaves\nit checked. `menuitemradio` tells a reader which kind of set they are in,\nwhere `menuitemcheckbox` says every row is independent.\n\nMeaningless without `checkable`, since a row that cannot be ticked is not\none of a set of anything.",
131575
+ "description": "Whether only one row in its set can be checked at a time.\n\nThe set is the run of `exclusive` rows next to this one, up to the first\nelement that is not one, such as a divider. Choosing a row in it checks\nthat row and unchecks the others. Choosing the row that is checked leaves\nit checked. `menuitemradio` tells a reader which kind of set they are in,\nwhere `menuitemcheckbox` says every row is independent.\n\nIt makes the row a choice, so it needs no `checkable` beside it.",
130935
131576
  "fieldName": "exclusive",
130936
131577
  "inheritedFrom": {
130937
131578
  "name": "HelixHeadlessMenuItem",
@@ -131517,6 +132158,20 @@
131517
132158
  "module": "src/menu/root/menu-root.ts"
131518
132159
  }
131519
132160
  },
132161
+ {
132162
+ "kind": "field",
132163
+ "name": "closeOnSelect",
132164
+ "type": {
132165
+ "text": "boolean"
132166
+ },
132167
+ "default": "true",
132168
+ "description": "Whether choosing a row closes the menu.\n\nOn by default, and a Space on a choice row leaves the menu open either way.\nWrite `close-on-select=\"false\"` to keep the menu open after every choice, as\nArk UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.",
132169
+ "attribute": "close-on-select",
132170
+ "inheritedFrom": {
132171
+ "name": "HelixHeadlessMenu",
132172
+ "module": "src/menu/root/menu-root.ts"
132173
+ }
132174
+ },
131520
132175
  {
131521
132176
  "kind": "field",
131522
132177
  "name": "context",
@@ -132874,6 +133529,19 @@
132874
133529
  "module": "src/menu/root/menu-root.ts"
132875
133530
  }
132876
133531
  },
133532
+ {
133533
+ "name": "close-on-select",
133534
+ "type": {
133535
+ "text": "boolean"
133536
+ },
133537
+ "default": "true",
133538
+ "description": "Whether choosing a row closes the menu.\n\nOn by default, and a Space on a choice row leaves the menu open either way.\nWrite `close-on-select=\"false\"` to keep the menu open after every choice, as\nArk UI's `closeOnSelect` does. A row's own `close-on-select` wins over this.",
133539
+ "fieldName": "closeOnSelect",
133540
+ "inheritedFrom": {
133541
+ "name": "HelixHeadlessMenu",
133542
+ "module": "src/menu/root/menu-root.ts"
133543
+ }
133544
+ },
132877
133545
  {
132878
133546
  "name": "context",
132879
133547
  "type": {
@@ -137177,6 +137845,35 @@
137177
137845
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
137178
137846
  }
137179
137847
  },
137848
+ {
137849
+ "kind": "field",
137850
+ "name": "present",
137851
+ "type": {
137852
+ "text": "boolean"
137853
+ },
137854
+ "privacy": "protected",
137855
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
137856
+ "readonly": true,
137857
+ "inheritedFrom": {
137858
+ "name": "MixinDismissible",
137859
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
137860
+ }
137861
+ },
137862
+ {
137863
+ "kind": "method",
137864
+ "name": "handFocusOn",
137865
+ "privacy": "protected",
137866
+ "return": {
137867
+ "type": {
137868
+ "text": "void"
137869
+ }
137870
+ },
137871
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
137872
+ "inheritedFrom": {
137873
+ "name": "MixinDismissible",
137874
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
137875
+ }
137876
+ },
137180
137877
  {
137181
137878
  "kind": "method",
137182
137879
  "name": "dismiss",
@@ -142739,6 +143436,23 @@
142739
143436
  "module": "src/object-inspector/root/object-inspector-root.ts"
142740
143437
  }
142741
143438
  },
143439
+ {
143440
+ "kind": "field",
143441
+ "name": "emptyLabel",
143442
+ "type": {
143443
+ "text": "string"
143444
+ },
143445
+ "default": "'Nothing to show'",
143446
+ "description": "What the tree says while there is no value to show, such as before a\nfetch answers. The `empty` slot replaces it.",
143447
+ "attribute": "empty-label",
143448
+ "helix": {
143449
+ "words": true
143450
+ },
143451
+ "inheritedFrom": {
143452
+ "name": "HelixHeadlessObjectInspector",
143453
+ "module": "src/object-inspector/root/object-inspector-root.ts"
143454
+ }
143455
+ },
142742
143456
  {
142743
143457
  "kind": "field",
142744
143458
  "name": "expanded",
@@ -142898,6 +143612,23 @@
142898
143612
  "module": "src/object-inspector/root/object-inspector-root.ts"
142899
143613
  }
142900
143614
  },
143615
+ {
143616
+ "kind": "field",
143617
+ "name": "noMatchesLabel",
143618
+ "type": {
143619
+ "text": "string"
143620
+ },
143621
+ "default": "'No matches'",
143622
+ "description": "What the tree says while a filter matched no entry. The `empty` slot\nreplaces it.",
143623
+ "attribute": "no-matches-label",
143624
+ "helix": {
143625
+ "words": true
143626
+ },
143627
+ "inheritedFrom": {
143628
+ "name": "HelixHeadlessObjectInspector",
143629
+ "module": "src/object-inspector/root/object-inspector-root.ts"
143630
+ }
143631
+ },
142901
143632
  {
142902
143633
  "kind": "field",
142903
143634
  "name": "renderValue",
@@ -143275,6 +144006,20 @@
143275
144006
  "module": "src/object-inspector/root/object-inspector-root.ts"
143276
144007
  }
143277
144008
  },
144009
+ {
144010
+ "kind": "field",
144011
+ "name": "blank",
144012
+ "type": {
144013
+ "text": "boolean"
144014
+ },
144015
+ "privacy": "private",
144016
+ "description": "Whether the tree has no entries to show. Not while a value named by `for`\nis still to be read, as on a server and while hydrating what one sent,\nwhere it says nothing yet about the value.",
144017
+ "readonly": true,
144018
+ "inheritedFrom": {
144019
+ "name": "HelixHeadlessObjectInspector",
144020
+ "module": "src/object-inspector/root/object-inspector-root.ts"
144021
+ }
144022
+ },
143278
144023
  {
143279
144024
  "kind": "method",
143280
144025
  "name": "counted",
@@ -144092,6 +144837,16 @@
144092
144837
  },
144093
144838
  "tagName": "helix-object-inspector",
144094
144839
  "customElement": true,
144840
+ "slots": [
144841
+ {
144842
+ "description": "Shown in the tree while it has no entries to show. Defaults to `empty-label`, or `no-matches-label` while a filter matched none.",
144843
+ "name": "empty",
144844
+ "inheritedFrom": {
144845
+ "name": "HelixHeadlessObjectInspector",
144846
+ "module": "src/object-inspector/root/object-inspector-root.ts"
144847
+ }
144848
+ }
144849
+ ],
144095
144850
  "cssParts": [
144096
144851
  {
144097
144852
  "description": "The space the rows below the drawn rows would take, when `windowed` is set.",
@@ -144253,6 +145008,14 @@
144253
145008
  "module": "src/object-inspector/root/object-inspector-root.ts"
144254
145009
  }
144255
145010
  },
145011
+ {
145012
+ "description": "The row shown in the tree while it has no entries to show: no value, or a filter that matched none. It holds the `empty` slot.",
145013
+ "name": "empty",
145014
+ "inheritedFrom": {
145015
+ "name": "HelixHeadlessObjectInspector",
145016
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145017
+ }
145018
+ },
144256
145019
  {
144257
145020
  "description": "The tree and the copy button beside it.",
144258
145021
  "name": "frame",
@@ -144434,6 +145197,19 @@
144434
145197
  "module": "src/object-inspector/root/object-inspector-root.ts"
144435
145198
  }
144436
145199
  },
145200
+ {
145201
+ "name": "empty-label",
145202
+ "type": {
145203
+ "text": "string"
145204
+ },
145205
+ "default": "'Nothing to show'",
145206
+ "description": "What the tree says while there is no value to show, such as before a\nfetch answers. The `empty` slot replaces it.",
145207
+ "fieldName": "emptyLabel",
145208
+ "inheritedFrom": {
145209
+ "name": "HelixHeadlessObjectInspector",
145210
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145211
+ }
145212
+ },
144437
145213
  {
144438
145214
  "name": "filter",
144439
145215
  "type": {
@@ -144562,6 +145338,19 @@
144562
145338
  "module": "src/object-inspector/root/object-inspector-root.ts"
144563
145339
  }
144564
145340
  },
145341
+ {
145342
+ "name": "no-matches-label",
145343
+ "type": {
145344
+ "text": "string"
145345
+ },
145346
+ "default": "'No matches'",
145347
+ "description": "What the tree says while a filter matched no entry. The `empty` slot\nreplaces it.",
145348
+ "fieldName": "noMatchesLabel",
145349
+ "inheritedFrom": {
145350
+ "name": "HelixHeadlessObjectInspector",
145351
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145352
+ }
145353
+ },
144565
145354
  {
144566
145355
  "name": "result-label",
144567
145356
  "type": {
@@ -144713,6 +145502,30 @@
144713
145502
  }
144714
145503
  ],
144715
145504
  "cssStates": [
145505
+ {
145506
+ "description": "While the tree has no entries to show: no value, or a filter that matched none.",
145507
+ "name": "empty",
145508
+ "inheritedFrom": {
145509
+ "name": "HelixHeadlessObjectInspector",
145510
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145511
+ }
145512
+ },
145513
+ {
145514
+ "description": "While `filter` holds text.",
145515
+ "name": "filtered",
145516
+ "inheritedFrom": {
145517
+ "name": "HelixHeadlessObjectInspector",
145518
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145519
+ }
145520
+ },
145521
+ {
145522
+ "description": "While `filter` holds text and matched at least one entry.",
145523
+ "name": "matched",
145524
+ "inheritedFrom": {
145525
+ "name": "HelixHeadlessObjectInspector",
145526
+ "module": "src/object-inspector/root/object-inspector-root.ts"
145527
+ }
145528
+ },
144716
145529
  {
144717
145530
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
144718
145531
  "name": "settled",
@@ -164979,12 +165792,28 @@
164979
165792
  "declarations": [
164980
165793
  {
164981
165794
  "kind": "class",
164982
- "description": "A sandboxed `<iframe>` that loads `src`, a document you provide. That\ndocument imports what the examples need, listens for a render message, and\nwrites the markup into itself.\n\n**Without `src`, the frame loads a built-in document**, so a sandbox renders\nwith nothing to host. It runs HTML, CSS, and scripts, and reports the\nconsole, uncaught errors, its height, and presses as a frame on\n`servePreview` does. It defines no element, so an example that uses Helix\ncomponents needs a `src` that imports them.\n\n**Examples render in a frame**, so an example's styles and scripts do not\naffect the page around the sandbox, and `position: fixed` stays inside the\npane. The frame starts empty, with its own stylesheets and its own custom\nelement registry, so `src` must load the styles and components the examples\nuse.\n\n**The source is untrusted, and the frame keeps it isolated.** The frame uses\n`sandbox=\"allow-scripts\"` and never `allow-same-origin`. Together, the two\nlet a document on the same origin remove its own sandbox, which is the same\nas having none.\n\n**A preview says where it is.** It is `:state(loading)` from the moment it\nhas a `src` until that document can take the example, and again through\n`reload()`. It is `:state(failed)` once the example throws an error it does\nnot catch, until the next source is sent, which a frame on `servePreview`\nreports. A page draws its own spinner or message from either, such as a\nsibling shown by `helix-sandbox-preview:state(failed) + .message`.",
165795
+ "description": "A sandboxed `<iframe>` that loads `src`, a document you provide. That\ndocument imports what the examples need, listens for a render message, and\nwrites the markup into itself.\n\n**Without `src`, the frame loads a built-in document**, so a sandbox renders\nwith nothing to host. It runs HTML, CSS, and scripts, and reports the\nconsole, uncaught errors, its height, and presses as a frame on\n`servePreview` does. It defines no element, so an example that uses Helix\ncomponents needs a `src` that imports them.\n\n**Examples render in a frame**, so an example's styles and scripts do not\naffect the page around the sandbox, and `position: fixed` stays inside the\npane. The frame starts empty, with its own stylesheets and its own custom\nelement registry, so `src` must load the styles and components the examples\nuse.\n\n**The source is untrusted, and the frame keeps it isolated.** The frame uses\n`sandbox=\"allow-scripts\"` and never `allow-same-origin`. Together, the two\nlet a document on the same origin remove its own sandbox, which is the same\nas having none.\n\n**A preview says where it is.** It is `:state(loading)` from the moment it\nhas a `src` until that document can take the example, and again through\n`reload()`. It is `:state(failed)` once the example throws an error it does\nnot catch, until the next source is sent, which a frame on `servePreview`\nreports. A page draws its own spinner or message from either, such as a\nsibling shown by `helix-sandbox-preview:state(failed) + .message`.\n\n**A failed preview shows the error over the example**, in the `error` part,\nuntil the next source is sent. The terminal says it too, so the part is not\nannounced. Hide it with `::part(error) { display: none }` where the page\ndraws its own.\n\n**`controls` draws two buttons in the preview's corner**: one reloads the\nframe's document, as `reload()` does, and one opens the example in a new\ntab, as `open()` does. The tab runs it in a frame sandboxed as this one is.",
164983
165796
  "name": "HelixSandboxPreview",
164984
165797
  "cssParts": [
165798
+ {
165799
+ "description": "The buttons in the preview's corner, under `controls`.",
165800
+ "name": "controls"
165801
+ },
165802
+ {
165803
+ "description": "The error the example threw and did not catch, shown over it while the preview is `failed`.",
165804
+ "name": "error"
165805
+ },
164985
165806
  {
164986
165807
  "description": "The iframe.",
164987
165808
  "name": "frame"
165809
+ },
165810
+ {
165811
+ "description": "The button that opens the example in a new tab, under `controls`.",
165812
+ "name": "open"
165813
+ },
165814
+ {
165815
+ "description": "The button that reloads the frame's document, under `controls`.",
165816
+ "name": "reload"
164988
165817
  }
164989
165818
  ],
164990
165819
  "members": [
@@ -165007,6 +165836,17 @@
165007
165836
  "description": "The color mode the frame renders in.\n\n**The frame is a document and a document has its own color mode.** Setting\n`data-color-mode` on this element styles this element, and the contents of\nan iframe inherit nothing from it: measured, a frame under a host carrying\nthe attribute had it unset on its own root. Left alone the frame follows\n`prefers-color-scheme`, which is right for a preview that should look like\nthe reader's own machine, and wrong for one whose tool has a scheme control.\n\nIt matters more than a background: `light-dark()` is compiled to a shim\nkeyed on this attribute, and of the 56 tokens that differ by scheme the\ntheme engine emits 19. The other 37 would stay light in a dark preview,\nincluding every one of the 24 series colors a chart reads.",
165008
165837
  "attribute": "color-mode"
165009
165838
  },
165839
+ {
165840
+ "kind": "field",
165841
+ "name": "controls",
165842
+ "type": {
165843
+ "text": "boolean"
165844
+ },
165845
+ "default": "false",
165846
+ "description": "Whether the preview draws a reload button and a button that opens the\nexample in a new tab, in its corner.",
165847
+ "attribute": "controls",
165848
+ "reflects": true
165849
+ },
165010
165850
  {
165011
165851
  "kind": "field",
165012
165852
  "name": "direction",
@@ -165038,6 +165878,32 @@
165038
165878
  "description": "How the example is placed in the frame.\n\n`padded` insets it and leaves it at the top, which is the resting case and\nwhat an absent value sends. `centered` gives it a measure and centers that\nbox in the frame. `hug` shrinks the example to its own content and centers\nwhat is left, which is the difference that matters for a component whose\nroot is a full-width block. `fullscreen` is the whole frame with no inset.\n\nNot reflected, for `direction`'s reason: the placement is applied by the\ndocument inside the frame, against its own root, so no rule on this side\ncould read it.",
165039
165879
  "attribute": "layout"
165040
165880
  },
165881
+ {
165882
+ "kind": "field",
165883
+ "name": "openLabel",
165884
+ "type": {
165885
+ "text": "string"
165886
+ },
165887
+ "default": "'Open preview in a new tab'",
165888
+ "description": "The name of the button that opens the example in a new tab, under\n`controls`.",
165889
+ "attribute": "open-label",
165890
+ "helix": {
165891
+ "words": true
165892
+ }
165893
+ },
165894
+ {
165895
+ "kind": "field",
165896
+ "name": "reloadLabel",
165897
+ "type": {
165898
+ "text": "string"
165899
+ },
165900
+ "default": "'Reload preview'",
165901
+ "description": "The name of the button that reloads the frame's document, under\n`controls`.",
165902
+ "attribute": "reload-label",
165903
+ "helix": {
165904
+ "words": true
165905
+ }
165906
+ },
165041
165907
  {
165042
165908
  "kind": "field",
165043
165909
  "name": "script",
@@ -165096,6 +165962,35 @@
165096
165962
  "privacy": "private",
165097
165963
  "description": "The source the frame held when it last reported an uncaught error."
165098
165964
  },
165965
+ {
165966
+ "kind": "field",
165967
+ "name": "failure",
165968
+ "type": {
165969
+ "text": "string | undefined"
165970
+ },
165971
+ "privacy": "private",
165972
+ "description": "What the example threw and did not catch, while the preview is `failed`."
165973
+ },
165974
+ {
165975
+ "kind": "method",
165976
+ "name": "fail",
165977
+ "privacy": "private",
165978
+ "return": {
165979
+ "type": {
165980
+ "text": "void"
165981
+ }
165982
+ },
165983
+ "parameters": [
165984
+ {
165985
+ "name": "text",
165986
+ "optional": true,
165987
+ "type": {
165988
+ "text": "string"
165989
+ }
165990
+ }
165991
+ ],
165992
+ "description": "Says the preview failed with `text`, or, with none, that it has not."
165993
+ },
165099
165994
  {
165100
165995
  "kind": "field",
165101
165996
  "name": "sending",
@@ -165160,6 +166055,16 @@
165160
166055
  },
165161
166056
  "description": "Sends once the typing stops, replacing anything already waiting.\n\nA frame is the wrong unit. Keystrokes arrive fifty to a hundred and fifty\nmilliseconds apart, so each one lands in a frame of its own and coalescing\nby frame coalesces nothing, leaving the example rebuilt per character. The\ndelay has to be longer than the gap between keystrokes to catch a burst, and\nshort enough to read as immediate when the typing stops."
165162
166057
  },
166058
+ {
166059
+ "kind": "field",
166060
+ "name": "message",
166061
+ "type": {
166062
+ "text": "PreviewRender"
166063
+ },
166064
+ "privacy": "private",
166065
+ "description": "What the frame is sent: the source, its stylesheet and its settings.",
166066
+ "readonly": true
166067
+ },
165163
166068
  {
165164
166069
  "kind": "method",
165165
166070
  "name": "send",
@@ -165171,6 +166076,19 @@
165171
166076
  },
165172
166077
  "description": "Sends the current source to the frame, once it is listening."
165173
166078
  },
166079
+ {
166080
+ "kind": "method",
166081
+ "name": "open",
166082
+ "return": {
166083
+ "type": {
166084
+ "text": "Window | null"
166085
+ }
166086
+ },
166087
+ "description": "Opens the example in a new tab, and returns the tab's window, or `null`\nwhere the browser refused to open one.\n\n**The tab runs the example as this preview does**: in a frame that fills\nit, with this frame's `sandbox`, loading `src` or the built-in document,\nand sent the example once it loads. The example stays on an opaque origin,\nand the tab's `opener` is cleared, so it cannot reach this page. The tab\nshows the example as it was when it opened, and edits after that do not\nreach it. A short inline script in the tab sends the example, so on a page\nwhose Content Security Policy refuses inline scripts the tab opens empty,\nas the built-in document does there.",
166088
+ "type": {
166089
+ "text": "open() => Window | null"
166090
+ }
166091
+ },
165174
166092
  {
165175
166093
  "kind": "method",
165176
166094
  "name": "reload",
@@ -165195,6 +166113,17 @@
165195
166113
  },
165196
166114
  "description": "A new document is on its way, so nothing is sent until it listens, and\nnothing has failed in it. The built-in document loads too."
165197
166115
  },
166116
+ {
166117
+ "kind": "method",
166118
+ "name": "renderControls",
166119
+ "privacy": "private",
166120
+ "return": {
166121
+ "type": {
166122
+ "text": "TemplateResult | typeof nothing"
166123
+ }
166124
+ },
166125
+ "description": "The reload and open buttons, under `controls`."
166126
+ },
165198
166127
  {
165199
166128
  "kind": "field",
165200
166129
  "name": "tier",
@@ -165562,6 +166491,15 @@
165562
166491
  "description": "The color mode the frame renders in.\n\n**The frame is a document and a document has its own color mode.** Setting\n`data-color-mode` on this element styles this element, and the contents of\nan iframe inherit nothing from it: measured, a frame under a host carrying\nthe attribute had it unset on its own root. Left alone the frame follows\n`prefers-color-scheme`, which is right for a preview that should look like\nthe reader's own machine, and wrong for one whose tool has a scheme control.\n\nIt matters more than a background: `light-dark()` is compiled to a shim\nkeyed on this attribute, and of the 56 tokens that differ by scheme the\ntheme engine emits 19. The other 37 would stay light in a dark preview,\nincluding every one of the 24 series colors a chart reads.",
165563
166492
  "fieldName": "colorMode"
165564
166493
  },
166494
+ {
166495
+ "name": "controls",
166496
+ "type": {
166497
+ "text": "boolean"
166498
+ },
166499
+ "default": "false",
166500
+ "description": "Whether the preview draws a reload button and a button that opens the\nexample in a new tab, in its corner.",
166501
+ "fieldName": "controls"
166502
+ },
165565
166503
  {
165566
166504
  "name": "direction",
165567
166505
  "type": {
@@ -165587,6 +166525,24 @@
165587
166525
  "description": "How the example is placed in the frame.\n\n`padded` insets it and leaves it at the top, which is the resting case and\nwhat an absent value sends. `centered` gives it a measure and centers that\nbox in the frame. `hug` shrinks the example to its own content and centers\nwhat is left, which is the difference that matters for a component whose\nroot is a full-width block. `fullscreen` is the whole frame with no inset.\n\nNot reflected, for `direction`'s reason: the placement is applied by the\ndocument inside the frame, against its own root, so no rule on this side\ncould read it.",
165588
166526
  "fieldName": "layout"
165589
166527
  },
166528
+ {
166529
+ "name": "open-label",
166530
+ "type": {
166531
+ "text": "string"
166532
+ },
166533
+ "default": "'Open preview in a new tab'",
166534
+ "description": "The name of the button that opens the example in a new tab, under\n`controls`.",
166535
+ "fieldName": "openLabel"
166536
+ },
166537
+ {
166538
+ "name": "reload-label",
166539
+ "type": {
166540
+ "text": "string"
166541
+ },
166542
+ "default": "'Reload preview'",
166543
+ "description": "The name of the button that reloads the frame's document, under\n`controls`.",
166544
+ "fieldName": "reloadLabel"
166545
+ },
165590
166546
  {
165591
166547
  "name": "script",
165592
166548
  "type": {
@@ -165710,7 +166666,7 @@
165710
166666
  "declarations": [
165711
166667
  {
165712
166668
  "kind": "class",
165713
- "description": "A source pane dispatches `helix-before-edit`, which bubbles, and the sandbox\npasses the value to the preview slotted into it. The source pane and the\npreview do not reference each other, so you can replace either one or use it\nalone.\n\nThe event carries the pane's `name`, so one sandbox can hold several panes.\n`html` sets the preview's markup, `css` sets its stylesheet, and `js` sets\na script that runs as a module after the markup. The sandbox ignores a pane\nwith any other name, so that pane can show content without changing the\npreview.\n\n**The dividers are two nested `helix-splitter` elements**, which handle the\npointer, the keyboard, and the corner. The inner splitter holds the panes and\nthe outer one holds the panel, so the panel spans the full width.\n\nOn a focused divider, the arrow keys move it, and `Home` and `End` move it\nto its ends. `Enter` on the panes divider shuts the lead pane, and pressed\nagain it opens the pane where it was. `Enter` on the panel divider shuts the\npanel to `panel-collapsed-size`, and pressed again it opens the panel to its\nlast height.",
166669
+ "description": "A source pane dispatches `helix-before-edit`, which bubbles, and the sandbox\npasses the value to the preview slotted into it. The source pane and the\npreview do not reference each other, so you can replace either one or use it\nalone.\n\nThe event carries the pane's `name`, so one sandbox can hold several panes.\n`html` sets the preview's markup, `css` sets its stylesheet, and `js` sets\na script that runs as a module after the markup. The sandbox ignores a pane\nwith any other name, so that pane can show content without changing the\npreview.\n\n**The dividers are two nested `helix-splitter` elements**, which handle the\npointer, the keyboard, and the corner. The inner splitter holds the panes and\nthe outer one holds the panel, so the panel spans the full width.\n\n**Several source panes are files**, one shown at a time under a row of\ntabs, each named by the pane's `label` or, without one, its `name`. `file`\nholds the `name` of the pane shown. The tabs are a tab list: the arrow keys\nmove between them and show each pane, and `Home` and `End` go to the first\nand the last. Choosing one sends `helix-before-change` with the pane's\n`name`, which you can cancel, and `change` once `file` holds it. The panes\nnot shown carry `hidden`. One pane draws no tabs.\n\n**Any editor can be the source pane**: an element in the `source` slot with\na `name` that dispatches `helix-before-edit` with its text, which bubbles.\nA wrapper around CodeMirror or Monaco sends one on each change and is a pane\nlike `helix-sandbox-source`, and the sandbox reads its `value` to seed the\npreview. Dispatch `helix-caret` from it too for the status bar's position.\n\nOn a focused divider, the arrow keys move it, and `Home` and `End` move it\nto its ends. `Enter` on the panes divider shuts the lead pane, and pressed\nagain it opens the pane where it was. `Enter` on the panel divider shuts the\npanel to `panel-collapsed-size`, and pressed again it opens the panel to its\nlast height.",
165714
166670
  "name": "HelixSandbox",
165715
166671
  "cssProperties": [
165716
166672
  {
@@ -165735,6 +166691,14 @@
165735
166691
  "description": "The handle where the two dividers cross.",
165736
166692
  "name": "corner"
165737
166693
  },
166694
+ {
166695
+ "description": "One file tab, `aria-selected` while its pane is shown.",
166696
+ "name": "file"
166697
+ },
166698
+ {
166699
+ "description": "The file tabs over the source panes, where there are several.",
166700
+ "name": "files"
166701
+ },
165738
166702
  {
165739
166703
  "description": "Either pane.",
165740
166704
  "name": "pane"
@@ -165818,6 +166782,28 @@
165818
166782
  "text": "number"
165819
166783
  }
165820
166784
  },
166785
+ {
166786
+ "kind": "field",
166787
+ "name": "file",
166788
+ "type": {
166789
+ "text": "string | undefined"
166790
+ },
166791
+ "description": "The `name` of the source pane shown, where the sandbox holds several.\n\nUnset, or a name no pane has, shows the first.",
166792
+ "attribute": "file"
166793
+ },
166794
+ {
166795
+ "kind": "field",
166796
+ "name": "filesLabel",
166797
+ "type": {
166798
+ "text": "string"
166799
+ },
166800
+ "default": "'Files'",
166801
+ "description": "The name of the file tabs, read by screen readers.",
166802
+ "attribute": "files-label",
166803
+ "helix": {
166804
+ "words": true
166805
+ }
166806
+ },
165821
166807
  {
165822
166808
  "kind": "field",
165823
166809
  "name": "lead",
@@ -165903,6 +166889,93 @@
165903
166889
  "default": "false",
165904
166890
  "description": "Whether anything is in the panel region.\n\nThe divider above the panel is only meaningful when there is a panel to\nsize, and there is no way to ask in CSS: `:host(:has([slot=\"panel\"]))` is\ninvalid, and the server has no children to look at. `slotchange` is the\nplatform answering on the client, which is where a divider is any use."
165905
166891
  },
166892
+ {
166893
+ "kind": "field",
166894
+ "name": "files",
166895
+ "type": {
166896
+ "text": "Element[]"
166897
+ },
166898
+ "privacy": "private",
166899
+ "default": "[]",
166900
+ "description": "The source panes where there are several, each a file with a tab."
166901
+ },
166902
+ {
166903
+ "kind": "field",
166904
+ "name": "hid",
166905
+ "privacy": "private",
166906
+ "readonly": true,
166907
+ "default": "new Set<Element>()",
166908
+ "description": "The panes this element wrote `hidden` on, to take it off again."
166909
+ },
166910
+ {
166911
+ "kind": "field",
166912
+ "name": "shownFile",
166913
+ "type": {
166914
+ "text": "Element | undefined"
166915
+ },
166916
+ "privacy": "private",
166917
+ "description": "The pane shown among the files.",
166918
+ "readonly": true
166919
+ },
166920
+ {
166921
+ "kind": "method",
166922
+ "name": "readFiles",
166923
+ "privacy": "private",
166924
+ "return": {
166925
+ "type": {
166926
+ "text": "void"
166927
+ }
166928
+ },
166929
+ "description": "Notes the source panes, which are files where there are several."
166930
+ },
166931
+ {
166932
+ "kind": "method",
166933
+ "name": "chooseFile",
166934
+ "privacy": "private",
166935
+ "return": {
166936
+ "type": {
166937
+ "text": "void"
166938
+ }
166939
+ },
166940
+ "parameters": [
166941
+ {
166942
+ "name": "pane",
166943
+ "type": {
166944
+ "text": "Element"
166945
+ }
166946
+ }
166947
+ ],
166948
+ "description": "Shows the pane a file tab names, once nobody refused."
166949
+ },
166950
+ {
166951
+ "kind": "field",
166952
+ "name": "handleFileKey",
166953
+ "privacy": "private",
166954
+ "readonly": true,
166955
+ "description": "Arrow keys, `Home` and `End` on the file tabs, which move to a tab and\nshow its pane, as a tab list that follows focus does. Left and Right swap\non a right-to-left page."
166956
+ },
166957
+ {
166958
+ "kind": "method",
166959
+ "name": "renderFiles",
166960
+ "privacy": "private",
166961
+ "return": {
166962
+ "type": {
166963
+ "text": "TemplateResult | typeof nothing"
166964
+ }
166965
+ },
166966
+ "description": "The row of file tabs, where there are several source panes."
166967
+ },
166968
+ {
166969
+ "kind": "method",
166970
+ "name": "showFile",
166971
+ "privacy": "private",
166972
+ "return": {
166973
+ "type": {
166974
+ "text": "void"
166975
+ }
166976
+ },
166977
+ "description": "Hides the files not shown, and shows any this element hid that is now."
166978
+ },
165906
166979
  {
165907
166980
  "kind": "field",
165908
166981
  "name": "bodyHeight",
@@ -166302,6 +167375,31 @@
166302
167375
  "readonly": true,
166303
167376
  "description": "Notes whether there is a panel, which is what its dividers depend on.\n\nAsked of the light DOM rather than of the slot. `slotchange` is the event\nthat says it changed, and it is listened for, but it is not the only way\nto know: a sandbox whose panel was in the markup all along has nothing to\nchange, and an environment that does not dispatch the event at all leaves\nthe dividers permanently absent. What is slotted into a named slot is a\nquestion the host can answer directly."
166304
167377
  },
167378
+ {
167379
+ "kind": "method",
167380
+ "name": "renderPane",
167381
+ "privacy": "private",
167382
+ "return": {
167383
+ "type": {
167384
+ "text": "TemplateResult"
167385
+ }
167386
+ },
167387
+ "parameters": [
167388
+ {
167389
+ "name": "name",
167390
+ "type": {
167391
+ "text": "'preview' | 'source'"
167392
+ }
167393
+ },
167394
+ {
167395
+ "name": "at",
167396
+ "type": {
167397
+ "text": "'end' | 'start'"
167398
+ }
167399
+ }
167400
+ ],
167401
+ "description": "One pane and the slot it shows. The source pane holds the file tabs, where\nthere are several, and is then the panel they control."
167402
+ },
166305
167403
  {
166306
167404
  "kind": "field",
166307
167405
  "name": "tier",
@@ -166643,6 +167741,22 @@
166643
167741
  }
166644
167742
  ],
166645
167743
  "events": [
167744
+ {
167745
+ "type": {
167746
+ "text": "Event"
167747
+ },
167748
+ "description": "A file tab showed its pane, whose `name` `file` now holds.",
167749
+ "name": "change",
167750
+ "reactProp": "onchange"
167751
+ },
167752
+ {
167753
+ "type": {
167754
+ "text": "HelixBeforeChangeEvent"
167755
+ },
167756
+ "description": "Fired before a file tab shows its pane, with the pane's `name`. Cancelable: cancel it to keep the pane shown.",
167757
+ "name": "helix-before-change",
167758
+ "reactProp": "onhelix-before-change"
167759
+ },
166646
167760
  {
166647
167761
  "type": {
166648
167762
  "text": "HelixBeforeEditEvent"
@@ -166738,6 +167852,23 @@
166738
167852
  "description": "Where a reset puts the divider between the panes.\n\nSeparate from `split` for the reason `Splitter` keeps `default-position`\nseparate from `position`. Resetting to whatever `split` held on the first\nrender is the declared arrangement only where nobody owns the property: the\nworkbench does, and restores it from the address bar and from storage, so the\nfirst value it holds is the reader's last session and a reset puts the\nsandbox back to the size it already was.\n\nDeclared rather than captured, so it is a number a consumer states and can\nchange, and it needs no first frame to be read on.",
166739
167853
  "fieldName": "defaultSplit"
166740
167854
  },
167855
+ {
167856
+ "name": "file",
167857
+ "type": {
167858
+ "text": "string | undefined"
167859
+ },
167860
+ "description": "The `name` of the source pane shown, where the sandbox holds several.\n\nUnset, or a name no pane has, shows the first.",
167861
+ "fieldName": "file"
167862
+ },
167863
+ {
167864
+ "name": "files-label",
167865
+ "type": {
167866
+ "text": "string"
167867
+ },
167868
+ "default": "'Files'",
167869
+ "description": "The name of the file tabs, read by screen readers.",
167870
+ "fieldName": "filesLabel"
167871
+ },
166741
167872
  {
166742
167873
  "name": "lead",
166743
167874
  "type": {
@@ -166841,6 +167972,10 @@
166841
167972
  "min": 420,
166842
167973
  "slug": "events"
166843
167974
  },
167975
+ {
167976
+ "description": "Several source panes as files under a row of tabs, and a preview with reload and open buttons.",
167977
+ "slug": "files"
167978
+ },
166844
167979
  {
166845
167980
  "description": "A source pane colored by a highlighter you bring.",
166846
167981
  "slug": "highlighted-source"
@@ -167010,6 +168145,16 @@
167010
168145
  "words": true
167011
168146
  }
167012
168147
  },
168148
+ {
168149
+ "kind": "field",
168150
+ "name": "label",
168151
+ "type": {
168152
+ "text": "string"
168153
+ },
168154
+ "default": "''",
168155
+ "description": "The pane's file name, such as `index.html`, on its tab where a sandbox\nholds several panes. Empty puts the pane's `name` on the tab.",
168156
+ "attribute": "label"
168157
+ },
167013
168158
  {
167014
168159
  "kind": "field",
167015
168160
  "name": "name",
@@ -167518,6 +168663,15 @@
167518
168663
  "description": "The field's description, read by screen readers while Tab indents.",
167519
168664
  "fieldName": "keysDescription"
167520
168665
  },
168666
+ {
168667
+ "name": "label",
168668
+ "type": {
168669
+ "text": "string"
168670
+ },
168671
+ "default": "''",
168672
+ "description": "The pane's file name, such as `index.html`, on its tab where a sandbox\nholds several panes. Empty puts the pane's `name` on the tab.",
168673
+ "fieldName": "label"
168674
+ },
167521
168675
  {
167522
168676
  "name": "name",
167523
168677
  "type": {
@@ -187420,7 +188574,7 @@
187420
188574
  "text": "number"
187421
188575
  },
187422
188576
  "privacy": "private",
187423
- "description": "The index of the stage the reader is on, or `-1`.",
188577
+ "description": "The index of the stage the reader is on, or `-1`.\n\nRead from `active` once anything has set it, because a move writes\n`active` at once and each step's `current` only on the next update: two\ncalls to `next()` in one task then move two stages.",
187424
188578
  "readonly": true,
187425
188579
  "inheritedFrom": {
187426
188580
  "name": "HelixHeadlessSteps",
@@ -196275,7 +197429,7 @@
196275
197429
  "name": "gridKeys",
196276
197430
  "privacy": "private",
196277
197431
  "readonly": true,
196278
- "default": "new TableGridController(this, { activate: (place, event) => this.activate(place, event), arrive: (to, control) => { if (this.replaces && !control) { this.chooseOnly(to) } }, columns: () => this.tableColumns.filter((column) => column.shown), lead: () => this.lead, on: () => this.grid, part: (name) => this.partNamed(name), rows: () => (this.childrenKnown ? this.arrangedRows : []), rowWords: () => this.arrangedRows.map((row) => textOf(row.children[0])), selectAll: () => this.selectable && !this.single && this.requestSelected(new Set([...this.chosen, ...this.enabledKeys])), selectRange: (to, from) => this.selectRange(to, from), })",
197432
+ "default": "new TableGridController(this, { activate: (place, event) => this.activate(place, event), arrive: (to, control) => { if (this.replaces && !control) { this.chooseOnly(to) } }, columns: () => this.tableColumns.filter((column) => column.shown), disclose: (at, forward) => this.disclose(at, forward), lead: () => this.lead, on: () => this.grid, part: (name) => this.partNamed(name), rows: () => (this.childrenKnown ? this.arrangedRows : []), rowWords: () => this.arrangedRows.map((row) => textOf(row.children[0])), selectAll: () => this.selectable && !this.single && this.requestSelected(new Set([...this.chosen, ...this.enabledKeys])), selectRange: (to, from) => this.selectRange(to, from), })",
196279
197433
  "description": "The keyboard of a `grid` table, in `grid-controller.ts`.",
196280
197434
  "inheritedFrom": {
196281
197435
  "name": "HelixHeadlessTable",
@@ -196802,6 +197956,35 @@
196802
197956
  "module": "src/table/root/table-root.ts"
196803
197957
  }
196804
197958
  },
197959
+ {
197960
+ "kind": "method",
197961
+ "name": "disclose",
197962
+ "privacy": "private",
197963
+ "return": {
197964
+ "type": {
197965
+ "text": "boolean | number"
197966
+ }
197967
+ },
197968
+ "parameters": [
197969
+ {
197970
+ "name": "at",
197971
+ "type": {
197972
+ "text": "number"
197973
+ }
197974
+ },
197975
+ {
197976
+ "name": "forward",
197977
+ "type": {
197978
+ "text": "boolean"
197979
+ }
197980
+ }
197981
+ ],
197982
+ "description": "Right or Left on a disclosure cell, as on a tree's item and as Data\nTable's row headers do: on to open a shut row, back to shut an open one.\nBack on a row that is shut, or has no rows under it, moves to the row it\nsits under. Anything else moves along the row.",
197983
+ "inheritedFrom": {
197984
+ "name": "HelixHeadlessTable",
197985
+ "module": "src/table/root/table-root.ts"
197986
+ }
197987
+ },
196805
197988
  {
196806
197989
  "kind": "method",
196807
197990
  "name": "activate",
@@ -198139,6 +199322,14 @@
198139
199322
  "module": "src/table/root/table-root.ts"
198140
199323
  }
198141
199324
  },
199325
+ {
199326
+ "description": "While `loading` is set, as the rows are on their way.",
199327
+ "name": "loading",
199328
+ "inheritedFrom": {
199329
+ "name": "HelixHeadlessTable",
199330
+ "module": "src/table/root/table-root.ts"
199331
+ }
199332
+ },
198142
199333
  {
198143
199334
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
198144
199335
  "name": "settled",
@@ -201207,6 +202398,35 @@
201207
202398
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
201208
202399
  }
201209
202400
  },
202401
+ {
202402
+ "kind": "field",
202403
+ "name": "present",
202404
+ "type": {
202405
+ "text": "boolean"
202406
+ },
202407
+ "privacy": "protected",
202408
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
202409
+ "readonly": true,
202410
+ "inheritedFrom": {
202411
+ "name": "MixinDismissible",
202412
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
202413
+ }
202414
+ },
202415
+ {
202416
+ "kind": "method",
202417
+ "name": "handFocusOn",
202418
+ "privacy": "protected",
202419
+ "return": {
202420
+ "type": {
202421
+ "text": "void"
202422
+ }
202423
+ },
202424
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
202425
+ "inheritedFrom": {
202426
+ "name": "MixinDismissible",
202427
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
202428
+ }
202429
+ },
201210
202430
  {
201211
202431
  "kind": "method",
201212
202432
  "name": "dismiss",
@@ -203376,6 +204596,35 @@
203376
204596
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
203377
204597
  }
203378
204598
  },
204599
+ {
204600
+ "kind": "field",
204601
+ "name": "present",
204602
+ "type": {
204603
+ "text": "boolean"
204604
+ },
204605
+ "privacy": "protected",
204606
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
204607
+ "readonly": true,
204608
+ "inheritedFrom": {
204609
+ "name": "MixinDismissible",
204610
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
204611
+ }
204612
+ },
204613
+ {
204614
+ "kind": "method",
204615
+ "name": "handFocusOn",
204616
+ "privacy": "protected",
204617
+ "return": {
204618
+ "type": {
204619
+ "text": "void"
204620
+ }
204621
+ },
204622
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
204623
+ "inheritedFrom": {
204624
+ "name": "MixinDismissible",
204625
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
204626
+ }
204627
+ },
203379
204628
  {
203380
204629
  "kind": "method",
203381
204630
  "name": "dismiss",
@@ -217122,6 +218371,35 @@
217122
218371
  "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
217123
218372
  }
217124
218373
  },
218374
+ {
218375
+ "kind": "field",
218376
+ "name": "present",
218377
+ "type": {
218378
+ "text": "boolean"
218379
+ },
218380
+ "privacy": "protected",
218381
+ "description": "Whether the element is still on the page for a reader, which is what\nthe focus hand-off waits on: connected, for a surface the page removes.\nA surface that hides itself says it is gone once hidden, and calls\n`handFocusOn` then.",
218382
+ "readonly": true,
218383
+ "inheritedFrom": {
218384
+ "name": "MixinDismissible",
218385
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
218386
+ }
218387
+ },
218388
+ {
218389
+ "kind": "method",
218390
+ "name": "handFocusOn",
218391
+ "privacy": "protected",
218392
+ "return": {
218393
+ "type": {
218394
+ "text": "void"
218395
+ }
218396
+ },
218397
+ "description": "Hands focus on now, where a dismissal is waiting for this element to\ngo: for a surface that hides itself, once it has.",
218398
+ "inheritedFrom": {
218399
+ "name": "MixinDismissible",
218400
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
218401
+ }
218402
+ },
217125
218403
  {
217126
218404
  "kind": "method",
217127
218405
  "name": "dismiss",
@@ -232624,6 +233902,30 @@
232624
233902
  "module": "src/video-playlist/item/video-playlist-item.ts"
232625
233903
  }
232626
233904
  },
233905
+ {
233906
+ "description": "The entry a pointer is dragging, in a `reorderable` playlist.",
233907
+ "name": "dragging",
233908
+ "inheritedFrom": {
233909
+ "name": "HelixHeadlessVideoPlaylistItem",
233910
+ "module": "src/video-playlist/item/video-playlist-item.ts"
233911
+ }
233912
+ },
233913
+ {
233914
+ "description": "The entry the dragged one would land after, which the drop indicator is drawn under.",
233915
+ "name": "drop-after",
233916
+ "inheritedFrom": {
233917
+ "name": "HelixHeadlessVideoPlaylistItem",
233918
+ "module": "src/video-playlist/item/video-playlist-item.ts"
233919
+ }
233920
+ },
233921
+ {
233922
+ "description": "The entry the dragged one would land before, which the drop indicator is drawn over.",
233923
+ "name": "drop-before",
233924
+ "inheritedFrom": {
233925
+ "name": "HelixHeadlessVideoPlaylistItem",
233926
+ "module": "src/video-playlist/item/video-playlist-item.ts"
233927
+ }
233928
+ },
232627
233929
  {
232628
233930
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
232629
233931
  "name": "settled",
@@ -233715,6 +235017,40 @@
233715
235017
  "module": "src/video-playlist/root/video-playlist-root.ts"
233716
235018
  }
233717
235019
  },
235020
+ {
235021
+ "kind": "field",
235022
+ "name": "canceledLabel",
235023
+ "type": {
235024
+ "text": "string"
235025
+ },
235026
+ "default": "'Canceled'",
235027
+ "description": "What screen readers hear when a move is put back, in a `reorderable`\nplaylist. `{name}` is the entry's words.",
235028
+ "attribute": "canceled-label",
235029
+ "helix": {
235030
+ "words": true
235031
+ },
235032
+ "inheritedFrom": {
235033
+ "name": "HelixHeadlessVideoPlaylist",
235034
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235035
+ }
235036
+ },
235037
+ {
235038
+ "kind": "field",
235039
+ "name": "droppedLabel",
235040
+ "type": {
235041
+ "text": "string"
235042
+ },
235043
+ "default": "'Dropped'",
235044
+ "description": "What screen readers hear when a moved entry is let go, in a `reorderable`\nplaylist. `{name}` is the entry's words.",
235045
+ "attribute": "dropped-label",
235046
+ "helix": {
235047
+ "words": true
235048
+ },
235049
+ "inheritedFrom": {
235050
+ "name": "HelixHeadlessVideoPlaylist",
235051
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235052
+ }
235053
+ },
233718
235054
  {
233719
235055
  "kind": "field",
233720
235056
  "name": "emptyLabel",
@@ -233749,6 +235085,23 @@
233749
235085
  "module": "src/video-playlist/root/video-playlist-root.ts"
233750
235086
  }
233751
235087
  },
235088
+ {
235089
+ "kind": "field",
235090
+ "name": "movedLabel",
235091
+ "type": {
235092
+ "text": "string"
235093
+ },
235094
+ "default": "'{name} moved to position {position} of {count}'",
235095
+ "description": "What screen readers hear each time a key moves an entry, in a\n`reorderable` playlist. `{name}` is the entry's words, `{position}` its\nnew place, counting from 1, and `{count}` the number of entries.",
235096
+ "attribute": "moved-label",
235097
+ "helix": {
235098
+ "words": true
235099
+ },
235100
+ "inheritedFrom": {
235101
+ "name": "HelixHeadlessVideoPlaylist",
235102
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235103
+ }
235104
+ },
233752
235105
  {
233753
235106
  "kind": "field",
233754
235107
  "name": "noAdvance",
@@ -233763,6 +235116,23 @@
233763
235116
  "module": "src/video-playlist/root/video-playlist-root.ts"
233764
235117
  }
233765
235118
  },
235119
+ {
235120
+ "kind": "field",
235121
+ "name": "pickedUpLabel",
235122
+ "type": {
235123
+ "text": "string"
235124
+ },
235125
+ "default": "'Picked up {name}'",
235126
+ "description": "What screen readers hear when a pointer picks up an entry, in a\n`reorderable` playlist. `{name}` is the entry's words.",
235127
+ "attribute": "picked-up-label",
235128
+ "helix": {
235129
+ "words": true
235130
+ },
235131
+ "inheritedFrom": {
235132
+ "name": "HelixHeadlessVideoPlaylist",
235133
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235134
+ }
235135
+ },
233766
235136
  {
233767
235137
  "kind": "field",
233768
235138
  "name": "playingLabel",
@@ -233780,6 +235150,21 @@
233780
235150
  "module": "src/video-playlist/root/video-playlist-root.ts"
233781
235151
  }
233782
235152
  },
235153
+ {
235154
+ "kind": "field",
235155
+ "name": "reorderable",
235156
+ "type": {
235157
+ "text": "boolean"
235158
+ },
235159
+ "default": "false",
235160
+ "description": "Lets a reader move the entries, with Alt and the arrow keys or by\ndragging one. The playlist moves no entry itself: you move your entries\non `helix-reorder`.",
235161
+ "attribute": "reorderable",
235162
+ "reflects": true,
235163
+ "inheritedFrom": {
235164
+ "name": "HelixHeadlessVideoPlaylist",
235165
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235166
+ }
235167
+ },
233783
235168
  {
233784
235169
  "kind": "field",
233785
235170
  "name": "status",
@@ -233792,6 +235177,79 @@
233792
235177
  "module": "src/video-playlist/root/video-playlist-root.ts"
233793
235178
  }
233794
235179
  },
235180
+ {
235181
+ "kind": "method",
235182
+ "name": "entryOf",
235183
+ "privacy": "private",
235184
+ "return": {
235185
+ "type": {
235186
+ "text": "HelixHeadlessVideoPlaylistItem | undefined"
235187
+ }
235188
+ },
235189
+ "parameters": [
235190
+ {
235191
+ "name": "event",
235192
+ "type": {
235193
+ "text": "Event"
235194
+ }
235195
+ }
235196
+ ],
235197
+ "description": "The entry an event passed through, where it may move.",
235198
+ "inheritedFrom": {
235199
+ "name": "HelixHeadlessVideoPlaylist",
235200
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235201
+ }
235202
+ },
235203
+ {
235204
+ "kind": "method",
235205
+ "name": "entryFor",
235206
+ "privacy": "private",
235207
+ "return": {
235208
+ "type": {
235209
+ "text": "HelixHeadlessVideoPlaylistItem | undefined"
235210
+ }
235211
+ },
235212
+ "parameters": [
235213
+ {
235214
+ "name": "value",
235215
+ "type": {
235216
+ "text": "string"
235217
+ }
235218
+ }
235219
+ ],
235220
+ "description": "The entry with that value.",
235221
+ "inheritedFrom": {
235222
+ "name": "HelixHeadlessVideoPlaylist",
235223
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235224
+ }
235225
+ },
235226
+ {
235227
+ "kind": "field",
235228
+ "name": "reorder",
235229
+ "privacy": "private",
235230
+ "readonly": true,
235231
+ "default": "new ReorderController(this, { axis: 'block', box: (value) => this.entryFor(value)?.getBoundingClientRect(), current: (event) => this.entryOf(event)?.value, grip: (event) => { const entry = this.entryOf(event) return entry ? { element: entry, key: entry.value } : undefined }, holds: false, keys: () => this.items.map((one) => one.value), name: (value) => this.entryFor(value)?.text || value, refocus: (value) => this.entryFor(value)?.focus(), say: (words) => this.status.say(words), })",
235232
+ "description": "Moving the entries, as a listbox moves its options: Alt with the arrows\non the focused entry, or a pointer dragging a whole entry, where a press\nthat does not travel still plays it.",
235233
+ "inheritedFrom": {
235234
+ "name": "HelixHeadlessVideoPlaylist",
235235
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235236
+ }
235237
+ },
235238
+ {
235239
+ "kind": "method",
235240
+ "name": "markMoves",
235241
+ "privacy": "private",
235242
+ "return": {
235243
+ "type": {
235244
+ "text": "void"
235245
+ }
235246
+ },
235247
+ "description": "Tells each entry where it stands in a move, which it says through its\nstates for the styled tier to draw: the entry dragged, and the one the\ndrop indicator is before or after.",
235248
+ "inheritedFrom": {
235249
+ "name": "HelixHeadlessVideoPlaylist",
235250
+ "module": "src/video-playlist/root/video-playlist-root.ts"
235251
+ }
235252
+ },
233795
235253
  {
233796
235254
  "kind": "field",
233797
235255
  "name": "repeat",
@@ -234590,6 +236048,32 @@
234590
236048
  "module": "src/mixins/mixin-controller-active/mixin-controller-active.ts"
234591
236049
  }
234592
236050
  },
236051
+ {
236052
+ "name": "canceled-label",
236053
+ "type": {
236054
+ "text": "string"
236055
+ },
236056
+ "default": "'Canceled'",
236057
+ "description": "What screen readers hear when a move is put back, in a `reorderable`\nplaylist. `{name}` is the entry's words.",
236058
+ "fieldName": "canceledLabel",
236059
+ "inheritedFrom": {
236060
+ "name": "HelixHeadlessVideoPlaylist",
236061
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236062
+ }
236063
+ },
236064
+ {
236065
+ "name": "dropped-label",
236066
+ "type": {
236067
+ "text": "string"
236068
+ },
236069
+ "default": "'Dropped'",
236070
+ "description": "What screen readers hear when a moved entry is let go, in a `reorderable`\nplaylist. `{name}` is the entry's words.",
236071
+ "fieldName": "droppedLabel",
236072
+ "inheritedFrom": {
236073
+ "name": "HelixHeadlessVideoPlaylist",
236074
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236075
+ }
236076
+ },
234593
236077
  {
234594
236078
  "name": "empty-label",
234595
236079
  "type": {
@@ -234616,6 +236100,19 @@
234616
236100
  "module": "src/video-playlist/root/video-playlist-root.ts"
234617
236101
  }
234618
236102
  },
236103
+ {
236104
+ "name": "moved-label",
236105
+ "type": {
236106
+ "text": "string"
236107
+ },
236108
+ "default": "'{name} moved to position {position} of {count}'",
236109
+ "description": "What screen readers hear each time a key moves an entry, in a\n`reorderable` playlist. `{name}` is the entry's words, `{position}` its\nnew place, counting from 1, and `{count}` the number of entries.",
236110
+ "fieldName": "movedLabel",
236111
+ "inheritedFrom": {
236112
+ "name": "HelixHeadlessVideoPlaylist",
236113
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236114
+ }
236115
+ },
234619
236116
  {
234620
236117
  "name": "no-advance",
234621
236118
  "type": {
@@ -234629,6 +236126,19 @@
234629
236126
  "module": "src/video-playlist/root/video-playlist-root.ts"
234630
236127
  }
234631
236128
  },
236129
+ {
236130
+ "name": "picked-up-label",
236131
+ "type": {
236132
+ "text": "string"
236133
+ },
236134
+ "default": "'Picked up {name}'",
236135
+ "description": "What screen readers hear when a pointer picks up an entry, in a\n`reorderable` playlist. `{name}` is the entry's words.",
236136
+ "fieldName": "pickedUpLabel",
236137
+ "inheritedFrom": {
236138
+ "name": "HelixHeadlessVideoPlaylist",
236139
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236140
+ }
236141
+ },
234632
236142
  {
234633
236143
  "name": "playing-label",
234634
236144
  "type": {
@@ -234642,6 +236152,19 @@
234642
236152
  "module": "src/video-playlist/root/video-playlist-root.ts"
234643
236153
  }
234644
236154
  },
236155
+ {
236156
+ "name": "reorderable",
236157
+ "type": {
236158
+ "text": "boolean"
236159
+ },
236160
+ "default": "false",
236161
+ "description": "Lets a reader move the entries, with Alt and the arrow keys or by\ndragging one. The playlist moves no entry itself: you move your entries\non `helix-reorder`.",
236162
+ "fieldName": "reorderable",
236163
+ "inheritedFrom": {
236164
+ "name": "HelixHeadlessVideoPlaylist",
236165
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236166
+ }
236167
+ },
234645
236168
  {
234646
236169
  "name": "repeat",
234647
236170
  "type": {
@@ -234693,6 +236216,18 @@
234693
236216
  "module": "src/video-playlist/root/video-playlist-root.ts"
234694
236217
  }
234695
236218
  },
236219
+ {
236220
+ "type": {
236221
+ "text": "HelixBeforeReorderEvent"
236222
+ },
236223
+ "description": "An entry was moved to a new place, in a `reorderable` playlist, with every entry's value in the new order in `detail.keys`. Cancelable: cancel it to keep the entry where it is.",
236224
+ "name": "helix-before-reorder",
236225
+ "reactProp": "onhelix-before-reorder",
236226
+ "inheritedFrom": {
236227
+ "name": "HelixHeadlessVideoPlaylist",
236228
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236229
+ }
236230
+ },
234696
236231
  {
234697
236232
  "type": {
234698
236233
  "text": "HelixEndEvent"
@@ -234704,6 +236239,18 @@
234704
236239
  "name": "HelixHeadlessVideoPlaylist",
234705
236240
  "module": "src/video-playlist/root/video-playlist-root.ts"
234706
236241
  }
236242
+ },
236243
+ {
236244
+ "type": {
236245
+ "text": "HelixReorderEvent"
236246
+ },
236247
+ "description": "Fired after `helix-before-reorder` when nobody canceled it. Move your entries to the order in `keys`. Cancelable: cancel it to say the move did not happen.",
236248
+ "name": "helix-reorder",
236249
+ "reactProp": "onhelix-reorder",
236250
+ "inheritedFrom": {
236251
+ "name": "HelixHeadlessVideoPlaylist",
236252
+ "module": "src/video-playlist/root/video-playlist-root.ts"
236253
+ }
234707
236254
  }
234708
236255
  ],
234709
236256
  "slots": [
@@ -241002,6 +242549,6 @@
241002
242549
  ],
241003
242550
  "helix": {
241004
242551
  "package": "@fusion.dev/helix",
241005
- "version": "0.162.1"
242552
+ "version": "0.164.0"
241006
242553
  }
241007
242554
  }