@fusion.dev/helix 0.52.1 → 0.53.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.
@@ -18432,6 +18432,20 @@
18432
18432
  "attribute": "orientation",
18433
18433
  "reflects": true
18434
18434
  },
18435
+ {
18436
+ "kind": "field",
18437
+ "name": "controlId",
18438
+ "type": {
18439
+ "text": "string"
18440
+ },
18441
+ "privacy": "protected",
18442
+ "default": "'control'",
18443
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
18444
+ "inheritedFrom": {
18445
+ "name": "MixinField",
18446
+ "module": "src/mixins/mixin-field/mixin-field.ts"
18447
+ }
18448
+ },
18435
18449
  {
18436
18450
  "kind": "field",
18437
18451
  "name": "feedback",
@@ -19759,6 +19773,20 @@
19759
19773
  "text": "resetChecked() => void"
19760
19774
  }
19761
19775
  },
19776
+ {
19777
+ "kind": "field",
19778
+ "name": "controlId",
19779
+ "type": {
19780
+ "text": "string"
19781
+ },
19782
+ "privacy": "protected",
19783
+ "default": "'control'",
19784
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
19785
+ "inheritedFrom": {
19786
+ "name": "MixinField",
19787
+ "module": "src/mixins/mixin-field/mixin-field.ts"
19788
+ }
19789
+ },
19762
19790
  {
19763
19791
  "kind": "field",
19764
19792
  "name": "feedback",
@@ -23032,6 +23060,20 @@
23032
23060
  "text": "formStateRestoreCallback(state: string | null) => void"
23033
23061
  }
23034
23062
  },
23063
+ {
23064
+ "kind": "field",
23065
+ "name": "controlId",
23066
+ "type": {
23067
+ "text": "string"
23068
+ },
23069
+ "privacy": "protected",
23070
+ "default": "'control'",
23071
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
23072
+ "inheritedFrom": {
23073
+ "name": "MixinField",
23074
+ "module": "src/mixins/mixin-field/mixin-field.ts"
23075
+ }
23076
+ },
23035
23077
  {
23036
23078
  "kind": "field",
23037
23079
  "name": "feedback",
@@ -27028,6 +27070,20 @@
27028
27070
  "text": "formStateRestoreCallback(state: string | null) => void"
27029
27071
  }
27030
27072
  },
27073
+ {
27074
+ "kind": "field",
27075
+ "name": "controlId",
27076
+ "type": {
27077
+ "text": "string"
27078
+ },
27079
+ "privacy": "protected",
27080
+ "default": "'control'",
27081
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
27082
+ "inheritedFrom": {
27083
+ "name": "MixinField",
27084
+ "module": "src/mixins/mixin-field/mixin-field.ts"
27085
+ }
27086
+ },
27031
27087
  {
27032
27088
  "kind": "field",
27033
27089
  "name": "feedback",
@@ -33080,42 +33136,6 @@
33080
33136
  "module": "src/data-table/root/data-table-root.ts"
33081
33137
  }
33082
33138
  },
33083
- {
33084
- "kind": "method",
33085
- "name": "markRegion",
33086
- "privacy": "private",
33087
- "return": {
33088
- "type": {
33089
- "text": "void"
33090
- }
33091
- },
33092
- "parameters": [
33093
- {
33094
- "name": "part",
33095
- "type": {
33096
- "text": "string"
33097
- }
33098
- },
33099
- {
33100
- "name": "slots",
33101
- "type": {
33102
- "text": "readonly string[]"
33103
- }
33104
- },
33105
- {
33106
- "name": "occupied",
33107
- "optional": true,
33108
- "type": {
33109
- "text": "string"
33110
- }
33111
- }
33112
- ],
33113
- "description": "One region, hidden when its slot holds nothing and nothing of ours fills it.\n\n`hidden` beside the `data-empty` mirror: `data-empty` is the hook the styled\nsheet reads, and this tier ships no sheet, so an empty region left in the box\ntree would be a gap a headless consumer cannot close without knowing to look\nfor it. The styled rule stays too, because that sheet sets `display` on these\nparts and therefore outranks the UA's `[hidden]` one.",
33114
- "inheritedFrom": {
33115
- "name": "HelixHeadlessDataTable",
33116
- "module": "src/data-table/root/data-table-root.ts"
33117
- }
33118
- },
33119
33139
  {
33120
33140
  "kind": "method",
33121
33141
  "name": "announceSort",
@@ -35038,6 +35058,20 @@
35038
35058
  "text": "formStateRestoreCallback(state: string | null) => void"
35039
35059
  }
35040
35060
  },
35061
+ {
35062
+ "kind": "field",
35063
+ "name": "controlId",
35064
+ "type": {
35065
+ "text": "string"
35066
+ },
35067
+ "privacy": "protected",
35068
+ "default": "'control'",
35069
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
35070
+ "inheritedFrom": {
35071
+ "name": "MixinField",
35072
+ "module": "src/mixins/mixin-field/mixin-field.ts"
35073
+ }
35074
+ },
35041
35075
  {
35042
35076
  "kind": "field",
35043
35077
  "name": "feedback",
@@ -43729,6 +43763,19 @@
43729
43763
  "module": "src/drilldown/item/drilldown-item.ts"
43730
43764
  }
43731
43765
  },
43766
+ {
43767
+ "kind": "field",
43768
+ "name": "selected",
43769
+ "type": {
43770
+ "text": "boolean"
43771
+ },
43772
+ "description": "Whether this is the row the set is on, which in a drill-down is where focus\nis.\n\nA radio group's selection is an answer it holds; a page of rows has no\nanswer, only the row a reader has walked to, so focus is the whole of what\n\"the current one\" can mean here. This is `Menu.Item`'s reading word for\nword, and the two are one pattern: a menu that drills and a drill-down are\nthe same rows through the same controller.\n\nAsked of the document rather than of the shadow root. `focusItem` puts\nfocus on the control inside this row and the platform retargets it, so from\noutside the shadow tree `activeElement` is this element already and nothing\nhas to walk a tree. `ShadowRoot.activeElement` is also the reading that does\nnot survive happy-dom, which climbs `getRootNode()` to the top and then\ndereferences what it ran out of.",
43773
+ "readonly": true,
43774
+ "inheritedFrom": {
43775
+ "name": "HelixHeadlessDrilldownItem",
43776
+ "module": "src/drilldown/item/drilldown-item.ts"
43777
+ }
43778
+ },
43732
43779
  {
43733
43780
  "kind": "method",
43734
43781
  "name": "select",
@@ -44474,6 +44521,18 @@
44474
44521
  "module": "src/drilldown/root/drilldown-root.ts"
44475
44522
  }
44476
44523
  },
