@fusion.dev/helix 0.149.1 → 0.151.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.
@@ -3632,6 +3632,14 @@
3632
3632
  {
3633
3633
  "description": "Thickness of a band's top edge. Area Chart, Line Chart, and Bar Chart's `lines` all read this one property. `--area-chart-width` overrides it here.",
3634
3634
  "name": "--chart-stroke"
3635
+ },
3636
+ {
3637
+ "description": "The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.",
3638
+ "name": "--area-chart-axis",
3639
+ "inheritedFrom": {
3640
+ "name": "HelixHeadlessAreaChart",
3641
+ "module": "src/area-chart/root/area-chart-root.ts"
3642
+ }
3635
3643
  }
3636
3644
  ],
3637
3645
  "members": [
@@ -4052,6 +4060,21 @@
4052
4060
  "module": "src/area-chart/root/area-chart-root.ts"
4053
4061
  }
4054
4062
  },
4063
+ {
4064
+ "kind": "field",
4065
+ "name": "valueAxis",
4066
+ "type": {
4067
+ "text": "boolean"
4068
+ },
4069
+ "default": "false",
4070
+ "description": "Draws the scale's numbers beside the plot, the `axis` part, at the levels\n`gridlines` rules: amounts, or percentages under `share`.\n\nAbsent draws none: bands read as a composition need no numbers beside\nthem, and the tooltip and the table hold every reading.",
4071
+ "attribute": "value-axis",
4072
+ "reflects": true,
4073
+ "inheritedFrom": {
4074
+ "name": "HelixHeadlessAreaChart",
4075
+ "module": "src/area-chart/root/area-chart-root.ts"
4076
+ }
4077
+ },
4055
4078
  {
4056
4079
  "kind": "field",
4057
4080
  "name": "warnedAboutNegatives",
@@ -4122,6 +4145,35 @@
4122
4145
  "module": "src/area-chart/root/area-chart-root.ts"
4123
4146
  }
4124
4147
  },
4148
+ {
4149
+ "kind": "method",
4150
+ "name": "renderAxis",
4151
+ "privacy": "protected",
4152
+ "return": {
4153
+ "type": {
4154
+ "text": "TemplateResult"
4155
+ }
4156
+ },
4157
+ "parameters": [
4158
+ {
4159
+ "name": "y",
4160
+ "type": {
4161
+ "text": "(value: number) => number"
4162
+ }
4163
+ },
4164
+ {
4165
+ "name": "domain",
4166
+ "type": {
4167
+ "text": "[number, number]"
4168
+ }
4169
+ }
4170
+ ],
4171
+ "description": "The scale's numbers beside the plot, under `value-axis`: amounts written\nin the chart's locale, or percentages under `share`. A seam, so a\nsubclass can write the numbers its own way, such as a currency.",
4172
+ "inheritedFrom": {
4173
+ "name": "HelixHeadlessAreaChart",
4174
+ "module": "src/area-chart/root/area-chart-root.ts"
4175
+ }
4176
+ },
4125
4177
  {
4126
4178
  "kind": "method",
4127
4179
  "name": "renderPlot",
@@ -4762,6 +4814,10 @@
4762
4814
  "min": 300,
4763
4815
  "slug": "with-a-tooltip"
4764
4816
  },
4817
+ {
4818
+ "description": "Each part's share with the percentages beside the plot, so a band can be measured off the drawing.",
4819
+ "slug": "with-a-value-axis"
4820
+ },
4765
4821
  {
4766
4822
  "description": "Rules at the levels the total reaches, drawn over the bands.",
4767
4823
  "min": 300,
@@ -4900,6 +4956,19 @@
4900
4956
  "name": "HelixHeadlessAreaChart",
4901
4957
  "module": "src/area-chart/root/area-chart-root.ts"
4902
4958
  }
4959
+ },
4960
+ {
4961
+ "name": "value-axis",
4962
+ "type": {
4963
+ "text": "boolean"
4964
+ },
4965
+ "default": "false",
4966
+ "description": "Draws the scale's numbers beside the plot, the `axis` part, at the levels\n`gridlines` rules: amounts, or percentages under `share`.\n\nAbsent draws none: bands read as a composition need no numbers beside\nthem, and the tooltip and the table hold every reading.",
4967
+ "fieldName": "valueAxis",
4968
+ "inheritedFrom": {
4969
+ "name": "HelixHeadlessAreaChart",
4970
+ "module": "src/area-chart/root/area-chart-root.ts"
4971
+ }
4903
4972
  }
4904
4973
  ],
4905
4974
  "cssParts": [
@@ -4911,6 +4980,14 @@
4911
4980
  "module": "src/area-chart/root/area-chart-root.ts"
4912
4981
  }
4913
4982
  },
4983
+ {
4984
+ "description": "The numbers of the scale beside the plot, under `value-axis`.",
4985
+ "name": "axis",
4986
+ "inheritedFrom": {
4987
+ "name": "HelixHeadlessAreaChart",
4988
+ "module": "src/area-chart/root/area-chart-root.ts"
4989
+ }
4990
+ },
4914
4991
  {
4915
4992
  "description": "The rule at zero, which is the floor of the drawing.",
4916
4993
  "name": "baseline",
@@ -4999,6 +5076,14 @@
4999
5076
  "module": "src/area-chart/root/area-chart-root.ts"
5000
5077
  }
5001
5078
  },
5079
+ {
5080
+ "description": "One number on the axis, placed with `inset-block-start` at its level.",
5081
+ "name": "tick",
5082
+ "inheritedFrom": {
5083
+ "name": "HelixHeadlessAreaChart",
5084
+ "module": "src/area-chart/root/area-chart-root.ts"
5085
+ }
5086
+ },
5002
5087
  {
5003
5088
  "description": "The bubble, forwarded from `Tooltip`.",
5004
5089
  "name": "tooltip",
@@ -5128,6 +5213,32 @@
5128
5213
  }
5129
5214
  }
5130
5215
  ],
5216
+ "events": [
5217
+ {
5218
+ "type": {
5219
+ "text": "HelixReadingChangeEvent"
5220
+ },
5221
+ "description": "The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.",
5222
+ "name": "helix-reading-change",
5223
+ "reactProp": "onhelix-reading-change",
5224
+ "inheritedFrom": {
5225
+ "name": "HelixHeadlessAreaChart",
5226
+ "module": "src/area-chart/root/area-chart-root.ts"
5227
+ }
5228
+ },
5229
+ {
5230
+ "type": {
5231
+ "text": "HelixReadingPressEvent"
5232
+ },
5233
+ "description": "A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.",
5234
+ "name": "helix-reading-press",
5235
+ "reactProp": "onhelix-reading-press",
5236
+ "inheritedFrom": {
5237
+ "name": "HelixHeadlessAreaChart",
5238
+ "module": "src/area-chart/root/area-chart-root.ts"
5239
+ }
5240
+ }
5241
+ ],
5131
5242
  "cssStates": [
5132
5243
  {
5133
5244
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -9616,6 +9727,21 @@
9616
9727
  "module": "src/bar-chart/root/bar-chart-root.ts"
9617
9728
  }
9618
9729
  },
9730
+ {
9731
+ "kind": "field",
9732
+ "name": "valueAxis",
9733
+ "type": {
9734
+ "text": "boolean"
9735
+ },
9736
+ "default": "false",
9737
+ "description": "Draws the numbers of the scale the bars are measured on, the `axis` part,\nat the levels `gridlines` rules: down the side of columns, and along the\nbottom of bars under `orientation=\"horizontal\"`.\n\nAbsent draws none with one scale, since bars compared with each other need\nno numbers. With `secondary` both scales are drawn whatever this says.",
9738
+ "attribute": "value-axis",
9739
+ "reflects": true,
9740
+ "inheritedFrom": {
9741
+ "name": "HelixHeadlessBarChart",
9742
+ "module": "src/bar-chart/root/bar-chart-root.ts"
9743
+ }
9744
+ },
9619
9745
  {
9620
9746
  "kind": "field",
9621
9747
  "name": "scaled",
@@ -9838,7 +9964,7 @@
9838
9964
  }
9839
9965
  }
9840
9966
  ],
9841
- "description": "The numbers along one scale, drawn only where there are two of them.\n\n**A chart with one scale renders no axis, on purpose.** Columns measured\nagainst each other need no numbers to be compared, and a row of them beside\na small chart is furniture that makes the drawing smaller for no reading a\nreader was going to do. With two scales that argument inverts: a reader\ncannot tell there are two, cannot tell which series is on which, and cannot\nrecover either from the picture. So this appears with `secondary` and never\nwithout it.\n\n**Beside the plot and not inside it.** Inside, the numbers are drawn over\nthe drawing, and a horizontal chart shows it immediately: its value axis\nruns along the bottom, which is where the last row of bars is. The vertical\ncase has the same fault and enough slack to hide it. The plot is also the\npointer's catchment and the tooltip's containing block, both measured from\nits box, so padding it to make room would move every reading half an axis\nto the right.\n\nA column of the host grid instead, which the stylesheet grows only when\n`secondary` is set. That is what the property reflects for.\n\nThe primary hugs the edge the drawing starts at and the secondary the edge\nit ends at: down the two sides for columns, along the bottom and top for\nbars, which is where each axis is when the chart is turned.",
9967
+ "description": "The numbers along one scale, drawn only where there are two of them.\n\n**A chart with one scale renders no axis, on purpose.** Columns measured\nagainst each other need no numbers to be compared, and a row of them beside\na small chart is furniture that makes the drawing smaller for no reading a\nreader was going to do. With two scales that argument inverts: a reader\ncannot tell there are two, cannot tell which series is on which, and cannot\nrecover either from the picture. So this appears with `secondary`, and\nwith one scale only where `value-axis` asks for its numbers.\n\n**Beside the plot and not inside it.** Inside, the numbers are drawn over\nthe drawing, and a horizontal chart shows it immediately: its value axis\nruns along the bottom, which is where the last row of bars is. The vertical\ncase has the same fault and enough slack to hide it. The plot is also the\npointer's catchment and the tooltip's containing block, both measured from\nits box, so padding it to make room would move every reading half an axis\nto the right.\n\nA column of the host grid instead, which the stylesheet grows only when\n`secondary` or `value-axis` is set. That is what the two reflect for.\n\nThe primary hugs the edge the drawing starts at and the secondary the edge\nit ends at: down the two sides for columns, along the bottom and top for\nbars, which is where each axis is when the chart is turned.",
9842
9968
  "inheritedFrom": {
9843
9969
  "name": "HelixHeadlessBarChart",
9844
9970
  "module": "src/bar-chart/root/bar-chart-root.ts"
@@ -10511,6 +10637,19 @@
10511
10637
  "name": "HelixHeadlessBarChart",
10512
10638
  "module": "src/bar-chart/root/bar-chart-root.ts"
10513
10639
  }
10640
+ },
10641
+ {
10642
+ "name": "value-axis",
10643
+ "type": {
10644
+ "text": "boolean"
10645
+ },
10646
+ "default": "false",
10647
+ "description": "Draws the numbers of the scale the bars are measured on, the `axis` part,\nat the levels `gridlines` rules: down the side of columns, and along the\nbottom of bars under `orientation=\"horizontal\"`.\n\nAbsent draws none with one scale, since bars compared with each other need\nno numbers. With `secondary` both scales are drawn whatever this says.",
10648
+ "fieldName": "valueAxis",
10649
+ "inheritedFrom": {
10650
+ "name": "HelixHeadlessBarChart",
10651
+ "module": "src/bar-chart/root/bar-chart-root.ts"
10652
+ }
10514
10653
  }
10515
10654
  ],
10516
10655
  "superclass": {
@@ -10574,6 +10713,10 @@
10574
10713
  "description": "A tooltip that shows the whole row under the pointer, including a column the chart does not plot.",
10575
10714
  "slug": "with-a-tooltip"
10576
10715
  },
