@fusion.dev/helix 0.185.0 → 0.186.1

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.
@@ -96202,6 +96202,10 @@
96202
96202
  "description": "A graph of linked notes, with the selected note's links and backlinks listed first.",
96203
96203
  "slug": "preview"
96204
96204
  },
96205
+ {
96206
+ "description": "A web service's architecture as an isometric diagram: each service a block, each store a cylinder, and each tier on a plate of its own.",
96207
+ "slug": "architecture"
96208
+ },
96205
96209
  {
96206
96210
  "description": "Eight thousand notes on the surface of a 3D model of a brain, each region of the mind in its lobe of the brain, with thoughts passing between them.",
96207
96211
  "slug": "brain-3d"
@@ -96221,6 +96225,18 @@
96221
96225
  {
96222
96226
  "description": "A graph of company notes drawn by Sigma.js, with notes arriving and messages passing between them as they happen, and a legend that shows or hides each subject.",
96223
96227
  "slug": "live"
96228
+ },
96229
+ {
96230
+ "description": "An office network seen from a steeper angle, turned a little from the front, with each floor on a plate of its own.",
96231
+ "slug": "network"
96232
+ },
96233
+ {
96234
+ "description": "A data pipeline whose notes give no places: the driver lays them out in columns along the links, sources first, turned so the flow runs across the page.",
96235
+ "slug": "pipeline"
96236
+ },
96237
+ {
96238
+ "description": "The same architecture with buttons that turn it a quarter at a time and look at it from above. Shift with a drag turns and tilts it freely.",
96239
+ "slug": "turning"
96224
96240
  }
96225
96241
  ],
96226
96242
  "source": "helix/styled/src/graph"
@@ -99197,7 +99213,7 @@
99197
99213
  "type": {
99198
99214
  "text": "number | undefined"
99199
99215
  },
99200
- "privacy": "private",
99216
+ "privacy": "protected",
99201
99217
  "default": "undefined",
99202
99218
  "description": "The width last measured, or nothing before the first measurement.\n\nUndefined rather than zero, because the two mean different things and the\ndifference is a whole strip: unmeasured has to show everything, since a\nfirst paint that shows one cell and then expands is a flicker on every load.",