44524
+ {
44525
+ "kind": "field",
44526
+ "name": "keys",
44527
+ "privacy": "protected",
44528
+ "readonly": true,
44529
+ "default": "new KeyboardNavigationController(this, { items: () => this.items, reserved: () => ['ArrowLeft', 'ArrowRight'], selects: () => false, })",
44530
+ "description": "Moving between rows, which is `Menu`'s arrangement and not a second one.\n\nThe horizontal pair is reserved rather than released: in a drill-down they\nare the platform's own bindings for drilling, along the line to go in and\nback along it to come out, so they are spoken for here rather than\nunhandled. `handleKeydown` below owes them a binding, which is what\nreserving one means, and it has them.\n\n`selects` false, because arriving at a row must not follow it. Moving and\nchoosing are one act in a radio group and two here, which is the same\nreading `Menu` takes over the same rows.\n\nThe origin is the selection, which for these rows is where focus is. `focus`\nis the wrong reading however right it looks: it also carries a rule that a\npress which did not come from the set moves nothing, and Down on a page a\nreader has just tabbed to is how they get onto the first row at all.",
44531
+ "inheritedFrom": {
44532
+ "name": "HelixHeadlessDrilldown",
44533
+ "module": "src/drilldown/root/drilldown-root.ts"
44534
+ }
44535
+ },
44477
44536
  {
44478
44537
  "kind": "method",
44479
44538
  "name": "placeTabStop",
@@ -45714,6 +45773,20 @@
45714
45773
  "module": "src/helix-element/helix-element.ts"
45715
45774
  }
45716
45775
  },
45776
+ {
45777
+ "kind": "field",
45778
+ "name": "controlId",
45779
+ "type": {
45780
+ "text": "string"
45781
+ },
45782
+ "privacy": "protected",
45783
+ "default": "'control'",
45784
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
45785
+ "inheritedFrom": {
45786
+ "name": "MixinField",
45787
+ "module": "src/mixins/mixin-field/mixin-field.ts"
45788
+ }
45789
+ },
45717
45790
  {
45718
45791
  "kind": "field",
45719
45792
  "name": "feedback",
@@ -50327,6 +50400,20 @@
50327
50400
  "text": "formStateRestoreCallback(state: string | null) => void"
50328
50401
  }
50329
50402
  },
50403
+ {
50404
+ "kind": "field",
50405
+ "name": "controlId",
50406
+ "type": {
50407
+ "text": "string"
50408
+ },
50409
+ "privacy": "protected",
50410
+ "default": "'control'",
50411
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
50412
+ "inheritedFrom": {
50413
+ "name": "MixinField",
50414
+ "module": "src/mixins/mixin-field/mixin-field.ts"
50415
+ }
50416
+ },
50330
50417
  {
50331
50418
  "kind": "field",
50332
50419
  "name": "feedback",
@@ -55011,42 +55098,6 @@
55011
55098
  "module": "src/heatmap/root/heatmap-root.ts"
55012
55099
  }
55013
55100
  },
55014
- {
55015
- "kind": "method",
55016
- "name": "markRegion",
55017
- "privacy": "private",
55018
- "return": {
55019
- "type": {
55020
- "text": "void"
55021
- }
55022
- },
55023
- "parameters": [
55024
- {
55025
- "name": "part",
55026
- "type": {
55027
- "text": "string"
55028
- }
55029
- },
55030
- {
55031
- "name": "slots",
55032
- "type": {
55033
- "text": "readonly string[]"
55034
- }
55035
- },
55036
- {
55037
- "name": "occupied",
55038
- "optional": true,
55039
- "type": {
55040
- "text": "string"
55041
- }
55042
- }
55043
- ],
55044
- "description": "One region, hidden when its slot holds nothing and nothing of ours fills it.\n\n`hidden` beside the `data-empty` mirror: `data-empty` is the hook the styled\nsheet reads, and this tier ships no sheet, so an empty region left in the box\ntree would be a gap a headless consumer cannot close without knowing to look\nfor it. The styled rule stays too, because that sheet sets `display` on these\nparts and therefore outranks the UA's `[hidden]` one.",
55045
- "inheritedFrom": {
55046
- "name": "HelixHeadlessHeatmap",
55047
- "module": "src/heatmap/root/heatmap-root.ts"
55048
- }
55049
- },
55050
55101
  {
55051
55102
  "kind": "method",
55052
55103
  "name": "renderTooltip",
@@ -59304,6 +59355,20 @@
59304
59355
  "text": "formStateRestoreCallback(state: string | null) => void"
59305
59356
  }
59306
59357
  },
59358
+ {
59359
+ "kind": "field",
59360
+ "name": "controlId",
59361
+ "type": {
59362
+ "text": "string"
59363
+ },
59364
+ "privacy": "protected",
59365
+ "default": "'control'",
59366
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
59367
+ "inheritedFrom": {
59368
+ "name": "MixinField",
59369
+ "module": "src/mixins/mixin-field/mixin-field.ts"
59370
+ }
59371
+ },
59307
59372
  {
59308
59373
  "kind": "field",
59309
59374
  "name": "feedback",
@@ -65123,6 +65188,20 @@
65123
65188
  "text": "formStateRestoreCallback(state: string | null) => void"
65124
65189
  }
65125
65190
  },
65191
+ {
65192
+ "kind": "field",
65193
+ "name": "controlId",
65194
+ "type": {
65195
+ "text": "string"
65196
+ },
65197
+ "privacy": "protected",
65198
+ "default": "'control'",
65199
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
65200
+ "inheritedFrom": {
65201
+ "name": "MixinField",
65202
+ "module": "src/mixins/mixin-field/mixin-field.ts"
65203
+ }
65204
+ },
65126
65205
  {
65127
65206
  "kind": "field",
65128
65207
  "name": "feedback",
@@ -73453,40 +73532,74 @@
73453
73532
  },
73454
73533
  {
73455
73534
  "kind": "field",
73456
- "name": "at",
73535
+ "name": "dismissible",
73457
73536
  "type": {
73458
- "text": "string"
73537
+ "text": "boolean"
73459
73538
  },
73460
- "default": "''",
73461
- "description": "When it happened, as anything `Date` parses.\n\nAn ISO string is what an API sends and what `<time datetime>` takes, so it\nis the shape that needs no translation at either end. Left unset the item\nshows no timestamp rather than showing the epoch, which is what parsing an\nempty string would give.",
73462
- "attribute": "at",
73539
+ "default": "false",
73540
+ "description": "Whether it offers a control to take it away.",
73541
+ "attribute": "dismissible",
73542
+ "reflects": true,
73463
73543
  "inheritedFrom": {
73464
- "name": "HelixHeadlessNotification",
73465
- "module": "src/notifications/notification/notification.ts"
73544
+ "name": "MixinDismissible",
73545
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
73466
73546
  }
73467
73547
  },