10716
+ {
10717
+ "description": "The numbers of the scale the columns are measured on, beside the plot, with one scale.",
10718
+ "slug": "with-a-value-axis"
10719
+ },
10577
10720
  {
10578
10721
  "description": "Gridlines on both axes of a horizontal chart.",
10579
10722
  "slug": "with-gridlines"
@@ -10585,7 +10728,7 @@
10585
10728
  "customElement": true,
10586
10729
  "cssParts": [
10587
10730
  {
10588
- "description": "The numbers of one scale, drawn only when `secondary` splits the chart into two scales.",
10731
+ "description": "The numbers of one scale: the primary under `value-axis`, and both when `secondary` splits the chart into two scales.",
10589
10732
  "name": "axis",
10590
10733
  "inheritedFrom": {
10591
10734
  "name": "HelixHeadlessBarChart",
@@ -10857,6 +11000,32 @@
10857
11000
  }
10858
11001
  }
10859
11002
  ],
11003
+ "events": [
11004
+ {
11005
+ "type": {
11006
+ "text": "HelixReadingChangeEvent"
11007
+ },
11008
+ "description": "The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.",
11009
+ "name": "helix-reading-change",
11010
+ "reactProp": "onhelix-reading-change",
11011
+ "inheritedFrom": {
11012
+ "name": "HelixHeadlessBarChart",
11013
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11014
+ }
11015
+ },
11016
+ {
11017
+ "type": {
11018
+ "text": "HelixReadingPressEvent"
11019
+ },
11020
+ "description": "A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.",
11021
+ "name": "helix-reading-press",
11022
+ "reactProp": "onhelix-reading-press",
11023
+ "inheritedFrom": {
11024
+ "name": "HelixHeadlessBarChart",
11025
+ "module": "src/bar-chart/root/bar-chart-root.ts"
11026
+ }
11027
+ }
11028
+ ],
10860
11029
  "cssStates": [
10861
11030
  {
10862
11031
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -16204,6 +16373,29 @@
16204
16373
  "module": "src/callout/root/callout-root.ts"
16205
16374
  }
16206
16375
  },
16376
+ {
16377
+ "kind": "method",
16378
+ "name": "dismissName",
16379
+ "privacy": "private",
16380
+ "return": {
16381
+ "type": {
16382
+ "text": "string"
16383
+ }
16384
+ },
16385
+ "parameters": [
16386
+ {
16387
+ "name": "tone",
16388
+ "type": {
16389
+ "text": "string"
16390
+ }
16391
+ }
16392
+ ],
16393
+ "description": "The dismiss button's name: `dismissLabel` with the heading's words, or the\ntone's name.\n\nThe heading is read from the children, so a server and a hydrating render\nname the button for the tone, and the update after names it for the\nheading.",
16394
+ "inheritedFrom": {
16395
+ "name": "HelixHeadlessCallout",
16396
+ "module": "src/callout/root/callout-root.ts"
16397
+ }
16398
+ },
16207
16399
  {
16208
16400
  "kind": "field",
16209
16401
  "name": "tier",
@@ -27046,6 +27238,32 @@
27046
27238
  "module": "src/chat/composer/chat-composer.ts"
27047
27239
  }
27048
27240
  },
27241
+ {
27242
+ "kind": "field",
27243
+ "name": "maxLength",
27244
+ "type": {
27245
+ "text": "number | undefined"
27246
+ },
27247
+ "description": "The most characters a draft can have. The field stops taking more.",
27248
+ "attribute": "maxlength",
27249
+ "inheritedFrom": {
27250
+ "name": "HelixHeadlessChatComposer",
27251
+ "module": "src/chat/composer/chat-composer.ts"
27252
+ }
27253
+ },
27254
+ {
27255
+ "kind": "field",
27256
+ "name": "minLength",
27257
+ "type": {
27258
+ "text": "number | undefined"
27259
+ },
27260
+ "description": "The fewest characters a draft can have, once the reader has written in\nthe field, as on a `<textarea>`.",
27261
+ "attribute": "minlength",
27262
+ "inheritedFrom": {
27263
+ "name": "HelixHeadlessChatComposer",
27264
+ "module": "src/chat/composer/chat-composer.ts"
27265
+ }
27266
+ },
27049
27267
  {
27050
27268
  "kind": "field",
27051
27269
  "name": "placeholder",
@@ -27060,6 +27278,20 @@
27060
27278
  "module": "src/chat/composer/chat-composer.ts"
27061
27279
  }
27062
27280
  },
27281
+ {
27282
+ "kind": "field",
27283
+ "name": "required",
27284
+ "type": {
27285
+ "text": "boolean"
27286
+ },
27287
+ "default": "false",
27288
+ "description": "Whether the form needs a draft to submit. An empty draft never sends,\nrequired or not.",
27289
+ "attribute": "required",
27290
+ "inheritedFrom": {
27291
+ "name": "HelixHeadlessChatComposer",
27292
+ "module": "src/chat/composer/chat-composer.ts"
27293
+ }
27294
+ },
27063
27295
  {
27064
27296
  "kind": "field",
27065
27297
  "name": "rows",
@@ -27147,6 +27379,34 @@
27147
27379
  "module": "src/chat/composer/chat-composer.ts"
27148
27380
  }
27149
27381
  },
27382
+ {
27383
+ "kind": "field",
27384
+ "name": "touched",
27385
+ "type": {
27386
+ "text": "boolean"
27387
+ },
27388
+ "privacy": "private",
27389
+ "default": "false",
27390
+ "description": "Whether the reader has tried to send or submit the draft, or edited it and left.",
27391
+ "inheritedFrom": {
27392
+ "name": "HelixHeadlessChatComposer",
27393
+ "module": "src/chat/composer/chat-composer.ts"
27394
+ }
27395
+ },
27396
+ {
27397
+ "kind": "field",
27398
+ "name": "shownInvalid",
27399
+ "type": {
27400
+ "text": "boolean"
27401
+ },
27402
+ "privacy": "private",
27403
+ "default": "false",
27404
+ "description": "Whether the composer shows that its draft is wrong.",
27405
+ "inheritedFrom": {
27406
+ "name": "HelixHeadlessChatComposer",
27407
+ "module": "src/chat/composer/chat-composer.ts"
27408
+ }
27409
+ },
27150
27410
  {
27151
27411
  "kind": "field",
27152
27412
  "name": "pause",
@@ -27243,6 +27503,17 @@
27243
27503
  "text": "formResetCallback() => void"
27244
27504
  }
27245
27505
  },
27506
+ {
27507
+ "kind": "field",
27508
+ "name": "touch",
27509
+ "privacy": "private",
27510
+ "readonly": true,
27511
+ "description": "The reader has had a go at the draft, so whether it is wrong can be shown.",
27512
+ "inheritedFrom": {
27513
+ "name": "HelixHeadlessChatComposer",
27514
+ "module": "src/chat/composer/chat-composer.ts"
27515
+ }
27516
+ },
27246
27517
  {
27247
27518
  "kind": "method",
27248
27519
  "name": "formStateRestoreCallback",
@@ -28133,6 +28404,30 @@
28133
28404
  "module": "src/chat/composer/chat-composer.ts"
28134
28405
  }
28135
28406
  },
28407
+ {
28408
+ "name": "maxlength",
28409
+ "type": {
28410
+ "text": "number | undefined"
28411
+ },
28412
+ "description": "The most characters a draft can have. The field stops taking more.",
28413
+ "fieldName": "maxLength",
28414
+ "inheritedFrom": {
28415
+ "name": "HelixHeadlessChatComposer",
28416
+ "module": "src/chat/composer/chat-composer.ts"
28417
+ }
28418
+ },
28419
+ {
28420
+ "name": "minlength",
28421
+ "type": {
28422
+ "text": "number | undefined"
28423
+ },
28424
+ "description": "The fewest characters a draft can have, once the reader has written in\nthe field, as on a `<textarea>`.",
28425
+ "fieldName": "minLength",
28426
+ "inheritedFrom": {
28427
+ "name": "HelixHeadlessChatComposer",
28428
+ "module": "src/chat/composer/chat-composer.ts"
28429
+ }
28430
+ },
28136
28431
  {
28137
28432
  "name": "placeholder",
28138
28433
  "type": {
@@ -28146,6 +28441,19 @@
28146
28441
  "module": "src/chat/composer/chat-composer.ts"
28147
28442
  }
28148
28443
  },
28444
+ {
28445
+ "name": "required",
28446
+ "type": {
28447
+ "text": "boolean"
28448
+ },
28449
+ "default": "false",
28450
+ "description": "Whether the form needs a draft to submit. An empty draft never sends,\nrequired or not.",
28451
+ "fieldName": "required",
28452
+ "inheritedFrom": {
28453
+ "name": "HelixHeadlessChatComposer",
28454
+ "module": "src/chat/composer/chat-composer.ts"
28455
+ }
28456
+ },
28149
28457
  {
28150
28458
  "name": "rows",
28151
28459
  "type": {
@@ -28277,6 +28585,14 @@
28277
28585
  }
28278
28586
  ],
28279
28587
  "cssStates": [
28588
+ {
28589
+ "description": "The draft fails `required`, `minlength`, `maxlength`, or a custom error, and the reader has tried to send or submit it, or edited the field and left it.",
28590
+ "name": "invalid",
28591
+ "inheritedFrom": {
28592
+ "name": "HelixHeadlessChatComposer",
28593
+ "module": "src/chat/composer/chat-composer.ts"
28594
+ }
28595
+ },
28280
28596
  {
28281
28597
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
28282
28598
  "name": "settled",
@@ -30009,6 +30325,20 @@
30009
30325
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
30010
30326
  }
30011
30327
  },
30328
+ {
30329
+ "kind": "field",
30330
+ "name": "statusSlots",
30331
+ "type": {
30332
+ "text": "boolean"
30333
+ },
30334
+ "privacy": "protected",
30335
+ "default": "false",
30336
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
30337
+ "inheritedFrom": {
30338
+ "name": "MixinCollection",
30339
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
30340
+ }
30341
+ },
30012
30342
  {
30013
30343
  "kind": "field",
30014
30344
  "name": "shadowRootOptions",
@@ -30547,6 +30877,21 @@
30547
30877
  "module": "src/chat/root/chat-root.ts"
30548
30878
  }
30549
30879
  },
30880
+ {
30881
+ "kind": "method",
30882
+ "name": "markScroller",
30883
+ "privacy": "private",
30884
+ "return": {
30885
+ "type": {
30886
+ "text": "void"
30887
+ }
30888
+ },
30889
+ "description": "Makes the log a tab stop while it scrolls, and takes the stop away when it\ndoes not.\n\n**A reader on a keyboard scrolls the history from the log itself.**\nChromium and Firefox make a box that scrolls focusable on their own, and\nSafari does not, so there the arrow keys could not reach a long history.\nA log that fits is no stop at all, so Tab goes straight to the composer.",
30890
+ "inheritedFrom": {
30891
+ "name": "HelixHeadlessChat",
30892
+ "module": "src/chat/root/chat-root.ts"
30893
+ }
30894
+ },
30550
30895
  {
30551
30896
  "kind": "field",
30552
30897
  "name": "atBottom",
@@ -40417,6 +40762,14 @@
40417
40762
  "module": "src/color-input/root/color-input-root.ts"
40418
40763
  }
40419
40764
  },
40765
+ {
40766
+ "description": "The label, for content richer than the `label` text.",
40767
+ "name": "label",
40768
+ "inheritedFrom": {
40769
+ "name": "HelixHeadlessColorInput",
40770
+ "module": "src/color-input/root/color-input-root.ts"
40771
+ }
40772
+ },
40420
40773
  {
40421
40774
  "description": "Content in the panel under the picker, such as a note or an action.",
40422
40775
  "name": "panel-footer",
@@ -44402,6 +44755,61 @@
44402
44755
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
44403
44756
  }
44404
44757
  },
44758
+ {
44759
+ "kind": "method",
44760
+ "name": "tokenElements",
44761
+ "privacy": "protected",
44762
+ "return": {
44763
+ "type": {
44764
+ "text": "HTMLElement[]"
44765
+ }
44766
+ },
44767
+ "description": "The tags, which the arrow keys reach from the text.",
44768
+ "inheritedFrom": {
44769
+ "name": "MixinTokens",
44770
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
44771
+ }
44772
+ },
44773
+ {
44774
+ "kind": "method",
44775
+ "name": "tokenStops",
44776
+ "privacy": "private",
44777
+ "return": {
44778
+ "type": {
44779
+ "text": "HTMLElement[]"
44780
+ }
44781
+ },
44782
+ "description": "The remove button of each token shown that has one, in order.",
44783
+ "inheritedFrom": {
44784
+ "name": "MixinTokens",
44785
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
44786
+ }
44787
+ },
44788
+ {
44789
+ "kind": "field",
44790
+ "name": "tokenControl",
44791
+ "type": {
44792
+ "text": "HTMLInputElement | null"
44793
+ },
44794
+ "privacy": "private",
44795
+ "description": "The host's text field.",
44796
+ "readonly": true,
44797
+ "inheritedFrom": {
44798
+ "name": "MixinTokens",
44799
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
44800
+ }
44801
+ },
44802
+ {
44803
+ "kind": "field",
44804
+ "name": "handleTokenKeydown",
44805
+ "privacy": "private",
44806
+ "readonly": true,
44807
+ "description": "The arrow keys between the tokens, and Delete or Backspace on one.\n\nThe arrow toward the end of the line moves to the next token, and past\nthe last into the text with the caret at its start. Delete or Backspace\nasks the focused token to go, as its remove button does, and focus that\nleaves with it comes back to the text.",
44808
+ "inheritedFrom": {
44809
+ "name": "MixinTokens",
44810
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
44811
+ }
44812
+ },
44405
44813
  {
44406
44814
  "kind": "method",
44407
44815
  "name": "renderRest",
@@ -45956,6 +46364,20 @@
45956
46364
  "module": "src/combobox/root/combobox-root.ts"
45957
46365
  }