99203
99219
  "inheritedFrom": {
@@ -99316,7 +99332,7 @@
99316
99332
  {
99317
99333
  "kind": "field",
99318
99334
  "name": "status",
99319
- "privacy": "private",
99335
+ "privacy": "protected",
99320
99336
  "readonly": true,
99321
99337
  "default": "new StatusController(this)",
99322
99338
  "description": "The region a change of selection is said in, rendered from the first change.",
@@ -99328,7 +99344,7 @@
99328
99344
  {
99329
99345
  "kind": "method",
99330
99346
  "name": "keysOf",
99331
- "privacy": "private",
99347
+ "privacy": "protected",
99332
99348
  "return": {
99333
99349
  "type": {
99334
99350
  "text": "string[]"
@@ -99420,7 +99436,7 @@
99420
99436
  {
99421
99437
  "kind": "field",
99422
99438
  "name": "onStripKeydown",
99423
- "privacy": "private",
99439
+ "privacy": "protected",
99424
99440
  "readonly": true,
99425
99441
  "description": "Notes where the keys rest before the pointer controller moves them.",
99426
99442
  "inheritedFrom": {
@@ -99442,7 +99458,7 @@
99442
99458
  {
99443
99459
  "kind": "field",
99444
99460
  "name": "onClick",
99445
- "privacy": "private",
99461
+ "privacy": "protected",
99446
99462
  "readonly": true,
99447
99463
  "description": "A press on a cell selects it, under `selection-mode`, and Shift takes the\nrectangle to it under `selection-shape=\"rectangle\"`.",
99448
99464
  "inheritedFrom": {
@@ -99456,7 +99472,7 @@
99456
99472
  "type": {
99457
99473
  "text": "Reading[]"
99458
99474
  },
99459
- "privacy": "private",
99475
+ "privacy": "protected",
99460
99476
  "description": "Every row in the table, oldest first, as the table is written, with its\nreading where the row has one.\n\n**Not `readings`, which the mixin already has and which means a count.**\nTwo members of the same name meaning a number and an array is the kind of\ncollision that type-checks in one direction and reads wrong in both.\n\n**One cell per row, and a blank row is a cell with no reading.** Taken from\nthe series alone, a blank dropped its day and every day after it moved one\ncell along, while the tooltip still counted rows and named the day beside\nthe one under the pointer.",
99461
99477
  "readonly": true,
99462
99478
  "inheritedFrom": {
@@ -99470,7 +99486,7 @@
99470
99486
  "type": {
99471
99487
  "text": "number"
99472
99488
  },
99473
- "privacy": "private",
99489
+ "privacy": "protected",
99474
99490
  "description": "`rows` as a usable count, which is not always what the attribute says.\n\nOne place rather than two: the fit arithmetic and the grid template both\nneed it, and a `rows=\"0\"` or a `rows=\"2.5\"` that reached one of them and not\nthe other would draw a strip whose columns and whose capacity disagreed.",
99475
99491
  "readonly": true,
99476
99492
  "inheritedFrom": {
@@ -99484,7 +99500,7 @@
99484
99500
  "type": {
99485
99501
  "text": "number"
99486
99502
  },
99487
- "privacy": "private",
99503
+ "privacy": "protected",
99488
99504
  "description": "The cell width the arithmetic should plan around, in pixels.\n\nThe attribute wins where a consumer wrote one, because that is what writing\nit is for; otherwise what the strip draws, and the declared default only\nuntil the first measurement lands.",
99489
99505
  "readonly": true,
99490
99506
  "inheritedFrom": {
@@ -99498,7 +99514,7 @@
99498
99514
  "type": {
99499
99515
  "text": "number"
99500
99516
  },
99501
- "privacy": "private",
99517
+ "privacy": "protected",
99502
99518
  "description": "The gap the arithmetic should plan around, on the same terms as `cellPx`.",
99503
99519
  "readonly": true,
99504
99520
  "inheritedFrom": {
@@ -99512,7 +99528,7 @@
99512
99528
  "type": {
99513
99529
  "text": "number"
99514
99530
  },
99515
- "privacy": "private",
99531
+ "privacy": "protected",
99516
99532
  "description": "How many cells the container has room for, as a whole number of columns.",
99517
99533
  "readonly": true,
99518
99534
  "inheritedFrom": {
@@ -99541,7 +99557,7 @@
99541
99557
  "type": {
99542
99558
  "text": "Reading[]"
99543
99559
  },
99544
- "privacy": "private",
99560
+ "privacy": "protected",
99545
99561
  "description": "The readings actually drawn, newest kept.\n\nThe tail rather than the head: a status strip that drops the newest days to\nkeep the oldest is answering a question nobody asked.",
99546
99562
  "readonly": true,
99547
99563
  "inheritedFrom": {
@@ -99720,7 +99736,7 @@
99720
99736
  {
99721
99737
  "kind": "field",
99722
99738
  "name": "onPointerOver",
99723
- "privacy": "private",
99739
+ "privacy": "protected",
99724
99740
  "readonly": true,
99725
99741
  "description": "Which drawn cell the pointer is over, or -1.\n\n`pointerover` on the strip rather than a listener per cell: the event\nbubbles, so one handler covers however many cells there are, and unlike\n`mouseover` it is delivered for a pen.",
99726
99742
  "inheritedFrom": {
@@ -99731,7 +99747,7 @@
99731
99747
  {
99732
99748
  "kind": "field",
99733
99749
  "name": "onPointerUp",
99734
- "privacy": "private",
99750
+ "privacy": "protected",
99735
99751
  "readonly": true,
99736
99752
  "inheritedFrom": {
99737
99753
  "name": "HelixHeadlessHeatmap",
@@ -99741,7 +99757,7 @@
99741
99757
  {
99742
99758
  "kind": "field",
99743
99759
  "name": "onPointerLeave",
99744
- "privacy": "private",
99760
+ "privacy": "protected",
99745
99761
  "readonly": true,
99746
99762
  "inheritedFrom": {
99747
99763
  "name": "HelixHeadlessHeatmap",
@@ -102424,7 +102440,7 @@
102424
102440
  "declarations": [
102425
102441
  {
102426
102442
  "kind": "class",
102427
- "description": "Draws in `currentColor` and sizes from `--icon-size`, so an icon takes the\ncolor of the text around it and a container can resize it without a property.\nInside a button, `--icon-size` is set in `em`, so the icon scales with the\nbutton.\n\n**The glyph turns, flips and moves inside its own box**, so the line around\nit keeps its place: `rotate` turns it by a quarter, a half or three\nquarters, `--icon-rotate` by any angle, `flip` mirrors it across either\naxis, and `animation` spins, pulses or beats it, as Web Awesome's icon does.\nReduced motion stills every animation. `auto-width` gives the box the\nglyph's own proportions, for a mark wider than it is tall.\n\n**`@fusion.dev/helix/icon` registers thirteen glyphs by name**, the ones a\ncontrol most often needs, and `@fusion.dev/helix/icon/all` registers the\nwhole set. The headless element lists the thirteen and says how a name is\nresolved.",
102443
+ "description": "Draws in `currentColor` and sizes from `--icon-size`, so an icon takes the\ncolor of the text around it and a container can resize it without a property.\nInside a button, `--icon-size` is set in `em`, so the icon scales with the\nbutton.\n\n**The glyph turns, flips and moves inside its own box**, so the line around\nit keeps its place: `rotate` turns it by a quarter, a half or three\nquarters, `--icon-rotate` by any angle, `flip` mirrors it across either\naxis, and `animation` spins, pulses or beats it, as Web Awesome's icon does.\nReduced motion stills every animation. `auto-width` gives the box the\nglyph's own proportions, for a mark wider than it is tall.",
102428
102444
  "name": "HelixIcon",
102429
102445
  "cssProperties": [
102430
102446
  {
@@ -102554,7 +102570,7 @@
102554
102570
  "text": "string"
102555
102571
  },
102556
102572
  "default": "''",
102557
- "description": "The name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index that no\nbundler can shake. The family's entry indexes a small set, `icon/all`\nindexes the whole set at 15 kB, and `icon/root` indexes nothing, for a\npage that registers the glyphs it names or hands over the value instead.\n\nA name written `prefix:name` asks the library registered under that\nprefix.",
102573
+ "description": "The name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index of the\nwhole set that no bundler can shake: 15 kB for a consumer who renders one\nmark. An attribute is the only thing an HTML author can write, and that is\nworth the index; a consumer who would rather not pay it imports the\nelement from `icon/root` and registers the glyphs it names, or hands over\nthe value instead.\n\nA name written `prefix:name` asks the library registered under that\nprefix.",
102558
102574
  "attribute": "name",
102559
102575
  "inheritedFrom": {
102560
102576
  "name": "HelixHeadlessIcon",
@@ -102738,21 +102754,6 @@
102738
102754
  "module": "src/icon/root/icon-root.ts"
102739
102755
  }
102740
102756
  },
102741
- {
102742
- "kind": "method",
102743
- "name": "auditControl",
102744
- "privacy": "private",
102745
- "return": {
102746
- "type": {
102747
- "text": "void"
102748
- }
102749
- },
102750
- "description": "Asks the button or link a decorative icon sits in whether it has a name.\nIts content is this icon alone where it has none, and the audit says so\nonce, in a development build only. A Helix button reports its own name.",
102751
- "inheritedFrom": {
102752
- "name": "HelixHeadlessIcon",
102753
- "module": "src/icon/root/icon-root.ts"
102754
- }
102755
- },
102756
102757
  {
102757
102758
  "kind": "field",
102758
102759
  "name": "pending",
@@ -103188,7 +103189,7 @@
103188
103189
  "text": "string"
103189
103190
  },
103190
103191
  "default": "''",
103191
- "description": "The name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index that no\nbundler can shake. The family's entry indexes a small set, `icon/all`\nindexes the whole set at 15 kB, and `icon/root` indexes nothing, for a\npage that registers the glyphs it names or hands over the value instead.\n\nA name written `prefix:name` asks the library registered under that\nprefix.",
103192
+ "description": "The name of the icon in the Helix set.\n\n**A lookup, and the reason both this and `icon` exist.** A name is a string,\nso it is what markup can carry, and resolving one means an index of the\nwhole set that no bundler can shake: 15 kB for a consumer who renders one\nmark. An attribute is the only thing an HTML author can write, and that is\nworth the index; a consumer who would rather not pay it imports the\nelement from `icon/root` and registers the glyphs it names, or hands over\nthe value instead.\n\nA name written `prefix:name` asks the library registered under that\nprefix.",
103192
103193
  "fieldName": "name",
103193
103194
  "inheritedFrom": {
103194
103195
  "name": "HelixHeadlessIcon",
@@ -104853,7 +104854,7 @@
104853
104854
  "name": "*",
104854
104855
  "declaration": {
104855
104856
  "name": "*",
104856
- "module": "src/icon/all/index.js"
104857
+ "module": "src/icon/index.js"
104857
104858
  }
104858
104859
  },
104859
104860
  {
@@ -104880,6 +104881,14 @@
104880
104881
  "module": "src/input/index.js"
104881
104882
  }
104882
104883
  },
104884
+ {
104885
+ "kind": "js",
104886
+ "name": "*",
104887
+ "declaration": {
104888
+ "name": "*",
104889
+ "module": "src/isometric-heatmap/index.js"
104890
+ }
104891
+ },
104883
104892
  {
104884
104893
  "kind": "js",
104885
104894
  "name": "*",
@@ -108097,6 +108106,2597 @@
108097
108106
  }
108098
108107
  ]
108099
108108
  },
108109
+ {
108110
+ "kind": "javascript-module",
108111
+ "path": "src/isometric-heatmap/index.ts",
108112
+ "declarations": [],
108113
+ "exports": [
108114
+ {
108115
+ "kind": "js",
108116
+ "name": "HelixIsometricHeatmap",
108117
+ "declaration": {
108118
+ "name": "HelixIsometricHeatmap",
108119
+ "module": "./root/isometric-heatmap-root.js"
108120
+ }
108121
+ }
108122
+ ]
108123
+ },
108124
+ {
108125
+ "kind": "javascript-module",
108126
+ "path": "src/isometric-heatmap/root/isometric-heatmap-root.css.ts",
108127
+ "declarations": [
108128
+ {
108129
+ "kind": "variable",
108130
+ "name": "styles"
108131
+ }
108132
+ ],
108133
+ "exports": [
108134
+ {
108135
+ "kind": "js",
108136
+ "name": "styles",
108137
+ "declaration": {
108138
+ "name": "styles",
108139
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.css.ts"
108140
+ }
108141
+ }
108142
+ ]
108143
+ },
108144
+ {
108145
+ "kind": "javascript-module",
108146
+ "path": "src/isometric-heatmap/root/isometric-heatmap-root.ts",
108147
+ "declarations": [
108148
+ {
108149
+ "kind": "class",
108150
+ "description": "Each reading is a prism. The top face takes the cell's tone, and the two\nsides are the same tone, shaded darker, so the whole relief follows your\ntheme's colors.\n\n`tones=\"1 2 3 4 5\"` uses the same five-step ramp as `Heatmap`, so the tone\nand the height both show the value. Set `--isometric-heatmap-cell-size` to\nchange how large a cell may grow.",
108151
+ "name": "HelixIsometricHeatmap",
108152
+ "cssProperties": [
108153
+ {
108154
+ "description": "The largest a cell grows, along its edge. The strip is never wider than its box, and draws smaller cells to fit.",
108155
+ "name": "--isometric-heatmap-cell-size"
108156
+ },
108157
+ {
108158
+ "description": "How much darker the left face is than the top, as a percentage mixed toward black.",
108159
+ "name": "--isometric-heatmap-left-shade"
108160
+ },
108161
+ {
108162
+ "description": "How much darker the right face is than the top, as a percentage mixed toward black.",
108163
+ "name": "--isometric-heatmap-right-shade"
108164
+ },
108165
+ {
108166
+ "description": "The color of the dashed edges of a selected prism, under `selection-mode`. By default, white on a dark face and black on a light one.",
108167
+ "name": "--isometric-heatmap-selected-color"
108168
+ },
108169
+ {
108170
+ "description": "How many cells the drawing spans across: its columns and its rows together. The component writes it on the strip, and a stylesheet that caps the cell size reads it.",
108171
+ "name": "--isometric-heatmap-span",
108172
+ "inheritedFrom": {
108173
+ "name": "HelixHeadlessIsometricHeatmap",
108174
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108175
+ }
108176
+ },
108177
+ {
108178
+ "description": "How many rows the strip lays out. The component writes it from the data, and the stylesheet that draws the strip reads it.",
108179
+ "name": "--heatmap-rows",
108180
+ "inheritedFrom": {
108181
+ "name": "HelixHeadlessHeatmap",
108182
+ "module": "src/heatmap/root/heatmap-root.ts"
108183
+ }
108184
+ },
108185
+ {
108186
+ "description": "The tone of the cell it is set on. The component writes it, and the stylesheet that paints the cell reads it.",
108187
+ "name": "--heatmap-tone",
108188
+ "inheritedFrom": {
108189
+ "name": "HelixHeadlessHeatmap",
108190
+ "module": "src/heatmap/root/heatmap-root.ts"
108191
+ }
108192
+ },
108193
+ {
108194
+ "description": "The weakest step of the magnitude ramp, used by `tones=\"1 …\"`.",
108195
+ "name": "--heatmap-tone-1",
108196
+ "inheritedFrom": {
108197
+ "name": "HelixHeadlessHeatmap",
108198
+ "module": "src/heatmap/root/heatmap-root.ts"
108199
+ }
108200
+ },
108201
+ {
108202
+ "description": "The second step of the magnitude ramp.",
108203
+ "name": "--heatmap-tone-2",
108204
+ "inheritedFrom": {
108205
+ "name": "HelixHeadlessHeatmap",
108206
+ "module": "src/heatmap/root/heatmap-root.ts"
108207
+ }
108208
+ },
108209
+ {
108210
+ "description": "The third step of the magnitude ramp.",
108211
+ "name": "--heatmap-tone-3",
108212
+ "inheritedFrom": {
108213
+ "name": "HelixHeadlessHeatmap",
108214
+ "module": "src/heatmap/root/heatmap-root.ts"
108215
+ }
108216
+ },
108217
+ {
108218
+ "description": "The fourth step of the magnitude ramp.",
108219
+ "name": "--heatmap-tone-4",
108220
+ "inheritedFrom": {
108221
+ "name": "HelixHeadlessHeatmap",
108222
+ "module": "src/heatmap/root/heatmap-root.ts"
108223
+ }
108224
+ },
108225
+ {
108226
+ "description": "The strongest step of the magnitude ramp.",
108227
+ "name": "--heatmap-tone-5",
108228
+ "inheritedFrom": {
108229
+ "name": "HelixHeadlessHeatmap",
108230
+ "module": "src/heatmap/root/heatmap-root.ts"
108231
+ }
108232
+ },
108233
+ {
108234
+ "description": "The color of the `accent` tone.",
108235
+ "name": "--heatmap-tone-accent",
108236
+ "inheritedFrom": {
108237
+ "name": "HelixHeadlessHeatmap",
108238
+ "module": "src/heatmap/root/heatmap-root.ts"
108239
+ }
108240
+ },
108241
+ {
108242
+ "description": "The color of the `danger` tone.",
108243
+ "name": "--heatmap-tone-danger",
108244
+ "inheritedFrom": {
108245
+ "name": "HelixHeadlessHeatmap",
108246
+ "module": "src/heatmap/root/heatmap-root.ts"
108247
+ }
108248
+ },
108249
+ {
108250
+ "description": "The color of the `info` tone.",
108251
+ "name": "--heatmap-tone-info",
108252
+ "inheritedFrom": {
108253
+ "name": "HelixHeadlessHeatmap",
108254
+ "module": "src/heatmap/root/heatmap-root.ts"
108255
+ }
108256
+ },
108257
+ {
108258
+ "description": "The color of the `muted` tone: a quiet background, for a bucket that means nothing happened.",
108259
+ "name": "--heatmap-tone-muted",
108260
+ "inheritedFrom": {
108261
+ "name": "HelixHeadlessHeatmap",
108262
+ "module": "src/heatmap/root/heatmap-root.ts"
108263
+ }
108264
+ },
108265
+ {
108266
+ "description": "The color of the `primary` tone.",
108267
+ "name": "--heatmap-tone-primary",
108268
+ "inheritedFrom": {
108269
+ "name": "HelixHeadlessHeatmap",
108270
+ "module": "src/heatmap/root/heatmap-root.ts"
108271
+ }
108272
+ },
108273
+ {
108274
+ "description": "The color of the `success` tone, named in `tones` or in `data-tone`.",
108275
+ "name": "--heatmap-tone-success",
108276
+ "inheritedFrom": {
108277
+ "name": "HelixHeadlessHeatmap",
108278
+ "module": "src/heatmap/root/heatmap-root.ts"
108279
+ }
108280
+ },
108281
+ {
108282
+ "description": "The color of the `warning` tone.",
108283
+ "name": "--heatmap-tone-warning",
108284
+ "inheritedFrom": {
108285
+ "name": "HelixHeadlessHeatmap",
108286
+ "module": "src/heatmap/root/heatmap-root.ts"
108287
+ }
108288
+ }
108289
+ ],
108290
+ "members": [
108291
+ {
108292
+ "kind": "field",
108293
+ "name": "tier",
108294
+ "type": {
108295
+ "text": "string"
108296
+ },
108297
+ "static": true,
108298
+ "default": "'helix-'",
108299
+ "description": "The prefix this tier registers its elements under.\n\n**A component that renders another renders its own tier's version of it**,\nso `helix-headless-pagination-size` composes `helix-headless-select` and\n`helix-pagination-size` composes `helix-select`. One template says\n`${this.tag('select')}` and each tier answers with its own name.\n\n**The public tag may not be the composed one, in either tier.** Using it\ncosts three things: the name means two different things depending on what a\nconsumer imported, the headless tier composes an element it does not ship,\nand the composition cannot be tested there at all, because there is no\n`helix-select` on that tier to test it against.\n\n**A prefix rather than an override per composition**, which was the first\nplan and does not compile. An override re-renders the fragment from the\nsubclass, and the fragment reads members the base keeps private:\n`PaginationSize` alone would have had to widen `options`, `current` and\n`handleChange` to `protected` so a subclass could say the same thing again.\nSixteen families of that is a lot of encapsulation spent on saying one\nword differently.",
108300
+ "inheritedFrom": {
108301
+ "name": "HelixElement",
108302
+ "module": "src/helix-element/helix-element.ts"
108303
+ }
108304
+ },
108305
+ {
108306
+ "kind": "field",
108307
+ "name": "minCell",
108308
+ "type": {
108309
+ "text": "number"
108310
+ },
108311
+ "default": "10",
108312
+ "description": "The smallest cell, in CSS pixels, before the strip draws fewer columns.\n`gap` is two pixels at that size, so a prism covers five sixths of its cell.",
108313
+ "attribute": "min-cell",
108314
+ "inheritedFrom": {
108315
+ "name": "HelixHeadlessHeatmap",
108316
+ "module": "src/heatmap/root/heatmap-root.ts"
108317
+ }
108318
+ },
108319
+ {
108320
+ "kind": "field",
108321
+ "name": "words",
108322
+ "type": {
108323
+ "text": "string"
108324
+ },
108325
+ "static": true,
108326
+ "default": "''",
108327
+ "description": "The key `position-label` is registered under: the host's own, which\neach chart names with its styled tag, `static words =\n'helix-line-chart'`. A host with none reads its tag name.",
108328
+ "inheritedFrom": {
108329
+ "name": "MixinChartSource",
108330
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108331
+ }
108332
+ },
108333
+ {
108334
+ "kind": "field",
108335
+ "name": "markRules",
108336
+ "type": {
108337
+ "text": "readonly string[]"
108338
+ },
108339
+ "privacy": "protected",
108340
+ "static": true,
108341
+ "default": "[]",
108342
+ "description": "The rules from `mark-rules.ts` for the marks this element writes in its\nown shadow root: `data-scroller`, `data-virtual`, `data-spoken` and\n`data-mirror`.\n\nA component that writes a mark names its rule here, and a subclass\ninherits the list. One that writes none takes only the three rules every\nshadow root gets, which is what keeps the other four out of a Button.",
108343
+ "inheritedFrom": {
108344
+ "name": "HelixElement",
108345
+ "module": "src/helix-element/helix-element.ts"
108346
+ }
108347
+ },
108348
+ {
108349
+ "kind": "field",
108350
+ "name": "flat",
108351
+ "type": {
108352
+ "text": "boolean"
108353
+ },
108354
+ "default": "false",
108355
+ "description": "Draws every prism at no height, so the tones lie on a plane.",
108356
+ "attribute": "flat",
108357
+ "inheritedFrom": {
108358
+ "name": "HelixHeadlessIsometricHeatmap",
108359
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108360
+ }
108361
+ },
108362
+ {
108363
+ "kind": "field",
108364
+ "name": "relief",
108365
+ "type": {
108366
+ "text": "number"
108367
+ },
108368
+ "default": "2",
108369
+ "description": "How tall the highest reading stands, in cells. Every other reading stands\nat its share of it.",
108370
+ "attribute": "relief",
108371
+ "inheritedFrom": {
108372
+ "name": "HelixHeadlessIsometricHeatmap",
108373
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108374
+ }
108375
+ },
108376
+ {
108377
+ "kind": "field",
108378
+ "name": "shown",
108379
+ "type": {
108380
+ "text": "Relief | undefined"
108381
+ },
108382
+ "privacy": "private",
108383
+ "default": "undefined",
108384
+ "description": "The prisms drawn on the last render, which the tooltip is placed against.",
108385
+ "inheritedFrom": {
108386
+ "name": "HelixHeadlessIsometricHeatmap",
108387
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108388
+ }
108389
+ },
108390
+ {
108391
+ "kind": "field",
108392
+ "name": "room",
108393
+ "type": {
108394
+ "text": "number"
108395
+ },
108396
+ "privacy": "protected",
108397
+ "description": "How many cells the container has room for, as a whole number of columns.",
108398
+ "readonly": true,
108399
+ "inheritedFrom": {
108400
+ "name": "HelixHeadlessHeatmap",
108401
+ "module": "src/heatmap/root/heatmap-root.ts"
108402
+ }
108403
+ },
108404
+ {
108405
+ "kind": "method",
108406
+ "name": "drawnRelief",
108407
+ "privacy": "private",
108408
+ "return": {
108409
+ "type": {
108410
+ "text": "Relief"
108411
+ }
108412
+ },
108413
+ "description": "The drawn readings as prisms, standing against the highest reading in the table.",
108414
+ "inheritedFrom": {
108415
+ "name": "HelixHeadlessIsometricHeatmap",
108416
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108417
+ }
108418
+ },
108419
+ {
108420
+ "kind": "method",
108421
+ "name": "renderPrism",
108422
+ "privacy": "private",
108423
+ "return": {
108424
+ "type": {
108425
+ "text": "SVGTemplateResult"
108426
+ }
108427
+ },
108428
+ "parameters": [
108429
+ {
108430
+ "name": "index",
108431
+ "type": {
108432
+ "text": "number"
108433
+ }
108434
+ },
108435
+ {
108436
+ "name": "top",
108437
+ "type": {
108438
+ "text": "string"
108439
+ }
108440
+ },
108441
+ {
108442
+ "name": "left",
108443
+ "type": {
108444
+ "text": "string"
108445
+ }
108446
+ },
108447
+ {
108448
+ "name": "right",
108449
+ "type": {
108450
+ "text": "string"
108451
+ }
108452
+ },
108453
+ {
108454
+ "name": "active",
108455
+ "type": {
108456
+ "text": "boolean"
108457
+ }
108458
+ },
108459
+ {
108460
+ "name": "picked",
108461
+ "type": {
108462
+ "text": "boolean"
108463
+ }
108464
+ },
108465
+ {
108466
+ "name": "grid",
108467
+ "type": {
108468
+ "text": "boolean"
108469
+ }
108470
+ },
108471
+ {
108472
+ "name": "tone",
108473
+ "type": {
108474
+ "text": "string | undefined"
108475
+ }
108476
+ }
108477
+ ],
108478
+ "description": "One reading as a prism. The sides come first, so the top face is painted\nover the edge they share with it.\n\nUnder `selection-mode` the prism is a `gridcell` named by its row in the\ntable and saying whether it is selected, as the flat strip's cell is.",
108479
+ "inheritedFrom": {
108480
+ "name": "HelixHeadlessIsometricHeatmap",
108481
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108482
+ }
108483
+ },
108484
+ {
108485
+ "kind": "method",
108486
+ "name": "renderPrismRows",
108487
+ "privacy": "private",
108488
+ "return": {
108489
+ "type": {
108490
+ "text": "SVGTemplateResult[]"
108491
+ }
108492
+ },
108493
+ "parameters": [
108494
+ {
108495
+ "name": "prisms",
108496
+ "type": {
108497
+ "text": "SVGTemplateResult[]"
108498
+ }
108499
+ }
108500
+ ],
108501
+ "description": "The prisms as a grid's rows, one for each column of the strip, which is\nalso the order they are painted in.",
108502
+ "inheritedFrom": {
108503
+ "name": "HelixHeadlessIsometricHeatmap",
108504
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
108505
+ }
108506
+ },
108507
+ {
108508
+ "kind": "method",
108509
+ "name": "renderTooltip",
108510
+ "privacy": "protected",
108511
+ "return": {
108512
+ "type": {
108513
+ "text": "TemplateResult | typeof nothing"
108514
+ }
108515
+ },
108516
+ "parameters": [
108517
+ {
108518
+ "name": "grid",
108519
+ "default": "false"
108520
+ }
108521
+ ],
108522
+ "description": "The bubble over the cell a pointer is resting on.\n\n**One tooltip that moves, which is what every other chart here does.** Bar\nChart, Line Chart and Donut Chart each render a single anchor against an\ninvisible mark and move the mark, so the count is one however many readings\nthere are, rather than one element per cell. `drawTooltip` is their shared\nmarkup and this is the fourth caller.\n\nWhat it buys over a native `title` is the row rather than the reading.\n`sourceRows` carries every column of the table including the ones nothing\nwas plotted from, so a cell reads \"11 Jun 2026 / Uptime 81.2% / Note Partial\noutage\" where `title` could only ever say the two values this component\nhappens to hold. It is also styleable, appears at once rather than after the\nplatform's second of delay, and cannot be truncated by the window edge.\n\nThe mark is placed in pixels rather than in percent, which is the one thing\nthis does differently from its siblings: they divide a plot into equal\nslots, and a strip's cells are a fixed size with a fixed gap inside a box\nthat is usually wider, so a percentage of the box lands between cells. The\npitch is `cell + gap` and both are measured.",
108523
+ "inheritedFrom": {
108524
+ "name": "HelixHeadlessHeatmap",
108525
+ "module": "src/heatmap/root/heatmap-root.ts"
108526
+ }
108527
+ },
108528
+ {
108529
+ "kind": "field",
108530
+ "name": "emptyText",
108531
+ "type": {
108532
+ "text": "string"
108533
+ },
108534
+ "default": "'No readings'",
108535
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
108536
+ "attribute": "empty-text",
108537
+ "helix": {
108538
+ "words": true
108539
+ },
108540
+ "inheritedFrom": {
108541
+ "name": "MixinChartStatus",
108542
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
108543
+ }
108544
+ },
108545
+ {
108546
+ "kind": "field",
108547
+ "name": "loading",
108548
+ "type": {
108549
+ "text": "boolean"
108550
+ },
108551
+ "default": "false",
108552
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
108553
+ "attribute": "loading",
108554
+ "reflects": true,
108555
+ "inheritedFrom": {
108556
+ "name": "MixinChartStatus",
108557
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
108558
+ }
108559
+ },
108560
+ {
108561
+ "kind": "field",
108562
+ "name": "loadingText",
108563
+ "type": {
108564
+ "text": "string"
108565
+ },
108566
+ "default": "'Loading readings'",
108567
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
108568
+ "attribute": "loading-text",
108569
+ "helix": {
108570
+ "words": true
108571
+ },
108572
+ "inheritedFrom": {
108573
+ "name": "MixinChartStatus",
108574
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
108575
+ }
108576
+ },
108577
+ {
108578
+ "kind": "method",
108579
+ "name": "renderStatus",
108580
+ "privacy": "protected",
108581
+ "return": {
108582
+ "type": {
108583
+ "text": "TemplateResult | typeof nothing"
108584
+ }
108585
+ },
108586
+ "description": "What stands in the plot while there is nothing to draw: the `loading`\nline, the `empty` line, or nothing while the table cannot be read yet.\n\n`dir=\"auto\"`, so words in a right-to-left script read their own way in\na plot that holds itself left to right, as Scatter Chart's does.",
108587
+ "inheritedFrom": {
108588
+ "name": "MixinChartStatus",
108589
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
108590
+ }
108591
+ },
108592
+ {
108593
+ "kind": "method",
108594
+ "name": "renderEmpty",
108595
+ "privacy": "protected",
108596
+ "return": {
108597
+ "type": {
108598
+ "text": "TemplateResult"
108599
+ }
108600
+ },
108601
+ "description": "The plot while there is nothing to draw: a group named as the chart is,\nholding `renderStatus`. Not focusable, there being no reading to walk.",
108602
+ "inheritedFrom": {
108603
+ "name": "MixinChartStatus",
108604
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
108605
+ }
108606
+ },
108607
+ {
108608
+ "kind": "field",
108609
+ "name": "source",
108610
+ "privacy": "protected",
108611
+ "readonly": true,
108612
+ "default": "new SourceController(this)",
108613
+ "description": "Resolves `for` and re-renders when the table behind it changes.",
108614
+ "inheritedFrom": {
108615
+ "name": "MixinChartSource",
108616
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108617
+ }
108618
+ },
108619
+ {
108620
+ "kind": "field",
108621
+ "name": "data",
108622
+ "type": {
108623
+ "text": "ChartData | undefined"
108624
+ },
108625
+ "default": "undefined",
108626
+ "description": "The readings as data, in the shape of a table, where the page has no\ntable to point `for` at. `for` wins where both are set.\n\n```js\nchart.data = {\n caption: 'Sessions by channel',\n columns: ['Month', 'Direct', 'Referral'],\n rows: [['Jan', 10, 4], ['Feb', 20, 8]],\n}\n```\n\nThe first column holds each row's label and every column after it a\nseries, as in a table. A cell is a number, words, `null` for a blank,\nor `{ value, text }` for a number shown as words, such as `$128k`. A\nnumber is shown in `locale`.\n\n**A table is still the better source where the page can show one**:\nit reads with no script and before hydration, and a reader can sort and\ncopy it. Data is drawn on the client only, so a server serves the\nframe, and the summary, the keys and the readout are then the whole of\nwhat a screen reader is given. Set a new object to redraw: the chart\ndoes not look inside the one it has.",
108627
+ "inheritedFrom": {
108628
+ "name": "MixinChartSource",
108629
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108630
+ }
108631
+ },
108632
+ {
108633
+ "kind": "field",
108634
+ "name": "for",
108635
+ "type": {
108636
+ "text": "string"
108637
+ },
108638
+ "default": "''",
108639
+ "description": "The id of the table to read.\n\nNames a table in the same tree, so a chart inside another component's\nshadow root reads a table in that root rather than one in the document. A\n`<table>` or anything built from grid roles, including `helix-table`.\n\n**In React this arrives as a property and not as an attribute**, the way\n`Tooltip.for` does, so it does not reflect and nothing styles on it.",
108640
+ "attribute": "for",
108641
+ "inheritedFrom": {
108642
+ "name": "MixinChartSource",
108643
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108644
+ }
108645
+ },
108646
+ {
108647
+ "kind": "field",
108648
+ "name": "label",
108649
+ "type": {
108650
+ "text": "string"
108651
+ },
108652
+ "default": "''",
108653
+ "description": "The chart's name, which starts the chart's text summary.\n\nAbsent falls back to the table's own caption, which is usually the right\nwords and is already written.",
108654
+ "attribute": "label",
108655
+ "inheritedFrom": {
108656
+ "name": "MixinChartSource",
108657
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108658
+ }
108659
+ },
108660
+ {
108661
+ "kind": "field",
108662
+ "name": "locale",
108663
+ "type": {
108664
+ "text": "string"
108665
+ },
108666
+ "default": "''",
108667
+ "description": "The locale the chart's own numbers are written in: its axis, its\npercentages and its totals, such as `de` for `1.240` and `32 %`.\n\nAbsent reads the nearest `lang`, then the runtime's own. The table's\ncells are shown as the table writes them, whatever this says.",
108668
+ "attribute": "locale",
108669
+ "inheritedFrom": {
108670
+ "name": "MixinChartSource",
108671
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108672
+ }
108673
+ },
108674
+ {
108675
+ "kind": "field",
108676
+ "name": "positionLabel",
108677
+ "type": {
108678
+ "text": "string"
108679
+ },
108680
+ "default": "'{position} of {count}'",
108681
+ "description": "Where a reading the keys moved to stands among the readings, said after\nit. `{position}` and `{count}` are replaced with the numbers, written in\n`locale`.\n\nSet it to the words of the page's language, such as `{position} von\n{count}`, or to nothing to say no position. A slice or a series a\nlegend hid is not counted.",
108682
+ "attribute": "position-label",
108683
+ "helix": {
108684
+ "words": true
108685
+ },
108686
+ "inheritedFrom": {
108687
+ "name": "MixinChartSource",
108688
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108689
+ }
108690
+ },
108691
+ {
108692
+ "kind": "field",
108693
+ "name": "series",
108694
+ "type": {
108695
+ "text": "Series[]"
108696
+ },
108697
+ "description": "The table's columns, one series each. Empty when there is no table.\n\nHeld by the controller between edits, so a render reading this five\ntimes parses the table once. See `SourceController.series`.",
108698
+ "readonly": true,
108699
+ "inheritedFrom": {
108700
+ "name": "MixinChartSource",
108701
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108702
+ }
108703
+ },
108704
+ {
108705
+ "kind": "field",
108706
+ "name": "named",
108707
+ "type": {
108708
+ "text": "string"
108709
+ },
108710
+ "description": "The chart's name: an `aria-label` written on the chart, then `label`,\nthen the table's caption.\n\nThe fallback is the reason this is shared rather than copied: a caption is\nalready written, already the right words, and already the thing a reader\nof the table sees. A chart that made the consumer say it twice would be\nasking for the second one to drift.\n\n**An `aria-label` on the chart comes first**, because it is how a page\nnames an element, and the chart is a generic around its plot: written\non the host, the name reached nobody. The plot takes it, as Heatmap's\nstrip always did.",
108711
+ "readonly": true,
108712
+ "inheritedFrom": {
108713
+ "name": "MixinChartSource",
108714
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108715
+ }
108716
+ },
108717
+ {
108718
+ "kind": "field",
108719
+ "name": "plottedColumns",
108720
+ "type": {
108721
+ "text": "number[]"
108722
+ },
108723
+ "description": "The positions of the cells in a row that hold numbers, in table order.\n\nThe same test `readSeries` applies when it drops a column of notes: a\ncolumn is a series where any row parses, so a series survives one blank\ncell and a column of words is never one.",
108724
+ "readonly": true,
108725
+ "inheritedFrom": {
108726
+ "name": "MixinChartSource",
108727
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108728
+ }
108729
+ },
108730
+ {
108731
+ "kind": "method",
108732
+ "name": "seriesOf",
108733
+ "return": {
108734
+ "type": {
108735
+ "text": "number | undefined"
108736
+ }
108737
+ },
108738
+ "parameters": [
108739
+ {
108740
+ "name": "cell",
108741
+ "type": {
108742
+ "text": "number"
108743
+ }
108744
+ }
108745
+ ],
108746
+ "description": "The palette slot for the cell at this position in a row.\n\n**A cell's place in its row is not its series' depth, and the tooltip\nspent a while assuming it was.** `readSeries` drops a column nothing\nparses and `readRows` keeps it, so one column of notes among the figures\nmoves every column after it one color along in the bubble: a row reading\n`Referral 1,080` wearing series three's green beside a legend that says\nseries three is something else, which is the one failure the dot exists\nto prevent.\n\nOverridden where a chart reads the table some other way. `ScatterChart`\nsplits the first plotted column off as the measure across, so its first\n*plotted* series is this table's second numeric column.",
108747
+ "inheritedFrom": {
108748
+ "name": "MixinChartSource",
108749
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108750
+ },
108751
+ "type": {
108752
+ "text": "seriesOf(cell: number) => number | undefined"
108753
+ }
108754
+ },
108755
+ {
108756
+ "kind": "method",
108757
+ "name": "showsSeries",
108758
+ "return": {
108759
+ "type": {
108760
+ "text": "boolean"
108761
+ }
108762
+ },
108763
+ "parameters": [
108764
+ {
108765
+ "name": "name",
108766
+ "type": {
108767
+ "text": "string"
108768
+ }
108769
+ }
108770
+ ],
108771
+ "description": "Whether the series of this name is drawn, which it is unless a legend\nreading the same table hid it.\n\nAsked of the table rather than of a legend, the table being the one\nthing the two share: see `SourceController.hide`. A series keeps its\npalette slot while it is hidden, so the colors of the others do not move.\nFor a ring the names are its rows, the slices being the rows.",
108772
+ "inheritedFrom": {
108773
+ "name": "MixinChartSource",
108774
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108775
+ },
108776
+ "type": {
108777
+ "text": "showsSeries(name: string) => boolean"
108778
+ }
108779
+ },
108780
+ {
108781
+ "kind": "method",
108782
+ "name": "showsColumn",
108783
+ "return": {
108784
+ "type": {
108785
+ "text": "boolean"
108786
+ }
108787
+ },
108788
+ "parameters": [
108789
+ {
108790
+ "name": "cell",
108791
+ "type": {
108792
+ "text": "number"
108793
+ }
108794
+ }
108795
+ ],
108796
+ "description": "Whether the series read from the cell at this place in a row is drawn,\nby its column's heading. The keys and the readout pass over one a\nlegend hid.\n\nA column's heading is the cell's name in every row, so the first row\nanswers for the column.",
108797
+ "inheritedFrom": {
108798
+ "name": "MixinChartSource",
108799
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108800
+ },
108801
+ "type": {
108802
+ "text": "showsColumn(cell: number) => boolean"
108803
+ }
108804
+ },
108805
+ {
108806
+ "kind": "method",
108807
+ "name": "columnName",
108808
+ "return": {
108809
+ "type": {
108810
+ "text": "string"
108811
+ }
108812
+ },
108813
+ "parameters": [
108814
+ {
108815
+ "name": "cell",
108816
+ "type": {
108817
+ "text": "number"
108818
+ }
108819
+ }
108820
+ ],
108821
+ "description": "The heading of the column at this place in a row: a cell's name is its\ncolumn's heading, read from the first row that has a cell there, so a\nshort first row does not lose the heading. `''` where no row has one.",
108822
+ "inheritedFrom": {
108823
+ "name": "MixinChartSource",
108824
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108825
+ },
108826
+ "type": {
108827
+ "text": "columnName(cell: number) => string"
108828
+ }
108829
+ },
108830
+ {
108831
+ "kind": "field",
108832
+ "name": "readings",
108833
+ "type": {
108834
+ "text": "number"
108835
+ },
108836
+ "description": "The number of readings, which the pointer position maps onto.",
108837
+ "readonly": true,
108838
+ "inheritedFrom": {
108839
+ "name": "MixinChartSource",
108840
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108841
+ }
108842
+ },
108843
+ {
108844
+ "kind": "method",
108845
+ "name": "renderTable",
108846
+ "privacy": "protected",
108847
+ "return": {
108848
+ "type": {
108849
+ "text": "TemplateResult | typeof nothing"
108850
+ }
108851
+ },
108852
+ "description": "The readings as a table, for a screen reader, where they were drawn from\n`data`: there is then no table on the page to read, and a chart's\nsummary gives only what the readings come to. Nothing where a table on\nthe page was read, which is already the readable version.\n\nThe `table` part, named by the chart, its cells as `data` writes them.",
108853
+ "inheritedFrom": {
108854
+ "name": "MixinChartSource",
108855
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
108856
+ }
108857
+ },
108858
+ {
108859
+ "kind": "field",
108860
+ "name": "busiestLabel",
108861
+ "type": {
108862
+ "text": "string"
108863
+ },
108864
+ "default": "'Busiest'",
108865
+ "description": "The name the `overview` gives the busiest reading, `{busiestLabel}` in\n`overview-label`.",
108866
+ "attribute": "busiest-label",
108867
+ "helix": {
108868
+ "words": true
108869
+ },
108870
+ "inheritedFrom": {
108871
+ "name": "HelixHeadlessHeatmap",
108872
+ "module": "src/heatmap/root/heatmap-root.ts"
108873
+ }
108874
+ },
108875
+ {
108876
+ "kind": "field",
108877
+ "name": "gap",
108878
+ "type": {
108879
+ "text": "number"
108880
+ },
108881
+ "default": "2",
108882
+ "description": "Space between cells, in CSS pixels. It is a number for the same reason\n`min-cell` is.",
108883
+ "attribute": "gap",
108884
+ "inheritedFrom": {
108885
+ "name": "HelixHeadlessHeatmap",
108886
+ "module": "src/heatmap/root/heatmap-root.ts"
108887
+ }
108888
+ },
108889
+ {
108890
+ "kind": "field",
108891
+ "name": "overviewLabel",
108892
+ "type": {
108893
+ "text": "string"
108894
+ },
108895
+ "default": "'{busiestLabel}: {busiest}; {totalLabel} {total}.'",
108896
+ "description": "The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are\n`busiest-label` and `total-label`, `{busiest}` the busiest reading's name\nand its reading as the table writes it, and `{total}` the total of the\nreadings drawn, written in the locale.",
108897
+ "attribute": "overview-label",
108898
+ "helix": {
108899
+ "words": true
108900
+ },
108901
+ "inheritedFrom": {
108902
+ "name": "HelixHeadlessHeatmap",
108903
+ "module": "src/heatmap/root/heatmap-root.ts"
108904
+ }
108905
+ },
108906
+ {
108907
+ "kind": "field",
108908
+ "name": "rows",
108909
+ "type": {
108910
+ "text": "number"
108911
+ },
108912
+ "default": "1",
108913
+ "description": "How many rows the strip has.\n\n`1` is a status strip and `7` is a calendar week, which are the two readings\nthis covers. Cells fill down the column and then across, which is what a\ncalendar heatmap does: a week is a column, so the strip reads along the\nline in weeks, from the right on a right-to-left page, and top to bottom in\ndays.",
108914
+ "attribute": "rows",
108915
+ "inheritedFrom": {
108916
+ "name": "HelixHeadlessHeatmap",
108917
+ "module": "src/heatmap/root/heatmap-root.ts"
108918
+ }
108919
+ },
108920
+ {
108921
+ "kind": "field",
108922
+ "name": "selectedLabel",
108923
+ "type": {
108924
+ "text": "string"
108925
+ },
108926
+ "default": "'selected'",
108927
+ "description": "What the readout added for a selected cell, under `selection-mode`.",
108928
+ "attribute": "selected-label",
108929
+ "helix": {
108930
+ "words": true
108931
+ },
108932
+ "inheritedFrom": {
108933
+ "name": "HelixHeadlessHeatmap",
108934
+ "module": "src/heatmap/root/heatmap-root.ts"
108935
+ }
108936
+ },
108937
+ {
108938
+ "kind": "field",
108939
+ "name": "selectionLabel",
108940
+ "type": {
108941
+ "text": "string"
108942
+ },
108943
+ "default": "'{count, plural, one {# selected} other {# selected}}'",
108944
+ "description": "What the `selection` part says after the selection changes. `{count}` is\nhow many cells are selected, written in the locale, and a language that\nneeds plural forms writes them: `{count, plural, one {# wybrany} few\n{# wybrane} many {# wybranych} other {# wybranego}}`.",
108945
+ "attribute": "selection-label",
108946
+ "helix": {
108947
+ "words": true
108948
+ },
108949
+ "inheritedFrom": {
108950
+ "name": "HelixHeadlessHeatmap",
108951
+ "module": "src/heatmap/root/heatmap-root.ts"
108952
+ }
108953
+ },
108954
+ {
108955
+ "kind": "field",
108956
+ "name": "selectionMode",
108957
+ "type": {
108958
+ "text": "'multiple' | 'single' | undefined"
108959
+ },
108960
+ "description": "How many cells a reader can select: `single` or `multiple`.\n\nAbsent selects nothing, and a press or Space does what it did.",
108961
+ "attribute": "selection-mode",
108962
+ "inheritedFrom": {
108963
+ "name": "HelixHeadlessHeatmap",
108964
+ "module": "src/heatmap/root/heatmap-root.ts"
108965
+ }
108966
+ },
108967
+ {
108968
+ "kind": "field",
108969
+ "name": "selectionShape",
108970
+ "type": {
108971
+ "text": "'linear' | 'rectangle'"
108972
+ },
108973
+ "default": "'linear'",
108974
+ "description": "What Shift takes in under `selection-mode=\"multiple\"`: `linear`, every\ncell between two in the table's order, or `rectangle`, the cells between\ntwo corners by row and by column, as a spreadsheet selects a range.",
108975
+ "attribute": "selection-shape",
108976
+ "inheritedFrom": {
108977
+ "name": "HelixHeadlessHeatmap",
108978
+ "module": "src/heatmap/root/heatmap-root.ts"
108979
+ }
108980
+ },
108981
+ {
108982
+ "kind": "field",
108983
+ "name": "stripLabel",
108984
+ "type": {
108985
+ "text": "string"
108986
+ },
108987
+ "default": "'Heatmap'",
108988
+ "description": "The strip's name where the chart has none: no `aria-label`, `label`, or\ntable caption.",
108989
+ "attribute": "strip-label",
108990
+ "helix": {
108991
+ "words": true
108992
+ },
108993
+ "inheritedFrom": {
108994
+ "name": "HelixHeadlessHeatmap",
108995
+ "module": "src/heatmap/root/heatmap-root.ts"
108996
+ }
108997
+ },
108998
+ {
108999
+ "kind": "field",
109000
+ "name": "thresholds",
109001
+ "type": {
109002
+ "text": "string"
109003
+ },
109004
+ "default": "''",
109005
+ "description": "Lower bounds for the tone buckets, in the order the tones are given.\n\n`thresholds=\"1 3 6 9\"` with `tones=\"1 2 3 4\"` puts 1 and 2 in the ramp's\nfirst step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the\nfourth. A value below the first bound gets no tone at all: an empty day in a\ncontribution graph is a day with nothing in it, and painting it as the\nlowest bucket claims a reading that does not exist.",
109006
+ "attribute": "thresholds",
109007
+ "inheritedFrom": {
109008
+ "name": "HelixHeadlessHeatmap",
109009
+ "module": "src/heatmap/root/heatmap-root.ts"
109010
+ }
109011
+ },
109012
+ {
109013
+ "kind": "field",
109014
+ "name": "tones",
109015
+ "type": {
109016
+ "text": "string"
109017
+ },
109018
+ "default": "''",
109019
+ "description": "The tone for each bucket, in the same order as `thresholds`.\n\nA name, resolved as `--heatmap-tone-<name>` by whichever tier answers.\n**`\"1\"` through `\"5\"` are a ramp and everything else is a category**, which\nis the distinction a heatmap lives or dies on: magnitude has to be one hue\ngetting louder, because a reader compares two cells by weight and cannot\ncompare two hues at all. `tones=\"surface info accent success primary\"` for a\ncommit count is five unrelated hues for five amounts, which is confetti with\nno order in it.",
109020
+ "attribute": "tones",
109021
+ "inheritedFrom": {
109022
+ "name": "HelixHeadlessHeatmap",
109023
+ "module": "src/heatmap/root/heatmap-root.ts"
109024
+ }
109025
+ },
109026
+ {
109027
+ "kind": "field",
109028
+ "name": "totalLabel",
109029
+ "type": {
109030
+ "text": "string"
109031
+ },
109032
+ "default": "'Total'",
109033
+ "description": "The name the `overview` gives the total of the readings drawn,\n`{totalLabel}` in `overview-label`.",
109034
+ "attribute": "total-label",
109035
+ "helix": {
109036
+ "words": true
109037
+ },
109038
+ "inheritedFrom": {
109039
+ "name": "HelixHeadlessHeatmap",
109040
+ "module": "src/heatmap/root/heatmap-root.ts"
109041
+ }
109042
+ },
109043
+ {
109044
+ "kind": "field",
109045
+ "name": "value",
109046
+ "type": {
109047
+ "text": "string"
109048
+ },
109049
+ "default": "''",
109050
+ "description": "The selected cells, separated by commas: each by the date its row's\nheader carries in a `<time datetime>`, such as `2026-06-11`, or by the\nheader's words where it carries none.\n\nSet it to start with cells selected. Written by a press or a key under\n`selection-mode`.",
109051
+ "attribute": "value",
109052
+ "inheritedFrom": {
109053
+ "name": "HelixHeadlessHeatmap",
109054
+ "module": "src/heatmap/root/heatmap-root.ts"
109055
+ }
109056
+ },
109057
+ {
109058
+ "kind": "field",
109059
+ "name": "visible",
109060
+ "type": {
109061
+ "text": "number"
109062
+ },
109063
+ "description": "How many cells are actually drawn.\n\n**This is the number a summary has to agree with**, and the reason it is\npublished at all: a consumer's own summary is their markup and this element\ncannot rewrite it, so the only honest arrangement is to hand over the count\nand say when it changed.\n\n**A plain getter, and the attribute is written in `updated`, because\n`@property({ reflect: true })` on a getter with no setter reflects once and\nthen goes stale.** Lit reflects a property that is in `changedProperties`,\nand nothing puts a derived getter there after the first update: the\nattribute would be right on load and wrong from the first resize, which is\nthe exact failure the count exists to prevent, arriving through the\nmechanism meant to prevent it.",
109064
+ "readonly": true,
109065
+ "inheritedFrom": {
109066
+ "name": "HelixHeadlessHeatmap",
109067
+ "module": "src/heatmap/root/heatmap-root.ts"
109068
+ }
109069
+ },
109070
+ {
109071
+ "kind": "field",
109072
+ "name": "width",
109073
+ "type": {
109074
+ "text": "number | undefined"
109075
+ },
109076
+ "privacy": "protected",
109077
+ "default": "undefined",
109078
+ "description": "The width last measured, or nothing before the first measurement.\n\nUndefined rather than zero, because the two mean different things and the\ndifference is a whole strip: unmeasured has to show everything, since a\nfirst paint that shows one cell and then expands is a flicker on every load.",
109079
+ "inheritedFrom": {
109080
+ "name": "HelixHeadlessHeatmap",
109081
+ "module": "src/heatmap/root/heatmap-root.ts"
109082
+ }
109083
+ },
109084
+ {
109085
+ "kind": "field",
109086
+ "name": "metrics",
109087
+ "type": {
109088
+ "text": "{ cell: number; gap: number } | undefined"
109089
+ },
109090
+ "privacy": "private",
109091
+ "default": "undefined",
109092
+ "description": "The cell and gap the strip is drawing, in pixels, once it has been read.\n\n**The arithmetic's inputs are a stylesheet's decisions, so the honest way\nto learn them is to ask the stylesheet.** A cell's size is a length that\nonly the cascade can resolve: it may be a `rem` against a root font size, a\npercentage of a container, or whatever a container query chose this frame.\nEvery one of those is invisible to a number typed into an attribute, and\nevery hook a sheet offers for the cell box or the gap is one more way for\nthe two to drift apart silently.\n\nReading it back is not styling and does not breach the tier: this asks what\nwas decided rather than deciding, which is the same direction as the facts\nthis component writes out as custom properties, run backwards.",
109093
+ "inheritedFrom": {
109094
+ "name": "HelixHeadlessHeatmap",
109095
+ "module": "src/heatmap/root/heatmap-root.ts"
109096
+ }
109097
+ },
109098
+ {
109099
+ "kind": "field",
109100
+ "name": "aria",
109101
+ "privacy": "protected",
109102
+ "readonly": true,
109103
+ "default": "new AriaForwardController(this, { target: () => this.partNamed('strip'), })",
109104
+ "description": "Carries a host `aria-labelledby` and `aria-describedby` to the strip, the\nimage a reader lands on. The host is a generic around it.",
109105
+ "inheritedFrom": {
109106
+ "name": "HelixHeadlessHeatmap",
109107
+ "module": "src/heatmap/root/heatmap-root.ts"
109108
+ }
109109
+ },
109110
+ {
109111
+ "kind": "field",
109112
+ "name": "observer",
109113
+ "type": {
109114
+ "text": "ResizeObserver | undefined"
109115
+ },
109116
+ "privacy": "private",
109117
+ "default": "undefined",
109118
+ "inheritedFrom": {
109119
+ "name": "HelixHeadlessHeatmap",
109120
+ "module": "src/heatmap/root/heatmap-root.ts"
109121
+ }
109122
+ },
109123
+ {
109124
+ "kind": "field",
109125
+ "name": "announced",
109126
+ "type": {
109127
+ "text": "number | undefined"
109128
+ },
109129
+ "privacy": "private",
109130
+ "default": "undefined",
109131
+ "inheritedFrom": {
109132
+ "name": "HelixHeadlessHeatmap",
109133
+ "module": "src/heatmap/root/heatmap-root.ts"
109134
+ }
109135
+ },
109136
+ {
109137
+ "kind": "field",
109138
+ "name": "anchor",
109139
+ "type": {
109140
+ "text": "number"
109141
+ },
109142
+ "privacy": "private",
109143
+ "default": "-1",
109144
+ "description": "Where a range taken in with Shift starts: the row of the table whose cell\nwas last pressed, or none.\n\n**The row, and not the cell's place among those drawn.** A narrow strip\ndraws the newest whole columns, so a resize that drops or adds a column\nmoves every cell's place, and an anchor kept as a place started the next\nrange on another day.",
109145
+ "inheritedFrom": {
109146
+ "name": "HelixHeadlessHeatmap",
109147
+ "module": "src/heatmap/root/heatmap-root.ts"
109148
+ }
109149
+ },
109150
+ {
109151
+ "kind": "field",
109152
+ "name": "left",
109153
+ "type": {
109154
+ "text": "number"
109155
+ },
109156
+ "privacy": "private",
109157
+ "default": "-1",
109158
+ "description": "The cell the keys rested on before the key now being handled moved them.",
109159
+ "inheritedFrom": {
109160
+ "name": "HelixHeadlessHeatmap",
109161
+ "module": "src/heatmap/root/heatmap-root.ts"
109162
+ }
109163
+ },
109164
+ {
109165
+ "kind": "field",
109166
+ "name": "base",
109167
+ "type": {
109168
+ "text": "string[] | undefined"
109169
+ },
109170
+ "privacy": "private",
109171
+ "default": "undefined",
109172
+ "description": "What a rectangle is added to: the selection when it was started, less its\nanchor, kept while `value` is still the rectangle last written.",
109173
+ "inheritedFrom": {
109174
+ "name": "HelixHeadlessHeatmap",
109175
+ "module": "src/heatmap/root/heatmap-root.ts"
109176
+ }
109177
+ },
109178
+ {
109179
+ "kind": "field",
109180
+ "name": "shaped",
109181
+ "type": {
109182
+ "text": "string | undefined"
109183
+ },
109184
+ "privacy": "private",
109185
+ "default": "undefined",
109186
+ "description": "The `value` the last rectangle wrote.",
109187
+ "inheritedFrom": {
109188
+ "name": "HelixHeadlessHeatmap",
109189
+ "module": "src/heatmap/root/heatmap-root.ts"
109190
+ }
109191
+ },
109192
+ {
109193
+ "kind": "field",
109194
+ "name": "status",
109195
+ "privacy": "protected",
109196
+ "readonly": true,
109197
+ "default": "new StatusController(this)",
109198
+ "description": "The region a change of selection is said in, rendered from the first change.",
109199
+ "inheritedFrom": {
109200
+ "name": "HelixHeadlessHeatmap",
109201
+ "module": "src/heatmap/root/heatmap-root.ts"
109202
+ }
109203
+ },
109204
+ {
109205
+ "kind": "method",
109206
+ "name": "keysOf",
109207
+ "privacy": "protected",
109208
+ "return": {
109209
+ "type": {
109210
+ "text": "string[]"
109211
+ }
109212
+ },
109213
+ "parameters": [
109214
+ {
109215
+ "name": "cells",
109216
+ "type": {
109217
+ "text": "readonly Reading[]"
109218
+ }
109219
+ }
109220
+ ],
109221
+ "description": "The name each drawn cell stands for in `value`: the date its row's header\ncarries in a `<time datetime>`, or the header's words where it carries\nnone.",
109222
+ "inheritedFrom": {
109223
+ "name": "HelixHeadlessHeatmap",
109224
+ "module": "src/heatmap/root/heatmap-root.ts"
109225
+ }
109226
+ },
109227
+ {
109228
+ "kind": "method",
109229
+ "name": "choose",
109230
+ "privacy": "private",
109231
+ "return": {
109232
+ "type": {
109233
+ "text": "void"
109234
+ }
109235
+ },
109236
+ "parameters": [
109237
+ {
109238
+ "name": "next",
109239
+ "type": {
109240
+ "text": "string"
109241
+ }
109242
+ }
109243
+ ],
109244
+ "description": "Moves `value` to `next`, asking first: `helix-before-change` carries it,\na listener that refuses keeps the selection, and `change` follows, with\nthe count said in the `selection` part.",
109245
+ "inheritedFrom": {
109246
+ "name": "HelixHeadlessHeatmap",
109247
+ "module": "src/heatmap/root/heatmap-root.ts"
109248
+ }
109249
+ },
109250
+ {
109251
+ "kind": "method",
109252
+ "name": "press",
109253
+ "privacy": "private",
109254
+ "return": {
109255
+ "type": {
109256
+ "text": "void"
109257
+ }
109258
+ },
109259
+ "parameters": [
109260
+ {
109261
+ "name": "index",
109262
+ "type": {
109263
+ "text": "number"
109264
+ }
109265
+ }
109266
+ ],
109267
+ "description": "Selects the drawn cell at `index`, or lets it go, as `selection-mode` says.",
109268
+ "inheritedFrom": {
109269
+ "name": "HelixHeadlessHeatmap",
109270
+ "module": "src/heatmap/root/heatmap-root.ts"
109271
+ }
109272
+ },
109273
+ {
109274
+ "kind": "method",
109275
+ "name": "stretch",
109276
+ "privacy": "private",
109277
+ "return": {
109278
+ "type": {
109279
+ "text": "void"
109280
+ }
109281
+ },
109282
+ "parameters": [
109283
+ {
109284
+ "name": "to",
109285
+ "type": {
109286
+ "text": "number"
109287
+ }
109288
+ }
109289
+ ],
109290
+ "description": "Selects the rectangle from the anchor to the drawn cell at `to`, beside\nwhat was selected before it started, under `selection-shape=\"rectangle\"`.\nWithout an anchor it starts where the keys were.",
109291
+ "inheritedFrom": {
109292
+ "name": "HelixHeadlessHeatmap",
109293
+ "module": "src/heatmap/root/heatmap-root.ts"
109294
+ }
109295
+ },
109296
+ {
109297
+ "kind": "field",
109298
+ "name": "onStripKeydown",
109299
+ "privacy": "protected",
109300
+ "readonly": true,
109301
+ "description": "Notes where the keys rest before the pointer controller moves them.",
109302
+ "inheritedFrom": {
109303
+ "name": "HelixHeadlessHeatmap",
109304
+ "module": "src/heatmap/root/heatmap-root.ts"
109305
+ }
109306
+ },
109307
+ {
109308
+ "kind": "field",
109309
+ "name": "onKeydown",
109310
+ "privacy": "private",
109311
+ "readonly": true,
109312
+ "description": "Space and Enter select the cell the keys rest on, and Shift with a key\nthat moved them takes in the range from the anchor. After the pointer\ncontroller, which has already moved `at` for an arrow.",
109313
+ "inheritedFrom": {
109314
+ "name": "HelixHeadlessHeatmap",
109315
+ "module": "src/heatmap/root/heatmap-root.ts"
109316
+ }
109317
+ },
109318
+ {
109319
+ "kind": "field",
109320
+ "name": "onClick",
109321
+ "privacy": "protected",
109322
+ "readonly": true,
109323
+ "description": "A press on a cell selects it, under `selection-mode`, and Shift takes the\nrectangle to it under `selection-shape=\"rectangle\"`.",
109324
+ "inheritedFrom": {
109325
+ "name": "HelixHeadlessHeatmap",
109326
+ "module": "src/heatmap/root/heatmap-root.ts"
109327
+ }
109328
+ },
109329
+ {
109330
+ "kind": "field",
109331
+ "name": "points",
109332
+ "type": {
109333
+ "text": "Reading[]"
109334
+ },
109335
+ "privacy": "protected",
109336
+ "description": "Every row in the table, oldest first, as the table is written, with its\nreading where the row has one.\n\n**Not `readings`, which the mixin already has and which means a count.**\nTwo members of the same name meaning a number and an array is the kind of\ncollision that type-checks in one direction and reads wrong in both.\n\n**One cell per row, and a blank row is a cell with no reading.** Taken from\nthe series alone, a blank dropped its day and every day after it moved one\ncell along, while the tooltip still counted rows and named the day beside\nthe one under the pointer.",
109337
+ "readonly": true,
109338
+ "inheritedFrom": {
109339
+ "name": "HelixHeadlessHeatmap",
109340
+ "module": "src/heatmap/root/heatmap-root.ts"
109341
+ }
109342
+ },
109343
+ {
109344
+ "kind": "field",
109345
+ "name": "rowCount",
109346
+ "type": {
109347
+ "text": "number"
109348
+ },
109349
+ "privacy": "protected",
109350
+ "description": "`rows` as a usable count, which is not always what the attribute says.\n\nOne place rather than two: the fit arithmetic and the grid template both\nneed it, and a `rows=\"0\"` or a `rows=\"2.5\"` that reached one of them and not\nthe other would draw a strip whose columns and whose capacity disagreed.",
109351
+ "readonly": true,
109352
+ "inheritedFrom": {
109353
+ "name": "HelixHeadlessHeatmap",
109354
+ "module": "src/heatmap/root/heatmap-root.ts"
109355
+ }
109356
+ },
109357
+ {
109358
+ "kind": "field",
109359
+ "name": "cellPx",
109360
+ "type": {
109361
+ "text": "number"
109362
+ },
109363
+ "privacy": "protected",
109364
+ "description": "The cell width the arithmetic should plan around, in pixels.\n\nThe attribute wins where a consumer wrote one, because that is what writing\nit is for; otherwise what the strip draws, and the declared default only\nuntil the first measurement lands.",
109365
+ "readonly": true,
109366
+ "inheritedFrom": {
109367
+ "name": "HelixHeadlessHeatmap",
109368
+ "module": "src/heatmap/root/heatmap-root.ts"
109369
+ }
109370
+ },
109371
+ {
109372
+ "kind": "field",
109373
+ "name": "gapPx",
109374
+ "type": {
109375
+ "text": "number"
109376
+ },
109377
+ "privacy": "protected",
109378
+ "description": "The gap the arithmetic should plan around, on the same terms as `cellPx`.",
109379
+ "readonly": true,
109380
+ "inheritedFrom": {
109381
+ "name": "HelixHeadlessHeatmap",
109382
+ "module": "src/heatmap/root/heatmap-root.ts"
109383
+ }
109384
+ },
109385
+ {
109386
+ "kind": "method",
109387
+ "name": "measure",
109388
+ "privacy": "private",
109389
+ "return": {
109390
+ "type": {
109391
+ "text": "void"
109392
+ }
109393
+ },
109394
+ "description": "Reads back the cell and the gap the strip resolved.\n\n`gridAutoColumns` and `columnGap` rather than a cell's own box, and the\ndifference matters on the frame it matters: a cell exists only once some\nhave been drawn, and how many are drawn is what this is measuring *for*.\nAsking the track instead breaks the circle, since a track is sized whether\nor not anything sits in it. Neither property forces layout, so this stays a\nstyle read on every update rather than a reflow.\n\nAnything that does not parse to a positive number leaves the estimate alone:\n`columnGap` computes to `normal` where no gap is set, and a track given a\nkeyword or a `repeat()` has no single width to report. A wrong number here\nis worse than no number, because it is the one the count is published from.",
109395
+ "inheritedFrom": {
109396
+ "name": "HelixHeadlessHeatmap",
109397
+ "module": "src/heatmap/root/heatmap-root.ts"
109398
+ }
109399
+ },
109400
+ {
109401
+ "kind": "field",
109402
+ "name": "drawn",
109403
+ "type": {
109404
+ "text": "Reading[]"
109405
+ },
109406
+ "privacy": "protected",
109407
+ "description": "The readings actually drawn, newest kept.\n\nThe tail rather than the head: a status strip that drops the newest days to\nkeep the oldest is answering a question nobody asked.",
109408
+ "readonly": true,
109409
+ "inheritedFrom": {
109410
+ "name": "HelixHeadlessHeatmap",
109411
+ "module": "src/heatmap/root/heatmap-root.ts"
109412
+ }
109413
+ },
109414
+ {
109415
+ "kind": "field",
109416
+ "name": "dropped",
109417
+ "type": {
109418
+ "text": "number"
109419
+ },
109420
+ "privacy": "private",
109421
+ "description": "How many of the oldest rows a narrow strip leaves undrawn.",
109422
+ "readonly": true,
109423
+ "inheritedFrom": {
109424
+ "name": "HelixHeadlessHeatmap",
109425
+ "module": "src/heatmap/root/heatmap-root.ts"
109426
+ }
109427
+ },
109428
+ {
109429
+ "kind": "method",
109430
+ "name": "pageFrom",
109431
+ "return": {
109432
+ "type": {
109433
+ "text": "number | undefined"
109434
+ }
109435
+ },
109436
+ "parameters": [
109437
+ {
109438
+ "name": "at",
109439
+ "type": {
109440
+ "text": "number"
109441
+ }
109442
+ },
109443
+ {
109444
+ "name": "forward",
109445
+ "type": {
109446
+ "text": "boolean"
109447
+ }
109448
+ }
109449
+ ],
109450
+ "description": "Where PageUp or PageDown goes from the drawn cell at `at`: the same day a\nmonth on or back, by the dates the rows' headers carry. Undefined where\nthey carry none, and the keys move four columns.",
109451
+ "type": {
109452
+ "text": "pageFrom(at: number, forward: boolean) => number | undefined"
109453
+ },
109454
+ "inheritedFrom": {
109455
+ "name": "HelixHeadlessHeatmap",
109456
+ "module": "src/heatmap/root/heatmap-root.ts"
109457
+ }
109458
+ },
109459
+ {
109460
+ "kind": "method",
109461
+ "name": "markEmpty",
109462
+ "privacy": "private",
109463
+ "return": {
109464
+ "type": {
109465
+ "text": "void"
109466
+ }
109467
+ },
109468
+ "description": "Says on the footer whether any of its three slots holds anything.\n\n**A stylesheet cannot ask.** `[part=\"footer\"]:not(:has(slot:has(*)))` is two\nfaults at once: `:has()` may not be nested inside `:has()`, so the selector\nfails to parse and the rule is discarded whole; and a slot's assigned nodes\nare not its DOM children, so `slot:has(*)` reports fallback content rather\nthan the fill, and is false either way. Both verified in a browser.",
109469
+ "inheritedFrom": {
109470
+ "name": "HelixHeadlessHeatmap",
109471
+ "module": "src/heatmap/root/heatmap-root.ts"
109472
+ }
109473
+ },
109474
+ {
109475
+ "kind": "method",
109476
+ "name": "renderRows",
109477
+ "privacy": "private",
109478
+ "return": {
109479
+ "type": {
109480
+ "text": "TemplateResult[]"
109481
+ }
109482
+ },
109483
+ "parameters": [
109484
+ {
109485
+ "name": "cells",
109486
+ "type": {
109487
+ "text": "TemplateResult[]"
109488
+ }
109489
+ }
109490
+ ],
109491
+ "description": "The cells as a grid's rows, one for each column of the strip, so a week\nis a row with `rows=\"7\"` and a status strip is one row.\n\n**A column, because that is the order the cells are in.** The strip fills\ndown the column and then across, so a row wrapping a column keeps every\ncell where it was, and `display: contents` keeps the wrapper out of the\nstrip's grid, drawing no box, which is a mechanism and not a look. A row\nacross the strip would have taken cells out of order and moved them.",
109492
+ "inheritedFrom": {
109493
+ "name": "HelixHeadlessHeatmap",
109494
+ "module": "src/heatmap/root/heatmap-root.ts"
109495
+ }
109496
+ },
109497
+ {
109498
+ "kind": "method",
109499
+ "name": "renderGridCell",
109500
+ "privacy": "private",
109501
+ "return": {
109502
+ "type": {
109503
+ "text": "TemplateResult"
109504
+ }
109505
+ },
109506
+ "parameters": [
109507
+ {
109508
+ "name": "index",
109509
+ "type": {
109510
+ "text": "number"
109511
+ }
109512
+ },
109513
+ {
109514
+ "name": "active",
109515
+ "type": {
109516
+ "text": "boolean"
109517
+ }
109518
+ },
109519
+ {
109520
+ "name": "picked",
109521
+ "type": {
109522
+ "text": "boolean"
109523
+ }
109524
+ },
109525
+ {
109526
+ "name": "tone",
109527
+ "type": {
109528
+ "text": "string | undefined"
109529
+ }
109530
+ }
109531
+ ],
109532
+ "description": "One cell under `selection-mode`: a `gridcell` named by its row in the\ntable, its reading and its place, and saying whether it is selected, which\na reader hears on reaching it as the strip's active descendant.",
109533
+ "inheritedFrom": {
109534
+ "name": "HelixHeadlessHeatmap",
109535
+ "module": "src/heatmap/root/heatmap-root.ts"
109536
+ }
109537
+ },
109538
+ {
109539
+ "kind": "method",
109540
+ "name": "renderOverview",
109541
+ "privacy": "protected",
109542
+ "return": {
109543
+ "type": {
109544
+ "text": "TemplateResult"
109545
+ }
109546
+ },
109547
+ "parameters": [
109548
+ {
109549
+ "name": "cells",
109550
+ "type": {
109551
+ "text": "Reading[]"
109552
+ }
109553
+ }
109554
+ ],
109555
+ "description": "What the strip shows, in a sentence: the busiest reading drawn, as the\ntable writes it, and the total of them all, in `locale`. The strip is\ndescribed by it, so a reader landing on the strip hears what it holds\nbefore walking it.",
109556
+ "inheritedFrom": {
109557
+ "name": "HelixHeadlessHeatmap",
109558
+ "module": "src/heatmap/root/heatmap-root.ts"
109559
+ }
109560
+ },
109561
+ {
109562
+ "kind": "field",
109563
+ "name": "onPointerOver",
109564
+ "privacy": "protected",
109565
+ "readonly": true,
109566
+ "description": "Which drawn cell the pointer is over, or -1.\n\n`pointerover` on the strip rather than a listener per cell: the event\nbubbles, so one handler covers however many cells there are, and unlike\n`mouseover` it is delivered for a pen.",
109567
+ "inheritedFrom": {
109568
+ "name": "HelixHeadlessHeatmap",
109569
+ "module": "src/heatmap/root/heatmap-root.ts"
109570
+ }
109571
+ },
109572
+ {
109573
+ "kind": "field",
109574
+ "name": "onPointerUp",
109575
+ "privacy": "protected",
109576
+ "readonly": true,
109577
+ "inheritedFrom": {
109578
+ "name": "HelixHeadlessHeatmap",
109579
+ "module": "src/heatmap/root/heatmap-root.ts"
109580
+ }
109581
+ },
109582
+ {
109583
+ "kind": "field",
109584
+ "name": "onPointerLeave",
109585
+ "privacy": "protected",
109586
+ "readonly": true,
109587
+ "inheritedFrom": {
109588
+ "name": "HelixHeadlessHeatmap",
109589
+ "module": "src/heatmap/root/heatmap-root.ts"
109590
+ }
109591
+ },
109592
+ {
109593
+ "kind": "method",
109594
+ "name": "tag",
109595
+ "privacy": "protected",
109596
+ "return": {
109597
+ "type": {
109598
+ "text": "StaticValue"
109599
+ }
109600
+ },
109601
+ "parameters": [
109602
+ {
109603
+ "name": "name",
109604
+ "type": {
109605
+ "text": "string"
109606
+ }
109607
+ }
109608
+ ],
109609
+ "description": "One composed tag, as a static value a template can interpolate.\n\nWhat `unsafeStatic` returns, safe by construction: the name is a literal in\nour own source and the prefix is one of two strings this class defines.\nCalled per render and not cached, which costs nothing, because\n`static-html` keys its template cache on the joined string rather than on\nthe object.\n\n**Written out rather than imported, for every element that never renders\none.** `lit/static-html.js` declares no side effects, so importing\n`unsafeStatic` alone kept the module's three `withStatic` calls in every\nbundle: about 210 bytes gzipped on each of the families that compose no\ntag, Divider and Badge among them. The value is lit's cross-copy protocol,\nkeyed by `Symbol.for('')` so that two copies of lit on a page read each\nother's, and a spec holds it equal to `unsafeStatic`'s.",
109610
+ "inheritedFrom": {
109611
+ "name": "HelixElement",
109612
+ "module": "src/helix-element/helix-element.ts"
109613
+ }
109614
+ },
109615
+ {
109616
+ "kind": "method",
109617
+ "name": "partNamed",
109618
+ "privacy": "protected",
109619
+ "return": {
109620
+ "type": {
109621
+ "text": "T | null"
109622
+ }
109623
+ },
109624
+ "parameters": [
109625
+ {
109626
+ "name": "name",
109627
+ "type": {
109628
+ "text": "string"
109629
+ }
109630
+ }
109631
+ ],
109632
+ "description": "One of this element's own parts, by name, or null where it is not rendered.\n\nNot `part`, which every element already has: `Element.part` is the\n`DOMTokenList` of the names the element itself carries, and a method under\nthat name is a type error on every subclass.\n\n**One guard for every lookup.** Lit's server shim has no `querySelector`\non the render root, so a lookup reached during a server render, from a\ngetter a template reads or from `willUpdate`, throws there and nowhere\nelse. Four spellings of the same guard had grown across the library, and\na fifth site with none. Null on the server, which is what the rest of the\ncode already treats a part that has not rendered as.\n\n**`~=` and not `=`.** A part drawn in a state carries a second name while\nthe state holds, `part=\"page page-current\"`, and an exact match stops\nfinding it for exactly as long as it is the one that matters.\n\n`helix component`'s `selectors` reads these calls the way it reads a\n`querySelector('[part=\"x\"]')`, so a name nothing renders is a finding\nrather than a null an optional chain swallows.",
109633
+ "inheritedFrom": {
109634
+ "name": "HelixElement",
109635
+ "module": "src/helix-element/helix-element.ts"
109636
+ }
109637
+ },
109638
+ {
109639
+ "kind": "field",
109640
+ "name": "internals",
109641
+ "type": {
109642
+ "text": "ElementInternals"
109643
+ },
109644
+ "privacy": "protected",
109645
+ "readonly": true,
109646
+ "description": "The element's semantics, set without touching the DOM.\n\n`ElementInternals` sets the implicit role, which an author's own `role`\nattribute still overrides, and it writes no attribute. Setting `role` on the\nhost directly would: that is an attribute the element gives itself after it\nupgrades, which a React consumer's server markup never had, and hydration\nreports it as a mismatch.\n\nAvailable during server rendering. Lit's shim implements `attachInternals`,\nso nothing here needs a guard.",
109647
+ "inheritedFrom": {
109648
+ "name": "HelixElement",
109649
+ "module": "src/helix-element/helix-element.ts"
109650
+ }
109651
+ },
109652
+ {
109653
+ "kind": "method",
109654
+ "name": "toggleState",
109655
+ "privacy": "protected",
109656
+ "return": {
109657
+ "type": {
109658
+ "text": "void"
109659
+ }
109660
+ },
109661
+ "parameters": [
109662
+ {
109663
+ "name": "name",
109664
+ "type": {
109665
+ "text": "string"
109666
+ }
109667
+ },
109668
+ {
109669
+ "name": "on",
109670
+ "type": {
109671
+ "text": "boolean"
109672
+ }
109673
+ }
109674
+ ],
109675
+ "description": "Records a boolean fact about this element as a custom state.\n\n**The host belongs to whoever rendered it, and a component's own\nbookkeeping may not be kept there.** An attribute written on the first\nupdate is markup a consumer's server never sent, so a React consumer\nhydrates a DOM that has gained attributes since and reports a mismatch it\nwill not patch up. A custom state is not in the DOM at all: it carries the\nfact to a stylesheet through `:state()` and leaves the markup alone, so the\nserver's output and the client's agree by construction.\n\n`SETTLED` carries the long version of that argument; `checked`, `open`,\n`invalid` and `has-label` are recorded the same way, each of them a state a\n`default-*` attribute resolves before React reaches the node.\n\n**Deferring the definitions is not a fix and could not be.** Importing them\nfrom an effect so the upgrades fall the other side of hydration works only\nwhile hydration is one pass: anything that splits it, a streamed segment or\na suspended boundary, puts an upgrade back inside the window. Timing cannot\nbe the guarantee when the fact is kept somewhere React reconciles.\n\nFeature-tested rather than assumed, the way `hostAria` tests element\nreferences. An engine without `CustomStateSet` records nothing and keeps\nwhatever the resting rule draws, which is the safe direction to fail.\n\n**The engines the test is for are browsers**: Safari below 17.4 and Firefox\nbelow 126, where the write is a `TypeError`, so a component bypassing this\nfails to render rather than rendering without whatever the state draws.\nLit's server shim sets `states`, so the guard passes there and records a\nstate nothing reads, which is harmless.",
109676
+ "inheritedFrom": {
109677
+ "name": "HelixElement",
109678
+ "module": "src/helix-element/helix-element.ts"
109679
+ }
109680
+ },
109681
+ {
109682
+ "kind": "field",
109683
+ "name": "whenSettled",
109684
+ "type": {
109685
+ "text": "Promise<void>"
109686
+ },
109687
+ "readonly": true,
109688
+ "description": "Resolves a frame after the first update, when transitions are switched on.\n\n**Named `whenSettled` because `settled` is taken four times over**, by\nImage, Splitter and both color controls, none of them about transitions. A\nbase class takes the name every subclass then cannot use.\n\n**The state it reports cannot be watched, which is why this exists.** A\ncustom state is deliberately not in the DOM, so there is no\n`MutationObserver` equivalent for `ElementInternals.states`. Await this\ninstead.\n\nSeparate from `updateComplete`, which resolves in the microtask checkpoint\nthe suppression is still active in. That is the distinction `readyToMove`\nin `@fusion.dev/helix-testing` is written around.\n\nIt never resolves where `requestAnimationFrame` never fires, which is a\nserver, a hidden tab, and happy-dom. Callers that must not hang there race\nit against a timeout, as the happy-dom harness's `readyToMove` does. The\nbrowser harness's awaits it alone: a browser always runs the frame, and a\ntimer beside it was a bet on how long one takes, which a busy run lost.",
109689
+ "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
109690
+ "inheritedFrom": {
109691
+ "name": "HelixElement",
109692
+ "module": "src/helix-element/helix-element.ts"
109693
+ }
109694
+ },
109695
+ {
109696
+ "kind": "field",
109697
+ "name": "resolveSettled",
109698
+ "type": {
109699
+ "text": "() => void"
109700
+ },
109701
+ "privacy": "private",
109702
+ "description": "Resolves `whenSettled`, once, from the frame that records the state.",
109703
+ "inheritedFrom": {
109704
+ "name": "HelixElement",
109705
+ "module": "src/helix-element/helix-element.ts"
109706
+ }
109707
+ },
109708
+ {
109709
+ "kind": "field",
109710
+ "name": "fromServer",
109711
+ "type": {
109712
+ "text": "boolean"
109713
+ },
109714
+ "privacy": "private",
109715
+ "default": "false",
109716
+ "description": "Whether the shadow root was a server's, parsed from declarative shadow DOM.",
109717
+ "inheritedFrom": {
109718
+ "name": "HelixElement",
109719
+ "module": "src/helix-element/helix-element.ts"
109720
+ }
109721
+ },
109722
+ {
109723
+ "kind": "field",
109724
+ "name": "hydrating",
109725
+ "type": {
109726
+ "text": "boolean"
109727
+ },
109728
+ "privacy": "protected",
109729
+ "description": "Whether this update is hydrating a server's markup, and so has to render\nexactly what the server rendered.\n\n**Lit hydrates by assuming the markup already shows the first render.** A\nvalue that differs is recorded and never written, so the page keeps the\nserver's, and a template that differs throws. The server has no children,\nso anything a component reads from its children waits for the update after\nhydration, which `finishHydration` asks for. Without a server's markup the\nfirst render reads them and there is one render.",
109730
+ "readonly": true,
109731
+ "inheritedFrom": {
109732
+ "name": "HelixElement",
109733
+ "module": "src/helix-element/helix-element.ts"
109734
+ }
109735
+ },
109736
+ {
109737
+ "kind": "field",
109738
+ "name": "serverRendered",
109739
+ "type": {
109740
+ "text": "boolean"
109741
+ },
109742
+ "privacy": "protected",
109743
+ "description": "Whether this element hydrated a server's markup rather than rendering its own.\n\nFor what happened before hydration and cannot be heard after it: an image\nthe parser fetched fires `load` or `error` before any listener exists, so a\ncomponent asks the image instead, once, when this is true.",
109744
+ "readonly": true,
109745
+ "inheritedFrom": {
109746
+ "name": "HelixElement",
109747
+ "module": "src/helix-element/helix-element.ts"
109748
+ }
109749
+ },
109750
+ {
109751
+ "kind": "method",
109752
+ "name": "finishHydration",
109753
+ "privacy": "protected",
109754
+ "return": {
109755
+ "type": {
109756
+ "text": "void"
109757
+ }
109758
+ },
109759
+ "description": "Asks for the update a hydration put off, so the reads it skipped happen.\n\nCalled from `firstUpdated`, the end of the hydrating update. The render it\nschedules can only follow that one, which is the exception Lit's\nchange-in-update warning names, and it happens only on a page a server\nrendered.",
109760
+ "inheritedFrom": {
109761
+ "name": "HelixElement",
109762
+ "module": "src/helix-element/helix-element.ts"
109763
+ }
109764
+ },
109765
+ {
109766
+ "kind": "field",
109767
+ "name": "childrenKnown",
109768
+ "type": {
109769
+ "text": "boolean"
109770
+ },
109771
+ "privacy": "protected",
109772
+ "description": "Whether this render can know the children.\n\nA server cannot: its element shim carries attributes and no tree, so\n`children` is undefined there. A render hydrating what a server sent must\nnot, because it has to be the server's render. Anywhere else it can. A\ncomponent whose render depends on its children reads them through\n`knownChildren`, and treats \"not known\" as its own answer rather than as\n\"none\": a list that renders its empty state because nobody has looked yet is\nthe one thing an empty state must never do.",
109773
+ "readonly": true,
109774
+ "inheritedFrom": {
109775
+ "name": "HelixElement",
109776
+ "module": "src/helix-element/helix-element.ts"
109777
+ }
109778
+ },
109779
+ {
109780
+ "kind": "field",
109781
+ "name": "knownChildren",
109782
+ "type": {
109783
+ "text": "Element[]"
109784
+ },
109785
+ "privacy": "protected",
109786
+ "description": "The children a render may read: all of them where they are known, and none otherwise.",
109787
+ "readonly": true,
109788
+ "inheritedFrom": {
109789
+ "name": "HelixElement",
109790
+ "module": "src/helix-element/helix-element.ts"
109791
+ }
109792
+ },
109793
+ {
109794
+ "kind": "field",
109795
+ "name": "assignsByName",
109796
+ "type": {
109797
+ "text": "boolean"
109798
+ },
109799
+ "privacy": "protected",
109800
+ "description": "Whether this element's slots route by name although it asked to assign them\nby hand.\n\n**A declarative shadow root is always the by-name kind.** HTML has no way to\nask for manual assignment, so a component that assigns by hand and hydrates\na server's root gets one where `slot.assign()` does nothing, and its\nchildren land wherever their `slot` attribute sends them. The way through is\nto write that attribute, which is what `route` does. Only there: on a root\nthis element made, assignment stays manual and the consumer's markup is\nnever touched, which is what a React consumer's hydration requires.",
109801
+ "readonly": true,
109802
+ "inheritedFrom": {
109803
+ "name": "HelixElement",
109804
+ "module": "src/helix-element/helix-element.ts"
109805
+ }
109806
+ },
109807
+ {
109808
+ "kind": "method",
109809
+ "name": "route",
109810
+ "privacy": "protected",
109811
+ "return": {
109812
+ "type": {
109813
+ "text": "void"
109814
+ }
109815
+ },
109816
+ "parameters": [
109817
+ {
109818
+ "name": "child",
109819
+ "type": {
109820
+ "text": "Element"
109821
+ }
109822
+ },
109823
+ {
109824
+ "name": "name",
109825
+ "type": {
109826
+ "text": "string | undefined"
109827
+ }
109828
+ }
109829
+ ],
109830
+ "description": "Sends a child to a slot by name, on a root that routes by name.\n\n`undefined` is the default slot. Written only when it differs, so routing\nthe same child again on every update writes nothing.",
109831
+ "inheritedFrom": {
109832
+ "name": "HelixElement",
109833
+ "module": "src/helix-element/helix-element.ts"
109834
+ }
109835
+ },
109836
+ {
109837
+ "kind": "field",
109838
+ "name": "stopInner",
109839
+ "privacy": "protected",
109840
+ "readonly": true,
109841
+ "description": "Stops an inner control's own announcement at this element's boundary.\n\n**A composed control is one control to a consumer, and the natives had no\nequivalent of the stop the prefixed events already get.** `<helix-select>`\nrenders a `<helix-listbox>`, and both announce: the listbox dispatches\n`input` and `change` from its own host, `input` is composed by\nspecification, and a consumer listening on the select therefore heard one\nchoice twice. Measured before this existed, on the styled tier, one choice\non the inner listbox: select `input` twice and `change` three times,\ncombobox, date input, time input and color input twice each. `Command` was\nthe only one that was right, because it happened to reach for\n`stopImmediatePropagation` for a different reason.\n\nBound on the child in the parent's template, so it runs while the event is\nstill at the child and before it can cross. The guard is for the case where\na component binds this on itself: an element must never stop its own\nannouncement, which is the one it exists to make.\n\nThis is the same job the `helix-before-*` handlers do with their own\n`stopPropagation`, and it is separate rather than folded into them because\na consumer may legitimately refuse a request without the notification ever\nhappening: the two travel at different times and one can be absent.",
109842
+ "inheritedFrom": {
109843
+ "name": "HelixElement",
109844
+ "module": "src/helix-element/helix-element.ts"
109845
+ }
109846
+ },
109847
+ {
109848
+ "kind": "method",
109849
+ "name": "relayNativeEvent",
109850
+ "privacy": "protected",
109851
+ "return": {
109852
+ "type": {
109853
+ "text": "void"
109854
+ }
109855
+ },
109856
+ "parameters": [
109857
+ {
109858
+ "name": "event",
109859
+ "type": {
109860
+ "text": "Event"
109861
+ }
109862
+ },
109863
+ {
109864
+ "name": "init",
109865
+ "optional": true,
109866
+ "type": {
109867
+ "text": "EventInit"
109868
+ }
109869
+ }
109870
+ ],
109871
+ "description": "Re-emits a native event from the host, under its own name.\n\nA native event fired by an inner `<input>` or `<textarea>` is not composed,\nso it stops at the shadow boundary and a consumer listening on\n`<helix-input>` hears nothing. Re-dispatching it from the host is what\nmakes the component behave like the control it wraps.\n\nThe relayed event keeps the native name deliberately. `change` is `change`,\nwhich is what a consumer already knows to listen for, and it is what\nreaches React: its synthetic system claims `onChange` and wires it to that\nname, so a prefixed one would never arrive.\n\n`composed` is not forced. It defaults to the original event's own value, so\na relayed `change` stops at the next shadow boundary exactly as a native\none would. Pass it explicitly only where escaping is the intent, and say so\nwhere you do.",
109872
+ "inheritedFrom": {
109873
+ "name": "HelixElement",
109874
+ "module": "src/helix-element/helix-element.ts"
109875
+ }
109876
+ },
109877
+ {
109878
+ "kind": "method",
109879
+ "name": "finalizeStyles",
109880
+ "privacy": "protected",
109881
+ "static": true,
109882
+ "return": {
109883
+ "type": {
109884
+ "text": "CSSResultOrNative[]"
109885
+ }
109886
+ },
109887
+ "parameters": [
109888
+ {
109889
+ "name": "styles",
109890
+ "optional": true,
109891
+ "type": {
109892
+ "text": "CSSResultOrNative | CSSResultOrNative[]"
109893
+ }
109894
+ }
109895
+ ],
109896
+ "description": "Prepends the shadow-root reset to every subclass's styles, so no component\nhas to remember to include it, with the rules for the marks it writes.",
109897
+ "inheritedFrom": {
109898
+ "name": "HelixElement",
109899
+ "module": "src/helix-element/helix-element.ts"
109900
+ }
109901
+ },
109902
+ {
109903
+ "kind": "method",
109904
+ "name": "performUpdate",
109905
+ "privacy": "protected",
109906
+ "return": {
109907
+ "type": {
109908
+ "text": "void"
109909
+ }
109910
+ },
109911
+ "description": "The first update, timed where a page asked to measure what the components\ncost, and a property read where it did not: see `reportRender`.",
109912
+ "inheritedFrom": {
109913
+ "name": "HelixElement",
109914
+ "module": "src/helix-element/helix-element.ts"
109915
+ }
109916
+ }
109917
+ ],
109918
+ "superclass": {
109919
+ "name": "HelixHeadlessIsometricHeatmap",
109920
+ "package": "@fusion.dev/helix-headless/isometric-heatmap"
109921
+ },
109922
+ "summary": "A heatmap drawn as a relief, where each reading stands as tall as its value.",
109923
+ "helix": {
109924
+ "category": "charts",
109925
+ "since": "0.185.0",
109926
+ "status": "experimental",
109927
+ "documentation": "https://fusion.dev/helix/components/isometric-heatmap",
109928
+ "tier": "styled",
109929
+ "group": "IsometricHeatmap",
109930
+ "part": "Root",
109931
+ "examples": [
109932
+ {
109933
+ "description": "Sixteen weeks of commits, each day a prism as tall as its count.",
109934
+ "slug": "preview"
109935
+ }
109936
+ ],
109937
+ "source": "helix/styled/src/isometric-heatmap"
109938
+ },
109939
+ "tagName": "helix-isometric-heatmap",
109940
+ "customElement": true,
109941
+ "slots": [
109942
+ {
109943
+ "description": "Content shown under the strip when the table has no readings, such as a link to add the first. Falls back to `empty-text`.",
109944
+ "name": "empty",
109945
+ "inheritedFrom": {
109946
+ "name": "HelixHeadlessHeatmap",
109947
+ "module": "src/heatmap/root/heatmap-root.ts"
109948
+ }
109949
+ },
109950
+ {
109951
+ "description": "Below the strip, at the trailing edge: usually the newest date.",
109952
+ "name": "end",
109953
+ "inheritedFrom": {
109954
+ "name": "HelixHeadlessHeatmap",
109955
+ "module": "src/heatmap/root/heatmap-root.ts"
109956
+ }
109957
+ },
109958
+ {
109959
+ "description": "Content shown under the strip while `loading` is set and there are no readings yet. Falls back to `loading-text`.",
109960
+ "name": "loading",
109961
+ "inheritedFrom": {
109962
+ "name": "HelixHeadlessHeatmap",
109963
+ "module": "src/heatmap/root/heatmap-root.ts"
109964
+ }
109965
+ },
109966
+ {
109967
+ "description": "Below the strip, at the leading edge: usually the oldest date.",
109968
+ "name": "start",
109969
+ "inheritedFrom": {
109970
+ "name": "HelixHeadlessHeatmap",
109971
+ "module": "src/heatmap/root/heatmap-root.ts"
109972
+ }
109973
+ },
109974
+ {
109975
+ "description": "Below the strip, in the middle: a summary of the range shown.",
109976
+ "name": "summary",
109977
+ "inheritedFrom": {
109978
+ "name": "HelixHeadlessHeatmap",
109979
+ "module": "src/heatmap/root/heatmap-root.ts"
109980
+ }
109981
+ }
109982
+ ],
109983
+ "cssParts": [
109984
+ {
109985
+ "description": "One reading.",
109986
+ "name": "cell",
109987
+ "inheritedFrom": {
109988
+ "name": "HelixHeadlessHeatmap",
109989
+ "module": "src/heatmap/root/heatmap-root.ts"
109990
+ }
109991
+ },
109992
+ {
109993
+ "description": "The SVG every prism is drawn in. It is mirrored on a right-to-left page.",
109994
+ "name": "drawing",
109995
+ "inheritedFrom": {
109996
+ "name": "HelixHeadlessIsometricHeatmap",
109997
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
109998
+ }
109999
+ },
110000
+ {
110001
+ "description": "The face of a prism toward the next row, drawn at its lower left.",
110002
+ "name": "left-face",
110003
+ "inheritedFrom": {
110004
+ "name": "HelixHeadlessIsometricHeatmap",
110005
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110006
+ }
110007
+ },
110008
+ {
110009
+ "description": "The face of a prism toward the next column, drawn at its lower right.",
110010
+ "name": "right-face",
110011
+ "inheritedFrom": {
110012
+ "name": "HelixHeadlessIsometricHeatmap",
110013
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110014
+ }
110015
+ },
110016
+ {
110017
+ "description": "A column of cells, which a grid reads as a row, under `selection-mode`. It draws no box.",
110018
+ "name": "row",
110019
+ "inheritedFrom": {
110020
+ "name": "HelixHeadlessHeatmap",
110021
+ "module": "src/heatmap/root/heatmap-root.ts"
110022
+ }
110023
+ },
110024
+ {
110025
+ "description": "The grid of cells, which takes focus to be read by key. It is named by the host's `aria-labelledby` or `aria-label`, then by `label`, then by the caption of the table.",
110026
+ "name": "strip",
110027
+ "inheritedFrom": {
110028
+ "name": "HelixHeadlessHeatmap",
110029
+ "module": "src/heatmap/root/heatmap-root.ts"
110030
+ }
110031
+ },
110032
+ {
110033
+ "description": "The top of a prism, which carries the reading's tone.",
110034
+ "name": "top-face",
110035
+ "inheritedFrom": {
110036
+ "name": "HelixHeadlessIsometricHeatmap",
110037
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110038
+ }
110039
+ },
110040
+ {
110041
+ "description": "The cell the pointer or the keys rest on. Set alongside `cell`.",
110042
+ "name": "cell-active",
110043
+ "inheritedFrom": {
110044
+ "name": "HelixHeadlessHeatmap",
110045
+ "module": "src/heatmap/root/heatmap-root.ts"
110046
+ }
110047
+ },
110048
+ {
110049
+ "description": "A cell that is selected, under `selection-mode`. Set alongside `cell`.",
110050
+ "name": "cell-selected",
110051
+ "inheritedFrom": {
110052
+ "name": "HelixHeadlessHeatmap",
110053
+ "module": "src/heatmap/root/heatmap-root.ts"
110054
+ }
110055
+ },
110056
+ {
110057
+ "description": "The words under the strip when the table has no readings: the `empty` slot, falling back to `empty-text`. Not drawn while the table cannot be read yet, on the server and during hydration, there being no document to resolve `for` in.",
110058
+ "name": "empty",
110059
+ "inheritedFrom": {
110060
+ "name": "HelixHeadlessHeatmap",
110061
+ "module": "src/heatmap/root/heatmap-root.ts"
110062
+ }
110063
+ },
110064
+ {
110065
+ "description": "The trailing slot's box.",
110066
+ "name": "end",
110067
+ "inheritedFrom": {
110068
+ "name": "HelixHeadlessHeatmap",
110069
+ "module": "src/heatmap/root/heatmap-root.ts"
110070
+ }
110071
+ },
110072
+ {
110073
+ "description": "The three-slot row under the strip.",
110074
+ "name": "footer",
110075
+ "inheritedFrom": {
110076
+ "name": "HelixHeadlessHeatmap",
110077
+ "module": "src/heatmap/root/heatmap-root.ts"
110078
+ }
110079
+ },
110080
+ {
110081
+ "description": "The readout: a polite live region that says the cell the keys moved to. Hide it visually.",
110082
+ "name": "live",
110083
+ "inheritedFrom": {
110084
+ "name": "HelixHeadlessHeatmap",
110085
+ "module": "src/heatmap/root/heatmap-root.ts"
110086
+ }
110087
+ },
110088
+ {
110089
+ "description": "The words under the strip while `loading` is set and there are no readings: the `loading` slot, falling back to `loading-text`.",
110090
+ "name": "loading",
110091
+ "inheritedFrom": {
110092
+ "name": "HelixHeadlessHeatmap",
110093
+ "module": "src/heatmap/root/heatmap-root.ts"
110094
+ }
110095
+ },
110096
+ {
110097
+ "description": "The invisible point the tooltip is anchored to.",
110098
+ "name": "mark",
110099
+ "inheritedFrom": {
110100
+ "name": "HelixHeadlessHeatmap",
110101
+ "module": "src/heatmap/root/heatmap-root.ts"
110102
+ }
110103
+ },
110104
+ {
110105
+ "description": "The busiest reading and the total of the readings drawn, written as a sentence for screen readers, which describes the strip. Rendered once there are cells. Hide it visually.",
110106
+ "name": "overview",
110107
+ "inheritedFrom": {
110108
+ "name": "HelixHeadlessHeatmap",
110109
+ "module": "src/heatmap/root/heatmap-root.ts"
110110
+ }
110111
+ },
110112
+ {
110113
+ "description": "The same element as `strip`, under the name every chart gives the drawing that takes focus.",
110114
+ "name": "plot",
110115
+ "inheritedFrom": {
110116
+ "name": "HelixHeadlessHeatmap",
110117
+ "module": "src/heatmap/root/heatmap-root.ts"
110118
+ }
110119
+ },
110120
+ {
110121
+ "description": "A polite region that says how many cells are selected after a change, rendered from the first change. Hide it visually.",
110122
+ "name": "selection",
110123
+ "inheritedFrom": {
110124
+ "name": "HelixHeadlessHeatmap",
110125
+ "module": "src/heatmap/root/heatmap-root.ts"
110126
+ }
110127
+ },
110128
+ {
110129
+ "description": "The leading slot's box.",
110130
+ "name": "start",
110131
+ "inheritedFrom": {
110132
+ "name": "HelixHeadlessHeatmap",
110133
+ "module": "src/heatmap/root/heatmap-root.ts"
110134
+ }
110135
+ },
110136
+ {
110137
+ "description": "The middle slot's box.",
110138
+ "name": "summary",
110139
+ "inheritedFrom": {
110140
+ "name": "HelixHeadlessHeatmap",
110141
+ "module": "src/heatmap/root/heatmap-root.ts"
110142
+ }
110143
+ },
110144
+ {
110145
+ "description": "The readings as a table, for a screen reader, rendered only where they were drawn from `data`. Hide it visually.",
110146
+ "name": "table",
110147
+ "inheritedFrom": {
110148
+ "name": "HelixHeadlessHeatmap",
110149
+ "module": "src/heatmap/root/heatmap-root.ts"
110150
+ }
110151
+ },
110152
+ {
110153
+ "description": "The bubble, forwarded from `Tooltip`.",
110154
+ "name": "tooltip",
110155
+ "inheritedFrom": {
110156
+ "name": "HelixHeadlessHeatmap",
110157
+ "module": "src/heatmap/root/heatmap-root.ts"
110158
+ }
110159
+ },
110160
+ {
110161
+ "description": "The `Tooltip` element itself.",
110162
+ "name": "tooltip-anchor",
110163
+ "inheritedFrom": {
110164
+ "name": "HelixHeadlessHeatmap",
110165
+ "module": "src/heatmap/root/heatmap-root.ts"
110166
+ }
110167
+ },
110168
+ {
110169
+ "description": "The bubble's point, forwarded from `Tooltip`.",
110170
+ "name": "tooltip-arrow",
110171
+ "inheritedFrom": {
110172
+ "name": "HelixHeadlessHeatmap",
110173
+ "module": "src/heatmap/root/heatmap-root.ts"
110174
+ }
110175
+ },
110176
+ {
110177
+ "description": "The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.",
110178
+ "name": "tooltip-arrow-bottom",
110179
+ "inheritedFrom": {
110180
+ "name": "HelixHeadlessHeatmap",
110181
+ "module": "src/heatmap/root/heatmap-root.ts"
110182
+ }
110183
+ },
110184
+ {
110185
+ "description": "The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.",
110186
+ "name": "tooltip-arrow-left",
110187
+ "inheritedFrom": {
110188
+ "name": "HelixHeadlessHeatmap",
110189
+ "module": "src/heatmap/root/heatmap-root.ts"
110190
+ }
110191
+ },
110192
+ {
110193
+ "description": "The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.",
110194
+ "name": "tooltip-arrow-right",
110195
+ "inheritedFrom": {
110196
+ "name": "HelixHeadlessHeatmap",
110197
+ "module": "src/heatmap/root/heatmap-root.ts"
110198
+ }
110199
+ },
110200
+ {
110201
+ "description": "The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.",
110202
+ "name": "tooltip-arrow-top",
110203
+ "inheritedFrom": {
110204
+ "name": "HelixHeadlessHeatmap",
110205
+ "module": "src/heatmap/root/heatmap-root.ts"
110206
+ }
110207
+ },
110208
+ {
110209
+ "description": "The bubble while it is below the reading. Set alongside `tooltip`.",
110210
+ "name": "tooltip-bottom",
110211
+ "inheritedFrom": {
110212
+ "name": "HelixHeadlessHeatmap",
110213
+ "module": "src/heatmap/root/heatmap-root.ts"
110214
+ }
110215
+ },
110216
+ {
110217
+ "description": "One column's name and value inside the tooltip.",
110218
+ "name": "tooltip-cell",
110219
+ "inheritedFrom": {
110220
+ "name": "HelixHeadlessHeatmap",
110221
+ "module": "src/heatmap/root/heatmap-root.ts"
110222
+ }
110223
+ },
110224
+ {
110225
+ "description": "The cell the series keys rest on, in the charts whose readings hold several series. A strip draws one, so it is never set here.",
110226
+ "name": "tooltip-cell-current",
110227
+ "inheritedFrom": {
110228
+ "name": "HelixHeadlessHeatmap",
110229
+ "module": "src/heatmap/root/heatmap-root.ts"
110230
+ }
110231
+ },
110232
+ {
110233
+ "description": "The reading's own name inside the tooltip.",
110234
+ "name": "tooltip-label",
110235
+ "inheritedFrom": {
110236
+ "name": "HelixHeadlessHeatmap",
110237
+ "module": "src/heatmap/root/heatmap-root.ts"
110238
+ }
110239
+ },
110240
+ {
110241
+ "description": "The bubble while it is left of the reading. Set alongside `tooltip`.",
110242
+ "name": "tooltip-left",
110243
+ "inheritedFrom": {
110244
+ "name": "HelixHeadlessHeatmap",
110245
+ "module": "src/heatmap/root/heatmap-root.ts"
110246
+ }
110247
+ },
110248
+ {
110249
+ "description": "A column's name inside the tooltip.",
110250
+ "name": "tooltip-name",
110251
+ "inheritedFrom": {
110252
+ "name": "HelixHeadlessHeatmap",
110253
+ "module": "src/heatmap/root/heatmap-root.ts"
110254
+ }
110255
+ },
110256
+ {
110257
+ "description": "The bubble while it is right of the reading. Set alongside `tooltip`.",
110258
+ "name": "tooltip-right",
110259
+ "inheritedFrom": {
110260
+ "name": "HelixHeadlessHeatmap",
110261
+ "module": "src/heatmap/root/heatmap-root.ts"
110262
+ }
110263
+ },
110264
+ {
110265
+ "description": "The bubble while it is above the reading. Set alongside `tooltip`.",
110266
+ "name": "tooltip-top",
110267
+ "inheritedFrom": {
110268
+ "name": "HelixHeadlessHeatmap",
110269
+ "module": "src/heatmap/root/heatmap-root.ts"
110270
+ }
110271
+ },
110272
+ {
110273
+ "description": "A column's value inside the tooltip.",
110274
+ "name": "tooltip-value",
110275
+ "inheritedFrom": {
110276
+ "name": "HelixHeadlessHeatmap",
110277
+ "module": "src/heatmap/root/heatmap-root.ts"
110278
+ }
110279
+ }
110280
+ ],
110281
+ "attributes": [
110282
+ {
110283
+ "name": "flat",
110284
+ "type": {
110285
+ "text": "boolean"
110286
+ },
110287
+ "default": "false",
110288
+ "description": "Draws every prism at no height, so the tones lie on a plane.",
110289
+ "fieldName": "flat",
110290
+ "inheritedFrom": {
110291
+ "name": "HelixHeadlessIsometricHeatmap",
110292
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110293
+ }
110294
+ },
110295
+ {
110296
+ "name": "relief",
110297
+ "type": {
110298
+ "text": "number"
110299
+ },
110300
+ "default": "2",
110301
+ "description": "How tall the highest reading stands, in cells. Every other reading stands\nat its share of it.",
110302
+ "fieldName": "relief",
110303
+ "inheritedFrom": {
110304
+ "name": "HelixHeadlessIsometricHeatmap",
110305
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110306
+ }
110307
+ },
110308
+ {
110309
+ "name": "empty-text",
110310
+ "type": {
110311
+ "text": "string"
110312
+ },
110313
+ "default": "'No readings'",
110314
+ "description": "The words shown in place of the drawing when the table has no readings,\nand the fallback of the `empty` slot.",
110315
+ "fieldName": "emptyText",
110316
+ "inheritedFrom": {
110317
+ "name": "MixinChartStatus",
110318
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
110319
+ }
110320
+ },
110321
+ {
110322
+ "name": "loading",
110323
+ "type": {
110324
+ "text": "boolean"
110325
+ },
110326
+ "default": "false",
110327
+ "description": "Whether the readings are still on their way. The chart shows\n`loading-text` in place of an empty drawing until it has readings.\n\nReflected, so a stylesheet can treat the chart while it waits. A chart\nthat already has readings keeps drawing them, so a refresh does not\nblank it.",
110328
+ "fieldName": "loading",
110329
+ "inheritedFrom": {
110330
+ "name": "MixinChartStatus",
110331
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
110332
+ }
110333
+ },
110334
+ {
110335
+ "name": "loading-text",
110336
+ "type": {
110337
+ "text": "string"
110338
+ },
110339
+ "default": "'Loading readings'",
110340
+ "description": "The words shown in place of the drawing while `loading` is set and\nthere are no readings yet, and the fallback of the `loading` slot.",
110341
+ "fieldName": "loadingText",
110342
+ "inheritedFrom": {
110343
+ "name": "MixinChartStatus",
110344
+ "module": "src/mixins/mixin-chart-status/mixin-chart-status.ts"
110345
+ }
110346
+ },
110347
+ {
110348
+ "name": "for",
110349
+ "type": {
110350
+ "text": "string"
110351
+ },
110352
+ "default": "''",
110353
+ "description": "The id of the table to read.\n\nNames a table in the same tree, so a chart inside another component's\nshadow root reads a table in that root rather than one in the document. A\n`<table>` or anything built from grid roles, including `helix-table`.\n\n**In React this arrives as a property and not as an attribute**, the way\n`Tooltip.for` does, so it does not reflect and nothing styles on it.",
110354
+ "fieldName": "for",
110355
+ "inheritedFrom": {
110356
+ "name": "MixinChartSource",
110357
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
110358
+ }
110359
+ },
110360
+ {
110361
+ "name": "label",
110362
+ "type": {
110363
+ "text": "string"
110364
+ },
110365
+ "default": "''",
110366
+ "description": "The chart's name, which starts the chart's text summary.\n\nAbsent falls back to the table's own caption, which is usually the right\nwords and is already written.",
110367
+ "fieldName": "label",
110368
+ "inheritedFrom": {
110369
+ "name": "MixinChartSource",
110370
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
110371
+ }
110372
+ },
110373
+ {
110374
+ "name": "locale",
110375
+ "type": {
110376
+ "text": "string"
110377
+ },
110378
+ "default": "''",
110379
+ "description": "The locale the chart's own numbers are written in: its axis, its\npercentages and its totals, such as `de` for `1.240` and `32 %`.\n\nAbsent reads the nearest `lang`, then the runtime's own. The table's\ncells are shown as the table writes them, whatever this says.",
110380
+ "fieldName": "locale",
110381
+ "inheritedFrom": {
110382
+ "name": "MixinChartSource",
110383
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
110384
+ }
110385
+ },
110386
+ {
110387
+ "name": "position-label",
110388
+ "type": {
110389
+ "text": "string"
110390
+ },
110391
+ "default": "'{position} of {count}'",
110392
+ "description": "Where a reading the keys moved to stands among the readings, said after\nit. `{position}` and `{count}` are replaced with the numbers, written in\n`locale`.\n\nSet it to the words of the page's language, such as `{position} von\n{count}`, or to nothing to say no position. A slice or a series a\nlegend hid is not counted.",
110393
+ "fieldName": "positionLabel",
110394
+ "inheritedFrom": {
110395
+ "name": "MixinChartSource",
110396
+ "module": "src/mixins/mixin-chart-source/mixin-chart-source.ts"
110397
+ }
110398
+ },
110399
+ {
110400
+ "name": "busiest-label",
110401
+ "type": {
110402
+ "text": "string"
110403
+ },
110404
+ "default": "'Busiest'",
110405
+ "description": "The name the `overview` gives the busiest reading, `{busiestLabel}` in\n`overview-label`.",
110406
+ "fieldName": "busiestLabel",
110407
+ "inheritedFrom": {
110408
+ "name": "HelixHeadlessHeatmap",
110409
+ "module": "src/heatmap/root/heatmap-root.ts"
110410
+ }
110411
+ },
110412
+ {
110413
+ "name": "gap",
110414
+ "type": {
110415
+ "text": "number"
110416
+ },
110417
+ "default": "2",
110418
+ "description": "Space between cells, in CSS pixels. It is a number for the same reason\n`min-cell` is.",
110419
+ "fieldName": "gap",
110420
+ "inheritedFrom": {
110421
+ "name": "HelixHeadlessHeatmap",
110422
+ "module": "src/heatmap/root/heatmap-root.ts"
110423
+ }
110424
+ },
110425
+ {
110426
+ "name": "min-cell",
110427
+ "type": {
110428
+ "text": "number"
110429
+ },
110430
+ "default": "8",
110431
+ "description": "The smallest a cell may get before the strip draws fewer of them, in CSS pixels.\n\n**Set this only to overrule what the strip actually draws.** The arithmetic\nneeds a width in pixels and the width is a length the stylesheet resolves,\nso a number written here that disagrees with the sheet is a promise the\nconsumer has to keep by hand, and the one number a summary is told to trust\nis the one it gets wrong.\n\nThe strip measures itself, so sizing the cells in a sheet is enough on its\nown and these two are the estimate used until the first measurement lands.\nWriting the attribute pins the value and stops the measurement being\nconsulted, which is what a container query or a transition on the cell size\nwants, where what is drawn this frame is not what the arithmetic should\nplan around.\n\nZero turns the dropping off altogether, which is right for a strip in a\ncontainer that cannot get narrow.",
110432
+ "fieldName": "minCell",
110433
+ "inheritedFrom": {
110434
+ "name": "HelixHeadlessHeatmap",
110435
+ "module": "src/heatmap/root/heatmap-root.ts"
110436
+ }
110437
+ },
110438
+ {
110439
+ "name": "overview-label",
110440
+ "type": {
110441
+ "text": "string"
110442
+ },
110443
+ "default": "'{busiestLabel}: {busiest}; {totalLabel} {total}.'",
110444
+ "description": "The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are\n`busiest-label` and `total-label`, `{busiest}` the busiest reading's name\nand its reading as the table writes it, and `{total}` the total of the\nreadings drawn, written in the locale.",
110445
+ "fieldName": "overviewLabel",
110446
+ "inheritedFrom": {
110447
+ "name": "HelixHeadlessHeatmap",
110448
+ "module": "src/heatmap/root/heatmap-root.ts"
110449
+ }
110450
+ },
110451
+ {
110452
+ "name": "rows",
110453
+ "type": {
110454
+ "text": "number"
110455
+ },
110456
+ "default": "1",
110457
+ "description": "How many rows the strip has.\n\n`1` is a status strip and `7` is a calendar week, which are the two readings\nthis covers. Cells fill down the column and then across, which is what a\ncalendar heatmap does: a week is a column, so the strip reads along the\nline in weeks, from the right on a right-to-left page, and top to bottom in\ndays.",
110458
+ "fieldName": "rows",
110459
+ "inheritedFrom": {
110460
+ "name": "HelixHeadlessHeatmap",
110461
+ "module": "src/heatmap/root/heatmap-root.ts"
110462
+ }
110463
+ },
110464
+ {
110465
+ "name": "selected-label",
110466
+ "type": {
110467
+ "text": "string"
110468
+ },
110469
+ "default": "'selected'",
110470
+ "description": "What the readout added for a selected cell, under `selection-mode`.",
110471
+ "fieldName": "selectedLabel",
110472
+ "inheritedFrom": {
110473
+ "name": "HelixHeadlessHeatmap",
110474
+ "module": "src/heatmap/root/heatmap-root.ts"
110475
+ }
110476
+ },
110477
+ {
110478
+ "name": "selection-label",
110479
+ "type": {
110480
+ "text": "string"
110481
+ },
110482
+ "default": "'{count, plural, one {# selected} other {# selected}}'",
110483
+ "description": "What the `selection` part says after the selection changes. `{count}` is\nhow many cells are selected, written in the locale, and a language that\nneeds plural forms writes them: `{count, plural, one {# wybrany} few\n{# wybrane} many {# wybranych} other {# wybranego}}`.",
110484
+ "fieldName": "selectionLabel",
110485
+ "inheritedFrom": {
110486
+ "name": "HelixHeadlessHeatmap",
110487
+ "module": "src/heatmap/root/heatmap-root.ts"
110488
+ }
110489
+ },
110490
+ {
110491
+ "name": "selection-mode",
110492
+ "type": {
110493
+ "text": "'multiple' | 'single' | undefined"
110494
+ },
110495
+ "description": "How many cells a reader can select: `single` or `multiple`.\n\nAbsent selects nothing, and a press or Space does what it did.",
110496
+ "fieldName": "selectionMode",
110497
+ "inheritedFrom": {
110498
+ "name": "HelixHeadlessHeatmap",
110499
+ "module": "src/heatmap/root/heatmap-root.ts"
110500
+ }
110501
+ },
110502
+ {
110503
+ "name": "selection-shape",
110504
+ "type": {
110505
+ "text": "'linear' | 'rectangle'"
110506
+ },
110507
+ "default": "'linear'",
110508
+ "description": "What Shift takes in under `selection-mode=\"multiple\"`: `linear`, every\ncell between two in the table's order, or `rectangle`, the cells between\ntwo corners by row and by column, as a spreadsheet selects a range.",
110509
+ "fieldName": "selectionShape",
110510
+ "inheritedFrom": {
110511
+ "name": "HelixHeadlessHeatmap",
110512
+ "module": "src/heatmap/root/heatmap-root.ts"
110513
+ }
110514
+ },
110515
+ {
110516
+ "name": "strip-label",
110517
+ "type": {
110518
+ "text": "string"
110519
+ },
110520
+ "default": "'Heatmap'",
110521
+ "description": "The strip's name where the chart has none: no `aria-label`, `label`, or\ntable caption.",
110522
+ "fieldName": "stripLabel",
110523
+ "inheritedFrom": {
110524
+ "name": "HelixHeadlessHeatmap",
110525
+ "module": "src/heatmap/root/heatmap-root.ts"
110526
+ }
110527
+ },
110528
+ {
110529
+ "name": "thresholds",
110530
+ "type": {
110531
+ "text": "string"
110532
+ },
110533
+ "default": "''",
110534
+ "description": "Lower bounds for the tone buckets, in the order the tones are given.\n\n`thresholds=\"1 3 6 9\"` with `tones=\"1 2 3 4\"` puts 1 and 2 in the ramp's\nfirst step, 3 to 5 in the second, 6 to 8 in the third, and 9 upward in the\nfourth. A value below the first bound gets no tone at all: an empty day in a\ncontribution graph is a day with nothing in it, and painting it as the\nlowest bucket claims a reading that does not exist.",
110535
+ "fieldName": "thresholds",
110536
+ "inheritedFrom": {
110537
+ "name": "HelixHeadlessHeatmap",
110538
+ "module": "src/heatmap/root/heatmap-root.ts"
110539
+ }
110540
+ },
110541
+ {
110542
+ "name": "tones",
110543
+ "type": {
110544
+ "text": "string"
110545
+ },
110546
+ "default": "''",
110547
+ "description": "The tone for each bucket, in the same order as `thresholds`.\n\nA name, resolved as `--heatmap-tone-<name>` by whichever tier answers.\n**`\"1\"` through `\"5\"` are a ramp and everything else is a category**, which\nis the distinction a heatmap lives or dies on: magnitude has to be one hue\ngetting louder, because a reader compares two cells by weight and cannot\ncompare two hues at all. `tones=\"surface info accent success primary\"` for a\ncommit count is five unrelated hues for five amounts, which is confetti with\nno order in it.",
110548
+ "fieldName": "tones",
110549
+ "inheritedFrom": {
110550
+ "name": "HelixHeadlessHeatmap",
110551
+ "module": "src/heatmap/root/heatmap-root.ts"
110552
+ }
110553
+ },
110554
+ {
110555
+ "name": "total-label",
110556
+ "type": {
110557
+ "text": "string"
110558
+ },
110559
+ "default": "'Total'",
110560
+ "description": "The name the `overview` gives the total of the readings drawn,\n`{totalLabel}` in `overview-label`.",
110561
+ "fieldName": "totalLabel",
110562
+ "inheritedFrom": {
110563
+ "name": "HelixHeadlessHeatmap",
110564
+ "module": "src/heatmap/root/heatmap-root.ts"
110565
+ }
110566
+ },
110567
+ {
110568
+ "name": "value",
110569
+ "type": {
110570
+ "text": "string"
110571
+ },
110572
+ "default": "''",
110573
+ "description": "The selected cells, separated by commas: each by the date its row's\nheader carries in a `<time datetime>`, such as `2026-06-11`, or by the\nheader's words where it carries none.\n\nSet it to start with cells selected. Written by a press or a key under\n`selection-mode`.",
110574
+ "fieldName": "value",
110575
+ "inheritedFrom": {
110576
+ "name": "HelixHeadlessHeatmap",
110577
+ "module": "src/heatmap/root/heatmap-root.ts"
110578
+ }
110579
+ }
110580
+ ],
110581
+ "events": [
110582
+ {
110583
+ "type": {
110584
+ "text": "Event"
110585
+ },
110586
+ "description": "Fired once a press or a key has changed which cells are selected.",
110587
+ "name": "change",
110588
+ "reactProp": "onchange",
110589
+ "inheritedFrom": {
110590
+ "name": "HelixHeadlessHeatmap",
110591
+ "module": "src/heatmap/root/heatmap-root.ts"
110592
+ }
110593
+ },
110594
+ {
110595
+ "type": {
110596
+ "text": "HelixBeforeChangeEvent"
110597
+ },
110598
+ "description": "Fired before a press or a key changes which cells are selected, with the `value` it would leave. Cancelable.",
110599
+ "name": "helix-before-change",
110600
+ "reactProp": "onhelix-before-change",
110601
+ "inheritedFrom": {
110602
+ "name": "HelixHeadlessHeatmap",
110603
+ "module": "src/heatmap/root/heatmap-root.ts"
110604
+ }
110605
+ },
110606
+ {
110607
+ "type": {
110608
+ "text": "HelixReadingChangeEvent"
110609
+ },
110610
+ "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.",
110611
+ "name": "helix-reading-change",
110612
+ "reactProp": "onhelix-reading-change",
110613
+ "inheritedFrom": {
110614
+ "name": "HelixHeadlessHeatmap",
110615
+ "module": "src/heatmap/root/heatmap-root.ts"
110616
+ }
110617
+ },
110618
+ {
110619
+ "type": {
110620
+ "text": "HelixReadingPressEvent"
110621
+ },
110622
+ "description": "A reading was clicked, tapped, or pressed with Enter or Space, with the same detail as `helix-reading-change`.",
110623
+ "name": "helix-reading-press",
110624
+ "reactProp": "onhelix-reading-press",
110625
+ "inheritedFrom": {
110626
+ "name": "HelixHeadlessHeatmap",
110627
+ "module": "src/heatmap/root/heatmap-root.ts"
110628
+ }
110629
+ },
110630
+ {
110631
+ "type": {
110632
+ "text": "HelixResizeEvent"
110633
+ },
110634
+ "description": "Fired when the number of cells drawn changes, with the new number.",
110635
+ "name": "helix-resize",
110636
+ "reactProp": "onhelix-resize",
110637
+ "inheritedFrom": {
110638
+ "name": "HelixHeadlessHeatmap",
110639
+ "module": "src/heatmap/root/heatmap-root.ts"
110640
+ }
110641
+ }
110642
+ ],
110643
+ "cssStates": [
110644
+ {
110645
+ "description": "While a cell is shown, under the pointer or the keys, with its tooltip open.",
110646
+ "name": "active",
110647
+ "inheritedFrom": {
110648
+ "name": "HelixHeadlessHeatmap",
110649
+ "module": "src/heatmap/root/heatmap-root.ts"
110650
+ }
110651
+ },
110652
+ {
110653
+ "description": "While the `empty` part stands in place of the cells.",
110654
+ "name": "empty",
110655
+ "inheritedFrom": {
110656
+ "name": "HelixHeadlessHeatmap",
110657
+ "module": "src/heatmap/root/heatmap-root.ts"
110658
+ }
110659
+ },
110660
+ {
110661
+ "description": "While the `loading` part stands in place of the cells.",
110662
+ "name": "loading",
110663
+ "inheritedFrom": {
110664
+ "name": "HelixHeadlessHeatmap",
110665
+ "module": "src/heatmap/root/heatmap-root.ts"
110666
+ }
110667
+ },
110668
+ {
110669
+ "description": "Set one frame after the first render. Transitions wait for it, so an element does not animate its own arrival.",
110670
+ "name": "settled",
110671
+ "inheritedFrom": {
110672
+ "name": "HelixElement",
110673
+ "module": "src/helix-element/helix-element.ts"
110674
+ }
110675
+ }
110676
+ ],
110677
+ "modulePath": "src/isometric-heatmap/root/isometric-heatmap-root.ts",
110678
+ "definitionPath": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110679
+ }
110680
+ ],
110681
+ "exports": [
110682
+ {
110683
+ "kind": "js",
110684
+ "name": "HelixIsometricHeatmap",
110685
+ "declaration": {
110686
+ "name": "HelixIsometricHeatmap",
110687
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110688
+ }
110689
+ },
110690
+ {
110691
+ "kind": "custom-element-definition",
110692
+ "name": "helix-isometric-heatmap",
110693
+ "declaration": {
110694
+ "name": "HelixIsometricHeatmap",
110695
+ "module": "src/isometric-heatmap/root/isometric-heatmap-root.ts"
110696
+ }
110697
+ }
110698
+ ]
110699
+ },
108100
110700
  {
108101
110701
  "kind": "javascript-module",
108102
110702
  "path": "src/kbd/index.ts",
@@ -172397,7 +174997,7 @@
172397
174997
  },
172398
174998
  {
172399
174999
  "kind": "javascript-module",
172400
- "path": "src/rehype.ts",
175000
+ "path": "src/rehype/rehype.ts",
172401
175001
  "declarations": [],
172402
175002
  "exports": [
172403
175003
  {
@@ -172405,7 +175005,7 @@
172405
175005
  "name": "rehypeHelix",
172406
175006
  "declaration": {
172407
175007
  "name": "rehypeHelix",
172408
- "module": "src/rehype.ts"
175008
+ "module": "src/rehype/rehype.ts"
172409
175009
  }
172410
175010
  }
172411
175011
  ]
@@ -254083,6 +256683,6 @@
254083
256683
  ],
254084
256684
  "helix": {
254085
256685
  "package": "@fusion.dev/helix",
254086
- "version": "0.185.0"
256686
+ "version": "0.186.1"
254087
256687
  }
254088
256688
  }