73468
73548
  {
73469
73549
  "kind": "field",
73470
- "name": "read",
73550
+ "name": "dismissLabel",
73471
73551
  "type": {
73472
- "text": "boolean"
73552
+ "text": "string"
73473
73553
  },
73474
- "description": "Whether the reader has seen it.\n\nSet it and this element defers: a reader's click fires `helix-read` and\nchanges nothing until a new value arrives. `default-read` seeds a state\nthis element then owns.\n\n**Not reflected.** Unread is a visual state, which is why the four mixins\nmirror theirs, but the mirror may not be the property's own attribute:\n`<helix-notification default-read>` comes back from a server without `read`\nand would gain it on the first update, which React reports as a hydration\nmismatch, and which a copy of the serialized element re-parses as a\ndeclaration. `:state(read)` is what the stylesheet reads.\n`hydration.dom.spec.ts` holds it.",
73475
- "attribute": "read",
73554
+ "default": "'Dismiss'",
73555
+ "description": "Accessible name for that control.\n\n`attribute` is spelled out because Lit lowercases a property name to\nderive one rather than dash-casing it, so this would otherwise be\nreachable only as `dismisslabel`, which nobody would guess and no linter\nwould catch.",
73556
+ "attribute": "dismiss-label",
73476
73557
  "inheritedFrom": {
73477
- "name": "HelixHeadlessNotification",
73478
- "module": "src/notifications/notification/notification.ts"
73558
+ "name": "MixinDismissible",
73559
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
73560
+ }
73561
+ },
73562
+ {
73563
+ "kind": "method",
73564
+ "name": "dismissEvent",
73565
+ "privacy": "protected",
73566
+ "return": {
73567
+ "type": {
73568
+ "text": "HelixDismissEvent"
73569
+ }
73570
+ },
73571
+ "description": "The event, built and not dispatched.\n\nReading text is safe here: nothing calls this on a server, because the\nonly things that do are a press and a timer.",
73572
+ "inheritedFrom": {
73573
+ "name": "MixinDismissible",
73574
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
73575
+ }
73576
+ },
73577
+ {
73578
+ "kind": "method",
73579
+ "name": "dismiss",
73580
+ "return": {
73581
+ "type": {
73582
+ "text": "boolean"
73583
+ }
73584
+ },
73585
+ "description": "Announces that it should go, and reports whether the request stood.",
73586
+ "inheritedFrom": {
73587
+ "name": "MixinDismissible",
73588
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
73589
+ },
73590
+ "type": {
73591
+ "text": "dismiss() => boolean"
73479
73592
  }
73480
73593
  },