45958
46366
  },
46367
+ {
46368
+ "kind": "field",
46369
+ "name": "focusTarget",
46370
+ "type": {
46371
+ "text": "HTMLElement | null"
46372
+ },
46373
+ "privacy": "protected",
46374
+ "description": "The element focus goes to: the control's first tab stop, or `null` where\nthere is none.\n\nRead through shadow roots and slots, so a group lands on the member that\nholds its tab stop, which is the chosen radio in a radio group.",
46375
+ "readonly": true,
46376
+ "inheritedFrom": {
46377
+ "name": "HelixFormElement",
46378
+ "module": "src/helix-form-element/helix-form-element.ts"
46379
+ }
46380
+ },
45959
46381
  {
45960
46382
  "kind": "field",
45961
46383
  "name": "handleDismiss",
@@ -46419,20 +46841,6 @@
46419
46841
  "text": "setCustomValidity(message: string) => void"
46420
46842
  }
46421
46843
  },
46422
- {
46423
- "kind": "field",
46424
- "name": "focusTarget",
46425
- "type": {
46426
- "text": "HTMLElement | null"
46427
- },
46428
- "privacy": "protected",
46429
- "description": "The element focus goes to: the control's first tab stop, or `null` where\nthere is none.\n\nRead through shadow roots and slots, so a group lands on the member that\nholds its tab stop, which is the chosen radio in a radio group.",
46430
- "readonly": true,
46431
- "inheritedFrom": {
46432
- "name": "HelixFormElement",
46433
- "module": "src/helix-form-element/helix-form-element.ts"
46434
- }
46435
- },
46436
46844
  {
46437
46845
  "kind": "method",
46438
46846
  "name": "focus",
@@ -51094,7 +51502,7 @@
51094
51502
  }
51095
51503
  },
51096
51504
  {
51097
- "description": "The live region that says `pending-label` when the button becomes pending under focus. It is rendered from the first time the button is pending.",
51505
+ "description": "The live region that says `copied-label` or `error-label` after a press, and `pending-label` when the button becomes pending under focus. It is rendered from the first time it says anything.",
51098
51506
  "name": "live",
51099
51507
  "inheritedFrom": {
51100
51508
  "name": "HelixHeadlessButton",
@@ -51937,6 +52345,14 @@
51937
52345
  "module": "src/data-table/root/data-table-root.ts"
51938
52346
  }
51939
52347
  },
52348
+ {
52349
+ "description": "Content shown when there are no rows to show and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.",
52350
+ "name": "empty",
52351
+ "inheritedFrom": {
52352
+ "name": "HelixHeadlessDataTable",
52353
+ "module": "src/data-table/root/data-table-root.ts"
52354
+ }
52355
+ },
51940
52356
  {
51941
52357
  "description": "Content below the grid. It replaces the built-in pagination.",
51942
52358
  "name": "footer",
@@ -51945,6 +52361,14 @@
51945
52361
  "module": "src/data-table/root/data-table-root.ts"
51946
52362
  }
51947
52363
  },
52364
+ {
52365
+ "description": "Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.",
52366
+ "name": "loading",
52367
+ "inheritedFrom": {
52368
+ "name": "HelixHeadlessDataTable",
52369
+ "module": "src/data-table/root/data-table-root.ts"
52370
+ }
52371
+ },
51948
52372
  {
51949
52373
  "description": "Content above the grid, such as a search field or actions.",
51950
52374
  "name": "toolbar",
@@ -52178,6 +52602,20 @@
52178
52602
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
52179
52603
  }
52180
52604
  },
52605
+ {
52606
+ "kind": "field",
52607
+ "name": "statusSlots",
52608
+ "type": {
52609
+ "text": "boolean"
52610
+ },
52611
+ "privacy": "protected",
52612
+ "default": "false",
52613
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
52614
+ "inheritedFrom": {
52615
+ "name": "MixinCollection",
52616
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
52617
+ }
52618
+ },
52181
52619
  {
52182
52620
  "kind": "field",
52183
52621
  "name": "shadowRootOptions",
@@ -52836,6 +53274,20 @@
52836
53274
  "module": "src/data-table/root/data-table-root.ts"
52837
53275
  }
52838
53276
  },
53277
+ {
53278
+ "kind": "field",
53279
+ "name": "selectionBehavior",
53280
+ "type": {
53281
+ "text": "'replace' | 'toggle'"
53282
+ },
53283
+ "default": "'toggle'",
53284
+ "description": "What a key or a press on a row does to the rows already selected, in a\n`selectable` table. `toggle`, the default, keeps them: Space adds or takes\nout the row. `replace` selects the row alone, as a file list does: Down and\nUp carry the selection with them, and a press on a row selects it. Control\nor Command with a press or Space adds or takes out one row, and with a move\ngoes without selecting. The checkboxes add or take out one row either way.",
53285
+ "attribute": "selection-behavior",
53286
+ "inheritedFrom": {
53287
+ "name": "HelixHeadlessDataTable",
53288
+ "module": "src/data-table/root/data-table-root.ts"
53289
+ }
53290
+ },
52839
53291
  {
52840
53292
  "kind": "field",
52841
53293
  "name": "selectRowLabel",
@@ -54339,7 +54791,7 @@
54339
54791
  "text": "void"
54340
54792
  }
54341
54793
  },
54342
- "description": "The columns into the header row, everything else into the toolbar and footer.\n\nManual assignment, so a consumer's own markup is never written to.",
54794
+ "description": "The columns into the header row, everything else into the slot it names.\n\nManual assignment, so a consumer's own markup is never written to.",
54343
54795
  "inheritedFrom": {
54344
54796
  "name": "HelixHeadlessDataTable",
54345
54797
  "module": "src/data-table/root/data-table-root.ts"
@@ -54858,6 +55310,54 @@
54858
55310
  "module": "src/data-table/root/data-table-root.ts"
54859
55311
  }
54860
55312
  },
55313
+ {
55314
+ "kind": "field",
55315
+ "name": "replaces",
55316
+ "type": {
55317
+ "text": "boolean"
55318
+ },
55319
+ "privacy": "private",
55320
+ "description": "Whether a press or a move on a row selects it alone.",
55321
+ "readonly": true,
55322
+ "inheritedFrom": {
55323
+ "name": "HelixHeadlessDataTable",
55324
+ "module": "src/data-table/root/data-table-root.ts"
55325
+ }
55326
+ },
55327
+ {
55328
+ "kind": "method",
55329
+ "name": "chooseOnly",
55330
+ "privacy": "private",
55331
+ "return": {
55332
+ "type": {
55333
+ "text": "void"
55334
+ }
55335
+ },
55336
+ "parameters": [
55337
+ {
55338
+ "name": "row",
55339
+ "type": {
55340
+ "text": "number"
55341
+ }
55342
+ }
55343
+ ],
55344
+ "description": "Selects the row at `row` on the page alone, and makes it where a range\nruns from. Asks nothing where it is already the only one selected.",
55345
+ "inheritedFrom": {
55346
+ "name": "HelixHeadlessDataTable",
55347
+ "module": "src/data-table/root/data-table-root.ts"
55348
+ }
55349
+ },
55350
+ {
55351
+ "kind": "field",
55352
+ "name": "handleRowClick",
55353
+ "privacy": "private",
55354
+ "readonly": true,
55355
+ "description": "A press on a row under `selection-behavior=\"replace\"`: it selects the row\nalone, Control or Command adds or takes out the row, and Shift selects\nevery row from the one last chosen. A press on a control in a cell, or on\nthe checkbox or grip column, is the control's.",
55356
+ "inheritedFrom": {
55357
+ "name": "HelixHeadlessDataTable",
55358
+ "module": "src/data-table/root/data-table-root.ts"
55359
+ }
55360
+ },
54861
55361
  {
54862
55362
  "kind": "field",
54863
55363
  "name": "handleHeadClick",
@@ -56242,6 +56742,19 @@
56242
56742
  "module": "src/data-table/root/data-table-root.ts"
56243
56743
  }
56244
56744
  },
56745
+ {
56746
+ "name": "selection-behavior",
56747
+ "type": {
56748
+ "text": "'replace' | 'toggle'"
56749
+ },
56750
+ "default": "'toggle'",
56751
+ "description": "What a key or a press on a row does to the rows already selected, in a\n`selectable` table. `toggle`, the default, keeps them: Space adds or takes\nout the row. `replace` selects the row alone, as a file list does: Down and\nUp carry the selection with them, and a press on a row selects it. Control\nor Command with a press or Space adds or takes out one row, and with a move\ngoes without selecting. The checkboxes add or take out one row either way.",
56752
+ "fieldName": "selectionBehavior",
56753
+ "inheritedFrom": {
56754
+ "name": "HelixHeadlessDataTable",
56755
+ "module": "src/data-table/root/data-table-root.ts"
56756
+ }
56757
+ },
56245
56758
  {
56246
56759
  "name": "select-row-label",
56247
56760
  "type": {
@@ -57128,6 +57641,17 @@
57128
57641
  "module": "src/mixins/mixin-picker-editing/mixin-picker-editing.ts"
57129
57642
  }
57130
57643
  },
57644
+ {
57645
+ "kind": "field",
57646
+ "name": "handleEditKey",
57647
+ "privacy": "private",
57648
+ "readonly": true,
57649
+ "description": "The first key that moves the caret or edits, while the focused field\nshows its rendering, puts the value in the field before the key acts.\n\nPicking hands focus back to a field that shows `August 5, 2026`, which is\nwhat the reader chose. `Intl` formats and does not parse, so a key that\nedited the rendering wrote text no date could be read from. The caret\nkeeps its place at the start, at the end, or around the whole text, and\ngoes to the end otherwise.",
57650
+ "inheritedFrom": {
57651
+ "name": "MixinPickerEditing",
57652
+ "module": "src/mixins/mixin-picker-editing/mixin-picker-editing.ts"
57653
+ }
57654
+ },
57131
57655
  {
57132
57656
  "kind": "field",
57133
57657
  "name": "handleFocus",
@@ -57657,6 +58181,60 @@
57657
58181
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
57658
58182
  }
57659
58183
  },
58184
+ {
58185
+ "kind": "method",
58186
+ "name": "tokenElements",
58187
+ "privacy": "protected",
58188
+ "return": {
58189
+ "type": {
58190
+ "text": "HTMLElement[]"
58191
+ }
58192
+ },
58193
+ "inheritedFrom": {
58194
+ "name": "MixinTokens",
58195
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
58196
+ }
58197
+ },
58198
+ {
58199
+ "kind": "method",
58200
+ "name": "tokenStops",
58201
+ "privacy": "private",
58202
+ "return": {
58203
+ "type": {
58204
+ "text": "HTMLElement[]"
58205
+ }
58206
+ },
58207
+ "description": "The remove button of each token shown that has one, in order.",
58208
+ "inheritedFrom": {
58209
+ "name": "MixinTokens",
58210
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
58211
+ }
58212
+ },
58213
+ {
58214
+ "kind": "field",
58215
+ "name": "tokenControl",
58216
+ "type": {
58217
+ "text": "HTMLInputElement | null"
58218
+ },
58219
+ "privacy": "private",
58220
+ "description": "The host's text field.",
58221
+ "readonly": true,
58222
+ "inheritedFrom": {
58223
+ "name": "MixinTokens",
58224
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
58225
+ }
58226
+ },
58227
+ {
58228
+ "kind": "field",
58229
+ "name": "handleTokenKeydown",
58230
+ "privacy": "private",
58231
+ "readonly": true,
58232
+ "description": "The arrow keys between the tokens, and Delete or Backspace on one.\n\nThe arrow toward the end of the line moves to the next token, and past\nthe last into the text with the caret at its start. Delete or Backspace\nasks the focused token to go, as its remove button does, and focus that\nleaves with it comes back to the text.",
58233
+ "inheritedFrom": {
58234
+ "name": "MixinTokens",
58235
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
58236
+ }
58237
+ },
57660
58238
  {
57661
58239
  "kind": "method",
57662
58240
  "name": "renderRest",
@@ -60580,6 +61158,14 @@
60580
61158
  "module": "src/date-input/root/date-input-root.ts"
60581
61159
  }
60582
61160
  },
61161
+ {
61162
+ "description": "The label, for content richer than the `label` text.",
61163
+ "name": "label",
61164
+ "inheritedFrom": {
61165
+ "name": "HelixHeadlessDateInput",
61166
+ "module": "src/date-input/root/date-input-root.ts"
61167
+ }
61168
+ },
60583
61169
  {
60584
61170
  "description": "The icon on the calendar's next month control.",
60585
61171
  "name": "next-icon",
@@ -67141,7 +67727,7 @@
67141
67727
  "text": "boolean"
67142
67728
  },