73481
73594
  {
73482
73595
  "kind": "field",
73483
- "name": "defaultRead",
73596
+ "name": "at",
73484
73597
  "type": {
73485
- "text": "boolean"
73598
+ "text": "string"
73486
73599
  },
73487
- "default": "false",
73488
- "description": "State to open with, where nothing declared one.",
73489
- "attribute": "default-read",
73600
+ "default": "''",
73601
+ "description": "When it happened, as anything `Date` parses.\n\nAn ISO string is what an API sends and what `<time datetime>` takes, so it\nis the shape that needs no translation at either end. Left unset the item\nshows no timestamp rather than showing the epoch, which is what parsing an\nempty string would give.",
73602
+ "attribute": "at",
73490
73603
  "inheritedFrom": {
73491
73604
  "name": "HelixHeadlessNotification",
73492
73605
  "module": "src/notifications/notification/notification.ts"
@@ -73494,13 +73607,12 @@
73494
73607
  },
73495
73608
  {
73496
73609
  "kind": "field",
73497
- "name": "dismissible",
73610
+ "name": "read",
73498
73611
  "type": {
73499
73612
  "text": "boolean"
73500
73613
  },
73501
- "default": "false",
73502
- "description": "Whether a reader may remove it.",
73503
- "attribute": "dismissible",
73614
+ "description": "Whether the reader has seen it.\n\nSet it and this element defers: a reader's click fires `helix-read` and\nchanges nothing until a new value arrives. `default-read` seeds a state\nthis element then owns.\n\n**Not reflected.** Unread is a visual state, which is why the four mixins\nmirror theirs, but the mirror may not be the property's own attribute:\n`<helix-notification default-read>` comes back from a server without `read`\nand would gain it on the first update, which React reports as a hydration\nmismatch, and which a copy of the serialized element re-parses as a\ndeclaration. `:state(read)` is what the stylesheet reads.\n`hydration.dom.spec.ts` holds it.",
73615
+ "attribute": "read",
73504
73616
  "inheritedFrom": {
73505
73617
  "name": "HelixHeadlessNotification",
73506
73618
  "module": "src/notifications/notification/notification.ts"
@@ -73508,13 +73620,13 @@
73508
73620
  },
73509
73621
  {
73510
73622
  "kind": "field",
73511
- "name": "dismissLabel",
73623
+ "name": "defaultRead",
73512
73624
  "type": {
73513
- "text": "string"
73625
+ "text": "boolean"
73514
73626
  },
73515
- "default": "'Dismiss'",
73516
- "description": "Accessible name for the dismiss control.",
73517
- "attribute": "dismiss-label",
73627
+ "default": "false",
73628
+ "description": "State to open with, where nothing declared one.",
73629
+ "attribute": "default-read",
73518
73630
  "inheritedFrom": {
73519
73631
  "name": "HelixHeadlessNotification",
73520
73632
  "module": "src/notifications/notification/notification.ts"
@@ -73970,6 +74082,32 @@
73970
74082
  "description": "How a row is told apart from the one above it.\n\n`plain` is the resting one and is a hairline and nothing else: the row has\nno box of its own, and what separates it is a line the list draws between\nthem. It is sayable rather than only reachable by leaving the attribute off,\nwhich is the reason `Announcement` gives for spelling out its own neutral.\n\n`outlined` and `filled` make each row a box: an edge, a corner, and a gap\nwhere the hairline was. A feed of boxes is a different reading of the same\ncontent, and which one is right depends on whether the rows are a list to\nscan or a set of things to act on. The reference this came from draws cards\nbecause every row in it has a control.\n\n**On the row and not on the feed, because the row is the box being\nseparated.** A consumer wanting the whole feed carded says so once, in a\ndocument rule on the element, rather than on every item: this is a styled\naxis and a stylesheet is where it is set.",
73971
74083
  "fieldName": "separation"
73972
74084
  },
74085
+ {
74086
+ "name": "dismissible",
74087
+ "type": {
74088
+ "text": "boolean"
74089
+ },
74090
+ "default": "false",
74091
+ "description": "Whether it offers a control to take it away.",
74092
+ "fieldName": "dismissible",
74093
+ "inheritedFrom": {
74094
+ "name": "MixinDismissible",
74095
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
74096
+ }
74097
+ },
74098
+ {
74099
+ "name": "dismiss-label",
74100
+ "type": {
74101
+ "text": "string"
74102
+ },
74103
+ "default": "'Dismiss'",
74104
+ "description": "Accessible name for that control.\n\n`attribute` is spelled out because Lit lowercases a property name to\nderive one rather than dash-casing it, so this would otherwise be\nreachable only as `dismisslabel`, which nobody would guess and no linter\nwould catch.",
74105
+ "fieldName": "dismissLabel",
74106
+ "inheritedFrom": {
74107
+ "name": "MixinDismissible",
74108
+ "module": "src/mixins/mixin-dismissible/mixin-dismissible.ts"
74109
+ }
74110
+ },
73973
74111
  {
73974
74112
  "name": "at",
73975
74113
  "type": {
@@ -74008,32 +74146,6 @@
74008
74146
  "module": "src/notifications/notification/notification.ts"
74009
74147
  }
74010
74148
  },
74011
- {
74012
- "name": "dismissible",
74013
- "type": {
74014
- "text": "boolean"
74015
- },
74016
- "default": "false",
74017
- "description": "Whether a reader may remove it.",
74018
- "fieldName": "dismissible",
74019
- "inheritedFrom": {
74020
- "name": "HelixHeadlessNotification",
74021
- "module": "src/notifications/notification/notification.ts"
74022
- }
74023
- },
74024
- {
74025
- "name": "dismiss-label",
74026
- "type": {
74027
- "text": "string"
74028
- },
74029
- "default": "'Dismiss'",
74030
- "description": "Accessible name for the dismiss control.",
74031
- "fieldName": "dismissLabel",
74032
- "inheritedFrom": {
74033
- "name": "HelixHeadlessNotification",
74034
- "module": "src/notifications/notification/notification.ts"
74035
- }
74036
- },
74037
74149
  {
74038
74150
  "name": "locale",
74039
74151
  "type": {
@@ -74642,42 +74754,6 @@
74642
74754
  "module": "src/notifications/root/notifications-root.ts"
74643
74755
  }
74644
74756
  },
74645
- {
74646
- "kind": "method",
74647
- "name": "markRegion",
74648
- "privacy": "private",
74649
- "return": {
74650
- "type": {
74651
- "text": "void"
74652
- }
74653
- },
74654
- "parameters": [
74655
- {
74656
- "name": "part",
74657
- "type": {
74658
- "text": "string"
74659
- }
74660
- },
74661
- {
74662
- "name": "slots",
74663
- "type": {
74664
- "text": "readonly string[]"
74665
- }
74666
- },
74667
- {
74668
- "name": "occupied",
74669
- "optional": true,
74670
- "type": {
74671
- "text": "string"
74672
- }
74673
- }
74674
- ],
74675
- "description": "One region, hidden when its slot holds nothing and nothing of ours fills it.\n\n`hidden` beside the `data-empty` mirror: `data-empty` is the hook the styled\nsheet reads, and this tier ships no sheet, so an empty region left in the box\ntree would be a gap a headless consumer cannot close without knowing to look\nfor it. The styled rule stays too, because that sheet sets `display` on these\nparts and therefore outranks the UA's `[hidden]` one.",
74676
- "inheritedFrom": {
74677
- "name": "HelixHeadlessNotifications",
74678
- "module": "src/notifications/root/notifications-root.ts"
74679
- }
74680
- },
74681
74757
  {
74682
74758
  "kind": "field",
74683
74759
  "name": "handleMarkAll",
@@ -75472,6 +75548,20 @@
75472
75548
  "text": "formStateRestoreCallback(state: string | null) => void"
75473
75549
  }
75474
75550
  },
75551
+ {
75552
+ "kind": "field",
75553
+ "name": "controlId",
75554
+ "type": {
75555
+ "text": "string"
75556
+ },
75557
+ "privacy": "protected",
75558
+ "default": "'control'",
75559
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
75560
+ "inheritedFrom": {
75561
+ "name": "MixinField",
75562
+ "module": "src/mixins/mixin-field/mixin-field.ts"
75563
+ }
75564
+ },
75475
75565
  {
75476
75566
  "kind": "field",
75477
75567
  "name": "feedback",
@@ -84758,6 +84848,20 @@
84758
84848
  "text": "formStateRestoreCallback(state: string | null) => void"
84759
84849
  }
84760
84850
  },
84851
+ {
84852
+ "kind": "field",
84853
+ "name": "controlId",
84854
+ "type": {
84855
+ "text": "string"
84856
+ },
84857
+ "privacy": "protected",
84858
+ "default": "'control'",
84859
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
84860
+ "inheritedFrom": {
84861
+ "name": "MixinField",
84862
+ "module": "src/mixins/mixin-field/mixin-field.ts"
84863
+ }
84864
+ },
84761
84865
  {
84762
84866
  "kind": "field",
84763
84867
  "name": "feedback",
@@ -89157,6 +89261,20 @@
89157
89261
  "text": "formStateRestoreCallback(state: string | null) => void"
89158
89262
  }
89159
89263
  },
89264
+ {
89265
+ "kind": "field",
89266
+ "name": "controlId",
89267
+ "type": {
89268
+ "text": "string"
89269
+ },
89270
+ "privacy": "protected",
89271
+ "default": "'control'",
89272
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
89273
+ "inheritedFrom": {
89274
+ "name": "MixinField",
89275
+ "module": "src/mixins/mixin-field/mixin-field.ts"
89276
+ }
89277
+ },
89160
89278
  {
89161
89279
  "kind": "field",
89162
89280
  "name": "feedback",
@@ -90353,65 +90471,54 @@
90353
90471
  "text": "boolean"
90354
90472
  },
90355
90473
  "default": "false",
90356
- "description": "Whether this choice can be made.",
90474
+ "description": "Whether this one can be chosen.",
90357
90475
  "attribute": "disabled",
90358
90476
  "reflects": true,
90359
90477
  "inheritedFrom": {
90360
- "name": "HelixHeadlessRadio",
90361
- "module": "src/radio/root/radio-root.ts"
90478
+ "name": "MixinSelectableItem",
90479
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90362
90480
  }
90363
90481
  },
90364
90482
  {
90365
90483
  "kind": "field",
90366
- "name": "defaultSelected",
90367
- "type": {
90368
- "text": "boolean"
90369
- },
90370
- "description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Toggle`, `<helix-radio value=\"a\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
90371
- "inheritedFrom": {
90372
- "name": "HelixHeadlessRadio",
90373
- "module": "src/radio/root/radio-root.ts"
90374
- }
90375
- },
90376
- {
90377
- "kind": "field",
90378
- "name": "focusable",
90484
+ "name": "selected",
90379
90485
  "type": {
90380
90486
  "text": "boolean"
90381
90487
  },
90382
90488
  "default": "false",
90383
- "description": "Whether this choice holds the group's tab stop while nothing is chosen.\n\nThe stop rides on the selection, and an unanswered group has no selection,\nso without this every choice is `tabindex=\"-1\"` and the keyboard cannot\nenter the set at all.\n\n**Written by the group, with no attribute, and it reaches the control\nrather than the host.** A `tabindex` on the host is two faults at once: it\nis markup a consumer rendered and their server never sent, which React\nreports as a mismatch and does not patch up, and it puts the tab stop on\nthe element rather than on the `<button role=\"radio\">` inside it, so a\nscreen reader meets an unnamed box where a native group would have given\nthem an unchecked radio. `Toggle.Root` carries the same property for the\nsame reason.",
90489
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
90490
+ "attribute": "selected",
90384
90491
  "inheritedFrom": {
90385
- "name": "HelixHeadlessRadio",
90386
- "module": "src/radio/root/radio-root.ts"
90492
+ "name": "MixinSelectableItem",
90493
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90387
90494
  }
90388
90495
  },
90389
90496
  {
90390
90497
  "kind": "field",
90391
- "name": "selected",
90498
+ "name": "value",
90392
90499
  "type": {
90393
- "text": "boolean"
90500
+ "text": "string"
90394
90501
  },
90395
- "default": "false",
90396
- "description": "Whether this is the current choice.\n\nWritten by the group.",
90397
- "attribute": "selected",
90502
+ "default": "''",
90503
+ "description": "Identifies this one to the set, and is what a form submits.",
90504
+ "attribute": "value",
90398
90505
  "inheritedFrom": {
90399
- "name": "HelixHeadlessRadio",
90400
- "module": "src/radio/root/radio-root.ts"
90506
+ "name": "MixinSelectableItem",
90507
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90401
90508
  }
90402
90509
  },
90403
90510
  {
90404
90511
  "kind": "field",
90405
- "name": "value",
90512
+ "name": "itemPart",
90406
90513
  "type": {
90407
90514
  "text": "string"
90408
90515
  },
90409
- "default": "''",
90410
- "description": "Identifies this choice to the group, and is what the form submits.",
90411
- "attribute": "value",
90516
+ "privacy": "protected",
90517
+ "default": "'item'",
90518
+ "description": "The part `focusItem` focuses. See the interface note.",
90412
90519
  "inheritedFrom": {
90413
- "name": "HelixHeadlessRadio",
90414
- "module": "src/radio/root/radio-root.ts"
90520
+ "name": "MixinSelectableItem",
90521
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90415
90522
  }
90416
90523
  },
90417
90524
  {
@@ -90422,13 +90529,13 @@
90422
90529
  "text": "void"
90423
90530
  }
90424
90531
  },
90425
- "description": "Moves focus to this choice, for the group's arrow keys.",
90532
+ "description": "Moves focus to the control this renders, for the set's arrow keys.\n\nThe set drives the keys and cannot reach the control itself, which is\ninside this shadow root, so the intent is a method and the internals stay\nthe item's.",
90533
+ "inheritedFrom": {
90534
+ "name": "MixinSelectableItem",
90535
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90536
+ },
90426
90537
  "type": {
90427
90538
  "text": "focusItem() => void"
90428
- },
90429
- "inheritedFrom": {
90430
- "name": "HelixHeadlessRadio",
90431
- "module": "src/radio/root/radio-root.ts"
90432
90539
  }
90433
90540
  },
90434
90541
  {
@@ -90436,13 +90543,38 @@
90436
90543
  "name": "select",
90437
90544
  "return": {
90438
90545
  "type": {
90439
- "text": "void"
90546
+ "text": "boolean"
90440
90547
  }
90441
90548
  },
90442
- "description": "Makes this choice and announces it.",
90549
+ "description": "Chooses this one and announces it, and reports whether it stood.",
90550
+ "inheritedFrom": {
90551
+ "name": "MixinSelectableItem",
90552
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90553
+ },
90443
90554
  "type": {
90444
- "text": "select() => void"
90555
+ "text": "select() => boolean"
90556
+ }
90557
+ },
90558
+ {
90559
+ "kind": "field",
90560
+ "name": "defaultSelected",
90561
+ "type": {
90562
+ "text": "boolean"
90445
90563
  },
90564
+ "description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Toggle`, `<helix-radio value=\"a\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
90565
+ "inheritedFrom": {
90566
+ "name": "HelixHeadlessRadio",
90567
+ "module": "src/radio/root/radio-root.ts"
90568
+ }
90569
+ },
90570
+ {
90571
+ "kind": "field",
90572
+ "name": "focusable",
90573
+ "type": {
90574
+ "text": "boolean"
90575
+ },
90576
+ "default": "false",
90577
+ "description": "Whether this choice holds the group's tab stop while nothing is chosen.\n\nThe stop rides on the selection, and an unanswered group has no selection,\nso without this every choice is `tabindex=\"-1\"` and the keyboard cannot\nenter the set at all.\n\n**Written by the group, with no attribute, and it reaches the control\nrather than the host.** A `tabindex` on the host is two faults at once: it\nis markup a consumer rendered and their server never sent, which React\nreports as a mismatch and does not patch up, and it puts the tab stop on\nthe element rather than on the `<button role=\"radio\">` inside it, so a\nscreen reader meets an unnamed box where a native group would have given\nthem an unchecked radio. `Toggle.Root` carries the same property for the\nsame reason.",
90446
90578
  "inheritedFrom": {
90447
90579
  "name": "HelixHeadlessRadio",
90448
90580
  "module": "src/radio/root/radio-root.ts"
@@ -90797,11 +90929,11 @@
90797
90929
  "text": "boolean"
90798
90930
  },
90799
90931
  "default": "false",
90800
- "description": "Whether this choice can be made.",
90932
+ "description": "Whether this one can be chosen.",
90801
90933
  "fieldName": "disabled",
90802
90934
  "inheritedFrom": {
90803
- "name": "HelixHeadlessRadio",
90804
- "module": "src/radio/root/radio-root.ts"
90935
+ "name": "MixinSelectableItem",
90936
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90805
90937
  }
90806
90938
  },
90807
90939
  {
@@ -90810,11 +90942,11 @@
90810
90942
  "text": "boolean"
90811
90943
  },
90812
90944
  "default": "false",
90813
- "description": "Whether this is the current choice.\n\nWritten by the group.",
90945
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
90814
90946
  "fieldName": "selected",
90815
90947
  "inheritedFrom": {
90816
- "name": "HelixHeadlessRadio",
90817
- "module": "src/radio/root/radio-root.ts"
90948
+ "name": "MixinSelectableItem",
90949
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90818
90950
  }
90819
90951
  },
90820
90952
  {
@@ -90823,11 +90955,11 @@
90823
90955
  "text": "string"
90824
90956
  },
90825
90957
  "default": "''",
90826
- "description": "Identifies this choice to the group, and is what the form submits.",
90958
+ "description": "Identifies this one to the set, and is what a form submits.",
90827
90959
  "fieldName": "value",
90828
90960
  "inheritedFrom": {
90829
- "name": "HelixHeadlessRadio",
90830
- "module": "src/radio/root/radio-root.ts"
90961
+ "name": "MixinSelectableItem",
90962
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
90831
90963
  }
90832
90964
  }