67143
67729
  "default": "false",
67144
- "description": "Whether screen readers announce the line as a separator, which they now do\nby default.\n\nIt dates from when the line was decorative by default. It is still read,\nand it wins over `decorative`, so a divider written with it stays a\nseparator.",
67730
+ "description": "Whether screen readers announce the line as a separator, which they now do\nby default.",
67145
67731
  "attribute": "announced",
67146
67732
  "reflects": true,
67147
67733
  "inheritedFrom": {
@@ -67562,7 +68148,7 @@
67562
68148
  "text": "boolean"
67563
68149
  },
67564
68150
  "default": "false",
67565
- "description": "Whether screen readers announce the line as a separator, which they now do\nby default.\n\nIt dates from when the line was decorative by default. It is still read,\nand it wins over `decorative`, so a divider written with it stays a\nseparator.",
68151
+ "description": "Whether screen readers announce the line as a separator, which they now do\nby default.",
67566
68152
  "fieldName": "announced",
67567
68153
  "inheritedFrom": {
67568
68154
  "name": "HelixHeadlessDivider",
@@ -71807,6 +72393,20 @@
71807
72393
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
71808
72394
  }
71809
72395
  },
72396
+ {
72397
+ "kind": "field",
72398
+ "name": "statusSlots",
72399
+ "type": {
72400
+ "text": "boolean"
72401
+ },
72402
+ "privacy": "protected",
72403
+ "default": "false",
72404
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
72405
+ "inheritedFrom": {
72406
+ "name": "MixinCollection",
72407
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
72408
+ }
72409
+ },
71810
72410
  {
71811
72411
  "kind": "field",
71812
72412
  "name": "label",
@@ -79319,6 +79919,61 @@
79319
79919
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
79320
79920
  }
79321
79921
  },
79922
+ {
79923
+ "kind": "method",
79924
+ "name": "tokenElements",
79925
+ "privacy": "protected",
79926
+ "return": {
79927
+ "type": {
79928
+ "text": "HTMLElement[]"
79929
+ }
79930
+ },
79931
+ "description": "The tokens slotted in `tags`, which the arrow keys reach from the text.",
79932
+ "inheritedFrom": {
79933
+ "name": "MixinTokens",
79934
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
79935
+ }
79936
+ },
79937
+ {
79938
+ "kind": "method",
79939
+ "name": "tokenStops",
79940
+ "privacy": "private",
79941
+ "return": {
79942
+ "type": {
79943
+ "text": "HTMLElement[]"
79944
+ }
79945
+ },
79946
+ "description": "The remove button of each token shown that has one, in order.",
79947
+ "inheritedFrom": {
79948
+ "name": "MixinTokens",
79949
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
79950
+ }
79951
+ },
79952
+ {
79953
+ "kind": "field",
79954
+ "name": "tokenControl",
79955
+ "type": {
79956
+ "text": "HTMLInputElement | null"
79957
+ },
79958
+ "privacy": "private",
79959
+ "description": "The host's text field.",
79960
+ "readonly": true,
79961
+ "inheritedFrom": {
79962
+ "name": "MixinTokens",
79963
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
79964
+ }
79965
+ },
79966
+ {
79967
+ "kind": "field",
79968
+ "name": "handleTokenKeydown",
79969
+ "privacy": "private",
79970
+ "readonly": true,
79971
+ "description": "The arrow keys between the tokens, and Delete or Backspace on one.\n\nThe arrow toward the end of the line moves to the next token, and past\nthe last into the text with the caret at its start. Delete or Backspace\nasks the focused token to go, as its remove button does, and focus that\nleaves with it comes back to the text.",
79972
+ "inheritedFrom": {
79973
+ "name": "MixinTokens",
79974
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
79975
+ }
79976
+ },
79322
79977
  {
79323
79978
  "kind": "method",
79324
79979
  "name": "renderRest",
@@ -97854,7 +98509,7 @@
97854
98509
  "text": "TemplateResult"
97855
98510
  }
97856
98511
  },
97857
- "description": "The chord under `caps`, a part for each key and for each `+` between two,\nso a sheet can draw a cap per key. Written with no space between, so a\nchord reads as the one label it was.",
98512
+ "description": "The chord under `caps`, a part for each key and for each `+` between two,\nso a sheet can draw a cap per key. Written with no space between, so a\nchord reads as the one label it was. Where the chord is said in words,\nthe parts are hidden from a screen reader, which reads the words.",
97858
98513
  "inheritedFrom": {
97859
98514
  "name": "HelixHeadlessKbd",
97860
98515
  "module": "src/kbd/root/kbd-root.ts"
@@ -102256,6 +102911,14 @@
102256
102911
  "name": "HelixHeadlessLineChart",
102257
102912
  "module": "src/line-chart/root/line-chart-root.ts"
102258
102913
  }
102914
+ },
102915
+ {
102916
+ "description": "The width of the axis, in `ch`, set from the widest number on it. Written by the component on the axis.",
102917
+ "name": "--line-chart-axis",
102918
+ "inheritedFrom": {
102919
+ "name": "HelixHeadlessLineChart",
102920
+ "module": "src/line-chart/root/line-chart-root.ts"
102921
+ }
102259
102922
  }
102260
102923
  ],
102261
102924
  "members": [
@@ -102718,6 +103381,21 @@
102718
103381
  "module": "src/line-chart/root/line-chart-root.ts"
102719
103382
  }
102720
103383
  },
103384
+ {
103385
+ "kind": "field",
103386
+ "name": "valueAxis",
103387
+ "type": {
103388
+ "text": "boolean"
103389
+ },
103390
+ "default": "false",
103391
+ "description": "Draws the scale's numbers beside the plot, the `axis` part, at the levels\n`gridlines` rules, so a reading can be measured off the drawing as well\nas read from the tooltip.\n\nAbsent draws none: a line read for its shape needs no numbers beside it,\nand the tooltip and the table hold every reading.",
103392
+ "attribute": "value-axis",
103393
+ "reflects": true,
103394
+ "inheritedFrom": {
103395
+ "name": "HelixHeadlessLineChart",
103396
+ "module": "src/line-chart/root/line-chart-root.ts"
103397
+ }
103398
+ },
102721
103399
  {
102722
103400
  "kind": "method",
102723
103401
  "name": "range",
@@ -102791,6 +103469,35 @@
102791
103469
  "module": "src/line-chart/root/line-chart-root.ts"
102792
103470
  }
102793
103471
  },
103472
+ {
103473
+ "kind": "method",
103474
+ "name": "renderAxis",
103475
+ "privacy": "protected",
103476
+ "return": {
103477
+ "type": {
103478
+ "text": "TemplateResult"
103479
+ }
103480
+ },
103481
+ "parameters": [
103482
+ {
103483
+ "name": "y",
103484
+ "type": {
103485
+ "text": "(value: number) => number"
103486
+ }
103487
+ },
103488
+ {
103489
+ "name": "domain",
103490
+ "type": {
103491
+ "text": "[number, number]"
103492
+ }
103493
+ }
103494
+ ],
103495
+ "description": "The scale's numbers beside the plot, under `value-axis`, written in the\nchart's locale. A seam, so a subclass can write the numbers its own way,\nsuch as a currency.",
103496
+ "inheritedFrom": {
103497
+ "name": "HelixHeadlessLineChart",
103498
+ "module": "src/line-chart/root/line-chart-root.ts"
103499
+ }
103500
+ },
102794
103501
  {
102795
103502
  "kind": "method",
102796
103503
  "name": "renderSummary",
@@ -103572,6 +104279,19 @@
103572
104279
  "module": "src/line-chart/root/line-chart-root.ts"
103573
104280
  }
103574
104281
  },
104282
+ {
104283
+ "name": "value-axis",
104284
+ "type": {
104285
+ "text": "boolean"
104286
+ },
104287
+ "default": "false",
104288
+ "description": "Draws the scale's numbers beside the plot, the `axis` part, at the levels\n`gridlines` rules, so a reading can be measured off the drawing as well\nas read from the tooltip.\n\nAbsent draws none: a line read for its shape needs no numbers beside it,\nand the tooltip and the table hold every reading.",
104289
+ "fieldName": "valueAxis",
104290
+ "inheritedFrom": {
104291
+ "name": "HelixHeadlessLineChart",
104292
+ "module": "src/line-chart/root/line-chart-root.ts"
104293
+ }
104294
+ },
103575
104295
  {
103576
104296
  "name": "zero",
103577
104297
  "type": {
@@ -103659,6 +104379,10 @@
103659
104379
  "description": "A tooltip on the reading under the pointer, showing the whole row, including a column that is not plotted.",
103660
104380
  "slug": "with-a-tooltip"
103661
104381
  },
104382
+ {
104383
+ "description": "The scale's numbers beside the plot, at the levels the grid rules, so a reading can be measured off the drawing.",
104384
+ "slug": "with-a-value-axis"
104385
+ },
103662
104386
  {
103663
104387
  "description": "Rules at evenly spaced levels, so you can read each value against one.",
103664
104388
  "slug": "with-gridlines"
@@ -103677,6 +104401,14 @@
103677
104401
  "module": "src/line-chart/root/line-chart-root.ts"
103678
104402
  }
103679
104403
  },
104404
+ {
104405
+ "description": "The numbers of the scale beside the plot, under `value-axis`.",
104406
+ "name": "axis",
104407
+ "inheritedFrom": {
104408
+ "name": "HelixHeadlessLineChart",
104409
+ "module": "src/line-chart/root/line-chart-root.ts"
104410
+ }
104411
+ },
103680
104412
  {
103681
104413
  "description": "The band around the reading under the pointer.",
103682
104414
  "name": "band",
@@ -103805,6 +104537,14 @@
103805
104537
  "module": "src/line-chart/root/line-chart-root.ts"
103806
104538
  }
103807
104539
  },
104540
+ {
104541
+ "description": "One number on the axis, placed with `inset-block-start` at its level.",
104542
+ "name": "tick",
104543
+ "inheritedFrom": {
104544
+ "name": "HelixHeadlessLineChart",
104545
+ "module": "src/line-chart/root/line-chart-root.ts"
104546
+ }
104547
+ },
103808
104548
  {
103809
104549
  "description": "The bubble, forwarded from `Tooltip`.",
103810
104550
  "name": "tooltip",
@@ -103934,6 +104674,32 @@
103934
104674
  }
103935
104675
  }
103936
104676
  ],
104677
+ "events": [
104678
+ {
104679
+ "type": {
104680
+ "text": "HelixReadingChangeEvent"
104681
+ },
104682
+ "description": "The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.",
104683
+ "name": "helix-reading-change",
104684
+ "reactProp": "onhelix-reading-change",
104685
+ "inheritedFrom": {
104686
+ "name": "HelixHeadlessLineChart",
104687
+ "module": "src/line-chart/root/line-chart-root.ts"
104688
+ }
104689
+ },
104690
+ {
104691
+ "type": {
104692
+ "text": "HelixReadingPressEvent"
104693
+ },
104694
+ "description": "A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.",
104695
+ "name": "helix-reading-press",
104696
+ "reactProp": "onhelix-reading-press",
104697
+ "inheritedFrom": {
104698
+ "name": "HelixHeadlessLineChart",
104699
+ "module": "src/line-chart/root/line-chart-root.ts"
104700
+ }
104701
+ }
104702
+ ],
103937
104703
  "cssStates": [
103938
104704
  {
103939
104705
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -106889,6 +107655,20 @@
106889
107655
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
106890
107656
  }
106891
107657
  },
107658
+ {
107659
+ "kind": "field",
107660
+ "name": "statusSlots",
107661
+ "type": {
107662
+ "text": "boolean"
107663
+ },
107664
+ "privacy": "protected",
107665
+ "default": "false",
107666
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
107667
+ "inheritedFrom": {
107668
+ "name": "MixinCollection",
107669
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
107670
+ }
107671
+ },
106892
107672
  {
106893
107673
  "kind": "field",
106894
107674
  "name": "defaultValue",
@@ -124904,6 +125684,20 @@
124904
125684
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
124905
125685
  }
124906
125686
  },
125687
+ {
125688
+ "kind": "field",
125689
+ "name": "statusSlots",
125690
+ "type": {
125691
+ "text": "boolean"
125692
+ },
125693
+ "privacy": "protected",
125694
+ "default": "false",
125695
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
125696
+ "inheritedFrom": {
125697
+ "name": "MixinCollection",
125698
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
125699
+ }
125700
+ },
124907
125701
  {
124908
125702
  "kind": "field",
124909
125703
  "name": "defaultOpen",
@@ -131306,6 +132100,20 @@
131306
132100
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
131307
132101
  }
131308
132102
  },