90833
90965
  ],
@@ -91251,6 +91383,20 @@
91251
91383
  "text": "formStateRestoreCallback(state: string | null) => void"
91252
91384
  }
91253
91385
  },
91386
+ {
91387
+ "kind": "field",
91388
+ "name": "controlId",
91389
+ "type": {
91390
+ "text": "string"
91391
+ },
91392
+ "privacy": "protected",
91393
+ "default": "'control'",
91394
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
91395
+ "inheritedFrom": {
91396
+ "name": "MixinField",
91397
+ "module": "src/mixins/mixin-field/mixin-field.ts"
91398
+ }
91399
+ },
91254
91400
  {
91255
91401
  "kind": "field",
91256
91402
  "name": "feedback",
@@ -98638,6 +98784,20 @@
98638
98784
  "text": "formStateRestoreCallback(state: string | null) => void"
98639
98785
  }
98640
98786
  },
98787
+ {
98788
+ "kind": "field",
98789
+ "name": "controlId",
98790
+ "type": {
98791
+ "text": "string"
98792
+ },
98793
+ "privacy": "protected",
98794
+ "default": "'control'",
98795
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
98796
+ "inheritedFrom": {
98797
+ "name": "MixinField",
98798
+ "module": "src/mixins/mixin-field/mixin-field.ts"
98799
+ }
98800
+ },
98641
98801
  {
98642
98802
  "kind": "field",
98643
98803
  "name": "feedback",
@@ -101792,6 +101952,20 @@
101792
101952
  "text": "formStateRestoreCallback(state: string | null) => void"
101793
101953
  }
101794
101954
  },
101955
+ {
101956
+ "kind": "field",
101957
+ "name": "controlId",
101958
+ "type": {
101959
+ "text": "string"
101960
+ },
101961
+ "privacy": "protected",
101962
+ "default": "'control'",
101963
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
101964
+ "inheritedFrom": {
101965
+ "name": "MixinField",
101966
+ "module": "src/mixins/mixin-field/mixin-field.ts"
101967
+ }
101968
+ },
101795
101969
  {
101796
101970
  "kind": "field",
101797
101971
  "name": "feedback",
@@ -109736,6 +109910,20 @@
109736
109910
  "text": "resetChecked() => void"
109737
109911
  }
109738
109912
  },
109913
+ {
109914
+ "kind": "field",
109915
+ "name": "controlId",
109916
+ "type": {
109917
+ "text": "string"
109918
+ },
109919
+ "privacy": "protected",
109920
+ "default": "'control'",
109921
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
109922
+ "inheritedFrom": {
109923
+ "name": "MixinField",
109924
+ "module": "src/mixins/mixin-field/mixin-field.ts"
109925
+ }
109926
+ },
109739
109927
  {
109740
109928
  "kind": "field",
109741
109929
  "name": "feedback",
@@ -114922,12 +115110,12 @@
114922
115110
  "text": "boolean"
114923
115111
  },
114924
115112
  "default": "false",
114925
- "description": "Whether the tab can be chosen.",
115113
+ "description": "Whether this one can be chosen.",
114926
115114
  "attribute": "disabled",
114927
115115
  "reflects": true,
114928
115116
  "inheritedFrom": {
114929
- "name": "HelixHeadlessTab",
114930
- "module": "src/tabs/tab/tab.ts"
115117
+ "name": "MixinSelectableItem",
115118
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
114931
115119
  }
114932
115120
  },
114933
115121
  {
@@ -114937,11 +115125,11 @@
114937
115125
  "text": "boolean"
114938
115126
  },
114939
115127
  "default": "false",
114940
- "description": "Whether this tab is the current one.",
115128
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
114941
115129
  "attribute": "selected",
114942
115130
  "inheritedFrom": {
114943
- "name": "HelixHeadlessTab",
114944
- "module": "src/tabs/tab/tab.ts"
115131
+ "name": "MixinSelectableItem",
115132
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
114945
115133
  }
114946
115134
  },
114947
115135
  {
@@ -114951,11 +115139,25 @@
114951
115139
  "text": "string"
114952
115140
  },
114953
115141
  "default": "''",
114954
- "description": "Identifies the tab, and pairs it with the panel of the same value.",
115142
+ "description": "Identifies this one to the set, and is what a form submits.",
114955
115143
  "attribute": "value",
114956
115144
  "inheritedFrom": {
114957
- "name": "HelixHeadlessTab",
114958
- "module": "src/tabs/tab/tab.ts"
115145
+ "name": "MixinSelectableItem",
115146
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115147
+ }
115148
+ },
115149
+ {
115150
+ "kind": "field",
115151
+ "name": "itemPart",
115152
+ "type": {
115153
+ "text": "string"
115154
+ },
115155
+ "privacy": "protected",
115156
+ "default": "'item'",
115157
+ "description": "The part `focusItem` focuses. See the interface note.",
115158
+ "inheritedFrom": {
115159
+ "name": "MixinSelectableItem",
115160
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
114959
115161
  }
114960
115162
  },
114961
115163
  {
@@ -114966,13 +115168,13 @@
114966
115168
  "text": "void"
114967
115169
  }
114968
115170
  },
114969
- "description": "Moves focus to this tab, for the list's arrow keys.",
115171
+ "description": "Moves focus to the control this renders, for the set's arrow keys.\n\nThe set drives the keys and cannot reach the control itself, which is\ninside this shadow root, so the intent is a method and the internals stay\nthe item's.",
115172
+ "inheritedFrom": {
115173
+ "name": "MixinSelectableItem",
115174
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115175
+ },
114970
115176
  "type": {
114971
115177
  "text": "focusItem() => void"
114972
- },
114973
- "inheritedFrom": {
114974
- "name": "HelixHeadlessTab",
114975
- "module": "src/tabs/tab/tab.ts"
114976
115178
  }
114977
115179
  },
114978
115180
  {
@@ -114980,16 +115182,16 @@
114980
115182
  "name": "select",
114981
115183
  "return": {
114982
115184
  "type": {
114983
- "text": "void"
115185
+ "text": "boolean"
114984
115186
  }
114985
115187
  },
114986
- "description": "Selects this tab and announces it.",
114987
- "type": {
114988
- "text": "select() => void"
114989
- },
115188
+ "description": "Chooses this one and announces it, and reports whether it stood.",
114990
115189
  "inheritedFrom": {
114991
- "name": "HelixHeadlessTab",
114992
- "module": "src/tabs/tab/tab.ts"
115190
+ "name": "MixinSelectableItem",
115191
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115192
+ },
115193
+ "type": {
115194
+ "text": "select() => boolean"
114993
115195
  }
114994
115196
  },
114995
115197
  {
@@ -115339,11 +115541,11 @@
115339
115541
  "text": "boolean"
115340
115542
  },
115341
115543
  "default": "false",
115342
- "description": "Whether the tab can be chosen.",
115544
+ "description": "Whether this one can be chosen.",
115343
115545
  "fieldName": "disabled",