132103
+ {
132104
+ "kind": "field",
132105
+ "name": "statusSlots",
132106
+ "type": {
132107
+ "text": "boolean"
132108
+ },
132109
+ "privacy": "protected",
132110
+ "default": "false",
132111
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
132112
+ "inheritedFrom": {
132113
+ "name": "MixinCollection",
132114
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
132115
+ }
132116
+ },
131309
132117
  {
131310
132118
  "kind": "field",
131311
132119
  "name": "shadowRootOptions",
@@ -133772,6 +134580,19 @@
133772
134580
  "module": "src/number-input/root/number-input-root.ts"
133773
134581
  }
133774
134582
  },
134583
+ {
134584
+ "kind": "field",
134585
+ "name": "enterCommit",
134586
+ "type": {
134587
+ "text": "string | undefined"
134588
+ },
134589
+ "privacy": "private",
134590
+ "description": "The value Enter settled and announced, until the field's `change` or the next keystroke.",
134591
+ "inheritedFrom": {
134592
+ "name": "HelixHeadlessNumberInput",
134593
+ "module": "src/number-input/root/number-input-root.ts"
134594
+ }
134595
+ },
133775
134596
  {
133776
134597
  "kind": "field",
133777
134598
  "name": "handleKeydown",
@@ -133859,7 +134680,7 @@
133859
134680
  "name": "handleKeypress",
133860
134681
  "privacy": "private",
133861
134682
  "readonly": true,
133862
- "description": "Enter submits the form, as it does in a native text field.\n\nOn `keypress`, where the platform runs its own implicit submission, so a\nconsumer who prevents the `keydown` for Enter stops this too.",
134683
+ "description": "Enter submits the form, as it does in a native text field.\n\nOn `keypress`, where the platform runs its own implicit submission, so a\nconsumer who prevents the `keydown` for Enter stops this too.\n\n**Settled first**, as blur settles it. The typed text is read as a number,\n`change` announces it, and the form value is written before the form is\nsubmitted, so a field showing `$2,500.50` submits 2500.5.",
133863
134684
  "inheritedFrom": {
133864
134685
  "name": "HelixHeadlessNumberInput",
133865
134686
  "module": "src/number-input/root/number-input-root.ts"
@@ -137935,7 +138756,7 @@
137935
138756
  "type": {
137936
138757
  "text": "string | undefined"
137937
138758
  },
137938
- "description": "A second line under the label that describes the choice.\n\nA palette row reads better as a name and a caption than as one sentence\ncarrying both: \"Helix\" and \"the design system\" are two facts, and a comma\nbetween them makes a reader parse the punctuation to find where the name\nends. Matching still reads the label, so what somebody types is matched\nagainst the name rather than against prose about it.\n\n**A property and not a slot, which is the departure worth explaining.** The\narea rules say a content property is its slot's fallback, and that holds for\na region always drawn: `Avatar`'s initials, `Tooltip`'s text. This one is\nusually absent, and a wrapped slot generates a box whether or not it is\nfilled, so every option without a caption would carry an empty line. The\ndetection that would avoid it does not exist, `:host(:has())` being invalid\nand the server having no children to inspect. A property is known at render\ntime, so the component can decline to draw the box at all.\n\nIt does not reflect, per the rule that payload state stays off the host: a\nstring is not a fact a selector needs.",
138759
+ "description": "A second line under the label that describes the choice.\n\nA palette row reads better as a name and a caption than as one sentence\ncarrying both: \"Helix\" and \"the design system\" are two facts, and a comma\nbetween them makes a reader parse the punctuation to find where the name\nends. Matching still reads the label, so what somebody types is matched\nagainst the name rather than against prose about it.\n\nFor a caption richer than a string, slot it into `description`. The\nproperty is that slot's fallback inside the `description` part. With no\nproperty the slot is drawn bare, which takes no box while it is empty, so\nan option without a caption carries no empty line.\n\nIt does not reflect, per the rule that payload state stays off the host: a\nstring is not a fact a selector needs.",
137939
138760
  "attribute": "description",
137940
138761
  "inheritedFrom": {
137941
138762
  "name": "HelixHeadlessOption",
@@ -138027,6 +138848,19 @@
138027
138848
  "module": "src/option/root/option-root.ts"
138028
138849
  }
138029
138850
  },
138851
+ {
138852
+ "kind": "field",
138853
+ "name": "selectionFollowsActive",
138854
+ "type": {
138855
+ "text": "boolean"
138856
+ },
138857
+ "default": "false",
138858
+ "description": "Whether the option says it is selected while the keyboard is on it.\n\nWritten by a control whose list holds suggestions, such as `FilterInput`:\nnothing there stays chosen, so the row the keyboard is on is the\nselection, as the APG combobox's list with selection that follows focus\nsays. No attribute: it is coordination between elements.",
138859
+ "inheritedFrom": {
138860
+ "name": "HelixHeadlessOption",
138861
+ "module": "src/option/root/option-root.ts"
138862
+ }
138863
+ },
138030
138864
  {
138031
138865
  "kind": "field",
138032
138866
  "name": "target",
@@ -138497,6 +139331,14 @@
138497
139331
  "module": "src/option/root/option-root.ts"
138498
139332
  }
138499
139333
  },
139334
+ {
139335
+ "description": "A second line under the label, for content richer than the `description` text.",
139336
+ "name": "description",
139337
+ "inheritedFrom": {
139338
+ "name": "HelixHeadlessOption",
139339
+ "module": "src/option/root/option-root.ts"
139340
+ }
139341
+ },
138500
139342
  {
138501
139343
  "description": "Content after the label, such as a shortcut or a count.",
138502
139344
  "name": "end",
@@ -138505,6 +139347,14 @@
138505
139347
  "module": "src/option/root/option-root.ts"
138506
139348
  }
138507
139349
  },
139350
+ {
139351
+ "description": "An icon shown while the option is chosen, in place of the check the styled option draws.",
139352
+ "name": "indicator",
139353
+ "inheritedFrom": {
139354
+ "name": "HelixHeadlessOption",
139355
+ "module": "src/option/root/option-root.ts"
139356
+ }
139357
+ },
138508
139358
  {
138509
139359
  "description": "Content before the label, such as an icon or an avatar.",
138510
139360
  "name": "start",
@@ -138609,7 +139459,7 @@
138609
139459
  "type": {
138610
139460
  "text": "string | undefined"
138611
139461
  },
138612
- "description": "A second line under the label that describes the choice.\n\nA palette row reads better as a name and a caption than as one sentence\ncarrying both: \"Helix\" and \"the design system\" are two facts, and a comma\nbetween them makes a reader parse the punctuation to find where the name\nends. Matching still reads the label, so what somebody types is matched\nagainst the name rather than against prose about it.\n\n**A property and not a slot, which is the departure worth explaining.** The\narea rules say a content property is its slot's fallback, and that holds for\na region always drawn: `Avatar`'s initials, `Tooltip`'s text. This one is\nusually absent, and a wrapped slot generates a box whether or not it is\nfilled, so every option without a caption would carry an empty line. The\ndetection that would avoid it does not exist, `:host(:has())` being invalid\nand the server having no children to inspect. A property is known at render\ntime, so the component can decline to draw the box at all.\n\nIt does not reflect, per the rule that payload state stays off the host: a\nstring is not a fact a selector needs.",
139462
+ "description": "A second line under the label that describes the choice.\n\nA palette row reads better as a name and a caption than as one sentence\ncarrying both: \"Helix\" and \"the design system\" are two facts, and a comma\nbetween them makes a reader parse the punctuation to find where the name\nends. Matching still reads the label, so what somebody types is matched\nagainst the name rather than against prose about it.\n\nFor a caption richer than a string, slot it into `description`. The\nproperty is that slot's fallback inside the `description` part. With no\nproperty the slot is drawn bare, which takes no box while it is empty, so\nan option without a caption carries no empty line.\n\nIt does not reflect, per the rule that payload state stays off the host: a\nstring is not a fact a selector needs.",
138613
139463
  "fieldName": "description",
138614
139464
  "inheritedFrom": {
138615
139465
  "name": "HelixHeadlessOption",
@@ -138757,6 +139607,22 @@
138757
139607
  "module": "src/option/root/option-root.ts"
138758
139608
  }
138759
139609
  },
139610
+ {
139611
+ "description": "While the option cannot be chosen.",
139612
+ "name": "disabled",
139613
+ "inheritedFrom": {
139614
+ "name": "HelixHeadlessOption",
139615
+ "module": "src/option/root/option-root.ts"
139616
+ }
139617
+ },
139618
+ {
139619
+ "description": "An icon is slotted into `indicator`.",
139620
+ "name": "has-indicator",
139621
+ "inheritedFrom": {
139622
+ "name": "HelixHeadlessOption",
139623
+ "module": "src/option/root/option-root.ts"
139624
+ }
139625
+ },
138760
139626
  {
138761
139627
  "description": "While the option is chosen.",
138762
139628
  "name": "selected",
@@ -152269,13 +153135,25 @@
152269
153135
  "type": {
152270
153136
  "text": "HelixHeadlessRadio[]"
152271
153137
  },
152272
- "description": "The radios, in light-DOM order. Client only: the server has no tree.",
153138
+ "description": "The radios, in light-DOM order. Client only: the server has no tree.\n\nDescendants, as `Checkbox.Group` reads its boxes, so a radio inside a\nlayout wrapper of yours is one of the group's. A radio held by a group\nnested inside this one is that group's.",
152273
153139
  "readonly": true,
152274
153140
  "inheritedFrom": {
152275
153141
  "name": "HelixHeadlessRadioGroup",
152276
153142
  "module": "src/radio/group/radio-group.ts"
152277
153143
  }
152278
153144
  },
153145
+ {
153146
+ "kind": "field",
153147
+ "name": "observer",
153148
+ "type": {
153149
+ "text": "MutationObserver | undefined"
153150
+ },
153151
+ "privacy": "private",
153152
+ "inheritedFrom": {
153153
+ "name": "HelixHeadlessRadioGroup",
153154
+ "module": "src/radio/group/radio-group.ts"
153155
+ }
153156
+ },
152279
153157
  {
152280
153158
  "kind": "field",
152281
153159
  "name": "handleSelection",
@@ -157869,7 +158747,7 @@
157869
158747
  "declarations": [
157870
158748
  {
157871
158749
  "kind": "class",
157872
- "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 and `css` sets its stylesheet. The sandbox\nignores a pane with any other name, so that pane can show content without\nchanging the preview.\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.",
158750
+ "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 and `css` sets its stylesheet. The sandbox\nignores a pane with any other name, so that pane can show content without\nchanging the preview.\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.",
157873
158751
  "name": "HelixSandbox",
157874
158752
  "cssProperties": [
157875
158753
  {
@@ -158349,6 +159227,67 @@
158349
159227
  "readonly": true,
158350
159228
  "description": "Refuses a pane of either splitter declaring itself shut.\n\n**The collapse is a second state, and this element has nowhere to put\none.** A splitter's `collapsed` overrides its `position` and remembers what\nit was open at, and it answers to neither `split` nor `panel-size`. Allowed\nin here, it would leave the arrangement in a state nothing outside this\nelement can see or set: assigning `panel-size` back moves nothing while\n`collapsed` stands, and a consumer who stored the two numbers this element\npublishes and restored a sandbox from them would get it open. That is one\nelement holding the arrangement and the other showing it, which is the state\nthe two requests above were rewritten to end.\n\n**So \"shut\" is spelled in pixels here.** `panel-collapsed-size` is the floor\n`handlePanelChange` holds the panel to, `panel-size` reads it when the\ndivider is at the end, and `helix-before-panel-resize` is where a consumer\nhears about it, in the units they already store. That is the same trade the\nother two make: the sandbox is the single decision point because it refuses\nwhat the splitter asks and re-announces the move in its own vocabulary.\n\n**Stopped as well as refused**, because `start` and `end` name the panes of\na splitter a consumer of this element is not supposed to know about, and the\ntwo events above already say which divider moved. A collapse from something\nslotted into a pane is somebody else's and passes through untouched, which\nis what `target` against `currentTarget` is asking.\n\nReached at all only since Splitter stopped returning on a refused\n`helix-before-resize`. While it did, every collapse in here was unreachable\nand `panel-collapsed-size` was inert with it."
158351
159229
  },
159230
+ {
159231
+ "kind": "field",
159232
+ "name": "reopenSplit",
159233
+ "type": {
159234
+ "text": "number | undefined"
159235
+ },
159236
+ "privacy": "private",
159237
+ "description": "Where the lead pane opens back to after `Enter` shut it."
159238
+ },
159239
+ {
159240
+ "kind": "field",
159241
+ "name": "reopenPanel",
159242
+ "type": {
159243
+ "text": "number | undefined"
159244
+ },
159245
+ "privacy": "private",
159246
+ "description": "Where the panel opens back to after `Enter` shut it, in pixels."
159247
+ },
159248
+ {
159249
+ "kind": "field",
159250
+ "name": "handleDividerKey",
159251
+ "privacy": "private",
159252
+ "readonly": true,
159253
+ "description": "Shuts a pane on `Enter`, or opens it again, in this element's own units.\n\nThe window splitter pattern's key. The splitter's own toggle asks for a\ncollapse, which `handleCollapse` refuses, so the key is answered here: the\npanes divider moves `split` to zero and back, and the panel divider moves\n`panel-size` to `panel-collapsed-size` and back. Each goes through the same\nrequest a drag makes, so a consumer hears `helix-before-split` or\n`helix-before-panel-resize` and can refuse it.\n\nOnly `Enter` on a divider of this sandbox's own splitters. The key comes up\nfrom the source pane too, and an `Enter` typed there is a new line."
159254
+ },
159255
+ {
159256
+ "kind": "method",
159257
+ "name": "toggleLead",
159258
+ "privacy": "private",
159259
+ "return": {
159260
+ "type": {
159261
+ "text": "void"
159262
+ }
159263
+ },
159264
+ "parameters": [
159265
+ {
159266
+ "name": "splitter",
159267
+ "type": {
159268
+ "text": "EventTarget"
159269
+ }
159270
+ }
159271
+ ]
159272
+ },
159273
+ {
159274
+ "kind": "method",
159275
+ "name": "togglePanel",
159276
+ "privacy": "private",
159277
+ "return": {
159278
+ "type": {
159279
+ "text": "void"
159280
+ }
159281
+ },
159282
+ "parameters": [
159283
+ {
159284
+ "name": "splitter",
159285
+ "type": {
159286
+ "text": "EventTarget"
159287
+ }
159288
+ }
159289
+ ]
159290
+ },
158352
159291
  {
158353
159292
  "kind": "method",
158354
159293
  "name": "answer",
@@ -159201,6 +160140,25 @@
159201
160140
  "privacy": "private",
159202
160141
  "readonly": true
159203
160142
  },
160143
+ {
160144
+ "kind": "method",
160145
+ "name": "indent",
160146
+ "privacy": "private",
160147
+ "return": {
160148
+ "type": {
160149
+ "text": "void"
160150
+ }
160151
+ },
160152
+ "parameters": [
160153
+ {
160154
+ "name": "field",
160155
+ "type": {
160156
+ "text": "HTMLTextAreaElement"
160157
+ }
160158
+ }
160159
+ ],
160160
+ "description": "Writes the two spaces Tab inserts, as typing would.\n\n**Through `insertText`, so undo takes the indent back.** Assigning\n`field.value` empties the textarea's undo history: a reader who typed,\npressed Tab and then Cmd+Z or Ctrl+Z lost the indent and everything typed\nbefore it. `insertText` is the edit a keystroke makes, so it joins the\nhistory and sends the `input` event that `handleInput` takes. It writes\ninto whatever has focus, so it is used only while the field has it. Where it\nis not supported, the field is written directly."
160161
+ },
159204
160162
  {
159205
160163
  "kind": "method",
159206
160164
  "name": "renderField",
@@ -162178,6 +163136,46 @@
162178
163136
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
162179
163137
  }
162180
163138
  },
163139
+ {
163140
+ "kind": "field",
163141
+ "name": "handleTap",
163142
+ "privacy": "private",
163143
+ "readonly": true,
163144
+ "description": "The point a tap lands nearest, within twice a pointer's reach, a finger\nbeing broader than a cursor. It stays shown until a tap lands elsewhere.",
163145
+ "inheritedFrom": {
163146
+ "name": "HelixHeadlessScatterChart",
163147
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
163148
+ }
163149
+ },
163150
+ {
163151
+ "kind": "method",
163152
+ "name": "pointNear",
163153
+ "privacy": "private",
163154
+ "return": {
163155
+ "type": {
163156
+ "text": "ScatterPoint | undefined | null"
163157
+ }
163158
+ },
163159
+ "parameters": [
163160
+ {
163161
+ "name": "event",
163162
+ "type": {
163163
+ "text": "PointerEvent"
163164
+ }
163165
+ },
163166
+ {
163167
+ "name": "reach",
163168
+ "type": {
163169
+ "text": "number"
163170
+ }
163171
+ }
163172
+ ],
163173
+ "description": "The drawn point nearest a pointer, within `reach` pixels, `undefined` for\nnone in reach, and `null` with no plot to measure.",
163174
+ "inheritedFrom": {
163175
+ "name": "HelixHeadlessScatterChart",
163176
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
163177
+ }
163178
+ },
162181
163179
  {
162182
163180
  "kind": "field",
162183
163181
  "name": "handleLeave",
@@ -162956,6 +163954,32 @@
162956
163954
  }
162957
163955
  }
162958
163956
  ],
163957
+ "events": [
163958
+ {
163959
+ "type": {
163960
+ "text": "HelixReadingChangeEvent"
163961
+ },
163962
+ "description": "The reading shown moved, or was put away: `index` is the row, or `-1` for none, with its `label`, the `series` the keys rest on, and the `pointerType` that moved it.",
163963
+ "name": "helix-reading-change",
163964
+ "reactProp": "onhelix-reading-change",
163965
+ "inheritedFrom": {
163966
+ "name": "HelixHeadlessScatterChart",
163967
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
163968
+ }
163969
+ },
163970
+ {
163971
+ "type": {
163972
+ "text": "HelixReadingPressEvent"
163973
+ },
163974
+ "description": "A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.",
163975
+ "name": "helix-reading-press",
163976
+ "reactProp": "onhelix-reading-press",
163977
+ "inheritedFrom": {
163978
+ "name": "HelixHeadlessScatterChart",
163979
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
163980
+ }
163981
+ }
163982
+ ],
162959
163983
  "cssStates": [
162960
163984
  {
162961
163985
  "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
@@ -169497,6 +170521,20 @@
169497
170521
  "module": "src/slider/root/slider-root.ts"
169498
170522
  }
169499
170523
  },
170524
+ {
170525
+ "kind": "field",
170526
+ "name": "axis",
170527
+ "type": {
170528
+ "text": "string"
170529
+ },
170530
+ "privacy": "private",
170531
+ "description": "The range's axis, written on it, so a vertical slider is vertical to the\naccessibility tree with no stylesheet: Chromium reads a range's\norientation off its writing mode and ignores `aria-orientation` there.\n`direction: rtl` puts the maximum at the top, which `vertical-lr` alone\nputs at the foot.",
170532
+ "readonly": true,
170533
+ "inheritedFrom": {
170534
+ "name": "HelixHeadlessSlider",
170535
+ "module": "src/slider/root/slider-root.ts"
170536
+ }
170537
+ },
169500
170538
  {
169501
170539
  "kind": "method",
169502
170540
  "name": "snapped",
@@ -183410,6 +184448,14 @@
183410
184448
  "module": "src/table/root/table-root.ts"
183411
184449
  }
183412
184450
  },
184451
+ {
184452
+ "description": "Content shown when there are no rows and none are loading, such as a picture and a link. Falls back to `empty-text`, which the live region still says.",
184453
+ "name": "empty",
184454
+ "inheritedFrom": {
184455
+ "name": "HelixHeadlessTable",
184456
+ "module": "src/table/root/table-root.ts"
184457
+ }
184458
+ },
183413
184459
  {
183414
184460
  "description": "Words that name the table, shown above it in the weight of a heading.",
183415
184461
  "name": "heading",
@@ -183417,6 +184463,14 @@
183417
184463
  "name": "HelixHeadlessTable",
183418
184464
  "module": "src/table/root/table-root.ts"
183419
184465
  }
184466
+ },
184467
+ {
184468
+ "description": "Content shown while the rows load, such as a spinner. Falls back to `loading-text`, which the live region still says.",
184469
+ "name": "loading",
184470
+ "inheritedFrom": {
184471
+ "name": "HelixHeadlessTable",
184472
+ "module": "src/table/root/table-root.ts"
184473
+ }
183420
184474
  }
183421
184475
  ],
183422
184476
  "members": [
@@ -183642,6 +184696,20 @@
183642
184696
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
183643
184697
  }
183644
184698
  },
184699
+ {
184700
+ "kind": "field",
184701
+ "name": "statusSlots",
184702
+ "type": {
184703
+ "text": "boolean"
184704
+ },
184705
+ "privacy": "protected",
184706
+ "default": "false",
184707
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
184708
+ "inheritedFrom": {
184709
+ "name": "MixinCollection",
184710
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
184711
+ }
184712
+ },
183645
184713
  {
183646
184714
  "kind": "field",
183647
184715
  "name": "ascendingLabel",
@@ -184061,7 +185129,7 @@
184061
185129
  "name": "gridKeys",
184062
185130
  "privacy": "private",
184063
185131
  "readonly": true,
184064
- "default": "new TableGridController(this, { activate: (place, event) => this.activate(place, event), columns: () => this.tableColumns.filter((column) => column.shown), lead: () => this.lead, on: () => this.grid, part: (name) => this.partNamed(name), rows: () => (this.childrenKnown ? this.arrangedRows : []), selectAll: () => this.selectable && this.requestSelected(new Set(this.everyKey)), })",
185132
+ "default": "new TableGridController(this, { activate: (place, event) => this.activate(place, event), 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.requestSelected(new Set([...this.chosen, ...this.enabledKeys])), selectRange: (to, from) => this.selectRange(to, from), })",
184065
185133
  "description": "The keyboard of a `grid` table, in `grid-controller.ts`.",
184066
185134
  "inheritedFrom": {
184067
185135
  "name": "HelixHeadlessTable",
@@ -184364,6 +185432,43 @@
184364
185432
  "module": "src/table/root/table-root.ts"
184365
185433
  }
184366
185434
  },
185435
+ {
185436
+ "kind": "field",
185437
+ "name": "enabledKeys",
185438
+ "type": {
185439
+ "text": "string[]"
185440
+ },
185441
+ "privacy": "private",
185442
+ "description": "The keys of the rows that can be chosen: every row that is not `disabled`.",
185443
+ "readonly": true,
185444
+ "inheritedFrom": {
185445
+ "name": "HelixHeadlessTable",
185446
+ "module": "src/table/root/table-root.ts"
185447
+ }
185448
+ },
185449
+ {
185450
+ "kind": "method",
185451
+ "name": "isDisabled",
185452
+ "privacy": "private",
185453
+ "return": {
185454
+ "type": {
185455
+ "text": "boolean"
185456
+ }
185457
+ },
185458
+ "parameters": [
185459
+ {
185460
+ "name": "key",
185461
+ "type": {
185462
+ "text": "string"
185463
+ }
185464
+ }
185465
+ ],
185466
+ "description": "Whether the row of that key is `disabled`.",
185467
+ "inheritedFrom": {
185468
+ "name": "HelixHeadlessTable",
185469
+ "module": "src/table/root/table-root.ts"
185470
+ }
185471
+ },
184367
185472
  {
184368
185473
  "kind": "method",
184369
185474
  "name": "chooseAll",
@@ -184373,7 +185478,50 @@
184373
185478
  "text": "void"
184374
185479
  }
184375
185480
  },
184376
- "description": "The checkbox in the heading: every row, or none where every row is chosen.",
185481
+ "description": "The checkbox in the heading: every row that can be chosen, or none of\nthem where each already is. A `disabled` row keeps what it had.",
185482
+ "inheritedFrom": {
185483
+ "name": "HelixHeadlessTable",
185484
+ "module": "src/table/root/table-root.ts"
185485
+ }
185486
+ },
185487
+ {
185488
+ "kind": "field",
185489
+ "name": "anchorKey",
185490
+ "type": {
185491
+ "text": "string | undefined"
185492
+ },
185493
+ "privacy": "private",
185494
+ "default": "undefined",
185495
+ "description": "The key of the row a Shift range runs from: the one last chosen.",
185496
+ "inheritedFrom": {
185497
+ "name": "HelixHeadlessTable",
185498
+ "module": "src/table/root/table-root.ts"
185499
+ }
185500
+ },
185501
+ {
185502
+ "kind": "method",
185503
+ "name": "selectRange",
185504
+ "privacy": "private",
185505
+ "return": {
185506
+ "type": {
185507
+ "text": "boolean"
185508
+ }
185509
+ },
185510
+ "parameters": [
185511
+ {
185512
+ "name": "to",
185513
+ "type": {
185514
+ "text": "number"
185515
+ }
185516
+ },
185517
+ {
185518
+ "name": "from",
185519
+ "type": {
185520
+ "text": "number"
185521
+ }
185522
+ }
185523
+ ],
185524
+ "description": "Selects every row from the one last chosen to the drawn row `to`, keeping\nwhat was already selected. With no row to run from, the range is the row\nthe reader is on, `from`, and it becomes the one to run from. Says whether\nthe table selects at all.",
184377
185525
  "inheritedFrom": {
184378
185526
  "name": "HelixHeadlessTable",
184379
185527
  "module": "src/table/root/table-root.ts"
@@ -184402,7 +185550,7 @@
184402
185550
  }
184403
185551
  }