115344
115546
  "inheritedFrom": {
115345
- "name": "HelixHeadlessTab",
115346
- "module": "src/tabs/tab/tab.ts"
115547
+ "name": "MixinSelectableItem",
115548
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115347
115549
  }
115348
115550
  },
115349
115551
  {
@@ -115352,11 +115554,11 @@
115352
115554
  "text": "boolean"
115353
115555
  },
115354
115556
  "default": "false",
115355
- "description": "Whether this tab is the current one.",
115557
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
115356
115558
  "fieldName": "selected",
115357
115559
  "inheritedFrom": {
115358
- "name": "HelixHeadlessTab",
115359
- "module": "src/tabs/tab/tab.ts"
115560
+ "name": "MixinSelectableItem",
115561
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115360
115562
  }
115361
115563
  },
115362
115564
  {
@@ -115365,11 +115567,11 @@
115365
115567
  "text": "string"
115366
115568
  },
115367
115569
  "default": "''",
115368
- "description": "Identifies the tab, and pairs it with the panel of the same value.",
115570
+ "description": "Identifies this one to the set, and is what a form submits.",
115369
115571
  "fieldName": "value",
115370
115572
  "inheritedFrom": {
115371
- "name": "HelixHeadlessTab",
115372
- "module": "src/tabs/tab/tab.ts"
115573
+ "name": "MixinSelectableItem",
115574
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
115373
115575
  }
115374
115576
  }
115375
115577
  ],
@@ -116790,6 +116992,20 @@
116790
116992
  "text": "formStateRestoreCallback(state: string | null) => void"
116791
116993
  }
116792
116994
  },
116995
+ {
116996
+ "kind": "field",
116997
+ "name": "controlId",
116998
+ "type": {
116999
+ "text": "string"
117000
+ },
117001
+ "privacy": "protected",
117002
+ "default": "'control'",
117003
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
117004
+ "inheritedFrom": {
117005
+ "name": "MixinField",
117006
+ "module": "src/mixins/mixin-field/mixin-field.ts"
117007
+ }
117008
+ },
116793
117009
  {
116794
117010
  "kind": "field",
116795
117011
  "name": "feedback",
@@ -119082,6 +119298,20 @@
119082
119298
  "text": "formStateRestoreCallback(state: string | null) => void"
119083
119299
  }
119084
119300
  },
119301
+ {
119302
+ "kind": "field",
119303
+ "name": "controlId",
119304
+ "type": {
119305
+ "text": "string"
119306
+ },
119307
+ "privacy": "protected",
119308
+ "default": "'control'",
119309
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
119310
+ "inheritedFrom": {
119311
+ "name": "MixinField",
119312
+ "module": "src/mixins/mixin-field/mixin-field.ts"
119313
+ }
119314
+ },
119085
119315
  {
119086
119316
  "kind": "field",
119087
119317
  "name": "feedback",
@@ -125607,6 +125837,20 @@
125607
125837
  "text": "formStateRestoreCallback(state: string | null) => void"
125608
125838
  }
125609
125839
  },
125840
+ {
125841
+ "kind": "field",
125842
+ "name": "controlId",
125843
+ "type": {
125844
+ "text": "string"
125845
+ },
125846
+ "privacy": "protected",
125847
+ "default": "'control'",
125848
+ "description": "Id the field's label points at, written by the control this wraps.\n\n`renderLabel` emits the `for` and the family renders the `id`, so the\ntwo ends of one IDREF sat in two packages as a pair of literals with\nnothing holding them together: eleven templates wrote `id=\"control\"`,\ntwo wrote a second `for=\"control\"` of their own, and a family that\nspelled either differently got a `<label for>` resolving to nothing.\nThat failure is silent in the way the area rules describe for a\n`[part=]` naming a part nobody renders: no error, no warning, and a\nlabel that has stopped focusing its field.\n\nA member rather than a module constant, which is what the anchor\nargument for `reportRequired` already settled one level down: the name\nbelongs to the control the family renders, so the family has to be able\nto read it, and `HINT_ID` and `FEEDBACK_ID` stay private because this\nmixin renders both of those itself.",
125849
+ "inheritedFrom": {
125850
+ "name": "MixinField",
125851
+ "module": "src/mixins/mixin-field/mixin-field.ts"
125852
+ }
125853
+ },
125610
125854
  {
125611
125855
  "kind": "field",
125612
125856
  "name": "feedback",
@@ -126743,51 +126987,54 @@
126743
126987
  "text": "boolean"
126744
126988
  },
126745
126989
  "default": "false",
126746
- "description": "Whether the item can be chosen.",
126990
+ "description": "Whether this one can be chosen.",
126747
126991
  "attribute": "disabled",
126748
126992
  "reflects": true,
126749
126993
  "inheritedFrom": {
126750
- "name": "HelixHeadlessToggle",
126751
- "module": "src/toggle/root/toggle-root.ts"
126994
+ "name": "MixinSelectableItem",
126995
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
126752
126996
  }
126753
126997
  },
126754
126998
  {
126755
126999
  "kind": "field",
126756
- "name": "defaultSelected",
127000
+ "name": "selected",
126757
127001
  "type": {
126758
127002
  "text": "boolean"
126759
127003
  },
126760
- "description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Radio`, `<helix-toggle value=\"light\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
127004
+ "default": "false",
127005
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
127006
+ "attribute": "selected",
126761
127007
  "inheritedFrom": {
126762
- "name": "HelixHeadlessToggle",
126763
- "module": "src/toggle/root/toggle-root.ts"
127008
+ "name": "MixinSelectableItem",
127009
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
126764
127010
  }
126765
127011
  },
126766
127012
  {
126767
127013
  "kind": "field",
126768
- "name": "focusable",
127014
+ "name": "value",
126769
127015
  "type": {
126770
- "text": "boolean"
127016
+ "text": "string"
126771
127017
  },
126772
- "default": "false",
126773
- "description": "Whether this item holds the group's tab stop while nothing is chosen.\n\nThe stop normally rides on the selection, and an unanswered group has no\nselection, so without this the keyboard cannot reach it. Written by the\ngroup, with no attribute: it is coordination between elements, and\n`tabindex` on a host the consumer rendered is the change a React consumer's\nhydration reports and does not patch up.",
127018
+ "default": "''",
127019
+ "description": "Identifies this one to the set, and is what a form submits.",
127020
+ "attribute": "value",
126774
127021
  "inheritedFrom": {
126775
- "name": "HelixHeadlessToggle",
126776
- "module": "src/toggle/root/toggle-root.ts"
127022
+ "name": "MixinSelectableItem",
127023
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
126777
127024
  }
126778
127025
  },
126779
127026
  {
126780
127027
  "kind": "field",
126781
- "name": "selected",
127028
+ "name": "itemPart",
126782
127029
  "type": {
126783
- "text": "boolean"
127030
+ "text": "string"
126784
127031
  },
126785
- "default": "false",
126786
- "description": "Whether this item is the current one.",
126787
- "attribute": "selected",
127032
+ "privacy": "protected",
127033
+ "default": "'item'",
127034
+ "description": "The part `focusItem` focuses. See the interface note.",
126788
127035
  "inheritedFrom": {
126789
- "name": "HelixHeadlessToggle",
126790
- "module": "src/toggle/root/toggle-root.ts"
127036
+ "name": "MixinSelectableItem",
127037
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
126791
127038
  }
126792
127039
  },
126793
127040
  {
@@ -126798,13 +127045,13 @@
126798
127045
  "text": "void"
126799
127046
  }
126800
127047
  },
126801
- "description": "Moves focus to this item's own control.\n\nThe group drives arrow-key navigation and cannot reach the control itself,\nwhich is inside this shadow root. Exposing the intent as a method keeps the\ngroup out of the child's internals.",
127048
+ "description": "Moves focus to the control this renders, for the set's arrow keys.\n\nThe set drives the keys and cannot reach the control itself, which is\ninside this shadow root, so the intent is a method and the internals stay\nthe item's.",
127049
+ "inheritedFrom": {
127050
+ "name": "MixinSelectableItem",
127051
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
127052
+ },
126802
127053
  "type": {
126803
127054
  "text": "focusItem() => void"
126804
- },
126805
- "inheritedFrom": {
126806
- "name": "HelixHeadlessToggle",
126807
- "module": "src/toggle/root/toggle-root.ts"
126808
127055
  }
126809
127056
  },
126810
127057
  {
@@ -126812,13 +127059,25 @@
126812
127059
  "name": "select",
126813
127060
  "return": {
126814
127061
  "type": {
126815
- "text": "void"
127062
+ "text": "boolean"
126816
127063
  }
126817
127064
  },
126818
- "description": "Chooses this item and announces it.",
127065
+ "description": "Chooses this one and announces it, and reports whether it stood.",
127066
+ "inheritedFrom": {
127067
+ "name": "MixinSelectableItem",
127068
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
127069
+ },
126819
127070
  "type": {
126820
- "text": "select() => void"
127071
+ "text": "select() => boolean"
127072
+ }
127073
+ },
127074
+ {
127075
+ "kind": "field",
127076
+ "name": "defaultSelected",
127077
+ "type": {
127078
+ "text": "boolean"
126821
127079
  },
127080
+ "description": "Whether the markup declared this one chosen, which is what a reset returns to.\n\n`<option selected>` reflects to `defaultSelected` and `option.selected` is\nlive state that does not reflect, and those are two different facts. This\nelement has one `selected` doing both jobs, so the declaration is the\nattribute and the state is the property.\n\n**The attribute, read when it is asked for, and never a snapshot taken in\nthe constructor.** A field initializer runs there, and an element the HTML\nparser created has none of its attributes yet at that moment: measured on\nthis element, on `Option` and on `Radio`, `<helix-toggle value=\"light\"\nselected>` reported `defaultSelected` as `false` both from parsed markup\nand from `createElement` followed by `setAttribute`, which is every way a\nconsumer writes one. The snapshot could only ever be true for an element\nalready in the document when `customElements.define` ran.\n\nNothing overwrites it either, which is what makes reading it late correct\nrather than merely later: `selected` does not reflect, for the reason\n`willUpdate` records, so the group's writes never reach the attribute and\nwhat it says is what the markup said.\n\n**The deeper half is not this.** State reflecting under the declaration's\nname is the fault `TreeItem` avoids by mirroring to `data-selected`.\nSplitting them means moving what every stylesheet selects on, which is a\nchange of its own rather than a property being added.",
126822
127081
  "inheritedFrom": {
126823
127082
  "name": "HelixHeadlessToggle",
126824
127083
  "module": "src/toggle/root/toggle-root.ts"
@@ -126826,13 +127085,12 @@
126826
127085
  },
126827
127086
  {
126828
127087
  "kind": "field",
126829
- "name": "value",
127088
+ "name": "focusable",
126830
127089
  "type": {
126831
- "text": "string"
127090
+ "text": "boolean"
126832
127091
  },
126833
- "default": "''",
126834
- "description": "Identifies the item to the group.",
126835
- "attribute": "value",
127092
+ "default": "false",
127093
+ "description": "Whether this item holds the group's tab stop while nothing is chosen.\n\nThe stop normally rides on the selection, and an unanswered group has no\nselection, so without this the keyboard cannot reach it. Written by the\ngroup, with no attribute: it is coordination between elements, and\n`tabindex` on a host the consumer rendered is the change a React consumer's\nhydration reports and does not patch up.",
126836
127094
  "inheritedFrom": {
126837
127095
  "name": "HelixHeadlessToggle",
126838
127096
  "module": "src/toggle/root/toggle-root.ts"
@@ -127226,11 +127484,11 @@
127226
127484
  "text": "boolean"
127227
127485
  },
127228
127486
  "default": "false",
127229
- "description": "Whether the item can be chosen.",
127487
+ "description": "Whether this one can be chosen.",
127230
127488
  "fieldName": "disabled",
127231
127489
  "inheritedFrom": {
127232
- "name": "HelixHeadlessToggle",
127233
- "module": "src/toggle/root/toggle-root.ts"
127490
+ "name": "MixinSelectableItem",
127491
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
127234
127492
  }
127235
127493
  },
127236
127494
  {
@@ -127239,11 +127497,11 @@
127239
127497
  "text": "boolean"
127240
127498
  },
127241
127499
  "default": "false",
127242
- "description": "Whether this item is the current one.",
127500
+ "description": "Whether this is the current one.\n\nWritten by the set rather than by a consumer, which is why it takes no\ndefault from an attribute here: a family whose selection a consumer\ndeclares in markup carries `defaultSelected` of its own to say so.",
127243
127501
  "fieldName": "selected",
127244
127502
  "inheritedFrom": {
127245
- "name": "HelixHeadlessToggle",
127246
- "module": "src/toggle/root/toggle-root.ts"
127503
+ "name": "MixinSelectableItem",
127504
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
127247
127505
  }
127248
127506
  },
127249
127507
  {
@@ -127252,11 +127510,11 @@
127252
127510
  "text": "string"
127253
127511
  },
127254
127512
  "default": "''",
127255
- "description": "Identifies the item to the group.",
127513
+ "description": "Identifies this one to the set, and is what a form submits.",
127256
127514
  "fieldName": "value",
127257
127515
  "inheritedFrom": {
127258
- "name": "HelixHeadlessToggle",
127259
- "module": "src/toggle/root/toggle-root.ts"
127516
+ "name": "MixinSelectableItem",
127517
+ "module": "src/mixins/mixin-selectable-item/mixin-selectable-item.ts"
127260
127518
  }
127261
127519
  }
127262
127520
  ],