184404
185552
  ],
184405
- "description": "One row's checkbox, ticked or not.",
185553
+ "description": "One row's checkbox, ticked or not. It becomes the row a range runs from.",
184406
185554
  "inheritedFrom": {
184407
185555
  "name": "HelixHeadlessTable",
184408
185556
  "module": "src/table/root/table-root.ts"
@@ -185561,6 +186709,10 @@
185561
186709
  "description": "The opacity of a row's grip while a sort decides the order.",
185562
186710
  "name": "--table-grip-disabled-opacity"
185563
186711
  },
186712
+ {
186713
+ "description": "The opacity of the cells of a `disabled` row.",
186714
+ "name": "--table-row-disabled-opacity"
186715
+ },
185564
186716
  {
185565
186717
  "description": "The wash across the cells of a row with `href` under the pointer.",
185566
186718
  "name": "--table-row-hover-background-color"
@@ -185591,6 +186743,21 @@
185591
186743
  "module": "src/helix-element/helix-element.ts"
185592
186744
  }
185593
186745
  },
186746
+ {
186747
+ "kind": "field",
186748
+ "name": "disabled",
186749
+ "type": {
186750
+ "text": "boolean"
186751
+ },
186752
+ "default": "false",
186753
+ "description": "Takes the row out of the table's selection and out of its link: the row's\ncheckbox is disabled, Space, Shift ranges, and the checkbox in the heading\npass over it, and a press does not follow `href`. A row already selected\nstays selected. A screen reader hears it as unavailable, and in a `grid`\ntable the arrow keys still reach it, as a disabled cell in a grid is\nreached.",
186754
+ "attribute": "disabled",
186755
+ "reflects": true,
186756
+ "inheritedFrom": {
186757
+ "name": "HelixHeadlessTableRow",
186758
+ "module": "src/table/row/table-row.ts"
186759
+ }
186760
+ },
185594
186761
  {
185595
186762
  "kind": "field",
185596
186763
  "name": "href",
@@ -186185,6 +187352,19 @@
186185
187352
  }
186186
187353
  ],
186187
187354
  "attributes": [
187355
+ {
187356
+ "name": "disabled",
187357
+ "type": {
187358
+ "text": "boolean"
187359
+ },
187360
+ "default": "false",
187361
+ "description": "Takes the row out of the table's selection and out of its link: the row's\ncheckbox is disabled, Space, Shift ranges, and the checkbox in the heading\npass over it, and a press does not follow `href`. A row already selected\nstays selected. A screen reader hears it as unavailable, and in a `grid`\ntable the arrow keys still reach it, as a disabled cell in a grid is\nreached.",
187362
+ "fieldName": "disabled",
187363
+ "inheritedFrom": {
187364
+ "name": "HelixHeadlessTableRow",
187365
+ "module": "src/table/row/table-row.ts"
187366
+ }
187367
+ },
186188
187368
  {
186189
187369
  "name": "href",
186190
187370
  "type": {
@@ -186264,7 +187444,7 @@
186264
187444
  }
186265
187445
  },
186266
187446
  {
186267
- "description": "While the row has `href`, so a press on it follows the link.",
187447
+ "description": "While the row has `href` and is not `disabled`, so a press on it follows the link.",
186268
187448
  "name": "link",
186269
187449
  "inheritedFrom": {
186270
187450
  "name": "HelixHeadlessTableRow",
@@ -188714,6 +189894,31 @@
188714
189894
  "module": "src/tag/group/tag-group.ts"
188715
189895
  }
188716
189896
  },
189897
+ {
189898
+ "kind": "field",
189899
+ "name": "anchor",
189900
+ "type": {
189901
+ "text": "HelixHeadlessTag | undefined"
189902
+ },
189903
+ "privacy": "private",
189904
+ "description": "Where a range chosen with Shift and an arrow starts, and where it reached,\nin `multiple`: the tag last pressed or moved to without Shift.",
189905
+ "inheritedFrom": {
189906
+ "name": "HelixHeadlessTagGroup",
189907
+ "module": "src/tag/group/tag-group.ts"
189908
+ }
189909
+ },
189910
+ {
189911
+ "kind": "field",
189912
+ "name": "reached",
189913
+ "type": {
189914
+ "text": "HelixHeadlessTag | undefined"
189915
+ },
189916
+ "privacy": "private",
189917
+ "inheritedFrom": {
189918
+ "name": "HelixHeadlessTagGroup",
189919
+ "module": "src/tag/group/tag-group.ts"
189920
+ }
189921
+ },
188717
189922
  {
188718
189923
  "kind": "field",
188719
189924
  "name": "keys",
@@ -188874,6 +190079,87 @@
188874
190079
  "module": "src/tag/group/tag-group.ts"
188875
190080
  }
188876
190081
  },
190082
+ {
190083
+ "kind": "method",
190084
+ "name": "span",
190085
+ "privacy": "private",
190086
+ "return": {
190087
+ "type": {
190088
+ "text": "HelixHeadlessTag[]"
190089
+ }
190090
+ },
190091
+ "parameters": [
190092
+ {
190093
+ "name": "from",
190094
+ "type": {
190095
+ "text": "HelixHeadlessTag"
190096
+ }
190097
+ },
190098
+ {
190099
+ "name": "to",
190100
+ "type": {
190101
+ "text": "HelixHeadlessTag"
190102
+ }
190103
+ }
190104
+ ],
190105
+ "description": "The reachable tags from one to the other, either way round.",
190106
+ "inheritedFrom": {
190107
+ "name": "HelixHeadlessTagGroup",
190108
+ "module": "src/tag/group/tag-group.ts"
190109
+ }
190110
+ },
190111
+ {
190112
+ "kind": "method",
190113
+ "name": "extend",
190114
+ "privacy": "private",
190115
+ "return": {
190116
+ "type": {
190117
+ "text": "void"
190118
+ }
190119
+ },
190120
+ "parameters": [
190121
+ {
190122
+ "name": "from",
190123
+ "type": {
190124
+ "text": "HelixHeadlessTag"
190125
+ }
190126
+ },
190127
+ {
190128
+ "name": "to",
190129
+ "type": {
190130
+ "text": "HelixHeadlessTag"
190131
+ }
190132
+ }
190133
+ ],
190134
+ "description": "Shift and an arrow, Home or End, in `multiple`: the range from the anchor\nto the tag focus moved to is selected, in place of the range the last such\nkey selected, as React Aria's selection extends.",
190135
+ "inheritedFrom": {
190136
+ "name": "HelixHeadlessTagGroup",
190137
+ "module": "src/tag/group/tag-group.ts"
190138
+ }
190139
+ },
190140
+ {
190141
+ "kind": "method",
190142
+ "name": "choose",
190143
+ "privacy": "private",
190144
+ "return": {
190145
+ "type": {
190146
+ "text": "void"
190147
+ }
190148
+ },
190149
+ "parameters": [
190150
+ {
190151
+ "name": "tags",
190152
+ "type": {
190153
+ "text": "readonly HelixHeadlessTag[]"
190154
+ }
190155
+ }
190156
+ ],
190157
+ "description": "Asks for `value` to hold these tags' values, in their order.",
190158
+ "inheritedFrom": {
190159
+ "name": "HelixHeadlessTagGroup",
190160
+ "module": "src/tag/group/tag-group.ts"
190161
+ }
190162
+ },
188877
190163
  {
188878
190164
  "kind": "field",
188879
190165
  "name": "handleKeydown",
@@ -189619,6 +190905,16 @@
189619
190905
  "attribute": "emphasis",
189620
190906
  "reflects": true
189621
190907
  },
190908
+ {
190909
+ "kind": "field",
190910
+ "name": "shape",
190911
+ "type": {
190912
+ "text": "'pill' | undefined"
190913
+ },
190914
+ "description": "The tag's outline. `pill` rounds its ends fully, for a set of tags among\nrounded controls. Absent is the theme's small radius.",
190915
+ "attribute": "shape",
190916
+ "reflects": true
190917
+ },
189622
190918
  {
189623
190919
  "kind": "field",
189624
190920
  "name": "tone",
@@ -189824,6 +191120,19 @@
189824
191120
  "module": "src/tag/root/tag-root.ts"
189825
191121
  }
189826
191122
  },
191123
+ {
191124
+ "kind": "field",
191125
+ "name": "dismissTabStop",
191126
+ "type": {
191127
+ "text": "boolean"
191128
+ },
191129
+ "default": "true",
191130
+ "description": "Whether the remove button is a tab stop of its own, outside a `Tag.Group`.\n\nA field that holds tags as its tokens, such as a `multiple` Combobox,\nwrites `false`: the field's text is its one tab stop, and the arrow keys\nmove from the text to the tags. No attribute: it is coordination between\nelements, as `focusable` is.",
191131
+ "inheritedFrom": {
191132
+ "name": "HelixHeadlessTag",
191133
+ "module": "src/tag/root/tag-root.ts"
191134
+ }
191135
+ },
189827
191136
  {
189828
191137
  "kind": "field",
189829
191138
  "name": "focusable",
@@ -190314,6 +191623,14 @@
190314
191623
  "description": "How strongly the tag shows its tone: `subtle`, `solid`, or `outlined`.\n\n- `subtle` is the default: a wash of the tone with the label in it, for a\n tag that labels something rather than warning about it.\n- `solid` fills with the tone and puts the label on top of it, for the one\n that has to be seen first.\n- `outlined` is the tone at its edge only, for a dense set where filling\n each of them turns a list into a mosaic.\n\nIndependent of `tone` on purpose: an outlined danger tag and a solid danger\ntag are both sensible, and one property welding color to fill can ask for\nneither. That is the test the whole axis registry answers to.",
190315
191624
  "fieldName": "emphasis"
190316
191625
  },
191626
+ {
191627
+ "name": "shape",
191628
+ "type": {
191629
+ "text": "'pill' | undefined"
191630
+ },
191631
+ "description": "The tag's outline. `pill` rounds its ends fully, for a set of tags among\nrounded controls. Absent is the theme's small radius.",
191632
+ "fieldName": "shape"
191633
+ },
190317
191634
  {
190318
191635
  "name": "tone",
190319
191636
  "type": {
@@ -194130,6 +195447,17 @@
194130
195447
  "module": "src/mixins/mixin-picker-editing/mixin-picker-editing.ts"
194131
195448
  }
194132
195449
  },
195450
+ {
195451
+ "kind": "field",
195452
+ "name": "handleEditKey",
195453
+ "privacy": "private",
195454
+ "readonly": true,
195455
+ "description": "The first key that moves the caret or edits, while the focused field\nshows its rendering, puts the value in the field before the key acts.\n\nPicking hands focus back to a field that shows `August 5, 2026`, which is\nwhat the reader chose. `Intl` formats and does not parse, so a key that\nedited the rendering wrote text no date could be read from. The caret\nkeeps its place at the start, at the end, or around the whole text, and\ngoes to the end otherwise.",
195456
+ "inheritedFrom": {
195457
+ "name": "MixinPickerEditing",
195458
+ "module": "src/mixins/mixin-picker-editing/mixin-picker-editing.ts"
195459
+ }
195460
+ },
194133
195461
  {
194134
195462
  "kind": "field",
194135
195463
  "name": "handleFocus",
@@ -194659,6 +195987,60 @@
194659
195987
  "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
194660
195988
  }
194661
195989
  },
195990
+ {
195991
+ "kind": "method",
195992
+ "name": "tokenElements",
195993
+ "privacy": "protected",
195994
+ "return": {
195995
+ "type": {
195996
+ "text": "HTMLElement[]"
195997
+ }
195998
+ },
195999
+ "inheritedFrom": {
196000
+ "name": "MixinTokens",
196001
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
196002
+ }
196003
+ },
196004
+ {
196005
+ "kind": "method",
196006
+ "name": "tokenStops",
196007
+ "privacy": "private",
196008
+ "return": {
196009
+ "type": {
196010
+ "text": "HTMLElement[]"
196011
+ }
196012
+ },
196013
+ "description": "The remove button of each token shown that has one, in order.",
196014
+ "inheritedFrom": {
196015
+ "name": "MixinTokens",
196016
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
196017
+ }
196018
+ },
196019
+ {
196020
+ "kind": "field",
196021
+ "name": "tokenControl",
196022
+ "type": {
196023
+ "text": "HTMLInputElement | null"
196024
+ },
196025
+ "privacy": "private",
196026
+ "description": "The host's text field.",
196027
+ "readonly": true,
196028
+ "inheritedFrom": {
196029
+ "name": "MixinTokens",
196030
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
196031
+ }
196032
+ },
196033
+ {
196034
+ "kind": "field",
196035
+ "name": "handleTokenKeydown",
196036
+ "privacy": "private",
196037
+ "readonly": true,
196038
+ "description": "The arrow keys between the tokens, and Delete or Backspace on one.\n\nThe arrow toward the end of the line moves to the next token, and past\nthe last into the text with the caret at its start. Delete or Backspace\nasks the focused token to go, as its remove button does, and focus that\nleaves with it comes back to the text.",
196039
+ "inheritedFrom": {
196040
+ "name": "MixinTokens",
196041
+ "module": "src/mixins/mixin-tokens/mixin-tokens.ts"
196042
+ }
196043
+ },
194662
196044
  {
194663
196045
  "kind": "method",
194664
196046
  "name": "renderRest",
@@ -197188,6 +198570,14 @@
197188
198570
  "module": "src/time-input/root/time-input-root.ts"
197189
198571
  }
197190
198572
  },
198573
+ {
198574
+ "description": "The label, for content richer than the `label` text.",
198575
+ "name": "label",
198576
+ "inheritedFrom": {
198577
+ "name": "HelixHeadlessTimeInput",
198578
+ "module": "src/time-input/root/time-input-root.ts"
198579
+ }
198580
+ },
197191
198581
  {
197192
198582
  "description": "Content in the panel under the times, such as a note or an action.",
197193
198583
  "name": "panel-footer",
@@ -205144,12 +206534,25 @@
205144
206534
  "text": "HelixHeadlessToggle[]"
205145
206535
  },
205146
206536
  "privacy": "private",
206537
+ "description": "The toggles, in light-DOM order, at any depth, so a toggle inside a layout\nwrapper of yours is one of the group's. A toggle held by a group nested\ninside this one is that group's.",
205147
206538
  "readonly": true,
205148
206539
  "inheritedFrom": {
205149
206540
  "name": "HelixHeadlessToggleGroup",
205150
206541
  "module": "src/toggle/group/toggle-group.ts"
205151
206542
  }
205152
206543
  },
206544
+ {
206545
+ "kind": "field",
206546
+ "name": "observer",
206547
+ "type": {
206548
+ "text": "MutationObserver | undefined"
206549
+ },
206550
+ "privacy": "private",
206551
+ "inheritedFrom": {
206552
+ "name": "HelixHeadlessToggleGroup",
206553
+ "module": "src/toggle/group/toggle-group.ts"
206554
+ }
206555
+ },
205153
206556
  {
205154
206557
  "kind": "field",
205155
206558
  "name": "handleSelection",
@@ -206504,7 +207907,7 @@
206504
207907
  "type": {
206505
207908
  "text": "boolean | undefined"
206506
207909
  },
206507
- "description": "Whether the item holds the group's tab stop. Unset, the chosen item holds\nit.\n\nWritten by the group on every item: `true` for the chosen item, or for the\nfirst item that can be chosen while there is no selection to carry the\nstop, and `false` for every item, the chosen one too, while a toolbar the\ngroup sits in holds the stop. No attribute: it is coordination between\nelements, and `tabindex` on a host the consumer rendered is the change a\nReact consumer's hydration reports and does not patch up.",
207910
+ "description": "Whether the item holds the group's tab stop. Unset, no group holds the\nitem, and it is a toggle button with a tab stop of its own.\n\nWritten by the group on every item: `true` for the chosen item, or for the\nfirst item that can be chosen while there is no selection to carry the\nstop, and `false` for every item, the chosen one too, while a toolbar the\ngroup sits in holds the stop. No attribute: it is coordination between\nelements, and `tabindex` on a host the consumer rendered is the change a\nReact consumer's hydration reports and does not patch up.",
206508
207911
  "inheritedFrom": {
206509
207912
  "name": "HelixHeadlessToggle",
206510
207913
  "module": "src/toggle/root/toggle-root.ts"
@@ -206522,6 +207925,20 @@
206522
207925
  "module": "src/toggle/root/toggle-root.ts"
206523
207926
  }
206524
207927
  },
207928
+ {
207929
+ "kind": "field",
207930
+ "name": "alone",
207931
+ "type": {
207932
+ "text": "boolean"
207933
+ },
207934
+ "privacy": "private",
207935
+ "description": "Whether no `Toggle.Group` holds the item, which makes it a toggle button\nof its own. A group writes `focusable` on every item it holds. A server,\nand the render that hydrates its markup, cannot tell, and draw the item a\ngroup holds.",
207936
+ "readonly": true,
207937
+ "inheritedFrom": {
207938
+ "name": "HelixHeadlessToggle",
207939
+ "module": "src/toggle/root/toggle-root.ts"
207940
+ }
207941
+ },
206525
207942
  {
206526
207943
  "kind": "field",
206527
207944
  "name": "tier",
@@ -206964,6 +208381,18 @@
206964
208381
  }
206965
208382
  ],
206966
208383
  "events": [
208384
+ {
208385
+ "type": {
208386
+ "text": "Event"
208387
+ },
208388
+ "description": "Fired after a toggle button on its own is pressed or released.",
208389
+ "name": "change",
208390
+ "reactProp": "onchange",
208391
+ "inheritedFrom": {
208392
+ "name": "HelixHeadlessToggle",
208393
+ "module": "src/toggle/root/toggle-root.ts"
208394
+ }
208395
+ },
206967
208396
  {
206968
208397
  "type": {
206969
208398
  "text": "HelixSelectEvent"
@@ -213937,6 +215366,20 @@
213937
215366
  "module": "src/mixins/mixin-collection/mixin-collection.ts"
213938
215367
  }
213939
215368
  },
215369
+ {
215370
+ "kind": "field",
215371
+ "name": "statusSlots",
215372
+ "type": {
215373
+ "text": "boolean"
215374
+ },
215375
+ "privacy": "protected",
215376
+ "default": "false",
215377
+ "description": "Whether the status line is an `empty` or `loading` slot, with\n`empty-text` or `loading-text` as its fallback.\n\n**Off unless a family turns it on**, because a slot is published API:\neach family that renders one documents it in its own manifest. The live\nregion keeps saying the text either way, because a slotted picture has no\nwords to say.",
215378
+ "inheritedFrom": {
215379
+ "name": "MixinCollection",
215380
+ "module": "src/mixins/mixin-collection/mixin-collection.ts"
215381
+ }
215382
+ },
213940
215383
  {
213941
215384
  "kind": "field",
213942
215385
  "name": "active",
@@ -219290,6 +220733,20 @@
219290
220733
  "module": "src/video/root/video-root.ts"
219291
220734
  }
219292
220735
  },
220736
+ {
220737
+ "kind": "field",
220738
+ "name": "mediaTitle",
220739
+ "type": {
220740
+ "text": "string"
220741
+ },
220742
+ "default": "''",
220743
+ "description": "The title the device's own media controls show while the video plays,\nsuch as on a lock screen. Empty, the default, shows `label`. A playlist\nwrites the current entry's name here.",
220744
+ "attribute": "media-title",
220745
+ "inheritedFrom": {
220746
+ "name": "HelixHeadlessVideo",
220747
+ "module": "src/video/root/video-root.ts"
220748
+ }
220749
+ },
219293
220750
  {
219294
220751
  "kind": "field",
219295
220752
  "name": "moreLabel",
@@ -221278,6 +222735,19 @@
221278
222735
  "module": "src/video/root/video-root.ts"
221279
222736
  }
221280
222737
  },
222738
+ {
222739
+ "name": "media-title",
222740
+ "type": {
222741
+ "text": "string"
222742
+ },
222743
+ "default": "''",
222744
+ "description": "The title the device's own media controls show while the video plays,\nsuch as on a lock screen. Empty, the default, shows `label`. A playlist\nwrites the current entry's name here.",
222745
+ "fieldName": "mediaTitle",
222746
+ "inheritedFrom": {
222747
+ "name": "HelixHeadlessVideo",
222748
+ "module": "src/video/root/video-root.ts"
222749
+ }
222750
+ },
221281
222751
  {
221282
222752
  "name": "more-label",
221283
222753
  "type": {
@@ -222723,6 +224193,14 @@
222723
224193
  "description": "How tall the scrolling box is.",
222724
224194
  "name": "--virtual-list-block-size"
222725
224195
  },
224196
+ {
224197
+ "description": "The color of the text in the row shown when there are no items.",
224198
+ "name": "--virtual-list-empty-color"
224199
+ },
224200
+ {
224201
+ "description": "The space around the text in the row shown when there are no items.",
224202
+ "name": "--virtual-list-empty-padding"
224203
+ },
222726
224204
  {
222727
224205
  "description": "The color of the text in the row drawn while `loading` is set.",
222728
224206
  "name": "--virtual-list-loading-color"
@@ -222765,6 +224243,14 @@
222765
224243
  "module": "src/virtual-list/root/virtual-list-root.ts"
222766
224244
  }
222767
224245
  },
224246
+ {
224247
+ "description": "The row shown when there are no items and none are loading, where `empty-label` or the `empty` slot gives it content.",
224248
+ "name": "empty",
224249
+ "inheritedFrom": {
224250
+ "name": "HelixHeadlessVirtualList",
224251
+ "module": "src/virtual-list/root/virtual-list-root.ts"
224252
+ }
224253
+ },
222768
224254
  {
222769
224255
  "description": "The row after the last item while `loading` is set.",
222770
224256
  "name": "loading",
@@ -222811,6 +224297,20 @@
222811
224297
  "module": "src/virtual-list/root/virtual-list-root.ts"
222812
224298
  }
222813
224299
  },
224300
+ {
224301
+ "kind": "field",
224302
+ "name": "emptyLabel",
224303
+ "type": {
224304
+ "text": "string"
224305
+ },
224306
+ "default": "''",
224307
+ "description": "The text of the row shown when there are no items and none are loading,\nwhere the `empty` slot is empty. Empty, the default, shows no row.",
224308
+ "attribute": "empty-label",
224309
+ "inheritedFrom": {
224310
+ "name": "HelixHeadlessVirtualList",
224311
+ "module": "src/virtual-list/root/virtual-list-root.ts"
224312
+ }
224313
+ },
222814
224314
  {
222815
224315
  "kind": "field",
222816
224316
  "name": "estimate",
@@ -223560,7 +225060,7 @@
223560
225060
  "name": "handleFocusOut",
223561
225061
  "privacy": "private",
223562
225062
  "readonly": true,
223563
- "description": "The row kept for focus is let go once focus has left it.",
225063
+ "description": "The row kept for focus is let go once focus has left it.\n\n**A task later, and not at once.** Between `focusout` and `focusin` the\npage's focus is on `<body>`, and Chromium runs microtasks there when a key\nmoves focus. An update asked for here ran in that gap: Tab from a kept row\nto its own link found no row holding focus, removed the row, and the link\nwent with it, leaving focus on `<body>`. A move to a control inside this\nlist asks for its own update in `handleFocusIn`, so it needs nothing here.",
223564
225064
  "inheritedFrom": {
223565
225065
  "name": "HelixHeadlessVirtualList",
223566
225066
  "module": "src/virtual-list/root/virtual-list-root.ts"
@@ -224141,6 +225641,14 @@
224141
225641
  "module": "src/virtual-list/root/virtual-list-root.ts"
224142
225642
  }
224143
225643
  },
225644
+ {
225645
+ "description": "Content for the row shown when there are no items and none are loading. Falls back to `empty-label`.",
225646
+ "name": "empty",
225647
+ "inheritedFrom": {
225648
+ "name": "HelixHeadlessVirtualList",
225649
+ "module": "src/virtual-list/root/virtual-list-root.ts"
225650
+ }
225651
+ },
224144
225652
  {
224145
225653
  "description": "Content for the row after the last item while `loading` is set. Falls back to `loading-label`.",
224146
225654
  "name": "loading",
@@ -224164,6 +225672,19 @@
224164
225672
  "module": "src/virtual-list/root/virtual-list-root.ts"
224165
225673
  }
224166
225674
  },
225675
+ {
225676
+ "name": "empty-label",
225677
+ "type": {
225678
+ "text": "string"
225679
+ },
225680
+ "default": "''",
225681
+ "description": "The text of the row shown when there are no items and none are loading,\nwhere the `empty` slot is empty. Empty, the default, shows no row.",
225682
+ "fieldName": "emptyLabel",
225683
+ "inheritedFrom": {
225684
+ "name": "HelixHeadlessVirtualList",
225685
+ "module": "src/virtual-list/root/virtual-list-root.ts"
225686
+ }
225687
+ },
224167
225688
  {
224168
225689
  "name": "estimate",
224169
225690
  "type": {
@@ -224380,6 +225901,6 @@
224380
225901
  ],
224381
225902
  "helix": {
224382
225903
  "package": "@fusion.dev/helix",
224383
- "version": "0.149.1"
225904
+ "version": "0.151.0"
224384
225905
  }
224385
225906
  }