@fusion.dev/helix 0.32.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/custom-elements.json +1351 -169
  2. package/dist/aura/root/aura-root.css.js +4 -0
  3. package/dist/aura/root/aura-root.d.ts +64 -1
  4. package/dist/aura/root/aura-root.js +59 -4
  5. package/dist/bar-chart/root/bar-chart-root.css.js +4 -0
  6. package/dist/breadcrumbs/breadcrumb/breadcrumb.css.js +0 -4
  7. package/dist/carousel/root/carousel-root.css.js +4 -7
  8. package/dist/color-picker/root/color-picker-root.css.js +13 -3
  9. package/dist/date-picker/root/date-picker-root.css.js +0 -2
  10. package/dist/donut-chart/root/donut-chart-root.css.js +8 -0
  11. package/dist/drilldown/item/drilldown-item.css.js +0 -4
  12. package/dist/drilldown/root/drilldown-root.css.js +0 -4
  13. package/dist/heatmap/root/heatmap-root.d.ts +8 -0
  14. package/dist/menu/item/menu-item.css.js +0 -4
  15. package/dist/menu/root/menu-root.css.js +0 -4
  16. package/dist/object-inspector/root/object-inspector-root.css.js +0 -4
  17. package/dist/orb/root/orb-root.css.js +4 -0
  18. package/dist/orb/root/orb-root.d.ts +23 -0
  19. package/dist/orb/root/orb-root.js +28 -1
  20. package/dist/pagination/root/pagination-root.css.js +0 -4
  21. package/dist/pin-input/root/pin-input-root.css.js +1 -0
  22. package/dist/scatter-chart/root/scatter-chart-root.css.js +7 -2
  23. package/dist/scroll-area/root/scroll-area-root.css.js +9 -2
  24. package/dist/shared/chart/terminus.css.js +8 -0
  25. package/dist/slider/root/slider-root.css.js +43 -7
  26. package/dist/table/cell/table-cell.css.js +6 -1
  27. package/dist/tooltip/root/tooltip-root.css.js +16 -32
  28. package/dist/tour/root/tour-root.css.js +3 -2
  29. package/dist/tour/stop/tour-stop.css.js +13 -17
  30. package/dist/tree/item/tree-item.css.js +4 -0
  31. package/package.json +6 -6
  32. package/types/jsx.d.ts +1524 -636
  33. package/types/vue.d.ts +52 -20
@@ -434,7 +434,7 @@
434
434
  "text": "Promise<void>"
435
435
  },
436
436
  "readonly": true,
437
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
437
+ "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.",
438
438
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
439
439
  "inheritedFrom": {
440
440
  "name": "HelixElement",
@@ -1010,7 +1010,7 @@
1010
1010
  "text": "Promise<void>"
1011
1011
  },
1012
1012
  "readonly": true,
1013
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
1013
+ "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.",
1014
1014
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
1015
1015
  "inheritedFrom": {
1016
1016
  "name": "HelixElement",
@@ -1606,7 +1606,7 @@
1606
1606
  "text": "Promise<void>"
1607
1607
  },
1608
1608
  "readonly": true,
1609
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
1609
+ "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.",
1610
1610
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
1611
1611
  "inheritedFrom": {
1612
1612
  "name": "HelixElement",
@@ -2319,7 +2319,7 @@
2319
2319
  "text": "Promise<void>"
2320
2320
  },
2321
2321
  "readonly": true,
2322
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
2322
+ "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.",
2323
2323
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
2324
2324
  "inheritedFrom": {
2325
2325
  "name": "HelixElement",
@@ -3335,7 +3335,7 @@
3335
3335
  "text": "Promise<void>"
3336
3336
  },
3337
3337
  "readonly": true,
3338
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
3338
+ "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.",
3339
3339
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
3340
3340
  "inheritedFrom": {
3341
3341
  "name": "HelixElement",
@@ -3778,6 +3778,46 @@
3778
3778
  "module": "src/area-chart/root/area-chart-root.ts"
3779
3779
  }
3780
3780
  },
3781
+ {
3782
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
3783
+ "name": "tooltip-arrow-bottom",
3784
+ "inheritedFrom": {
3785
+ "name": "HelixHeadlessAreaChart",
3786
+ "module": "src/area-chart/root/area-chart-root.ts"
3787
+ }
3788
+ },
3789
+ {
3790
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
3791
+ "name": "tooltip-arrow-left",
3792
+ "inheritedFrom": {
3793
+ "name": "HelixHeadlessAreaChart",
3794
+ "module": "src/area-chart/root/area-chart-root.ts"
3795
+ }
3796
+ },
3797
+ {
3798
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
3799
+ "name": "tooltip-arrow-right",
3800
+ "inheritedFrom": {
3801
+ "name": "HelixHeadlessAreaChart",
3802
+ "module": "src/area-chart/root/area-chart-root.ts"
3803
+ }
3804
+ },
3805
+ {
3806
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
3807
+ "name": "tooltip-arrow-top",
3808
+ "inheritedFrom": {
3809
+ "name": "HelixHeadlessAreaChart",
3810
+ "module": "src/area-chart/root/area-chart-root.ts"
3811
+ }
3812
+ },
3813
+ {
3814
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
3815
+ "name": "tooltip-bottom",
3816
+ "inheritedFrom": {
3817
+ "name": "HelixHeadlessAreaChart",
3818
+ "module": "src/area-chart/root/area-chart-root.ts"
3819
+ }
3820
+ },
3781
3821
  {
3782
3822
  "description": "One column's name and value inside the tooltip.",
3783
3823
  "name": "tooltip-cell",
@@ -3794,6 +3834,14 @@
3794
3834
  "module": "src/area-chart/root/area-chart-root.ts"
3795
3835
  }
3796
3836
  },
3837
+ {
3838
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
3839
+ "name": "tooltip-left",
3840
+ "inheritedFrom": {
3841
+ "name": "HelixHeadlessAreaChart",
3842
+ "module": "src/area-chart/root/area-chart-root.ts"
3843
+ }
3844
+ },
3797
3845
  {
3798
3846
  "description": "A column's name inside the tooltip.",
3799
3847
  "name": "tooltip-name",
@@ -3802,6 +3850,22 @@
3802
3850
  "module": "src/area-chart/root/area-chart-root.ts"
3803
3851
  }
3804
3852
  },
3853
+ {
3854
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
3855
+ "name": "tooltip-right",
3856
+ "inheritedFrom": {
3857
+ "name": "HelixHeadlessAreaChart",
3858
+ "module": "src/area-chart/root/area-chart-root.ts"
3859
+ }
3860
+ },
3861
+ {
3862
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
3863
+ "name": "tooltip-top",
3864
+ "inheritedFrom": {
3865
+ "name": "HelixHeadlessAreaChart",
3866
+ "module": "src/area-chart/root/area-chart-root.ts"
3867
+ }
3868
+ },
3805
3869
  {
3806
3870
  "description": "A column's value inside the tooltip.",
3807
3871
  "name": "tooltip-value",
@@ -3961,7 +4025,7 @@
3961
4025
  "declarations": [
3962
4026
  {
3963
4027
  "kind": "class",
3964
- "description": "One fragment shader over a full-screen triangle, with the palette read from\nthe tokens rather than given as colors. A background written with hex values\nis an asset that has to be re-cut when the brand moves; one written against\n`--helix-color-primary` is a consequence of it.\n\n**Every shape ramps through four token stops**, and the token layer inverts\neach: the page's background, `primary-subtle`, `primary`, then a peak. The\npeak is the foreground on a dark page and `primary-active` on a light one,\nbecause mixing a saturated hue toward near-black takes the chroma out of the\npixels carrying most of it. Which way the page runs is read off the ground's\nown luminance rather than asked of the mode, which is a private token.\n\n**No dependency, and no scene graph.** The geometry is three vertices derived\nfrom `gl_VertexID`, so there is no attribute, no buffer and no upload.\n\n**It stops when nobody is looking**, off screen and in a background tab, and\n`prefers-reduced-motion` gets one still frame rather than an empty box.\n\nStyled only, and with behavior, which the tier split does not otherwise\nallow: the behavior is drawing to a canvas, so there is no structure a\nconsumer could restyle and nothing for a headless twin to hold.",
4028
+ "description": "One fragment shader over a full-screen triangle, with the palette read from\nthe tokens rather than given as colors. A background written with hex values\nis an asset that has to be re-cut when the brand moves; one written against\n`--helix-color-primary` is a consequence of it.\n\n**Every shape ramps through four token stops**, and the token layer inverts\neach: the page's background, `primary-subtle`, `primary`, then a peak. The\npeak is the foreground on a dark page and `primary-active` on a light one,\nbecause mixing a saturated hue toward near-black takes the chroma out of the\npixels carrying most of it. Which way the page runs is read off the ground's\nown luminance rather than asked of the mode, which is a private token.\n\n**No dependency, and no scene graph.** The geometry is three vertices derived\nfrom `gl_VertexID`, so there is no attribute, no buffer and no upload.\n\n**It stops when nobody is looking**, off screen and in a background tab, and\n`prefers-reduced-motion` gets one still frame rather than an empty box. A\ncontext the browser takes back, on a GPU reset or past its cap of about\nsixteen, stops it too, and the gradient shows until the context returns.\n\nStyled only, and with behavior, which the tier split does not otherwise\nallow: the behavior is drawing to a canvas, so there is no structure a\nconsumer could restyle and nothing for a headless twin to hold.",
3965
4029
  "name": "HelixAura",
3966
4030
  "cssParts": [
3967
4031
  {
@@ -4281,6 +4345,16 @@
4281
4345
  },
4282
4346
  "privacy": "private"
4283
4347
  },
4348
+ {
4349
+ "kind": "field",
4350
+ "name": "onScreen",
4351
+ "type": {
4352
+ "text": "boolean"
4353
+ },
4354
+ "privacy": "private",
4355
+ "default": "false",
4356
+ "description": "What the intersection observer last said, kept because it says so only on\na change: every other path to `play` has to ask it."
4357
+ },
4284
4358
  {
4285
4359
  "kind": "field",
4286
4360
  "name": "box",
@@ -4349,7 +4423,18 @@
4349
4423
  "text": "boolean"
4350
4424
  }
4351
4425
  },
4352
- "description": "The context and the program, from whatever canvas can still give one.\n\n**A canvas whose context was force-lost never yields a working one again.**\n`getContext` hands back the very same dead object, which reports\n`isContextLost()` and answers `null` to every `getShaderParameter`, so\n`link` fails, `start` returns before installing a single observer, and the\nelement sits connected and permanently blind, holding whatever buffer it\nlast painted. Measured on the landing page, where one remove-and-reinsert\nwas enough: the frozen frame was the 2x2 the first `measure` took before\nlayout, stretched across two screens as a gray smear that reads as a broken\ngradient rather than as a dead component. The only sound in the console was\n`getShaderInfoLog` answering `null`, twice per element.\n\nA spent canvas is therefore replaced rather than re-asked. `restoreContext`\nis the other way and is not reachable from here: it needs the `webglcontextlost`\nevent default-prevented and the extension held from before the loss, and it\nrestores asynchronously, so `start` would have to become a state machine to\nuse it. A fresh canvas is synchronous and cannot half-succeed."
4426
+ "description": "The context and the program, from whatever canvas can still give one.\n\n**A canvas whose context was force-lost never yields a working one again.**\n`getContext` hands back the very same dead object, which reports\n`isContextLost()` and answers `null` to every `getShaderParameter`, so\n`link` fails, `start` returns before installing a single observer, and the\nelement sits connected and permanently blind, holding whatever buffer it\nlast painted. Measured on the landing page, where one remove-and-reinsert\nwas enough: the frozen frame was the 2x2 the first `measure` took before\nlayout, stretched across two screens as a gray smear that reads as a broken\ngradient rather than as a dead component. The only sound in the console was\n`getShaderInfoLog` answering `null`, twice per element.\n\nA spent canvas is therefore replaced rather than re-asked. `restoreContext`\nis the other way and is not reachable from here: it needs the `webglcontextlost`\nevent default-prevented and the extension held from before the loss, and it\nrestores asynchronously, so `start` would have to become a state machine to\nuse it. A fresh canvas is synchronous and cannot half-succeed.\n\nThat is a context this element released. One the browser takes is not\nspent: `handleLost` asks for it back, and `start` waits for it rather than\ncoming here."
4427
+ },
4428
+ {
4429
+ "kind": "method",
4430
+ "name": "prepare",
4431
+ "privacy": "private",
4432
+ "return": {
4433
+ "type": {
4434
+ "text": "boolean"
4435
+ }
4436
+ },
4437
+ "description": "The program and where its uniforms live, on the context already held.\n\nApart from `build` because a restored context comes here alone. It is the\nsame object the browser took, with every program and location it had made\ngone, and `build` would replace a canvas that had been lost again before\nthis ran rather than wait for it a second time."
4353
4438
  },
4354
4439
  {
4355
4440
  "kind": "field",
@@ -4358,6 +4443,20 @@
4358
4443
  "readonly": true,
4359
4444
  "description": "Gives the context back, once nothing has claimed the element again.\n\n**The context is not released by dropping the reference.** A browser caps\nlive WebGL contexts at about sixteen and drops the oldest when a\nseventeenth is asked for, so a page that mounts and unmounts auras kills\nthe ones still on screen: the symptom is an aura elsewhere going blank,\nwhich looks like a fault in that element and is this one. The context\nbelongs to the canvas, and the canvas is held by the shadow root until the\nelement is collected, which is a moment nothing here controls and which is\nfar too late for a cap of sixteen. `WEBGL_lose_context` is the only way.\n\n**It spends the canvas**, which is what `build` is written around: the\ncanvas can never serve a context again and a returning element takes a\nfresh one."
4360
4445
  },
4446
+ {
4447
+ "kind": "field",
4448
+ "name": "handleLost",
4449
+ "privacy": "private",
4450
+ "readonly": true,
4451
+ "description": "Stops for a context the browser has taken, and asks for it back.\n\n**Taken on a GPU reset, and past the cap** of about sixteen, where the\nbrowser drops the oldest context for the newest while its aura is still on\nscreen. `tick` books its own next frame, so the loop went on at 30 frames a\nsecond against a context that draws nothing, and nothing made the program\nagain once the context came back: the aura never recovered.\n\n**The canvas is hidden until then, because a lost one is not reliably\ntransparent.** Measured 15 Sep 2026: headless Chromium painted a plain\ncanvas white with a broken-image glyph in its corner, force-lost and on a\ncrashed GPU process alike, while this one came out clear there and on\nMetal, and the landing page once held a spent one's last frame (`build`\nhas it). Hidden, it shows what a machine with no WebGL is shown, the host's\ngradient, whatever the engine does with a lost canvas.\n\n`preventDefault` is the asking: a browser restores only a context whose\nloss was canceled."
4452
+ },
4453
+ {
4454
+ "kind": "field",
4455
+ "name": "handleRestored",
4456
+ "privacy": "private",
4457
+ "readonly": true,
4458
+ "description": "Draws again on the context the browser gave back.\n\nEverything made on it went with the loss, so the program is linked again\nand the buffer measured as though it were new, which is what gives the new\nprogram its resolution."
4459
+ },
4361
4460
  {
4362
4461
  "kind": "method",
4363
4462
  "name": "readPalette",
@@ -4458,7 +4557,8 @@
4458
4557
  "type": {
4459
4558
  "text": "void"
4460
4559
  }
4461
- }
4560
+ },
4561
+ "description": "Starts the loop, where it is wanted and can be ended.\n\n**Never while detached.** `tick` books its own next frame, so the only\nthing that ends the loop is `stop`, and a disconnection is the last time\n`stop` is called. Everything that plays is canceled or disconnected there,\nand this holds for whatever callback was already on its way.\n\n**Nor off screen, whoever asks.** The observer is the one caller that\nknows, and a tab coming back, a resize and a restored context all play\ntoo. An aura 2600 pixels below the fold booked no frame at rest and one on\nevery frame after its tab came back, until it had been scrolled in and out\nagain. Nor on a lost context, which draws nothing."
4462
4562
  },
4463
4563
  {
4464
4564
  "kind": "method",
@@ -4674,7 +4774,7 @@
4674
4774
  "text": "Promise<void>"
4675
4775
  },
4676
4776
  "readonly": true,
4677
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
4777
+ "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.",
4678
4778
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
4679
4779
  "inheritedFrom": {
4680
4780
  "name": "HelixElement",
@@ -5401,7 +5501,7 @@
5401
5501
  "text": "Promise<void>"
5402
5502
  },
5403
5503
  "readonly": true,
5404
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
5504
+ "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.",
5405
5505
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
5406
5506
  "inheritedFrom": {
5407
5507
  "name": "HelixElement",
@@ -6025,7 +6125,7 @@
6025
6125
  "text": "Promise<void>"
6026
6126
  },
6027
6127
  "readonly": true,
6028
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
6128
+ "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.",
6029
6129
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
6030
6130
  "inheritedFrom": {
6031
6131
  "name": "HelixElement",
@@ -6655,7 +6755,7 @@
6655
6755
  "text": "Promise<void>"
6656
6756
  },
6657
6757
  "readonly": true,
6658
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
6758
+ "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.",
6659
6759
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
6660
6760
  "inheritedFrom": {
6661
6761
  "name": "HelixElement",
@@ -7760,7 +7860,7 @@
7760
7860
  "text": "Promise<void>"
7761
7861
  },
7762
7862
  "readonly": true,
7763
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
7863
+ "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.",
7764
7864
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
7765
7865
  "inheritedFrom": {
7766
7866
  "name": "HelixElement",
@@ -8318,6 +8418,46 @@
8318
8418
  "module": "src/bar-chart/root/bar-chart-root.ts"
8319
8419
  }
8320
8420
  },
8421
+ {
8422
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
8423
+ "name": "tooltip-arrow-bottom",
8424
+ "inheritedFrom": {
8425
+ "name": "HelixHeadlessBarChart",
8426
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8427
+ }
8428
+ },
8429
+ {
8430
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
8431
+ "name": "tooltip-arrow-left",
8432
+ "inheritedFrom": {
8433
+ "name": "HelixHeadlessBarChart",
8434
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8435
+ }
8436
+ },
8437
+ {
8438
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
8439
+ "name": "tooltip-arrow-right",
8440
+ "inheritedFrom": {
8441
+ "name": "HelixHeadlessBarChart",
8442
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8443
+ }
8444
+ },
8445
+ {
8446
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
8447
+ "name": "tooltip-arrow-top",
8448
+ "inheritedFrom": {
8449
+ "name": "HelixHeadlessBarChart",
8450
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8451
+ }
8452
+ },
8453
+ {
8454
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
8455
+ "name": "tooltip-bottom",
8456
+ "inheritedFrom": {
8457
+ "name": "HelixHeadlessBarChart",
8458
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8459
+ }
8460
+ },
8321
8461
  {
8322
8462
  "description": "One column's name and value inside the tooltip.",
8323
8463
  "name": "tooltip-cell",
@@ -8334,6 +8474,14 @@
8334
8474
  "module": "src/bar-chart/root/bar-chart-root.ts"
8335
8475
  }
8336
8476
  },
8477
+ {
8478
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
8479
+ "name": "tooltip-left",
8480
+ "inheritedFrom": {
8481
+ "name": "HelixHeadlessBarChart",
8482
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8483
+ }
8484
+ },
8337
8485
  {
8338
8486
  "description": "A column's name inside the tooltip.",
8339
8487
  "name": "tooltip-name",
@@ -8342,6 +8490,22 @@
8342
8490
  "module": "src/bar-chart/root/bar-chart-root.ts"
8343
8491
  }
8344
8492
  },
8493
+ {
8494
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
8495
+ "name": "tooltip-right",
8496
+ "inheritedFrom": {
8497
+ "name": "HelixHeadlessBarChart",
8498
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8499
+ }
8500
+ },
8501
+ {
8502
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
8503
+ "name": "tooltip-top",
8504
+ "inheritedFrom": {
8505
+ "name": "HelixHeadlessBarChart",
8506
+ "module": "src/bar-chart/root/bar-chart-root.ts"
8507
+ }
8508
+ },
8345
8509
  {
8346
8510
  "description": "A column's value inside the tooltip.",
8347
8511
  "name": "tooltip-value",
@@ -8573,7 +8737,7 @@
8573
8737
  "text": "Promise<void>"
8574
8738
  },
8575
8739
  "readonly": true,
8576
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
8740
+ "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.",
8577
8741
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
8578
8742
  "inheritedFrom": {
8579
8743
  "name": "HelixElement",
@@ -9189,7 +9353,7 @@
9189
9353
  "text": "Promise<void>"
9190
9354
  },
9191
9355
  "readonly": true,
9192
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
9356
+ "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.",
9193
9357
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
9194
9358
  "inheritedFrom": {
9195
9359
  "name": "HelixElement",
@@ -9696,7 +9860,7 @@
9696
9860
  "text": "Promise<void>"
9697
9861
  },
9698
9862
  "readonly": true,
9699
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
9863
+ "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.",
9700
9864
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
9701
9865
  "inheritedFrom": {
9702
9866
  "name": "HelixElement",
@@ -10192,7 +10356,7 @@
10192
10356
  "text": "Promise<void>"
10193
10357
  },
10194
10358
  "readonly": true,
10195
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
10359
+ "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.",
10196
10360
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
10197
10361
  "inheritedFrom": {
10198
10362
  "name": "HelixElement",
@@ -11252,7 +11416,7 @@
11252
11416
  "text": "Promise<void>"
11253
11417
  },
11254
11418
  "readonly": true,
11255
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
11419
+ "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.",
11256
11420
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
11257
11421
  "inheritedFrom": {
11258
11422
  "name": "HelixElement",
@@ -12010,7 +12174,7 @@
12010
12174
  "text": "Promise<void>"
12011
12175
  },
12012
12176
  "readonly": true,
12013
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
12177
+ "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.",
12014
12178
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
12015
12179
  "inheritedFrom": {
12016
12180
  "name": "HelixElement",
@@ -12579,7 +12743,7 @@
12579
12743
  "text": "Promise<void>"
12580
12744
  },
12581
12745
  "readonly": true,
12582
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
12746
+ "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.",
12583
12747
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
12584
12748
  "inheritedFrom": {
12585
12749
  "name": "HelixElement",
@@ -13261,7 +13425,7 @@
13261
13425
  "name": "handleIndicatorKeydown",
13262
13426
  "privacy": "private",
13263
13427
  "readonly": true,
13264
- "description": "The arrows move between indicators, which is the tablist pattern.\n\nOne tab stop for the set and the arrows within it, so a reader does not\nhave to press Tab once per slide to get past a carousel of twelve. Moving\nchanges the slide, because an indicator that could be focused without\nselecting would leave the highlight and the slide disagreeing with nothing\non screen saying which is which.",
13428
+ "description": "The arrows move between indicators, which is the tablist pattern.\n\nOne tab stop for the set and the arrows within it, so a reader does not\nhave to press Tab once per slide to get past a carousel of twelve. Moving\nchanges the slide, because an indicator that could be focused without\nselecting would leave the highlight and the slide disagreeing with nothing\non screen saying which is which.\n\nAlong the line, so on a right-to-left page, where the first indicator is on\nthe right, the left arrow is the one that moves on.",
13265
13429
  "inheritedFrom": {
13266
13430
  "name": "HelixHeadlessCarousel",
13267
13431
  "module": "src/carousel/root/carousel-root.ts"
@@ -13344,7 +13508,7 @@
13344
13508
  }
13345
13509
  }
13346
13510
  ],
13347
- "description": "Where a slide's leading edge sits, in the scroller's own coordinates.\n\n**Both directions go through here, because they have to agree.** The\noffsets are measured to the track's *border* box and `scrollTop` and\n`scrollLeft` are measured from its content box, so the two differ by the\nbleed: sending the carousel to a slide and reading back which slide it is\non used the same expression, and correcting one of them alone put a drag\none position off what the arrows did.\n\nUnsubtracted, the leading slide's own offset *is* the bleed, so scrolling\nto index 0 put its edge back on the clip edge. Measured on the insights\ncarousel: `scrollLeft` resting at 4 against a 4px bleed, the first card\nshaved, and no scrolling done to cause it.",
13511
+ "description": "Where a slide's leading edge sits, in the scroller's own coordinates.\n\n**Both directions go through here, because they have to agree.** The\noffsets are measured to the track's *border* box and `scrollTop` and\n`scrollLeft` are measured from its content box, so the two differ by the\nbleed: sending the carousel to a slide and reading back which slide it is\non used the same expression, and correcting one of them alone put a drag\none position off what the arrows did.\n\nUnsubtracted, the leading slide's own offset *is* the bleed, so scrolling\nto index 0 put its edge back on the clip edge. Measured on the insights\ncarousel: `scrollLeft` resting at 4 against a 4px bleed, the first card\nshaved, and no scrolling done to cause it.\n\n**On a right-to-left track the leading edge is the right one**, and\n`scrollLeft` counts down from zero as the track moves on. Measured from the\nleft, a carousel showing one slide at a time happened to come out right,\neach slide a whole track to the left of the one before it; one showing\nthree put every one of the first few slides at a positive offset the\nscroller cannot reach, so it clamped to zero and the next arrow moved the\ndots and not the slides. Measured in Chromium on the several-across\nexample: three presses of next, `index` at 2 and `scrollLeft` still at 0.",
13348
13512
  "inheritedFrom": {
13349
13513
  "name": "HelixHeadlessCarousel",
13350
13514
  "module": "src/carousel/root/carousel-root.ts"
@@ -13660,7 +13824,7 @@
13660
13824
  "text": "Promise<void>"
13661
13825
  },
13662
13826
  "readonly": true,
13663
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
13827
+ "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.",
13664
13828
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
13665
13829
  "inheritedFrom": {
13666
13830
  "name": "HelixElement",
@@ -14537,7 +14701,7 @@
14537
14701
  "text": "TemplateResult"
14538
14702
  }
14539
14703
  },
14540
- "description": "The control that offers the turn, behind a seam so a tier can draw its own.\n\n**A glyph with the label as its accessible name, rather than the label as\ntext.** The word \"Send\" beside a field is the widest thing in the row and\nsays nothing a return key does not. The return glyph is the mark because\nEnter is what actually sends, which `submit-on` says out loud: the control\nand the key are one affordance and should look like it. `send-label` is the\naccessible name rather than a visible one, so a screen reader still hears\nthe word.",
14704
+ "description": "The control that offers the turn, behind a seam so a tier can draw its own.\n\n**A glyph with the label as its accessible name, rather than the label as\ntext.** The word \"Send\" beside a field is the widest thing in the row and\nsays nothing a return key does not. The return glyph is the mark because\nEnter is what actually sends, which `submit-on` says out loud: the control\nand the key are one affordance and should look like it. `send-label` is the\naccessible name rather than a visible one, so a screen reader still hears\nthe word.\n\n**Not mirrored on a right-to-left page**, where every caret meaning next\nis. It pictures a key rather than a way to go, like the arrows `Kbd`\ndraws, and a picture of a key is not turned round with the text.",
14541
14705
  "inheritedFrom": {
14542
14706
  "name": "HelixHeadlessChatComposer",
14543
14707
  "module": "src/chat/composer/chat-composer.ts"
@@ -14671,7 +14835,7 @@
14671
14835
  "text": "Promise<void>"
14672
14836
  },
14673
14837
  "readonly": true,
14674
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
14838
+ "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.",
14675
14839
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
14676
14840
  "inheritedFrom": {
14677
14841
  "name": "HelixElement",
@@ -15605,7 +15769,7 @@
15605
15769
  "text": "Promise<void>"
15606
15770
  },
15607
15771
  "readonly": true,
15608
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
15772
+ "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.",
15609
15773
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
15610
15774
  "inheritedFrom": {
15611
15775
  "name": "HelixElement",
@@ -16142,6 +16306,14 @@
16142
16306
  "module": "src/chat/root/chat-root.ts"
16143
16307
  }
16144
16308
  },
16309
+ {
16310
+ "description": "The leading slot's box on a fed turn by `me`.",
16311
+ "name": "message-avatar-mine",
16312
+ "inheritedFrom": {
16313
+ "name": "HelixHeadlessChat",
16314
+ "module": "src/chat/root/chat-root.ts"
16315
+ }
16316
+ },
16145
16317
  {
16146
16318
  "description": "What a fed turn said, and the line under it.",
16147
16319
  "name": "message-body",
@@ -16150,6 +16322,14 @@
16150
16322
  "module": "src/chat/root/chat-root.ts"
16151
16323
  }
16152
16324
  },
16325
+ {
16326
+ "description": "What a fed turn by `me` said, and the line under it.",
16327
+ "name": "message-body-mine",
16328
+ "inheritedFrom": {
16329
+ "name": "HelixHeadlessChat",
16330
+ "module": "src/chat/root/chat-root.ts"
16331
+ }
16332
+ },
16153
16333
  {
16154
16334
  "description": "A fed turn's text.",
16155
16335
  "name": "message-content",
@@ -16158,6 +16338,30 @@
16158
16338
  "module": "src/chat/root/chat-root.ts"
16159
16339
  }
16160
16340
  },
16341
+ {
16342
+ "description": "The text of a fed turn by `me`.",
16343
+ "name": "message-content-mine",
16344
+ "inheritedFrom": {
16345
+ "name": "HelixHeadlessChat",
16346
+ "module": "src/chat/root/chat-root.ts"
16347
+ }
16348
+ },
16349
+ {
16350
+ "description": "A fed turn's text while it is `sending`.",
16351
+ "name": "message-content-sending",
16352
+ "inheritedFrom": {
16353
+ "name": "HelixHeadlessChat",
16354
+ "module": "src/chat/root/chat-root.ts"
16355
+ }
16356
+ },
16357
+ {
16358
+ "description": "A fed turn's text while it is `streaming`.",
16359
+ "name": "message-content-streaming",
16360
+ "inheritedFrom": {
16361
+ "name": "HelixHeadlessChat",
16362
+ "module": "src/chat/root/chat-root.ts"
16363
+ }
16364
+ },
16161
16365
  {
16162
16366
  "description": "A fed turn's default wait.",
16163
16367
  "name": "message-indicator",
@@ -16182,6 +16386,30 @@
16182
16386
  "module": "src/chat/root/chat-root.ts"
16183
16387
  }
16184
16388
  },
16389
+ {
16390
+ "description": "The line under a fed turn that `failed`, which says so.",
16391
+ "name": "message-meta-failed",
16392
+ "inheritedFrom": {
16393
+ "name": "HelixHeadlessChat",
16394
+ "module": "src/chat/root/chat-root.ts"
16395
+ }
16396
+ },
16397
+ {
16398
+ "description": "The line under a fed turn by `me`.",
16399
+ "name": "message-meta-mine",
16400
+ "inheritedFrom": {
16401
+ "name": "HelixHeadlessChat",
16402
+ "module": "src/chat/root/chat-root.ts"
16403
+ }
16404
+ },
16405
+ {
16406
+ "description": "A fed turn by `me`: the message drawn for it.",
16407
+ "name": "message-mine",
16408
+ "inheritedFrom": {
16409
+ "name": "HelixHeadlessChat",
16410
+ "module": "src/chat/root/chat-root.ts"
16411
+ }
16412
+ },
16185
16413
  {
16186
16414
  "description": "The control offered on a fed turn that failed.",
16187
16415
  "name": "message-retry",
@@ -17334,7 +17562,7 @@
17334
17562
  "text": "Promise<void>"
17335
17563
  },
17336
17564
  "readonly": true,
17337
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
17565
+ "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.",
17338
17566
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
17339
17567
  "inheritedFrom": {
17340
17568
  "name": "HelixElement",
@@ -18498,7 +18726,7 @@
18498
18726
  "text": "Promise<void>"
18499
18727
  },
18500
18728
  "readonly": true,
18501
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
18729
+ "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.",
18502
18730
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
18503
18731
  "inheritedFrom": {
18504
18732
  "name": "HelixElement",
@@ -19828,7 +20056,7 @@
19828
20056
  "text": "Promise<void>"
19829
20057
  },
19830
20058
  "readonly": true,
19831
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
20059
+ "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.",
19832
20060
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
19833
20061
  "inheritedFrom": {
19834
20062
  "name": "HelixElement",
@@ -20858,7 +21086,7 @@
20858
21086
  "text": "Promise<void>"
20859
21087
  },
20860
21088
  "readonly": true,
20861
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
21089
+ "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.",
20862
21090
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
20863
21091
  "inheritedFrom": {
20864
21092
  "name": "HelixElement",
@@ -21191,6 +21419,70 @@
21191
21419
  "module": "src/code-block/root/code-block-root.ts"
21192
21420
  }
21193
21421
  },
21422
+ {
21423
+ "description": "The point while the bubble is below the copy button, so on its top edge, beside `copy-tooltip-arrow`.",
21424
+ "name": "copy-tooltip-arrow-bottom",
21425
+ "inheritedFrom": {
21426
+ "name": "HelixHeadlessCodeBlock",
21427
+ "module": "src/code-block/root/code-block-root.ts"
21428
+ }
21429
+ },
21430
+ {
21431
+ "description": "The point while the bubble is left of the copy button, so on its right edge, beside `copy-tooltip-arrow`.",
21432
+ "name": "copy-tooltip-arrow-left",
21433
+ "inheritedFrom": {
21434
+ "name": "HelixHeadlessCodeBlock",
21435
+ "module": "src/code-block/root/code-block-root.ts"
21436
+ }
21437
+ },
21438
+ {
21439
+ "description": "The point while the bubble is right of the copy button, so on its left edge, beside `copy-tooltip-arrow`.",
21440
+ "name": "copy-tooltip-arrow-right",
21441
+ "inheritedFrom": {
21442
+ "name": "HelixHeadlessCodeBlock",
21443
+ "module": "src/code-block/root/code-block-root.ts"
21444
+ }
21445
+ },
21446
+ {
21447
+ "description": "The point while the bubble is above the copy button, so on its bottom edge, beside `copy-tooltip-arrow`.",
21448
+ "name": "copy-tooltip-arrow-top",
21449
+ "inheritedFrom": {
21450
+ "name": "HelixHeadlessCodeBlock",
21451
+ "module": "src/code-block/root/code-block-root.ts"
21452
+ }
21453
+ },
21454
+ {
21455
+ "description": "The bubble while it is below the copy button, beside `copy-tooltip`.",
21456
+ "name": "copy-tooltip-bottom",
21457
+ "inheritedFrom": {
21458
+ "name": "HelixHeadlessCodeBlock",
21459
+ "module": "src/code-block/root/code-block-root.ts"
21460
+ }
21461
+ },
21462
+ {
21463
+ "description": "The bubble while it is left of the copy button, beside `copy-tooltip`.",
21464
+ "name": "copy-tooltip-left",
21465
+ "inheritedFrom": {
21466
+ "name": "HelixHeadlessCodeBlock",
21467
+ "module": "src/code-block/root/code-block-root.ts"
21468
+ }
21469
+ },
21470
+ {
21471
+ "description": "The bubble while it is right of the copy button, beside `copy-tooltip`.",
21472
+ "name": "copy-tooltip-right",
21473
+ "inheritedFrom": {
21474
+ "name": "HelixHeadlessCodeBlock",
21475
+ "module": "src/code-block/root/code-block-root.ts"
21476
+ }
21477
+ },
21478
+ {
21479
+ "description": "The bubble while it is above the copy button, beside `copy-tooltip`.",
21480
+ "name": "copy-tooltip-top",
21481
+ "inheritedFrom": {
21482
+ "name": "HelixHeadlessCodeBlock",
21483
+ "module": "src/code-block/root/code-block-root.ts"
21484
+ }
21485
+ },
21194
21486
  {
21195
21487
  "description": "In a diff, one file's header and block.",
21196
21488
  "name": "file",
@@ -21554,7 +21846,7 @@
21554
21846
  "text": "Promise<void>"
21555
21847
  },
21556
21848
  "readonly": true,
21557
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
21849
+ "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.",
21558
21850
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
21559
21851
  "inheritedFrom": {
21560
21852
  "name": "HelixElement",
@@ -21946,13 +22238,36 @@
21946
22238
  "name": "panel",
21947
22239
  "privacy": "protected",
21948
22240
  "readonly": true,
21949
- "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
22241
+ "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), onPlace: (_placement, room) => this.placed(room), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
21950
22242
  "description": "The overlay, placed against the field rather than the trigger.\n\nAgainst the field because that is the box a reader sees as the control: a\ncalendar hung off a small button at one end of a wide field reads as\nbelonging to the button. `Select` anchors to its trigger for the opposite\nreason, its trigger being the whole control.",
21951
22243
  "inheritedFrom": {
21952
22244
  "name": "MixinPickerField",
21953
22245
  "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
21954
22246
  }
21955
22247
  },
22248
+ {
22249
+ "kind": "method",
22250
+ "name": "placed",
22251
+ "privacy": "protected",
22252
+ "return": {
22253
+ "type": {
22254
+ "text": "void"
22255
+ }
22256
+ },
22257
+ "parameters": [
22258
+ {
22259
+ "name": "_room",
22260
+ "type": {
22261
+ "text": "number | undefined"
22262
+ }
22263
+ }
22264
+ ],
22265
+ "description": "Told the panel has been placed, and how wide the window leaves it room to\nbe, in pixels.\n\nNothing, unless a family fits what its panel holds to the room it has.",
22266
+ "inheritedFrom": {
22267
+ "name": "MixinPickerField",
22268
+ "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
22269
+ }
22270
+ },
21956
22271
  {
21957
22272
  "kind": "field",
21958
22273
  "name": "anchor",
@@ -23049,7 +23364,7 @@
23049
23364
  "text": "Promise<void>"
23050
23365
  },
23051
23366
  "readonly": true,
23052
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
23367
+ "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.",
23053
23368
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
23054
23369
  "inheritedFrom": {
23055
23370
  "name": "HelixElement",
@@ -24937,7 +25252,7 @@
24937
25252
  "text": "Promise<void>"
24938
25253
  },
24939
25254
  "readonly": true,
24940
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
25255
+ "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.",
24941
25256
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
24942
25257
  "inheritedFrom": {
24943
25258
  "name": "HelixElement",
@@ -27245,7 +27560,7 @@
27245
27560
  "text": "Promise<void>"
27246
27561
  },
27247
27562
  "readonly": true,
27248
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
27563
+ "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.",
27249
27564
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
27250
27565
  "inheritedFrom": {
27251
27566
  "name": "HelixElement",
@@ -28661,7 +28976,7 @@
28661
28976
  "text": "Promise<void>"
28662
28977
  },
28663
28978
  "readonly": true,
28664
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
28979
+ "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.",
28665
28980
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
28666
28981
  "inheritedFrom": {
28667
28982
  "name": "HelixElement",
@@ -29985,7 +30300,7 @@
29985
30300
  "text": "Promise<void>"
29986
30301
  },
29987
30302
  "readonly": true,
29988
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
30303
+ "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.",
29989
30304
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
29990
30305
  "inheritedFrom": {
29991
30306
  "name": "HelixElement",
@@ -30494,6 +30809,70 @@
30494
30809
  "name": "HelixHeadlessCopyButton",
30495
30810
  "module": "src/copy-button/root/copy-button-root.ts"
30496
30811
  }
30812
+ },
30813
+ {
30814
+ "description": "The point while the bubble is below the button, so on its top edge, beside `tooltip-arrow`.",
30815
+ "name": "tooltip-arrow-bottom",
30816
+ "inheritedFrom": {
30817
+ "name": "HelixHeadlessCopyButton",
30818
+ "module": "src/copy-button/root/copy-button-root.ts"
30819
+ }
30820
+ },
30821
+ {
30822
+ "description": "The point while the bubble is left of the button, so on its right edge, beside `tooltip-arrow`.",
30823
+ "name": "tooltip-arrow-left",
30824
+ "inheritedFrom": {
30825
+ "name": "HelixHeadlessCopyButton",
30826
+ "module": "src/copy-button/root/copy-button-root.ts"
30827
+ }
30828
+ },
30829
+ {
30830
+ "description": "The point while the bubble is right of the button, so on its left edge, beside `tooltip-arrow`.",
30831
+ "name": "tooltip-arrow-right",
30832
+ "inheritedFrom": {
30833
+ "name": "HelixHeadlessCopyButton",
30834
+ "module": "src/copy-button/root/copy-button-root.ts"
30835
+ }
30836
+ },
30837
+ {
30838
+ "description": "The point while the bubble is above the button, so on its bottom edge, beside `tooltip-arrow`.",
30839
+ "name": "tooltip-arrow-top",
30840
+ "inheritedFrom": {
30841
+ "name": "HelixHeadlessCopyButton",
30842
+ "module": "src/copy-button/root/copy-button-root.ts"
30843
+ }
30844
+ },
30845
+ {
30846
+ "description": "The bubble while it is below the button, beside `tooltip`.",
30847
+ "name": "tooltip-bottom",
30848
+ "inheritedFrom": {
30849
+ "name": "HelixHeadlessCopyButton",
30850
+ "module": "src/copy-button/root/copy-button-root.ts"
30851
+ }
30852
+ },
30853
+ {
30854
+ "description": "The bubble while it is left of the button, beside `tooltip`.",
30855
+ "name": "tooltip-left",
30856
+ "inheritedFrom": {
30857
+ "name": "HelixHeadlessCopyButton",
30858
+ "module": "src/copy-button/root/copy-button-root.ts"
30859
+ }
30860
+ },
30861
+ {
30862
+ "description": "The bubble while it is right of the button, beside `tooltip`.",
30863
+ "name": "tooltip-right",
30864
+ "inheritedFrom": {
30865
+ "name": "HelixHeadlessCopyButton",
30866
+ "module": "src/copy-button/root/copy-button-root.ts"
30867
+ }
30868
+ },
30869
+ {
30870
+ "description": "The bubble while it is above the button, beside `tooltip`.",
30871
+ "name": "tooltip-top",
30872
+ "inheritedFrom": {
30873
+ "name": "HelixHeadlessCopyButton",
30874
+ "module": "src/copy-button/root/copy-button-root.ts"
30875
+ }
30497
30876
  }
30498
30877
  ],
30499
30878
  "events": [
@@ -31705,6 +32084,20 @@
31705
32084
  "module": "src/data-table/root/data-table-root.ts"
31706
32085
  }
31707
32086
  },
32087
+ {
32088
+ "kind": "field",
32089
+ "name": "shownColumns",
32090
+ "type": {
32091
+ "text": "HelixHeadlessTableColumn[]"
32092
+ },
32093
+ "privacy": "private",
32094
+ "description": "The columns drawn: the arranged ones less any that are hidden.\n\n**A hidden column takes no track and draws no cells.** Left in, its\nheading went and its track and its cell in every row stayed, so the header\nrow came up a heading short, the first cell filled the gap, and every row\nafter it began a column late. It keeps its place in `order` and in the\nsort, which are by field, so showing it again puts it back where it was.",
32095
+ "readonly": true,
32096
+ "inheritedFrom": {
32097
+ "name": "HelixHeadlessDataTable",
32098
+ "module": "src/data-table/root/data-table-root.ts"
32099
+ }
32100
+ },
31708
32101
  {
31709
32102
  "kind": "field",
31710
32103
  "name": "fields",
@@ -32013,7 +32406,42 @@
32013
32406
  }
32014
32407
  }
32015
32408
  ],
32016
- "description": "Moves a column by some places among the ones that move.",
32409
+ "description": "Moves a column by some places among the ones that move and are drawn.\n\nCounted among the drawn ones, so a key moves the heading past one a reader\ncan see: counted among all of them, a step past a hidden column changed the\norder and nothing on screen. A hidden column keeps its place among the rest.",
32410
+ "inheritedFrom": {
32411
+ "name": "HelixHeadlessDataTable",
32412
+ "module": "src/data-table/root/data-table-root.ts"
32413
+ }
32414
+ },
32415
+ {
32416
+ "kind": "method",
32417
+ "name": "placed",
32418
+ "privacy": "private",
32419
+ "return": {
32420
+ "type": {
32421
+ "text": "string[]"
32422
+ }
32423
+ },
32424
+ "parameters": [
32425
+ {
32426
+ "name": "field",
32427
+ "type": {
32428
+ "text": "string"
32429
+ }
32430
+ },
32431
+ {
32432
+ "name": "beside",
32433
+ "type": {
32434
+ "text": "string"
32435
+ }
32436
+ },
32437
+ {
32438
+ "name": "after",
32439
+ "type": {
32440
+ "text": "boolean"
32441
+ }
32442
+ }
32443
+ ],
32444
+ "description": "Every field in order, with one taken out and put back beside another.",
32017
32445
  "inheritedFrom": {
32018
32446
  "name": "HelixHeadlessDataTable",
32019
32447
  "module": "src/data-table/root/data-table-root.ts"
@@ -32027,7 +32455,7 @@
32027
32455
  "text": "string"
32028
32456
  }
32029
32457
  },
32030
- "description": "The result as CSV: every row the filter lets through, in the order on\nscreen, in the columns on screen, headed by their headings.\n\n**Values, not cells.** A cell may be a template, a badge or a link, so each\ncolumn gives its field's value, which is what a spreadsheet wants anyway.\nA column with no field has no value and is left out. In `server` mode this\nis the page it holds, which is all it can know.\n\n**A text value that a spreadsheet would run is quoted as text.** A cell\nopening with `=`, `+`, `-` or `@` is a formula to a spreadsheet, and a\nresult is often something a reader did not write: those values gain a\nleading apostrophe, the mark spreadsheets read as \"this is text\". Numbers are\nleft alone, so a negative one stays a number.",
32458
+ "description": "The result as CSV: every row the filter lets through, in the order on\nscreen, in the columns on screen, headed by their headings.\n\n**Values, not cells.** A cell may be a template, a badge or a link, so each\ncolumn gives its field's value, which is what a spreadsheet wants anyway.\nA column with no field has no value and is left out, and so is a hidden\none, which is not on screen. In `server` mode this is the page it holds,\nwhich is all it can know.\n\n**A text value that a spreadsheet would run is quoted as text.** A cell\nopening with `=`, `+`, `-` or `@` is a formula to a spreadsheet, and a\nresult is often something a reader did not write: those values gain a\nleading apostrophe, the mark spreadsheets read as \"this is text\". Numbers are\nleft alone, so a negative one stays a number.",
32031
32459
  "type": {
32032
32460
  "text": "csv() => string"
32033
32461
  },
@@ -32681,7 +33109,7 @@
32681
33109
  "text": "Promise<void>"
32682
33110
  },
32683
33111
  "readonly": true,
32684
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
33112
+ "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.",
32685
33113
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
32686
33114
  "inheritedFrom": {
32687
33115
  "name": "HelixElement",
@@ -33508,13 +33936,36 @@
33508
33936
  "name": "panel",
33509
33937
  "privacy": "protected",
33510
33938
  "readonly": true,
33511
- "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
33939
+ "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), onPlace: (_placement, room) => this.placed(room), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
33512
33940
  "description": "The overlay, placed against the field rather than the trigger.\n\nAgainst the field because that is the box a reader sees as the control: a\ncalendar hung off a small button at one end of a wide field reads as\nbelonging to the button. `Select` anchors to its trigger for the opposite\nreason, its trigger being the whole control.",
33513
33941
  "inheritedFrom": {
33514
33942
  "name": "MixinPickerField",
33515
33943
  "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
33516
33944
  }
33517
33945
  },
33946
+ {
33947
+ "kind": "method",
33948
+ "name": "placed",
33949
+ "privacy": "protected",
33950
+ "return": {
33951
+ "type": {
33952
+ "text": "void"
33953
+ }
33954
+ },
33955
+ "parameters": [
33956
+ {
33957
+ "name": "_room",
33958
+ "type": {
33959
+ "text": "number | undefined"
33960
+ }
33961
+ }
33962
+ ],
33963
+ "description": "Told the panel has been placed, and how wide the window leaves it room to\nbe, in pixels.\n\nNothing, unless a family fits what its panel holds to the room it has.",
33964
+ "inheritedFrom": {
33965
+ "name": "MixinPickerField",
33966
+ "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
33967
+ }
33968
+ },
33518
33969
  {
33519
33970
  "kind": "field",
33520
33971
  "name": "anchor",
@@ -34464,13 +34915,41 @@
34464
34915
  "text": "number"
34465
34916
  },
34466
34917
  "default": "1",
34467
- "description": "How many months the calendar shows, side by side.\n\nWorth more than one mainly for a range, where picking a start in March and\nan end in April otherwise means paging between them and losing sight of the\nfirst. The panel is sized by its content, so this widens it.",
34918
+ "description": "How many months the calendar shows, side by side.\n\nWorth more than one mainly for a range, where picking a start in March and\nan end in April otherwise means paging between them and losing sight of the\nfirst. The panel is sized by its content, so this widens it, and where the\nwindow has no room for that width it shows one month until there is.",
34468
34919
  "attribute": "months",
34469
34920
  "inheritedFrom": {
34470
34921
  "name": "HelixHeadlessDateInput",
34471
34922
  "module": "src/date-input/root/date-input-root.ts"
34472
34923
  }
34473
34924
  },
34925
+ {
34926
+ "kind": "field",
34927
+ "name": "fitted",
34928
+ "type": {
34929
+ "text": "number | undefined"
34930
+ },
34931
+ "privacy": "private",
34932
+ "default": "undefined",
34933
+ "description": "How many months the panel is showing, where that is fewer than `months`.\n\n**One month rather than a squeezed two**, and decided here rather than in a\nstylesheet because what changes is markup. Two months measure 600 pixels\nacross, measured 15 Sep 2026, and in a 390 window that ran past both\nedges. A rule could only clip them, which hides the next-month control with\nthe month it sits on, or stack them, which makes a panel taller than most\nof a phone. The count is behavior, as a carousel's per-view is.",
34934
+ "inheritedFrom": {
34935
+ "name": "HelixHeadlessDateInput",
34936
+ "module": "src/date-input/root/date-input-root.ts"
34937
+ }
34938
+ },
34939
+ {
34940
+ "kind": "field",
34941
+ "name": "wide",
34942
+ "type": {
34943
+ "text": "number | undefined"
34944
+ },
34945
+ "privacy": "private",
34946
+ "default": "undefined",
34947
+ "description": "How wide the panel was the last time it held every month, in pixels.\n\nMeasured rather than estimated, because a month's width is its locale's:\nthe weekday names set it. Remembered, so a panel showing one month knows\nwhat it would take to show them all, and the answer cannot flip back and\nforth between two measurements of different things.",
34948
+ "inheritedFrom": {
34949
+ "name": "HelixHeadlessDateInput",
34950
+ "module": "src/date-input/root/date-input-root.ts"
34951
+ }
34952
+ },
34474
34953
  {
34475
34954
  "kind": "field",
34476
34955
  "name": "placeholder",
@@ -34964,7 +35443,7 @@
34964
35443
  "text": "Promise<void>"
34965
35444
  },
34966
35445
  "readonly": true,
34967
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
35446
+ "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.",
34968
35447
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
34969
35448
  "inheritedFrom": {
34970
35449
  "name": "HelixElement",
@@ -35533,7 +36012,7 @@
35533
36012
  "text": "number"
35534
36013
  },
35535
36014
  "default": "1",
35536
- "description": "How many months the calendar shows, side by side.\n\nWorth more than one mainly for a range, where picking a start in March and\nan end in April otherwise means paging between them and losing sight of the\nfirst. The panel is sized by its content, so this widens it.",
36015
+ "description": "How many months the calendar shows, side by side.\n\nWorth more than one mainly for a range, where picking a start in March and\nan end in April otherwise means paging between them and losing sight of the\nfirst. The panel is sized by its content, so this widens it, and where the\nwindow has no room for that width it shows one month until there is.",
35537
36016
  "fieldName": "months",
35538
36017
  "inheritedFrom": {
35539
36018
  "name": "HelixHeadlessDateInput",
@@ -37154,7 +37633,7 @@
37154
37633
  "text": "Promise<void>"
37155
37634
  },
37156
37635
  "readonly": true,
37157
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
37636
+ "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.",
37158
37637
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
37159
37638
  "inheritedFrom": {
37160
37639
  "name": "HelixElement",
@@ -38140,7 +38619,7 @@
38140
38619
  "text": "Promise<void>"
38141
38620
  },
38142
38621
  "readonly": true,
38143
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
38622
+ "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.",
38144
38623
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
38145
38624
  "inheritedFrom": {
38146
38625
  "name": "HelixElement",
@@ -38633,7 +39112,7 @@
38633
39112
  "text": "Promise<void>"
38634
39113
  },
38635
39114
  "readonly": true,
38636
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
39115
+ "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.",
38637
39116
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
38638
39117
  "inheritedFrom": {
38639
39118
  "name": "HelixElement",
@@ -39503,7 +39982,7 @@
39503
39982
  "text": "Promise<void>"
39504
39983
  },
39505
39984
  "readonly": true,
39506
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
39985
+ "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.",
39507
39986
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
39508
39987
  "inheritedFrom": {
39509
39988
  "name": "HelixElement",
@@ -40230,7 +40709,7 @@
40230
40709
  "text": "Promise<void>"
40231
40710
  },
40232
40711
  "readonly": true,
40233
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
40712
+ "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.",
40234
40713
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
40235
40714
  "inheritedFrom": {
40236
40715
  "name": "HelixElement",
@@ -40799,6 +41278,20 @@
40799
41278
  "module": "src/donut-chart/root/donut-chart-root.ts"
40800
41279
  }
40801
41280
  },
41281
+ {
41282
+ "kind": "field",
41283
+ "name": "origin",
41284
+ "type": {
41285
+ "text": "number"
41286
+ },
41287
+ "privacy": "private",
41288
+ "description": "Where the first slice starts, as an angle from three o'clock.\n\nTwelve for a whole ring and nine for a half, the turns the stylesheet gives\nthe circles. Anything drawn or placed by arithmetic has to start from the\nsame place, or it describes a slice the ring is not showing there.",
41289
+ "readonly": true,
41290
+ "inheritedFrom": {
41291
+ "name": "HelixHeadlessDonutChart",
41292
+ "module": "src/donut-chart/root/donut-chart-root.ts"
41293
+ }
41294
+ },
40802
41295
  {
40803
41296
  "kind": "field",
40804
41297
  "name": "thickness",
@@ -40929,7 +41422,7 @@
40929
41422
  }
40930
41423
  }
40931
41424
  ],
40932
- "description": "The same slice again, as a shape with an inside.\n\n**A stroked arc has no boundary to draw, which is why this exists.** The\nsegment above is a dash on a circle: the mark *is* the edge, so there is\nnothing for an outline to trace and nothing within it to fade. Anything\nwanting those two separately needs the slice as a closed path, and this is\nit: the outer arc, a step inward, the inner arc back, closed.\n\n**Rendered always and painted only sometimes**, which is what keeps this on\nthis tier. Whether a boundary is drawn is a styled question and the answer\nlives in a stylesheet; whether the geometry a boundary would need exists at\nall is structural, and a component cannot conjure a shape from CSS. So the\npath is here for every donut and is `fill: none; stroke: none` until\nsomething asks for it.\n\n**Not a replacement for the dash.** The dash carries three jobs and only\none of them is the shape: a share growing is a `stroke-dasharray`\ninterpolating with no reflow, and `@starting-style` on that same property is\nthe whole reason the ring sweeps in rather than appearing. A `d` cannot do\neither. CSS interpolates one only between paths of identical command\nstructure, and the large-arc flag flips the moment a slice crosses a half\nturn, so a growing slice would pop partway through the transition it was\nmeant to smooth. Both animations stay on the dash and this path follows it.\n\nThe turn to twelve o'clock is arithmetic here rather than the rotation the\nstylesheet gives the circles. That rule uses `transform-box: fill-box`, so\nit spins each element about its own bounding box, which is the ring's center\nfor a circle and is not for a sector.",
41425
+ "description": "The same slice again, as a shape with an inside.\n\n**A stroked arc has no boundary to draw, which is why this exists.** The\nsegment above is a dash on a circle: the mark *is* the edge, so there is\nnothing for an outline to trace and nothing within it to fade. Anything\nwanting those two separately needs the slice as a closed path, and this is\nit: the outer arc, a step inward, the inner arc back, closed.\n\n**Rendered always and painted only sometimes**, which is what keeps this on\nthis tier. Whether a boundary is drawn is a styled question and the answer\nlives in a stylesheet; whether the geometry a boundary would need exists at\nall is structural, and a component cannot conjure a shape from CSS. So the\npath is here for every donut and is `fill: none; stroke: none` until\nsomething asks for it.\n\n**Not a replacement for the dash.** The dash carries three jobs and only\none of them is the shape: a share growing is a `stroke-dasharray`\ninterpolating with no reflow, and `@starting-style` on that same property is\nthe whole reason the ring sweeps in rather than appearing. A `d` cannot do\neither. CSS interpolates one only between paths of identical command\nstructure, and the large-arc flag flips the moment a slice crosses a half\nturn, so a growing slice would pop partway through the transition it was\nmeant to smooth. Both animations stay on the dash and this path follows it.\n\nThe turn to twelve o'clock, or to nine for a half, is `origin` here rather\nthan the rotation the stylesheet gives the circles. That rule uses\n`transform-box: fill-box`, so it spins each element about its own bounding\nbox, which is the ring's center for a circle and is not for a sector.",
40933
41426
  "inheritedFrom": {
40934
41427
  "name": "HelixHeadlessDonutChart",
40935
41428
  "module": "src/donut-chart/root/donut-chart-root.ts"
@@ -41046,7 +41539,7 @@
41046
41539
  "text": "Promise<void>"
41047
41540
  },
41048
41541
  "readonly": true,
41049
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
41542
+ "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.",
41050
41543
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
41051
41544
  "inheritedFrom": {
41052
41545
  "name": "HelixElement",
@@ -41472,6 +41965,46 @@
41472
41965
  "module": "src/donut-chart/root/donut-chart-root.ts"
41473
41966
  }
41474
41967
  },
41968
+ {
41969
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
41970
+ "name": "tooltip-arrow-bottom",
41971
+ "inheritedFrom": {
41972
+ "name": "HelixHeadlessDonutChart",
41973
+ "module": "src/donut-chart/root/donut-chart-root.ts"
41974
+ }
41975
+ },
41976
+ {
41977
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
41978
+ "name": "tooltip-arrow-left",
41979
+ "inheritedFrom": {
41980
+ "name": "HelixHeadlessDonutChart",
41981
+ "module": "src/donut-chart/root/donut-chart-root.ts"
41982
+ }
41983
+ },
41984
+ {
41985
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
41986
+ "name": "tooltip-arrow-right",
41987
+ "inheritedFrom": {
41988
+ "name": "HelixHeadlessDonutChart",
41989
+ "module": "src/donut-chart/root/donut-chart-root.ts"
41990
+ }
41991
+ },
41992
+ {
41993
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
41994
+ "name": "tooltip-arrow-top",
41995
+ "inheritedFrom": {
41996
+ "name": "HelixHeadlessDonutChart",
41997
+ "module": "src/donut-chart/root/donut-chart-root.ts"
41998
+ }
41999
+ },
42000
+ {
42001
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
42002
+ "name": "tooltip-bottom",
42003
+ "inheritedFrom": {
42004
+ "name": "HelixHeadlessDonutChart",
42005
+ "module": "src/donut-chart/root/donut-chart-root.ts"
42006
+ }
42007
+ },
41475
42008
  {
41476
42009
  "description": "One column's name and value inside the tooltip.",
41477
42010
  "name": "tooltip-cell",
@@ -41488,6 +42021,14 @@
41488
42021
  "module": "src/donut-chart/root/donut-chart-root.ts"
41489
42022
  }
41490
42023
  },
42024
+ {
42025
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
42026
+ "name": "tooltip-left",
42027
+ "inheritedFrom": {
42028
+ "name": "HelixHeadlessDonutChart",
42029
+ "module": "src/donut-chart/root/donut-chart-root.ts"
42030
+ }
42031
+ },
41491
42032
  {
41492
42033
  "description": "A column's name inside the tooltip.",
41493
42034
  "name": "tooltip-name",
@@ -41496,6 +42037,22 @@
41496
42037
  "module": "src/donut-chart/root/donut-chart-root.ts"
41497
42038
  }
41498
42039
  },
42040
+ {
42041
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
42042
+ "name": "tooltip-right",
42043
+ "inheritedFrom": {
42044
+ "name": "HelixHeadlessDonutChart",
42045
+ "module": "src/donut-chart/root/donut-chart-root.ts"
42046
+ }
42047
+ },
42048
+ {
42049
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
42050
+ "name": "tooltip-top",
42051
+ "inheritedFrom": {
42052
+ "name": "HelixHeadlessDonutChart",
42053
+ "module": "src/donut-chart/root/donut-chart-root.ts"
42054
+ }
42055
+ },
41499
42056
  {
41500
42057
  "description": "A column's value inside the tooltip.",
41501
42058
  "name": "tooltip-value",
@@ -42042,7 +42599,7 @@
42042
42599
  "text": "Promise<void>"
42043
42600
  },
42044
42601
  "readonly": true,
42045
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
42602
+ "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.",
42046
42603
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
42047
42604
  "inheritedFrom": {
42048
42605
  "name": "HelixElement",
@@ -42771,7 +43328,7 @@
42771
43328
  "text": "Promise<void>"
42772
43329
  },
42773
43330
  "readonly": true,
42774
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
43331
+ "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.",
42775
43332
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
42776
43333
  "inheritedFrom": {
42777
43334
  "name": "HelixElement",
@@ -43619,7 +44176,7 @@
43619
44176
  "text": "Promise<void>"
43620
44177
  },
43621
44178
  "readonly": true,
43622
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
44179
+ "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.",
43623
44180
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
43624
44181
  "inheritedFrom": {
43625
44182
  "name": "HelixElement",
@@ -44229,7 +44786,7 @@
44229
44786
  "text": "Promise<void>"
44230
44787
  },
44231
44788
  "readonly": true,
44232
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
44789
+ "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.",
44233
44790
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
44234
44791
  "inheritedFrom": {
44235
44792
  "name": "HelixElement",
@@ -45427,7 +45984,7 @@
45427
45984
  "text": "Promise<void>"
45428
45985
  },
45429
45986
  "readonly": true,
45430
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
45987
+ "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.",
45431
45988
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
45432
45989
  "inheritedFrom": {
45433
45990
  "name": "HelixElement",
@@ -46385,7 +46942,7 @@
46385
46942
  "text": "Promise<void>"
46386
46943
  },
46387
46944
  "readonly": true,
46388
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
46945
+ "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.",
46389
46946
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
46390
46947
  "inheritedFrom": {
46391
46948
  "name": "HelixElement",
@@ -47032,7 +47589,7 @@
47032
47589
  "text": "Promise<void>"
47033
47590
  },
47034
47591
  "readonly": true,
47035
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
47592
+ "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.",
47036
47593
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
47037
47594
  "inheritedFrom": {
47038
47595
  "name": "HelixElement",
@@ -47696,7 +48253,7 @@
47696
48253
  "text": "Promise<void>"
47697
48254
  },
47698
48255
  "readonly": true,
47699
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
48256
+ "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.",
47700
48257
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
47701
48258
  "inheritedFrom": {
47702
48259
  "name": "HelixElement",
@@ -48329,7 +48886,7 @@
48329
48886
  "text": "Promise<void>"
48330
48887
  },
48331
48888
  "readonly": true,
48332
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
48889
+ "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.",
48333
48890
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
48334
48891
  "inheritedFrom": {
48335
48892
  "name": "HelixElement",
@@ -50247,7 +50804,7 @@
50247
50804
  "text": "Promise<void>"
50248
50805
  },
50249
50806
  "readonly": true,
50250
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
50807
+ "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.",
50251
50808
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
50252
50809
  "inheritedFrom": {
50253
50810
  "name": "HelixElement",
@@ -51253,7 +51810,7 @@
51253
51810
  "text": "Promise<void>"
51254
51811
  },
51255
51812
  "readonly": true,
51256
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
51813
+ "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.",
51257
51814
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
51258
51815
  "inheritedFrom": {
51259
51816
  "name": "HelixElement",
@@ -52031,7 +52588,7 @@
52031
52588
  "text": "Promise<void>"
52032
52589
  },
52033
52590
  "readonly": true,
52034
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
52591
+ "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.",
52035
52592
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
52036
52593
  "inheritedFrom": {
52037
52594
  "name": "HelixElement",
@@ -52678,7 +53235,7 @@
52678
53235
  "text": "Promise<void>"
52679
53236
  },
52680
53237
  "readonly": true,
52681
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
53238
+ "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.",
52682
53239
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
52683
53240
  "inheritedFrom": {
52684
53241
  "name": "HelixElement",
@@ -53254,6 +53811,46 @@
53254
53811
  "module": "src/heatmap/root/heatmap-root.ts"
53255
53812
  }
53256
53813
  },
53814
+ {
53815
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
53816
+ "name": "tooltip-arrow-bottom",
53817
+ "inheritedFrom": {
53818
+ "name": "HelixHeadlessHeatmap",
53819
+ "module": "src/heatmap/root/heatmap-root.ts"
53820
+ }
53821
+ },
53822
+ {
53823
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
53824
+ "name": "tooltip-arrow-left",
53825
+ "inheritedFrom": {
53826
+ "name": "HelixHeadlessHeatmap",
53827
+ "module": "src/heatmap/root/heatmap-root.ts"
53828
+ }
53829
+ },
53830
+ {
53831
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
53832
+ "name": "tooltip-arrow-right",
53833
+ "inheritedFrom": {
53834
+ "name": "HelixHeadlessHeatmap",
53835
+ "module": "src/heatmap/root/heatmap-root.ts"
53836
+ }
53837
+ },
53838
+ {
53839
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
53840
+ "name": "tooltip-arrow-top",
53841
+ "inheritedFrom": {
53842
+ "name": "HelixHeadlessHeatmap",
53843
+ "module": "src/heatmap/root/heatmap-root.ts"
53844
+ }
53845
+ },
53846
+ {
53847
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
53848
+ "name": "tooltip-bottom",
53849
+ "inheritedFrom": {
53850
+ "name": "HelixHeadlessHeatmap",
53851
+ "module": "src/heatmap/root/heatmap-root.ts"
53852
+ }
53853
+ },
53257
53854
  {
53258
53855
  "description": "One column's name and value inside the tooltip.",
53259
53856
  "name": "tooltip-cell",
@@ -53270,6 +53867,14 @@
53270
53867
  "module": "src/heatmap/root/heatmap-root.ts"
53271
53868
  }
53272
53869
  },
53870
+ {
53871
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
53872
+ "name": "tooltip-left",
53873
+ "inheritedFrom": {
53874
+ "name": "HelixHeadlessHeatmap",
53875
+ "module": "src/heatmap/root/heatmap-root.ts"
53876
+ }
53877
+ },
53273
53878
  {
53274
53879
  "description": "A column's name inside the tooltip.",
53275
53880
  "name": "tooltip-name",
@@ -53278,6 +53883,22 @@
53278
53883
  "module": "src/heatmap/root/heatmap-root.ts"
53279
53884
  }
53280
53885
  },
53886
+ {
53887
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
53888
+ "name": "tooltip-right",
53889
+ "inheritedFrom": {
53890
+ "name": "HelixHeadlessHeatmap",
53891
+ "module": "src/heatmap/root/heatmap-root.ts"
53892
+ }
53893
+ },
53894
+ {
53895
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
53896
+ "name": "tooltip-top",
53897
+ "inheritedFrom": {
53898
+ "name": "HelixHeadlessHeatmap",
53899
+ "module": "src/heatmap/root/heatmap-root.ts"
53900
+ }
53901
+ },
53281
53902
  {
53282
53903
  "description": "A column's value inside the tooltip.",
53283
53904
  "name": "tooltip-value",
@@ -53516,7 +54137,7 @@
53516
54137
  "text": "number"
53517
54138
  },
53518
54139
  "default": "1",
53519
- "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 left to right\nin weeks and top to bottom in days.",
54140
+ "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.",
53520
54141
  "attribute": "rows",
53521
54142
  "inheritedFrom": {
53522
54143
  "name": "HelixHeadlessHeatmap",
@@ -53914,7 +54535,7 @@
53914
54535
  "text": "Promise<void>"
53915
54536
  },
53916
54537
  "readonly": true,
53917
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
54538
+ "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.",
53918
54539
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
53919
54540
  "inheritedFrom": {
53920
54541
  "name": "HelixElement",
@@ -54248,7 +54869,7 @@
54248
54869
  "text": "number"
54249
54870
  },
54250
54871
  "default": "1",
54251
- "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 left to right\nin weeks and top to bottom in days.",
54872
+ "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.",
54252
54873
  "fieldName": "rows",
54253
54874
  "inheritedFrom": {
54254
54875
  "name": "HelixHeadlessHeatmap",
@@ -55034,7 +55655,7 @@
55034
55655
  "text": "Promise<void>"
55035
55656
  },
55036
55657
  "readonly": true,
55037
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
55658
+ "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.",
55038
55659
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
55039
55660
  "inheritedFrom": {
55040
55661
  "name": "HelixElement",
@@ -55600,6 +56221,20 @@
55600
56221
  "module": "src/icon/root/icon-root.ts"
55601
56222
  }
55602
56223
  },
56224
+ {
56225
+ "kind": "field",
56226
+ "name": "mirror",
56227
+ "type": {
56228
+ "text": "boolean"
56229
+ },
56230
+ "default": "false",
56231
+ "description": "Turns the glyph round on a right-to-left page, for an arrow meaning forward or back.\n\nAsked for rather than inferred from the name. The names are physical, and\n`arrow-left` drawn pointing right on an Arabic page would be the icon\ndisagreeing with its own name for every reader who meant the left.",
56232
+ "attribute": "mirror",
56233
+ "inheritedFrom": {
56234
+ "name": "HelixHeadlessIcon",
56235
+ "module": "src/icon/root/icon-root.ts"
56236
+ }
56237
+ },
55603
56238
  {
55604
56239
  "kind": "field",
55605
56240
  "name": "name",
@@ -55724,7 +56359,7 @@
55724
56359
  "text": "Promise<void>"
55725
56360
  },
55726
56361
  "readonly": true,
55727
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
56362
+ "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.",
55728
56363
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
55729
56364
  "inheritedFrom": {
55730
56365
  "name": "HelixElement",
@@ -55984,6 +56619,19 @@
55984
56619
  "module": "src/icon/root/icon-root.ts"
55985
56620
  }
55986
56621
  },
56622
+ {
56623
+ "name": "mirror",
56624
+ "type": {
56625
+ "text": "boolean"
56626
+ },
56627
+ "default": "false",
56628
+ "description": "Turns the glyph round on a right-to-left page, for an arrow meaning forward or back.\n\nAsked for rather than inferred from the name. The names are physical, and\n`arrow-left` drawn pointing right on an Arabic page would be the icon\ndisagreeing with its own name for every reader who meant the left.",
56629
+ "fieldName": "mirror",
56630
+ "inheritedFrom": {
56631
+ "name": "HelixHeadlessIcon",
56632
+ "module": "src/icon/root/icon-root.ts"
56633
+ }
56634
+ },
55987
56635
  {
55988
56636
  "name": "name",
55989
56637
  "type": {
@@ -56516,7 +57164,7 @@
56516
57164
  "text": "Promise<void>"
56517
57165
  },
56518
57166
  "readonly": true,
56519
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
57167
+ "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.",
56520
57168
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
56521
57169
  "inheritedFrom": {
56522
57170
  "name": "HelixElement",
@@ -58913,7 +59561,7 @@
58913
59561
  "text": "Promise<void>"
58914
59562
  },
58915
59563
  "readonly": true,
58916
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
59564
+ "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.",
58917
59565
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
58918
59566
  "inheritedFrom": {
58919
59567
  "name": "HelixElement",
@@ -59891,7 +60539,7 @@
59891
60539
  "text": "Promise<void>"
59892
60540
  },
59893
60541
  "readonly": true,
59894
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
60542
+ "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.",
59895
60543
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
59896
60544
  "inheritedFrom": {
59897
60545
  "name": "HelixElement",
@@ -60519,7 +61167,7 @@
60519
61167
  "text": "Promise<void>"
60520
61168
  },
60521
61169
  "readonly": true,
60522
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
61170
+ "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.",
60523
61171
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
60524
61172
  "inheritedFrom": {
60525
61173
  "name": "HelixElement",
@@ -61206,7 +61854,7 @@
61206
61854
  "type": {
61207
61855
  "text": "'none' | 'ring' | 'square' | 'triangle' | undefined"
61208
61856
  },
61209
- "description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the right edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. The shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
61857
+ "description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. The shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
61210
61858
  "attribute": "terminus",
61211
61859
  "reflects": true,
61212
61860
  "inheritedFrom": {
@@ -61613,7 +62261,7 @@
61613
62261
  "text": "Promise<void>"
61614
62262
  },
61615
62263
  "readonly": true,
61616
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
62264
+ "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.",
61617
62265
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
61618
62266
  "inheritedFrom": {
61619
62267
  "name": "HelixElement",
@@ -61913,7 +62561,7 @@
61913
62561
  "type": {
61914
62562
  "text": "'none' | 'ring' | 'square' | 'triangle' | undefined"
61915
62563
  },
61916
- "description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the right edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. The shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
62564
+ "description": "The shape of the mark on each series' last reading.\n\nAbsent is a dot, and absent rather than defaulted because a reflecting\nproperty with a default writes its attribute onto a host the consumer\nrendered, which React reports as a hydration mismatch.\n\n**One per series, in a column at the far edge**, because every series here\nshares an x-axis and therefore ends at the same reading. That column is the\nuseful thing: it is where a reader looks for \"and what is it now\", which is\nthe question a sparkline's single mark answers too.\n\n`none` lets the lines stop on their own, which suits a chart read for its\nshape rather than for where it finished. The shapes come from\n`helix/styled/src/shared/chart/terminus.css`, the same sheet `Sparkline` takes, so\nthe set is identical wherever one appears.\n\n`ring` is the one that asks something of the drawing. It leaves a hole and a\nline ends at the reading, which is the hole's center, so the `<svg>` is\nmasked with one disc per series and every stroke stops at its own ring's\ninner edge. `mask-composite: intersect` is what makes N holes out of N\nlayers; a single `mask-image` would only ever cut the last one.",
61917
62565
  "fieldName": "terminus",
61918
62566
  "inheritedFrom": {
61919
62567
  "name": "HelixHeadlessLineChart",
@@ -62132,6 +62780,46 @@
62132
62780
  "module": "src/line-chart/root/line-chart-root.ts"
62133
62781
  }
62134
62782
  },
62783
+ {
62784
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
62785
+ "name": "tooltip-arrow-bottom",
62786
+ "inheritedFrom": {
62787
+ "name": "HelixHeadlessLineChart",
62788
+ "module": "src/line-chart/root/line-chart-root.ts"
62789
+ }
62790
+ },
62791
+ {
62792
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
62793
+ "name": "tooltip-arrow-left",
62794
+ "inheritedFrom": {
62795
+ "name": "HelixHeadlessLineChart",
62796
+ "module": "src/line-chart/root/line-chart-root.ts"
62797
+ }
62798
+ },
62799
+ {
62800
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
62801
+ "name": "tooltip-arrow-right",
62802
+ "inheritedFrom": {
62803
+ "name": "HelixHeadlessLineChart",
62804
+ "module": "src/line-chart/root/line-chart-root.ts"
62805
+ }
62806
+ },
62807
+ {
62808
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
62809
+ "name": "tooltip-arrow-top",
62810
+ "inheritedFrom": {
62811
+ "name": "HelixHeadlessLineChart",
62812
+ "module": "src/line-chart/root/line-chart-root.ts"
62813
+ }
62814
+ },
62815
+ {
62816
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
62817
+ "name": "tooltip-bottom",
62818
+ "inheritedFrom": {
62819
+ "name": "HelixHeadlessLineChart",
62820
+ "module": "src/line-chart/root/line-chart-root.ts"
62821
+ }
62822
+ },
62135
62823
  {
62136
62824
  "description": "One column's name and value inside the tooltip.",
62137
62825
  "name": "tooltip-cell",
@@ -62148,6 +62836,14 @@
62148
62836
  "module": "src/line-chart/root/line-chart-root.ts"
62149
62837
  }
62150
62838
  },
62839
+ {
62840
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
62841
+ "name": "tooltip-left",
62842
+ "inheritedFrom": {
62843
+ "name": "HelixHeadlessLineChart",
62844
+ "module": "src/line-chart/root/line-chart-root.ts"
62845
+ }
62846
+ },
62151
62847
  {
62152
62848
  "description": "A column's name inside the tooltip.",
62153
62849
  "name": "tooltip-name",
@@ -62156,6 +62852,22 @@
62156
62852
  "module": "src/line-chart/root/line-chart-root.ts"
62157
62853
  }
62158
62854
  },
62855
+ {
62856
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
62857
+ "name": "tooltip-right",
62858
+ "inheritedFrom": {
62859
+ "name": "HelixHeadlessLineChart",
62860
+ "module": "src/line-chart/root/line-chart-root.ts"
62861
+ }
62862
+ },
62863
+ {
62864
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
62865
+ "name": "tooltip-top",
62866
+ "inheritedFrom": {
62867
+ "name": "HelixHeadlessLineChart",
62868
+ "module": "src/line-chart/root/line-chart-root.ts"
62869
+ }
62870
+ },
62159
62871
  {
62160
62872
  "description": "A column's value inside the tooltip.",
62161
62873
  "name": "tooltip-value",
@@ -62449,7 +63161,7 @@
62449
63161
  "text": "Promise<void>"
62450
63162
  },
62451
63163
  "readonly": true,
62452
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
63164
+ "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.",
62453
63165
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
62454
63166
  "inheritedFrom": {
62455
63167
  "name": "HelixElement",
@@ -63011,7 +63723,7 @@
63011
63723
  "text": "Promise<void>"
63012
63724
  },
63013
63725
  "readonly": true,
63014
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
63726
+ "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.",
63015
63727
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
63016
63728
  "inheritedFrom": {
63017
63729
  "name": "HelixElement",
@@ -64709,7 +65421,7 @@
64709
65421
  "text": "Promise<void>"
64710
65422
  },
64711
65423
  "readonly": true,
64712
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
65424
+ "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.",
64713
65425
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
64714
65426
  "inheritedFrom": {
64715
65427
  "name": "HelixElement",
@@ -65603,7 +66315,7 @@
65603
66315
  "text": "Promise<void>"
65604
66316
  },
65605
66317
  "readonly": true,
65606
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
66318
+ "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.",
65607
66319
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
65608
66320
  "inheritedFrom": {
65609
66321
  "name": "HelixElement",
@@ -66656,7 +67368,7 @@
66656
67368
  "text": "Promise<void>"
66657
67369
  },
66658
67370
  "readonly": true,
66659
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
67371
+ "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.",
66660
67372
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
66661
67373
  "inheritedFrom": {
66662
67374
  "name": "HelixElement",
@@ -67607,7 +68319,7 @@
67607
68319
  "text": "Promise<void>"
67608
68320
  },
67609
68321
  "readonly": true,
67610
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
68322
+ "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.",
67611
68323
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
67612
68324
  "inheritedFrom": {
67613
68325
  "name": "HelixElement",
@@ -68765,7 +69477,7 @@
68765
69477
  "text": "Promise<void>"
68766
69478
  },
68767
69479
  "readonly": true,
68768
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
69480
+ "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.",
68769
69481
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
68770
69482
  "inheritedFrom": {
68771
69483
  "name": "HelixElement",
@@ -69912,7 +70624,7 @@
69912
70624
  "text": "Promise<void>"
69913
70625
  },
69914
70626
  "readonly": true,
69915
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
70627
+ "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.",
69916
70628
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
69917
70629
  "inheritedFrom": {
69918
70630
  "name": "HelixElement",
@@ -70597,7 +71309,7 @@
70597
71309
  "text": "Promise<void>"
70598
71310
  },
70599
71311
  "readonly": true,
70600
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
71312
+ "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.",
70601
71313
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
70602
71314
  "inheritedFrom": {
70603
71315
  "name": "HelixElement",
@@ -71296,7 +72008,7 @@
71296
72008
  "text": "Promise<void>"
71297
72009
  },
71298
72010
  "readonly": true,
71299
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
72011
+ "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.",
71300
72012
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
71301
72013
  "inheritedFrom": {
71302
72014
  "name": "HelixElement",
@@ -72304,7 +73016,7 @@
72304
73016
  "text": "Promise<void>"
72305
73017
  },
72306
73018
  "readonly": true,
72307
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
73019
+ "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.",
72308
73020
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
72309
73021
  "inheritedFrom": {
72310
73022
  "name": "HelixElement",
@@ -73342,7 +74054,7 @@
73342
74054
  "text": "Promise<void>"
73343
74055
  },
73344
74056
  "readonly": true,
73345
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
74057
+ "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.",
73346
74058
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
73347
74059
  "inheritedFrom": {
73348
74060
  "name": "HelixElement",
@@ -75027,7 +75739,7 @@
75027
75739
  "text": "Promise<void>"
75028
75740
  },
75029
75741
  "readonly": true,
75030
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
75742
+ "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.",
75031
75743
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
75032
75744
  "inheritedFrom": {
75033
75745
  "name": "HelixElement",
@@ -76244,7 +76956,7 @@
76244
76956
  "text": "Promise<void>"
76245
76957
  },
76246
76958
  "readonly": true,
76247
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
76959
+ "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.",
76248
76960
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
76249
76961
  "inheritedFrom": {
76250
76962
  "name": "HelixElement",
@@ -76557,6 +77269,70 @@
76557
77269
  "module": "src/object-inspector/root/object-inspector-root.ts"
76558
77270
  }
76559
77271
  },
77272
+ {
77273
+ "description": "The point while the bubble is below the copy button, so on its top edge, beside `copy-tooltip-arrow`.",
77274
+ "name": "copy-tooltip-arrow-bottom",
77275
+ "inheritedFrom": {
77276
+ "name": "HelixHeadlessObjectInspector",
77277
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77278
+ }
77279
+ },
77280
+ {
77281
+ "description": "The point while the bubble is left of the copy button, so on its right edge, beside `copy-tooltip-arrow`.",
77282
+ "name": "copy-tooltip-arrow-left",
77283
+ "inheritedFrom": {
77284
+ "name": "HelixHeadlessObjectInspector",
77285
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77286
+ }
77287
+ },
77288
+ {
77289
+ "description": "The point while the bubble is right of the copy button, so on its left edge, beside `copy-tooltip-arrow`.",
77290
+ "name": "copy-tooltip-arrow-right",
77291
+ "inheritedFrom": {
77292
+ "name": "HelixHeadlessObjectInspector",
77293
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77294
+ }
77295
+ },
77296
+ {
77297
+ "description": "The point while the bubble is above the copy button, so on its bottom edge, beside `copy-tooltip-arrow`.",
77298
+ "name": "copy-tooltip-arrow-top",
77299
+ "inheritedFrom": {
77300
+ "name": "HelixHeadlessObjectInspector",
77301
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77302
+ }
77303
+ },
77304
+ {
77305
+ "description": "The bubble while it is below the copy button, beside `copy-tooltip`.",
77306
+ "name": "copy-tooltip-bottom",
77307
+ "inheritedFrom": {
77308
+ "name": "HelixHeadlessObjectInspector",
77309
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77310
+ }
77311
+ },
77312
+ {
77313
+ "description": "The bubble while it is left of the copy button, beside `copy-tooltip`.",
77314
+ "name": "copy-tooltip-left",
77315
+ "inheritedFrom": {
77316
+ "name": "HelixHeadlessObjectInspector",
77317
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77318
+ }
77319
+ },
77320
+ {
77321
+ "description": "The bubble while it is right of the copy button, beside `copy-tooltip`.",
77322
+ "name": "copy-tooltip-right",
77323
+ "inheritedFrom": {
77324
+ "name": "HelixHeadlessObjectInspector",
77325
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77326
+ }
77327
+ },
77328
+ {
77329
+ "description": "The bubble while it is above the copy button, beside `copy-tooltip`.",
77330
+ "name": "copy-tooltip-top",
77331
+ "inheritedFrom": {
77332
+ "name": "HelixHeadlessObjectInspector",
77333
+ "module": "src/object-inspector/root/object-inspector-root.ts"
77334
+ }
77335
+ },
76560
77336
  {
76561
77337
  "description": "How many entries a branch holds.",
76562
77338
  "name": "count",
@@ -76929,7 +77705,7 @@
76929
77705
  "text": "Promise<void>"
76930
77706
  },
76931
77707
  "readonly": true,
76932
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
77708
+ "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.",
76933
77709
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
76934
77710
  "inheritedFrom": {
76935
77711
  "name": "HelixElement",
@@ -77592,7 +78368,7 @@
77592
78368
  "text": "Promise<void>"
77593
78369
  },
77594
78370
  "readonly": true,
77595
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
78371
+ "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.",
77596
78372
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
77597
78373
  "inheritedFrom": {
77598
78374
  "name": "HelixElement",
@@ -78283,6 +79059,16 @@
78283
79059
  "privacy": "private",
78284
79060
  "default": "false"
78285
79061
  },
79062
+ {
79063
+ "kind": "field",
79064
+ "name": "lost",
79065
+ "type": {
79066
+ "text": "boolean"
79067
+ },
79068
+ "privacy": "private",
79069
+ "default": "false",
79070
+ "description": "Whether the browser has taken the canvas, as its own two events say."
79071
+ },
78286
79072
  {
78287
79073
  "kind": "field",
78288
79074
  "name": "box",
@@ -78434,6 +79220,20 @@
78434
79220
  "privacy": "private",
78435
79221
  "readonly": true
78436
79222
  },
79223
+ {
79224
+ "kind": "field",
79225
+ "name": "handleLost",
79226
+ "privacy": "private",
79227
+ "readonly": true,
79228
+ "description": "Stops for a canvas the browser has taken, on a GPU reset, until it is\ngiven back.\n\n**Not canceled, which is the aura's contract turned over.** A 2D context\ncomes back on its own unless its loss is canceled, where a WebGL one comes\nback only if it is. Hidden meanwhile, because a lost canvas is not reliably\ntransparent (the aura's `handleLost` has what was measured), and hidden it\nleaves the empty box a machine with no 2D context is shown."
79229
+ },
79230
+ {
79231
+ "kind": "field",
79232
+ "name": "handleRestored",
79233
+ "privacy": "private",
79234
+ "readonly": true,
79235
+ "description": "Draws again on the canvas the browser gave back.\n\n**Sized again, because it comes back in its default state.** Found 15 Sep\n2026 by crashing the GPU process under headless Chromium: the transform\n`measure` sets came back the identity, and `measure` sets it only when the\nbox changes. At twice the density that is an orb drawn at half its size in\nthe top left corner, for as long as the box holds still."
79236
+ },
78437
79237
  {
78438
79238
  "kind": "field",
78439
79239
  "name": "handleMotion",
@@ -78569,7 +79369,7 @@
78569
79369
  "text": "Promise<void>"
78570
79370
  },
78571
79371
  "readonly": true,
78572
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
79372
+ "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.",
78573
79373
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
78574
79374
  "inheritedFrom": {
78575
79375
  "name": "HelixElement",
@@ -79768,7 +80568,7 @@
79768
80568
  "text": "Promise<void>"
79769
80569
  },
79770
80570
  "readonly": true,
79771
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
80571
+ "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.",
79772
80572
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
79773
80573
  "inheritedFrom": {
79774
80574
  "name": "HelixElement",
@@ -80977,7 +81777,7 @@
80977
81777
  "text": "Promise<void>"
80978
81778
  },
80979
81779
  "readonly": true,
80980
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
81780
+ "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.",
80981
81781
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
80982
81782
  "inheritedFrom": {
80983
81783
  "name": "HelixElement",
@@ -82081,7 +82881,7 @@
82081
82881
  "text": "Promise<void>"
82082
82882
  },
82083
82883
  "readonly": true,
82084
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
82884
+ "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.",
82085
82885
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
82086
82886
  "inheritedFrom": {
82087
82887
  "name": "HelixElement",
@@ -82659,7 +83459,7 @@
82659
83459
  "text": "Promise<void>"
82660
83460
  },
82661
83461
  "readonly": true,
82662
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
83462
+ "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.",
82663
83463
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
82664
83464
  "inheritedFrom": {
82665
83465
  "name": "HelixElement",
@@ -84111,7 +84911,7 @@
84111
84911
  "text": "Promise<void>"
84112
84912
  },
84113
84913
  "readonly": true,
84114
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
84914
+ "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.",
84115
84915
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
84116
84916
  "inheritedFrom": {
84117
84917
  "name": "HelixElement",
@@ -85119,7 +85919,7 @@
85119
85919
  "text": "Promise<void>"
85120
85920
  },
85121
85921
  "readonly": true,
85122
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
85922
+ "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.",
85123
85923
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
85124
85924
  "inheritedFrom": {
85125
85925
  "name": "HelixElement",
@@ -85868,7 +86668,7 @@
85868
86668
  "text": "Promise<void>"
85869
86669
  },
85870
86670
  "readonly": true,
85871
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
86671
+ "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.",
85872
86672
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
85873
86673
  "inheritedFrom": {
85874
86674
  "name": "HelixElement",
@@ -86573,7 +87373,7 @@
86573
87373
  "text": "Promise<void>"
86574
87374
  },
86575
87375
  "readonly": true,
86576
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
87376
+ "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.",
86577
87377
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
86578
87378
  "inheritedFrom": {
86579
87379
  "name": "HelixElement",
@@ -87139,7 +87939,7 @@
87139
87939
  "text": "Promise<void>"
87140
87940
  },
87141
87941
  "readonly": true,
87142
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
87942
+ "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.",
87143
87943
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
87144
87944
  "inheritedFrom": {
87145
87945
  "name": "HelixElement",
@@ -88203,7 +89003,7 @@
88203
89003
  "text": "Promise<void>"
88204
89004
  },
88205
89005
  "readonly": true,
88206
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
89006
+ "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.",
88207
89007
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
88208
89008
  "inheritedFrom": {
88209
89009
  "name": "HelixElement",
@@ -89021,7 +89821,7 @@
89021
89821
  "text": "Promise<void>"
89022
89822
  },
89023
89823
  "readonly": true,
89024
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
89824
+ "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.",
89025
89825
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
89026
89826
  "inheritedFrom": {
89027
89827
  "name": "HelixElement",
@@ -90570,7 +91370,7 @@
90570
91370
  "text": "Promise<void>"
90571
91371
  },
90572
91372
  "readonly": true,
90573
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
91373
+ "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.",
90574
91374
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
90575
91375
  "inheritedFrom": {
90576
91376
  "name": "HelixElement",
@@ -91537,7 +92337,7 @@
91537
92337
  "text": "Promise<void>"
91538
92338
  },
91539
92339
  "readonly": true,
91540
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
92340
+ "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.",
91541
92341
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
91542
92342
  "inheritedFrom": {
91543
92343
  "name": "HelixElement",
@@ -92401,7 +93201,7 @@
92401
93201
  "text": "Promise<void>"
92402
93202
  },
92403
93203
  "readonly": true,
92404
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
93204
+ "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.",
92405
93205
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
92406
93206
  "inheritedFrom": {
92407
93207
  "name": "HelixElement",
@@ -93077,7 +93877,7 @@
93077
93877
  "text": "Promise<void>"
93078
93878
  },
93079
93879
  "readonly": true,
93080
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
93880
+ "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.",
93081
93881
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
93082
93882
  "inheritedFrom": {
93083
93883
  "name": "HelixElement",
@@ -93602,7 +94402,7 @@
93602
94402
  "text": "Promise<void>"
93603
94403
  },
93604
94404
  "readonly": true,
93605
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
94405
+ "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.",
93606
94406
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
93607
94407
  "inheritedFrom": {
93608
94408
  "name": "HelixElement",
@@ -94147,7 +94947,7 @@
94147
94947
  "text": "Promise<void>"
94148
94948
  },
94149
94949
  "readonly": true,
94150
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
94950
+ "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.",
94151
94951
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
94152
94952
  "inheritedFrom": {
94153
94953
  "name": "HelixElement",
@@ -94593,7 +95393,7 @@
94593
95393
  "text": "Promise<void>"
94594
95394
  },
94595
95395
  "readonly": true,
94596
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
95396
+ "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.",
94597
95397
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
94598
95398
  "inheritedFrom": {
94599
95399
  "name": "HelixElement",
@@ -95371,7 +96171,7 @@
95371
96171
  "text": "Promise<void>"
95372
96172
  },
95373
96173
  "readonly": true,
95374
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
96174
+ "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.",
95375
96175
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
95376
96176
  "inheritedFrom": {
95377
96177
  "name": "HelixElement",
@@ -95707,6 +96507,14 @@
95707
96507
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
95708
96508
  }
95709
96509
  },
96510
+ {
96511
+ "description": "The plot, both axes and their names, left to right on every page. The grid they are laid out in.",
96512
+ "name": "plane",
96513
+ "inheritedFrom": {
96514
+ "name": "HelixHeadlessScatterChart",
96515
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96516
+ }
96517
+ },
95710
96518
  {
95711
96519
  "description": "The drawing.",
95712
96520
  "name": "plot",
@@ -95771,6 +96579,46 @@
95771
96579
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
95772
96580
  }
95773
96581
  },
96582
+ {
96583
+ "description": "The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.",
96584
+ "name": "tooltip-arrow-bottom",
96585
+ "inheritedFrom": {
96586
+ "name": "HelixHeadlessScatterChart",
96587
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96588
+ }
96589
+ },
96590
+ {
96591
+ "description": "The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.",
96592
+ "name": "tooltip-arrow-left",
96593
+ "inheritedFrom": {
96594
+ "name": "HelixHeadlessScatterChart",
96595
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96596
+ }
96597
+ },
96598
+ {
96599
+ "description": "The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.",
96600
+ "name": "tooltip-arrow-right",
96601
+ "inheritedFrom": {
96602
+ "name": "HelixHeadlessScatterChart",
96603
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96604
+ }
96605
+ },
96606
+ {
96607
+ "description": "The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.",
96608
+ "name": "tooltip-arrow-top",
96609
+ "inheritedFrom": {
96610
+ "name": "HelixHeadlessScatterChart",
96611
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96612
+ }
96613
+ },
96614
+ {
96615
+ "description": "The bubble while it is below the reading, beside `tooltip`.",
96616
+ "name": "tooltip-bottom",
96617
+ "inheritedFrom": {
96618
+ "name": "HelixHeadlessScatterChart",
96619
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96620
+ }
96621
+ },
95774
96622
  {
95775
96623
  "description": "One column's name and value inside the tooltip.",
95776
96624
  "name": "tooltip-cell",
@@ -95787,6 +96635,14 @@
95787
96635
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
95788
96636
  }
95789
96637
  },
96638
+ {
96639
+ "description": "The bubble while it is left of the reading, beside `tooltip`.",
96640
+ "name": "tooltip-left",
96641
+ "inheritedFrom": {
96642
+ "name": "HelixHeadlessScatterChart",
96643
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96644
+ }
96645
+ },
95790
96646
  {
95791
96647
  "description": "A column's name inside the tooltip.",
95792
96648
  "name": "tooltip-name",
@@ -95795,6 +96651,22 @@
95795
96651
  "module": "src/scatter-chart/root/scatter-chart-root.ts"
95796
96652
  }
95797
96653
  },
96654
+ {
96655
+ "description": "The bubble while it is right of the reading, beside `tooltip`.",
96656
+ "name": "tooltip-right",
96657
+ "inheritedFrom": {
96658
+ "name": "HelixHeadlessScatterChart",
96659
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96660
+ }
96661
+ },
96662
+ {
96663
+ "description": "The bubble while it is above the reading, beside `tooltip`.",
96664
+ "name": "tooltip-top",
96665
+ "inheritedFrom": {
96666
+ "name": "HelixHeadlessScatterChart",
96667
+ "module": "src/scatter-chart/root/scatter-chart-root.ts"
96668
+ }
96669
+ },
95798
96670
  {
95799
96671
  "description": "A column's value inside the tooltip.",
95800
96672
  "name": "tooltip-value",
@@ -96179,7 +97051,7 @@
96179
97051
  "text": "Promise<void>"
96180
97052
  },
96181
97053
  "readonly": true,
96182
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
97054
+ "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.",
96183
97055
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
96184
97056
  "inheritedFrom": {
96185
97057
  "name": "HelixElement",
@@ -97594,7 +98466,7 @@
97594
98466
  "text": "Promise<void>"
97595
98467
  },
97596
98468
  "readonly": true,
97597
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
98469
+ "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.",
97598
98470
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
97599
98471
  "inheritedFrom": {
97600
98472
  "name": "HelixElement",
@@ -98921,7 +99793,7 @@
98921
99793
  "text": "Promise<void>"
98922
99794
  },
98923
99795
  "readonly": true,
98924
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
99796
+ "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.",
98925
99797
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
98926
99798
  "inheritedFrom": {
98927
99799
  "name": "HelixElement",
@@ -99443,7 +100315,7 @@
99443
100315
  "text": "Promise<void>"
99444
100316
  },
99445
100317
  "readonly": true,
99446
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
100318
+ "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.",
99447
100319
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
99448
100320
  "inheritedFrom": {
99449
100321
  "name": "HelixElement",
@@ -100829,7 +101701,7 @@
100829
101701
  "text": "Promise<void>"
100830
101702
  },
100831
101703
  "readonly": true,
100832
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
101704
+ "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.",
100833
101705
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
100834
101706
  "inheritedFrom": {
100835
101707
  "name": "HelixElement",
@@ -101799,7 +102671,7 @@
101799
102671
  "text": "Promise<void>"
101800
102672
  },
101801
102673
  "readonly": true,
101802
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
102674
+ "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.",
101803
102675
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
101804
102676
  "inheritedFrom": {
101805
102677
  "name": "HelixElement",
@@ -102535,7 +103407,7 @@
102535
103407
  "text": "Promise<void>"
102536
103408
  },
102537
103409
  "readonly": true,
102538
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
103410
+ "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.",
102539
103411
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
102540
103412
  "inheritedFrom": {
102541
103413
  "name": "HelixElement",
@@ -103308,7 +104180,7 @@
103308
104180
  "text": "Promise<void>"
103309
104181
  },
103310
104182
  "readonly": true,
103311
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
104183
+ "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.",
103312
104184
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
103313
104185
  "inheritedFrom": {
103314
104186
  "name": "HelixElement",
@@ -104494,6 +105366,29 @@
104494
105366
  "module": "src/splitter/root/splitter-root.ts"
104495
105367
  }
104496
105368
  },
105369
+ {
105370
+ "kind": "method",
105371
+ "name": "travel",
105372
+ "privacy": "private",
105373
+ "return": {
105374
+ "type": {
105375
+ "text": "-1 | 0 | 1"
105376
+ }
105377
+ },
105378
+ "parameters": [
105379
+ {
105380
+ "name": "key",
105381
+ "type": {
105382
+ "text": "string"
105383
+ }
105384
+ }
105385
+ ],
105386
+ "description": "Which way a key moves the divider, as a sign on `position`, or `0` for a key\nthat is not along its axis.\n\n**The arrow says where the divider goes on screen**, the way the window\nsplitter pattern words it: left moves a side-by-side divider to the left.\n`position` is the start pane's share, and the start pane is on the right of\na right-to-left page, so there the left arrow grows it. It used to shrink\nit on every page, which on a right-to-left one sent the divider right.",
105387
+ "inheritedFrom": {
105388
+ "name": "HelixHeadlessSplitter",
105389
+ "module": "src/splitter/root/splitter-root.ts"
105390
+ }
105391
+ },
104497
105392
  {
104498
105393
  "kind": "method",
104499
105394
  "name": "reset",
@@ -104776,7 +105671,7 @@
104776
105671
  "text": "Promise<void>"
104777
105672
  },
104778
105673
  "readonly": true,
104779
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
105674
+ "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.",
104780
105675
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
104781
105676
  "inheritedFrom": {
104782
105677
  "name": "HelixElement",
@@ -105451,7 +106346,7 @@
105451
106346
  "text": "Promise<void>"
105452
106347
  },
105453
106348
  "readonly": true,
105454
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
106349
+ "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.",
105455
106350
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
105456
106351
  "inheritedFrom": {
105457
106352
  "name": "HelixElement",
@@ -105935,7 +106830,7 @@
105935
106830
  "text": "Promise<void>"
105936
106831
  },
105937
106832
  "readonly": true,
105938
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
106833
+ "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.",
105939
106834
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
105940
106835
  "inheritedFrom": {
105941
106836
  "name": "HelixElement",
@@ -106647,7 +107542,7 @@
106647
107542
  "text": "Promise<void>"
106648
107543
  },
106649
107544
  "readonly": true,
106650
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
107545
+ "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.",
106651
107546
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
106652
107547
  "inheritedFrom": {
106653
107548
  "name": "HelixElement",
@@ -107304,7 +108199,7 @@
107304
108199
  "text": "Promise<void>"
107305
108200
  },
107306
108201
  "readonly": true,
107307
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
108202
+ "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.",
107308
108203
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
107309
108204
  "inheritedFrom": {
107310
108205
  "name": "HelixElement",
@@ -108505,7 +109400,7 @@
108505
109400
  "text": "Promise<void>"
108506
109401
  },
108507
109402
  "readonly": true,
108508
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
109403
+ "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.",
108509
109404
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
108510
109405
  "inheritedFrom": {
108511
109406
  "name": "HelixElement",
@@ -109200,7 +110095,7 @@
109200
110095
  "text": "Promise<void>"
109201
110096
  },
109202
110097
  "readonly": true,
109203
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
110098
+ "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.",
109204
110099
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
109205
110100
  "inheritedFrom": {
109206
110101
  "name": "HelixElement",
@@ -109430,6 +110325,16 @@
109430
110325
  },
109431
110326
  "tagName": "helix-table-cell",
109432
110327
  "customElement": true,
110328
+ "cssProperties": [
110329
+ {
110330
+ "description": "The edge the column this cell sits under is set to, `start`, `center` or `end`, and unset under a column that sets none. Written by the table around it, since the cell is the consumer's markup and nothing is written onto it; read by the sheet that draws the cell, where `justify-content` and `text-align` both take it as it comes and both follow the writing direction.",
110331
+ "name": "--table-cell-align",
110332
+ "inheritedFrom": {
110333
+ "name": "HelixHeadlessTableCell",
110334
+ "module": "src/table/cell/table-cell.ts"
110335
+ }
110336
+ }
110337
+ ],
109433
110338
  "attributes": [
109434
110339
  {
109435
110340
  "name": "header",
@@ -109513,7 +110418,7 @@
109513
110418
  "type": {
109514
110419
  "text": "'center' | 'end' | 'start' | undefined"
109515
110420
  },
109516
- "description": "Which edge the values line up against.\n\n`end` is what a column of numbers wants, so digits of the same magnitude sit\nabove each other. Left unset the cell inherits the table's own alignment,\nwhich is `start` for text in either writing direction. `helix-data-table`\naligns the cells it draws; a `helix-table`'s cells are markup the consumer\nwrote, and align as the consumer styles them. The heading is this element's\nown, and `@fusion.dev/helix` sets it to the same edge in either table.\n\n**Reflected, because the heading is drawn by a stylesheet and has no other\nway to learn it.** Set as a property, which is how React sets it, an\nunreflected `align` left no attribute to select on, so the heading stayed at\nthe start over a column of digits set to the end. It is the author's\ndeclaration and nothing moves it afterwards, so an attribute cannot come to\ndisagree with the element, which is the reason `open` records a custom\nstate instead. No default, so an unset column writes nothing onto its host.",
110421
+ "description": "Which edge the values line up against.\n\n`end` is what a column of numbers wants, so digits of the same magnitude sit\nabove each other. Left unset the cell inherits the table's own alignment,\nwhich is `start` for text in either writing direction. `helix-data-table`\naligns the cells it draws. A `helix-table`'s cells are markup the consumer\nwrote, so the table writes nothing onto them: it publishes the edge to each\ncell under this column as `--table-cell-align`, which `@fusion.dev/helix`\nreads. The heading is this element's own, and `@fusion.dev/helix` sets it to\nthe same edge in either table. `end` is the inline end, so in a\nright-to-left table it is the left.\n\n**Reflected, because the heading is drawn by a stylesheet and has no other\nway to learn it.** Set as a property, which is how React sets it, an\nunreflected `align` left no attribute to select on, so the heading stayed at\nthe start over a column of digits set to the end. It is the author's\ndeclaration and nothing moves it afterwards, so an attribute cannot come to\ndisagree with the element, which is the reason `open` records a custom\nstate instead. No default, so an unset column writes nothing onto its host.",
109517
110422
  "attribute": "align",
109518
110423
  "reflects": true,
109519
110424
  "inheritedFrom": {
@@ -109582,8 +110487,9 @@
109582
110487
  "text": "boolean"
109583
110488
  },
109584
110489
  "default": "false",
109585
- "description": "Whether a reader may reorder the set by this column.\n\nIgnored without a `field`, and silently: a column with nothing to sort by\nhas no order to offer, and refusing loudly would mean an actions column\ncarrying `sortable` breaks a table rather than doing nothing.",
110490
+ "description": "Whether a reader may reorder the set by this column.\n\nIgnored without a `field`, and silently: a column with nothing to sort by\nhas no order to offer, and refusing loudly would mean an actions column\ncarrying `sortable` breaks a table rather than doing nothing.\n\n**Reflected, because a stylesheet selects on it.** `@fusion.dev/helix`\ngives a data table's sortable headings a pointer through\n`::slotted(helix-table-column[sortable])`, and set as a property, which is\nhow React sets it, an unreflected `sortable` left no attribute to match.\n`false` reflects as no attribute at all, so an unset column writes nothing\nonto its host.",
109586
110491
  "attribute": "sortable",
110492
+ "reflects": true,
109587
110493
  "inheritedFrom": {
109588
110494
  "name": "HelixHeadlessTableColumn",
109589
110495
  "module": "src/table/column/table-column.ts"
@@ -109596,7 +110502,7 @@
109596
110502
  "text": "string"
109597
110503
  },
109598
110504
  "default": "''",
109599
- "description": "The track this column takes, as CSS.\n\nA single track value, so anything valid in `grid-template-columns` works:\n`16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column shares what is\nleft over equally, as `minmax(max-content, 1fr)`.\n\n**The floor is `max-content`, never `0` and never `min-content`.** A zero\nfloor lets a track shrink under its own content: at 375 the columns squeeze\nto 75px and `eu-central-1` wraps across lines, which reads as corrupt data\nrather than as a table that ran out of room. A `min-content` floor still\nbreaks it, a hyphen being a wrap opportunity.\n\nThe overflow has somewhere to go: `@fusion.dev/helix` scrolls the table's\nown box, so a long value pushes past the container and the table scrolls\ninstead of the value being destroyed. Measured at 375: tracks of 192, 89 and\n102 against a 343 box, so the table scrolls 384 and the page does not move.\n\nThe cost is that a column of prose asks for its longest paragraph on one\nline, so a column holding sentences rather than values wants\n`width=\"minmax(0, 1fr)\"` to opt back into wrapping. A headless consumer owns\nthe overflow either way, that being paint, and gets the honest track list.",
110505
+ "description": "The track this column takes, as CSS.\n\nA single track value, so anything valid in `grid-template-columns` works:\n`16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column takes the track\nin its place in a `helix-table`'s `columns`, where that table sets one, and\notherwise shares what is left over equally, as `minmax(max-content, 1fr)`.\nSet here, it wins over that list, which is what lets a reader resize a\ncolumn in a table that set one.\n\n**The floor is `max-content`, never `0` and never `min-content`.** A zero\nfloor lets a track shrink under its own content: at 375 the columns squeeze\nto 75px and `eu-central-1` wraps across lines, which reads as corrupt data\nrather than as a table that ran out of room. A `min-content` floor still\nbreaks it, a hyphen being a wrap opportunity.\n\nThe overflow has somewhere to go: `@fusion.dev/helix` scrolls the table's\nown box, so a long value pushes past the container and the table scrolls\ninstead of the value being destroyed. Measured at 375: tracks of 192, 89 and\n102 against a 343 box, so the table scrolls 384 and the page does not move.\n\nThe cost is that a column of prose asks for its longest paragraph on one\nline, so a column holding sentences rather than values wants\n`width=\"minmax(0, 1fr)\"` to opt back into wrapping. A headless consumer owns\nthe overflow either way, that being paint, and gets the honest track list.",
109600
110506
  "attribute": "width",
109601
110507
  "inheritedFrom": {
109602
110508
  "name": "HelixHeadlessTableColumn",
@@ -109643,6 +110549,19 @@
109643
110549
  "module": "src/table/column/table-column.ts"
109644
110550
  }
109645
110551
  },
110552
+ {
110553
+ "kind": "field",
110554
+ "name": "hiding",
110555
+ "type": {
110556
+ "text": "MutationObserver | undefined"
110557
+ },
110558
+ "privacy": "private",
110559
+ "description": "Watches `hidden`, which is the platform's attribute and no property of this element's.",
110560
+ "inheritedFrom": {
110561
+ "name": "HelixHeadlessTableColumn",
110562
+ "module": "src/table/column/table-column.ts"
110563
+ }
110564
+ },
109646
110565
  {
109647
110566
  "kind": "field",
109648
110567
  "name": "NARROWEST",
@@ -109777,6 +110696,21 @@
109777
110696
  "module": "src/table/column/table-column.ts"
109778
110697
  }
109779
110698
  },
110699
+ {
110700
+ "kind": "method",
110701
+ "name": "tellHolder",
110702
+ "privacy": "private",
110703
+ "return": {
110704
+ "type": {
110705
+ "text": "void"
110706
+ }
110707
+ },
110708
+ "description": "Asks whatever holds this column to render, since it reads the column when it does.",
110709
+ "inheritedFrom": {
110710
+ "name": "HelixHeadlessTableColumn",
110711
+ "module": "src/table/column/table-column.ts"
110712
+ }
110713
+ },
109780
110714
  {
109781
110715
  "kind": "method",
109782
110716
  "name": "resizeTo",
@@ -109807,7 +110741,7 @@
109807
110741
  "text": "number"
109808
110742
  },
109809
110743
  "privacy": "private",
109810
- "description": "Which way a drag or an arrow key grows the column, in this writing direction.",
110744
+ "description": "Which way a drag grows the column, in this writing direction.",
109811
110745
  "readonly": true,
109812
110746
  "inheritedFrom": {
109813
110747
  "name": "HelixHeadlessTableColumn",
@@ -109965,7 +110899,7 @@
109965
110899
  "text": "Promise<void>"
109966
110900
  },
109967
110901
  "readonly": true,
109968
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
110902
+ "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.",
109969
110903
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
109970
110904
  "inheritedFrom": {
109971
110905
  "name": "HelixElement",
@@ -110257,7 +111191,7 @@
110257
111191
  "type": {
110258
111192
  "text": "'center' | 'end' | 'start' | undefined"
110259
111193
  },
110260
- "description": "Which edge the values line up against.\n\n`end` is what a column of numbers wants, so digits of the same magnitude sit\nabove each other. Left unset the cell inherits the table's own alignment,\nwhich is `start` for text in either writing direction. `helix-data-table`\naligns the cells it draws; a `helix-table`'s cells are markup the consumer\nwrote, and align as the consumer styles them. The heading is this element's\nown, and `@fusion.dev/helix` sets it to the same edge in either table.\n\n**Reflected, because the heading is drawn by a stylesheet and has no other\nway to learn it.** Set as a property, which is how React sets it, an\nunreflected `align` left no attribute to select on, so the heading stayed at\nthe start over a column of digits set to the end. It is the author's\ndeclaration and nothing moves it afterwards, so an attribute cannot come to\ndisagree with the element, which is the reason `open` records a custom\nstate instead. No default, so an unset column writes nothing onto its host.",
111194
+ "description": "Which edge the values line up against.\n\n`end` is what a column of numbers wants, so digits of the same magnitude sit\nabove each other. Left unset the cell inherits the table's own alignment,\nwhich is `start` for text in either writing direction. `helix-data-table`\naligns the cells it draws. A `helix-table`'s cells are markup the consumer\nwrote, so the table writes nothing onto them: it publishes the edge to each\ncell under this column as `--table-cell-align`, which `@fusion.dev/helix`\nreads. The heading is this element's own, and `@fusion.dev/helix` sets it to\nthe same edge in either table. `end` is the inline end, so in a\nright-to-left table it is the left.\n\n**Reflected, because the heading is drawn by a stylesheet and has no other\nway to learn it.** Set as a property, which is how React sets it, an\nunreflected `align` left no attribute to select on, so the heading stayed at\nthe start over a column of digits set to the end. It is the author's\ndeclaration and nothing moves it afterwards, so an attribute cannot come to\ndisagree with the element, which is the reason `open` records a custom\nstate instead. No default, so an unset column writes nothing onto its host.",
110261
111195
  "fieldName": "align",
110262
111196
  "inheritedFrom": {
110263
111197
  "name": "HelixHeadlessTableColumn",
@@ -110296,7 +111230,7 @@
110296
111230
  "text": "boolean"
110297
111231
  },
110298
111232
  "default": "false",
110299
- "description": "Whether a reader may reorder the set by this column.\n\nIgnored without a `field`, and silently: a column with nothing to sort by\nhas no order to offer, and refusing loudly would mean an actions column\ncarrying `sortable` breaks a table rather than doing nothing.",
111233
+ "description": "Whether a reader may reorder the set by this column.\n\nIgnored without a `field`, and silently: a column with nothing to sort by\nhas no order to offer, and refusing loudly would mean an actions column\ncarrying `sortable` breaks a table rather than doing nothing.\n\n**Reflected, because a stylesheet selects on it.** `@fusion.dev/helix`\ngives a data table's sortable headings a pointer through\n`::slotted(helix-table-column[sortable])`, and set as a property, which is\nhow React sets it, an unreflected `sortable` left no attribute to match.\n`false` reflects as no attribute at all, so an unset column writes nothing\nonto its host.",
110300
111234
  "fieldName": "sortable",
110301
111235
  "inheritedFrom": {
110302
111236
  "name": "HelixHeadlessTableColumn",
@@ -110309,7 +111243,7 @@
110309
111243
  "text": "string"
110310
111244
  },
110311
111245
  "default": "''",
110312
- "description": "The track this column takes, as CSS.\n\nA single track value, so anything valid in `grid-template-columns` works:\n`16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column shares what is\nleft over equally, as `minmax(max-content, 1fr)`.\n\n**The floor is `max-content`, never `0` and never `min-content`.** A zero\nfloor lets a track shrink under its own content: at 375 the columns squeeze\nto 75px and `eu-central-1` wraps across lines, which reads as corrupt data\nrather than as a table that ran out of room. A `min-content` floor still\nbreaks it, a hyphen being a wrap opportunity.\n\nThe overflow has somewhere to go: `@fusion.dev/helix` scrolls the table's\nown box, so a long value pushes past the container and the table scrolls\ninstead of the value being destroyed. Measured at 375: tracks of 192, 89 and\n102 against a 343 box, so the table scrolls 384 and the page does not move.\n\nThe cost is that a column of prose asks for its longest paragraph on one\nline, so a column holding sentences rather than values wants\n`width=\"minmax(0, 1fr)\"` to opt back into wrapping. A headless consumer owns\nthe overflow either way, that being paint, and gets the honest track list.",
111246
+ "description": "The track this column takes, as CSS.\n\nA single track value, so anything valid in `grid-template-columns` works:\n`16rem`, `auto`, `minmax(0, 2fr)`. Left unset the column takes the track\nin its place in a `helix-table`'s `columns`, where that table sets one, and\notherwise shares what is left over equally, as `minmax(max-content, 1fr)`.\nSet here, it wins over that list, which is what lets a reader resize a\ncolumn in a table that set one.\n\n**The floor is `max-content`, never `0` and never `min-content`.** A zero\nfloor lets a track shrink under its own content: at 375 the columns squeeze\nto 75px and `eu-central-1` wraps across lines, which reads as corrupt data\nrather than as a table that ran out of room. A `min-content` floor still\nbreaks it, a hyphen being a wrap opportunity.\n\nThe overflow has somewhere to go: `@fusion.dev/helix` scrolls the table's\nown box, so a long value pushes past the container and the table scrolls\ninstead of the value being destroyed. Measured at 375: tracks of 192, 89 and\n102 against a 343 box, so the table scrolls 384 and the page does not move.\n\nThe cost is that a column of prose asks for its longest paragraph on one\nline, so a column holding sentences rather than values wants\n`width=\"minmax(0, 1fr)\"` to opt back into wrapping. A headless consumer owns\nthe overflow either way, that being paint, and gets the honest track list.",
110313
111247
  "fieldName": "width",
110314
111248
  "inheritedFrom": {
110315
111249
  "name": "HelixHeadlessTableColumn",
@@ -110661,7 +111595,7 @@
110661
111595
  "text": "string"
110662
111596
  },
110663
111597
  "default": "''",
110664
- "description": "Column track list, as CSS. Deprecated: declare columns instead.\n\nKept for a table that has no `helix-table-column` children, and ignored the\nmoment it has one. A raw track list is the right shape for the value and\nthe wrong place for it: the headings and the widths were two halves of one\nfact held in two places, and nothing checked that they agreed. Worse, the\nvalue is CSS, so handing it headings by mistake produced an invalid track\nlist, which a grid ignores in silence: the table collapsed to one column\nand said nothing. Columns carry both halves now.",
111598
+ "description": "The column widths as one track list, written once on the table.\n\nWith `helix-table-column` children, each track sizes the column in its\nplace, a hidden column counted, so hiding one takes its track with it and\nthe rest keep theirs. The columns decide how many tracks there are and this\nlist only how wide: a track past the last column is dropped, and a column\npast the last track shares what is left. With no columns declared it is\nthe whole track list. Tracks count as the grid counts them, so\n`minmax(0, 1fr)` is one and `repeat(2, 8rem)` is two, and one the grid\nwould refuse leaves its column at the default rather than taking the table\ndown to one column.\n\n**A column's own `width` wins over its track here.** The width is written\non the column it sizes, which is the more particular statement, and it is\nwhere a resize lands: a reader dragging a column's edge writes `width`, so\nwere this list to win, the drag would move the separator and leave the\ntrack where the list put it. This is the table's default for its columns,\nand each column may say otherwise.",
110665
111599
  "attribute": "columns",
110666
111600
  "inheritedFrom": {
110667
111601
  "name": "HelixHeadlessTable",
@@ -110702,7 +111636,7 @@
110702
111636
  "text": "string"
110703
111637
  },
110704
111638
  "privacy": "private",
110705
- "description": "The track list, from the columns if there are any.\n\nRead from the DOM rather than kept, so adding or removing a column needs\nnothing else to be told. Falls back to the `columns` string for a table\nwritten before columns existed, and to a single track for one that declares\nneither.",
111639
+ "description": "The track list, from the columns if there are any.\n\nRead from the DOM rather than kept, so adding or removing a column needs\nnothing else to be told. A hidden column takes no track: left in, the\nheader row had a heading fewer than the grid had tracks, the first cell\nfilled the gap, and every row after it began a column late. Falls back to\nthe `columns` string for a table that declares no columns, and to a single\ntrack for one that declares neither.",
110706
111640
  "readonly": true,
110707
111641
  "inheritedFrom": {
110708
111642
  "name": "HelixHeadlessTable",
@@ -110719,6 +111653,20 @@
110719
111653
  "module": "src/table/root/table-root.ts"
110720
111654
  }
110721
111655
  },
111656
+ {
111657
+ "kind": "field",
111658
+ "name": "watcher",
111659
+ "type": {
111660
+ "text": "MutationObserver | undefined"
111661
+ },
111662
+ "privacy": "private",
111663
+ "default": "undefined",
111664
+ "description": "Watches the light DOM for rows and columns arriving, leaving and moving.\n\n**A manually assigned slot does not announce them**, the same gap `Chat`\nand `Carousel` watch for. Under `slotAssignment: 'manual'` only `assign`\nchanges an assignment, so a row appended after the first render reached no\nslot and drew nowhere, and a column moved to another place lost its\nassignment on the way out and never got it back: measured in Chromium, both\n`assignedSlot` null a render later. A table whose definition loaded before\nits markup was parsed drew no columns at all, having rendered before any\narrived.",
111665
+ "inheritedFrom": {
111666
+ "name": "HelixHeadlessTable",
111667
+ "module": "src/table/root/table-root.ts"
111668
+ }
111669
+ },
110722
111670
  {
110723
111671
  "kind": "field",
110724
111672
  "name": "shadowRootOptions",
@@ -110747,6 +111695,49 @@
110747
111695
  "module": "src/table/root/table-root.ts"
110748
111696
  }
110749
111697
  },
111698
+ {
111699
+ "kind": "field",
111700
+ "name": "alignment",
111701
+ "type": {
111702
+ "text": "CSSStyleSheet | undefined"
111703
+ },
111704
+ "privacy": "private",
111705
+ "default": "undefined",
111706
+ "description": "The rules handing each column's `align` to the cells under it. One sheet for\nevery row this table holds, rewritten in place, so a column changing its\nedge reaches every row in one write.",
111707
+ "inheritedFrom": {
111708
+ "name": "HelixHeadlessTable",
111709
+ "module": "src/table/root/table-root.ts"
111710
+ }
111711
+ },
111712
+ {
111713
+ "kind": "field",
111714
+ "name": "aligned",
111715
+ "type": {
111716
+ "text": "string"
111717
+ },
111718
+ "privacy": "private",
111719
+ "default": "''",
111720
+ "description": "What `alignment` was last written with, so a render that changed no edge writes nothing.",
111721
+ "inheritedFrom": {
111722
+ "name": "HelixHeadlessTable",
111723
+ "module": "src/table/root/table-root.ts"
111724
+ }
111725
+ },
111726
+ {
111727
+ "kind": "method",
111728
+ "name": "alignCells",
111729
+ "privacy": "private",
111730
+ "return": {
111731
+ "type": {
111732
+ "text": "void"
111733
+ }
111734
+ },
111735
+ "description": "Tells every row which edge each of its cells lines up against.\n\n**A rule in each row's shadow root, keyed on position and written by this\ntable.** The cells are the consumer's markup, so nothing may be written onto\nthem, and each of the other ways fails somewhere a table goes:\n\n- This element's own sheet cannot reach them. `::slotted()` matches what is\n assigned here, which is the rows, and never a row's children.\n- A property per column published here, `--table-align-2: end`, still needs\n a rule that knows which column a cell is in, and a fixed ladder of\n `:nth-child` rules in a static sheet is a ceiling on the column count.\n- A custom state set on each cell by script is right only until a cell\n moves, and a cell moving inside a row changes no child list this element\n watches.\n\n`:nth-child` is matched by the browser against wherever a cell is now, so a\ncell that moves takes its new column's edge with no script at all; a column\nthat moves rewrites the rules on the render the watcher asks for; and a\ncolumn hidden along with its cells keeps its place in both counts, since\n`:nth-child` counts a hidden sibling the way `tableColumns` counts a hidden\ncolumn. The row is where they go because only the shadow root holding a\nslot can style what is assigned to it.\n\n**A custom property and nothing else**, which is how this tier publishes a\nfact: the edge is the author's declaration, and what lining up means, a\n`justify-content` or a `text-align`, belongs to whoever draws the cell.\n`initial` on every cell first, so a table nested in an aligned cell does not\ntake the outer column's edge for columns of its own that set none.",
111736
+ "inheritedFrom": {
111737
+ "name": "HelixHeadlessTable",
111738
+ "module": "src/table/root/table-root.ts"
111739
+ }
111740
+ },
110750
111741
  {
110751
111742
  "kind": "field",
110752
111743
  "name": "tier",
@@ -110857,7 +111848,7 @@
110857
111848
  "text": "Promise<void>"
110858
111849
  },
110859
111850
  "readonly": true,
110860
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
111851
+ "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.",
110861
111852
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
110862
111853
  "inheritedFrom": {
110863
111854
  "name": "HelixElement",
@@ -111145,7 +112136,7 @@
111145
112136
  "text": "string"
111146
112137
  },
111147
112138
  "default": "''",
111148
- "description": "Column track list, as CSS. Deprecated: declare columns instead.\n\nKept for a table that has no `helix-table-column` children, and ignored the\nmoment it has one. A raw track list is the right shape for the value and\nthe wrong place for it: the headings and the widths were two halves of one\nfact held in two places, and nothing checked that they agreed. Worse, the\nvalue is CSS, so handing it headings by mistake produced an invalid track\nlist, which a grid ignores in silence: the table collapsed to one column\nand said nothing. Columns carry both halves now.",
112139
+ "description": "The column widths as one track list, written once on the table.\n\nWith `helix-table-column` children, each track sizes the column in its\nplace, a hidden column counted, so hiding one takes its track with it and\nthe rest keep theirs. The columns decide how many tracks there are and this\nlist only how wide: a track past the last column is dropped, and a column\npast the last track shares what is left. With no columns declared it is\nthe whole track list. Tracks count as the grid counts them, so\n`minmax(0, 1fr)` is one and `repeat(2, 8rem)` is two, and one the grid\nwould refuse leaves its column at the default rather than taking the table\ndown to one column.\n\n**A column's own `width` wins over its track here.** The width is written\non the column it sizes, which is the more particular statement, and it is\nwhere a resize lands: a reader dragging a column's edge writes `width`, so\nwere this list to win, the drag would move the separator and leave the\ntrack where the list put it. This is the table's default for its columns,\nand each column may say otherwise.",
111149
112140
  "fieldName": "columns",
111150
112141
  "inheritedFrom": {
111151
112142
  "name": "HelixHeadlessTable",
@@ -111238,6 +112229,20 @@
111238
112229
  }
111239
112230
  ],
111240
112231
  "members": [
112232
+ {
112233
+ "kind": "field",
112234
+ "name": "columnRules",
112235
+ "type": {
112236
+ "text": "CSSStyleSheet | undefined"
112237
+ },
112238
+ "privacy": "private",
112239
+ "default": "undefined",
112240
+ "description": "The table's rules this row holds, so the next ones replace them rather than pile up.",
112241
+ "inheritedFrom": {
112242
+ "name": "HelixHeadlessTableRow",
112243
+ "module": "src/table/row/table-row.ts"
112244
+ }
112245
+ },
111241
112246
  {
111242
112247
  "kind": "field",
111243
112248
  "name": "tier",
@@ -111348,7 +112353,7 @@
111348
112353
  "text": "Promise<void>"
111349
112354
  },
111350
112355
  "readonly": true,
111351
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
112356
+ "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.",
111352
112357
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
111353
112358
  "inheritedFrom": {
111354
112359
  "name": "HelixElement",
@@ -111842,7 +112847,7 @@
111842
112847
  "text": "Promise<void>"
111843
112848
  },
111844
112849
  "readonly": true,
111845
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
112850
+ "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.",
111846
112851
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
111847
112852
  "inheritedFrom": {
111848
112853
  "name": "HelixElement",
@@ -112563,7 +113568,7 @@
112563
113568
  "text": "Promise<void>"
112564
113569
  },
112565
113570
  "readonly": true,
112566
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
113571
+ "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.",
112567
113572
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
112568
113573
  "inheritedFrom": {
112569
113574
  "name": "HelixElement",
@@ -113193,7 +114198,7 @@
113193
114198
  "text": "Promise<void>"
113194
114199
  },
113195
114200
  "readonly": true,
113196
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
114201
+ "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.",
113197
114202
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
113198
114203
  "inheritedFrom": {
113199
114204
  "name": "HelixElement",
@@ -113816,7 +114821,7 @@
113816
114821
  "text": "Promise<void>"
113817
114822
  },
113818
114823
  "readonly": true,
113819
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
114824
+ "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.",
113820
114825
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
113821
114826
  "inheritedFrom": {
113822
114827
  "name": "HelixElement",
@@ -114372,7 +115377,7 @@
114372
115377
  "text": "Promise<void>"
114373
115378
  },
114374
115379
  "readonly": true,
114375
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
115380
+ "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.",
114376
115381
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
114377
115382
  "inheritedFrom": {
114378
115383
  "name": "HelixElement",
@@ -115782,7 +116787,7 @@
115782
116787
  "text": "Promise<void>"
115783
116788
  },
115784
116789
  "readonly": true,
115785
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
116790
+ "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.",
115786
116791
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
115787
116792
  "inheritedFrom": {
115788
116793
  "name": "HelixElement",
@@ -116562,13 +117567,36 @@
116562
117567
  "name": "panel",
116563
117568
  "privacy": "protected",
116564
117569
  "readonly": true,
116565
- "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
117570
+ "default": "new PopoverController(this, { anchor: () => this.partNamed('field'), /* The surface *and* the trigger. * * A control is not always one element: the button that opens this panel is * part of it, and a press on it is not a press outside. Scoped to the * surface alone, `pointerdown` on the trigger closes the panel and the * trigger's own `toggleOpen` reopens it on the `click` that follows, so the * panel can never be closed by the button that opened it. * `DismissController` documents this failure and takes a list for it. */ boundary: (): readonly (Element | null | undefined)[] => [ this.partNamed('surface'), this.partNamed('trigger'), ], /* Wider than the four every other panel here takes. Those sit against a control the same width as themselves and read as an extension of it; this one is a picker of its own size hanging off a field, so the gap is what says the two are separate things rather than one control that grew. */ offset: () => 8, onDismiss: () => this.requestOpen(false), onPlace: (_placement, room) => this.placed(room), open: () => this.open, placement: 'bottom-start', surface: () => this.partNamed('surface'), })",
116566
117571
  "description": "The overlay, placed against the field rather than the trigger.\n\nAgainst the field because that is the box a reader sees as the control: a\ncalendar hung off a small button at one end of a wide field reads as\nbelonging to the button. `Select` anchors to its trigger for the opposite\nreason, its trigger being the whole control.",
116567
117572
  "inheritedFrom": {
116568
117573
  "name": "MixinPickerField",
116569
117574
  "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
116570
117575
  }
116571
117576
  },
117577
+ {
117578
+ "kind": "method",
117579
+ "name": "placed",
117580
+ "privacy": "protected",
117581
+ "return": {
117582
+ "type": {
117583
+ "text": "void"
117584
+ }
117585
+ },
117586
+ "parameters": [
117587
+ {
117588
+ "name": "_room",
117589
+ "type": {
117590
+ "text": "number | undefined"
117591
+ }
117592
+ }
117593
+ ],
117594
+ "description": "Told the panel has been placed, and how wide the window leaves it room to\nbe, in pixels.\n\nNothing, unless a family fits what its panel holds to the room it has.",
117595
+ "inheritedFrom": {
117596
+ "name": "MixinPickerField",
117597
+ "module": "src/mixins/mixin-picker-field/mixin-picker-field.ts"
117598
+ }
117599
+ },
116572
117600
  {
116573
117601
  "kind": "field",
116574
117602
  "name": "anchor",
@@ -117989,7 +119017,7 @@
117989
119017
  "text": "Promise<void>"
117990
119018
  },
117991
119019
  "readonly": true,
117992
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
119020
+ "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.",
117993
119021
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
117994
119022
  "inheritedFrom": {
117995
119023
  "name": "HelixElement",
@@ -120143,7 +121171,7 @@
120143
121171
  "text": "Promise<void>"
120144
121172
  },
120145
121173
  "readonly": true,
120146
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
121174
+ "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.",
120147
121175
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
120148
121176
  "inheritedFrom": {
120149
121177
  "name": "HelixElement",
@@ -121149,7 +122177,7 @@
121149
122177
  "text": "Promise<void>"
121150
122178
  },
121151
122179
  "readonly": true,
121152
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
122180
+ "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.",
121153
122181
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
121154
122182
  "inheritedFrom": {
121155
122183
  "name": "HelixElement",
@@ -121680,7 +122708,7 @@
121680
122708
  "text": "Promise<void>"
121681
122709
  },
121682
122710
  "readonly": true,
121683
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
122711
+ "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.",
121684
122712
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
121685
122713
  "inheritedFrom": {
121686
122714
  "name": "HelixElement",
@@ -122430,7 +123458,7 @@
122430
123458
  "text": "Promise<void>"
122431
123459
  },
122432
123460
  "readonly": true,
122433
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
123461
+ "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.",
122434
123462
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
122435
123463
  "inheritedFrom": {
122436
123464
  "name": "HelixElement",
@@ -123052,7 +124080,7 @@
123052
124080
  "text": "Promise<void>"
123053
124081
  },
123054
124082
  "readonly": true,
123055
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
124083
+ "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.",
123056
124084
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
123057
124085
  "inheritedFrom": {
123058
124086
  "name": "HelixElement",
@@ -124250,7 +125278,7 @@
124250
125278
  "text": "Promise<void>"
124251
125279
  },
124252
125280
  "readonly": true,
124253
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
125281
+ "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.",
124254
125282
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
124255
125283
  "inheritedFrom": {
124256
125284
  "name": "HelixElement",
@@ -124996,7 +126024,7 @@
124996
126024
  "text": "Promise<void>"
124997
126025
  },
124998
126026
  "readonly": true,
124999
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
126027
+ "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.",
125000
126028
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
125001
126029
  "inheritedFrom": {
125002
126030
  "name": "HelixElement",
@@ -125684,7 +126712,7 @@
125684
126712
  "text": "Promise<void>"
125685
126713
  },
125686
126714
  "readonly": true,
125687
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
126715
+ "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.",
125688
126716
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
125689
126717
  "inheritedFrom": {
125690
126718
  "name": "HelixElement",
@@ -126296,6 +127324,19 @@
126296
127324
  "module": "src/tooltip/root/tooltip-root.ts"
126297
127325
  }
126298
127326
  },
127327
+ {
127328
+ "kind": "field",
127329
+ "name": "side",
127330
+ "type": {
127331
+ "text": "Side | undefined"
127332
+ },
127333
+ "privacy": "private",
127334
+ "description": "The side of its trigger the bubble last landed on, which is not always\n`placement`: a bubble with no room there is moved.\n\nUndefined until the first placement, which the server never makes, so a\npart name it adds is never markup the server did not send.",
127335
+ "inheritedFrom": {
127336
+ "name": "HelixHeadlessTooltip",
127337
+ "module": "src/tooltip/root/tooltip-root.ts"
127338
+ }
127339
+ },
126299
127340
  {
126300
127341
  "kind": "field",
126301
127342
  "name": "timer",
@@ -126370,7 +127411,7 @@
126370
127411
  "name": "bubbleLayer",
126371
127412
  "privacy": "private",
126372
127413
  "readonly": true,
126373
- "default": "new PopoverController(this, { anchor: () => this.trigger, arrow: () => this.partNamed('arrow'), /* Annotated, because without it the array's element type is inferred from `this`, whose own type depends on this controller, and TypeScript stops at the cycle. */ boundary: (): readonly (Element | null)[] => [this, this.named], /* The declared gap plus the arrow's own reach, so the gap is to the point. * * A square of side `n` rotated forty-five degrees about its own center * reaches `n / sqrt(2)` from that center, and the arrow is placed with its * center on the bubble's edge, so that is exactly how far past the edge the * tip goes. Read from the element rather than assumed, because * `--tooltip-arrow-size` is a hook and a theme may have moved it. * * `offsetWidth` and not `getBoundingClientRect`, which reports the rotated * box and would count the reach twice. Zero while the bubble is closed and * unrendered, which is right: there is nothing to place then either. */ offset: () => { const point = this.partNamed('arrow') return this.offset + (point?.offsetWidth ?? 0) / Math.SQRT2 }, /* Escape closes the bubble from wherever the reader is, and this is the one listener that hears it. On the document, through the controller, not on the host: a tooltip opened by hover has focus somewhere else entirely, so a press never reaches this element and Escape would work for everything except the case the pattern is named for, a reader escaping a tooltip obscuring what is under it. The controller listens only while the bubble is up, and it is the same arbitration every overlay goes through, so a press with a deeper surface open closes that one and leaves this alone rather than taking both: a second listener of this element's own answered every press for the element's whole connected life and skipped the vote. Holds are cleared as well as hiding, for the reason `handleActivate` gives: left set, the pointer is still recorded as being over the trigger, and the bubble comes back on a `release` it should have been dropped from. */ onDismiss: () => { this.holds.clear() this.hide() }, placement: () => this.placement, surface: () => this.partNamed('tooltip'), within: () => this.enclosure, })",
127414
+ "default": "new PopoverController(this, { anchor: () => this.trigger, arrow: () => this.partNamed('arrow'), /* Annotated, because without it the array's element type is inferred from `this`, whose own type depends on this controller, and TypeScript stops at the cycle. */ boundary: (): readonly (Element | null)[] => [this, this.named], /* The declared gap plus the arrow's own reach, so the gap is to the point. * * A square of side `n` rotated forty-five degrees about its own center * reaches `n / sqrt(2)` from that center, and the arrow is placed with its * center on the bubble's edge, so that is exactly how far past the edge the * tip goes. Read from the element rather than assumed, because * `--tooltip-arrow-size` is a hook and a theme may have moved it. * * `offsetWidth` and not `getBoundingClientRect`, which reports the rotated * box and would count the reach twice. Zero while the bubble is closed and * unrendered, which is right: there is nothing to place then either. */ offset: () => { const point = this.partNamed('arrow') return this.offset + (point?.offsetWidth ?? 0) / Math.SQRT2 }, /* Escape closes the bubble from wherever the reader is, and this is the one listener that hears it. On the document, through the controller, not on the host: a tooltip opened by hover has focus somewhere else entirely, so a press never reaches this element and Escape would work for everything except the case the pattern is named for, a reader escaping a tooltip obscuring what is under it. The controller listens only while the bubble is up, and it is the same arbitration every overlay goes through, so a press with a deeper surface open closes that one and leaves this alone rather than taking both: a second listener of this element's own answered every press for the element's whole connected life and skipped the vote. Holds are cleared as well as hiding, for the reason `handleActivate` gives: left set, the pointer is still recorded as being over the trigger, and the bubble comes back on a `release` it should have been dropped from. */ onDismiss: () => { this.holds.clear() this.hide() }, /* The side it landed on, said where a sheet outside can read it. The controller writes `data-placement` on the bubble and puts the arrow on the edge facing the trigger itself, so nothing here is needed to point it; this is for a sheet that draws by side, an entrance growing out of the trigger or an edge on the arrow's two outer sides, and that sheet is outside the shadow root, where no attribute can follow `::part()`. A part name because a tooltip is usually inside another component, where a document cannot reach its host's state. */ onPlace: (placement) => { const side = placement.split('-')[0] as Side this.toggleState('placed-bottom', side === 'bottom') this.toggleState('placed-left', side === 'left') this.toggleState('placed-right', side === 'right') this.toggleState('placed-top', side === 'top') this.side = side }, placement: () => this.placement, surface: () => this.partNamed('tooltip'), within: () => this.enclosure, })",
126374
127415
  "inheritedFrom": {
126375
127416
  "name": "HelixHeadlessTooltip",
126376
127417
  "module": "src/tooltip/root/tooltip-root.ts"
@@ -126726,7 +127767,7 @@
126726
127767
  "text": "Promise<void>"
126727
127768
  },
126728
127769
  "readonly": true,
126729
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
127770
+ "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.",
126730
127771
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
126731
127772
  "inheritedFrom": {
126732
127773
  "name": "HelixElement",
@@ -127178,6 +128219,38 @@
127178
128219
  "module": "src/tooltip/root/tooltip-root.ts"
127179
128220
  }
127180
128221
  },
128222
+ {
128223
+ "description": "The point while the bubble is below its trigger, so on the bubble's top edge, beside `arrow`.",
128224
+ "name": "arrow-bottom",
128225
+ "inheritedFrom": {
128226
+ "name": "HelixHeadlessTooltip",
128227
+ "module": "src/tooltip/root/tooltip-root.ts"
128228
+ }
128229
+ },
128230
+ {
128231
+ "description": "The point while the bubble is left of its trigger, so on the bubble's right edge, beside `arrow`.",
128232
+ "name": "arrow-left",
128233
+ "inheritedFrom": {
128234
+ "name": "HelixHeadlessTooltip",
128235
+ "module": "src/tooltip/root/tooltip-root.ts"
128236
+ }
128237
+ },
128238
+ {
128239
+ "description": "The point while the bubble is right of its trigger, so on the bubble's left edge, beside `arrow`.",
128240
+ "name": "arrow-right",
128241
+ "inheritedFrom": {
128242
+ "name": "HelixHeadlessTooltip",
128243
+ "module": "src/tooltip/root/tooltip-root.ts"
128244
+ }
128245
+ },
128246
+ {
128247
+ "description": "The point while the bubble is above its trigger, so on the bubble's bottom edge, beside `arrow`.",
128248
+ "name": "arrow-top",
128249
+ "inheritedFrom": {
128250
+ "name": "HelixHeadlessTooltip",
128251
+ "module": "src/tooltip/root/tooltip-root.ts"
128252
+ }
128253
+ },
127181
128254
  {
127182
128255
  "description": "The bubble.",
127183
128256
  "name": "tooltip",
@@ -127185,6 +128258,38 @@
127185
128258
  "name": "HelixHeadlessTooltip",
127186
128259
  "module": "src/tooltip/root/tooltip-root.ts"
127187
128260
  }
128261
+ },
128262
+ {
128263
+ "description": "The bubble while it is below its trigger, beside `tooltip`.",
128264
+ "name": "tooltip-bottom",
128265
+ "inheritedFrom": {
128266
+ "name": "HelixHeadlessTooltip",
128267
+ "module": "src/tooltip/root/tooltip-root.ts"
128268
+ }
128269
+ },
128270
+ {
128271
+ "description": "The bubble while it is left of its trigger, beside `tooltip`.",
128272
+ "name": "tooltip-left",
128273
+ "inheritedFrom": {
128274
+ "name": "HelixHeadlessTooltip",
128275
+ "module": "src/tooltip/root/tooltip-root.ts"
128276
+ }
128277
+ },
128278
+ {
128279
+ "description": "The bubble while it is right of its trigger, beside `tooltip`.",
128280
+ "name": "tooltip-right",
128281
+ "inheritedFrom": {
128282
+ "name": "HelixHeadlessTooltip",
128283
+ "module": "src/tooltip/root/tooltip-root.ts"
128284
+ }
128285
+ },
128286
+ {
128287
+ "description": "The bubble while it is above its trigger, beside `tooltip`.",
128288
+ "name": "tooltip-top",
128289
+ "inheritedFrom": {
128290
+ "name": "HelixHeadlessTooltip",
128291
+ "module": "src/tooltip/root/tooltip-root.ts"
128292
+ }
127188
128293
  }
127189
128294
  ],
127190
128295
  "events": [
@@ -127234,6 +128339,38 @@
127234
128339
  "module": "src/tooltip/root/tooltip-root.ts"
127235
128340
  }
127236
128341
  },
128342
+ {
128343
+ "description": "While the bubble sits below its trigger.",
128344
+ "name": "placed-bottom",
128345
+ "inheritedFrom": {
128346
+ "name": "HelixHeadlessTooltip",
128347
+ "module": "src/tooltip/root/tooltip-root.ts"
128348
+ }
128349
+ },
128350
+ {
128351
+ "description": "While the bubble sits to the left of its trigger.",
128352
+ "name": "placed-left",
128353
+ "inheritedFrom": {
128354
+ "name": "HelixHeadlessTooltip",
128355
+ "module": "src/tooltip/root/tooltip-root.ts"
128356
+ }
128357
+ },
128358
+ {
128359
+ "description": "While the bubble sits to the right of its trigger.",
128360
+ "name": "placed-right",
128361
+ "inheritedFrom": {
128362
+ "name": "HelixHeadlessTooltip",
128363
+ "module": "src/tooltip/root/tooltip-root.ts"
128364
+ }
128365
+ },
128366
+ {
128367
+ "description": "While the bubble sits above its trigger.",
128368
+ "name": "placed-top",
128369
+ "inheritedFrom": {
128370
+ "name": "HelixHeadlessTooltip",
128371
+ "module": "src/tooltip/root/tooltip-root.ts"
128372
+ }
128373
+ },
127237
128374
  {
127238
128375
  "description": "Set a frame after the first render. Transitions are held off until it is, so an element never animates its own arrival.",
127239
128376
  "name": "settled",
@@ -127841,7 +128978,7 @@
127841
128978
  "text": "Promise<void>"
127842
128979
  },
127843
128980
  "readonly": true,
127844
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
128981
+ "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.",
127845
128982
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
127846
128983
  "inheritedFrom": {
127847
128984
  "name": "HelixElement",
@@ -128528,6 +129665,19 @@
128528
129665
  "module": "src/tour/stop/tour-stop.ts"
128529
129666
  }
128530
129667
  },
129668
+ {
129669
+ "kind": "field",
129670
+ "name": "side",
129671
+ "type": {
129672
+ "text": "Side | undefined"
129673
+ },
129674
+ "privacy": "private",
129675
+ "description": "The side of its target the panel last landed on, which names the arrow's\nsecond part. Undefined until the first placement, which the server never\nmakes.",
129676
+ "inheritedFrom": {
129677
+ "name": "HelixHeadlessTourStop",
129678
+ "module": "src/tour/stop/tour-stop.ts"
129679
+ }
129680
+ },
128531
129681
  {
128532
129682
  "kind": "field",
128533
129683
  "name": "target",
@@ -128546,7 +129696,7 @@
128546
129696
  "name": "floating",
128547
129697
  "privacy": "private",
128548
129698
  "readonly": true,
128549
- "default": "new PopoverController(this, { anchor: () => this.target, arrow: () => this.partNamed('arrow'), /* Clear of the light, measured to the point of the arrow. The tour lights `spotlight-padding` around the target and the arrow reaches `n / sqrt(2)` past the panel's edge, and with no offset the panel sat on the target itself, over the lit margin, with its point 5.7px into what it pointed at. `offsetWidth` rather than a rect, which reports the rotated box. */ offset: () => { const tour = this.parentElement as (HTMLElement & { spotlightPadding?: number }) | null return ( (tour?.spotlightPadding ?? 0) + (this.partNamed('arrow')?.offsetWidth ?? 0) / Math.SQRT2 ) }, /* A press outside does not end a tour, and this is the decision rather than a stub. Everywhere else a surface closes on an outside press because pressing elsewhere means the reader is finished with it. Here elsewhere is the thing being pointed at: the scrim lets the pointer through on purpose, so the first press a reader makes on the button the tour is describing would be the press that ends the tour. Leaving is the skip control and `Escape`, both of which say so. */ onDismiss: () => {}, /* The side the panel landed on, which is not always `placement`: a stop with no room on the side it asked for is moved. The styled tier points its arrow from `data-placement` on the panel, inside this shadow root; a stylesheet outside cannot follow `::part(arrow)` with an attribute, and reading the stop's own `placement` instead pointed the arrow from the side that was asked for, or from below wherever React had set it as a property and there was no attribute to read. */ onPlace: (placement) => { const side = placement.split('-')[0] this.toggleState('placed-bottom', side === 'bottom') this.toggleState('placed-left', side === 'left') this.toggleState('placed-right', side === 'right') this.toggleState('placed-top', side === 'top') }, placement: () => this.placement, surface: () => this.partNamed('bubble'), })",
129699
+ "default": "new PopoverController(this, { anchor: () => this.target, arrow: () => this.partNamed('arrow'), /* Clear of the light, measured to the point of the arrow. The tour lights `spotlight-padding` around the target and the arrow reaches `n / sqrt(2)` past the panel's edge, and with no offset the panel sat on the target itself, over the lit margin, with its point 5.7px into what it pointed at. `offsetWidth` rather than a rect, which reports the rotated box. */ offset: () => { const tour = this.parentElement as (HTMLElement & { spotlightPadding?: number }) | null return ( (tour?.spotlightPadding ?? 0) + (this.partNamed('arrow')?.offsetWidth ?? 0) / Math.SQRT2 ) }, /* A press outside does not end a tour, and this is the decision rather than a stub. Everywhere else a surface closes on an outside press because pressing elsewhere means the reader is finished with it. Here elsewhere is the thing being pointed at: the scrim lets the pointer through on purpose, so the first press a reader makes on the button the tour is describing would be the press that ends the tour. Leaving is the skip control and `Escape`, both of which say so. */ onDismiss: () => {}, /* The side the panel landed on, which is not always `placement`: a stop with no room on the side it asked for is moved. The floating pass puts the arrow on the edge facing the target itself; what a sheet draws by side is the edge on the arrow's two outer sides. The styled tier reads `data-placement` on the panel, inside this shadow root; a stylesheet outside cannot follow `::part(arrow)` with an attribute, and reading the stop's own `placement` instead drew from the side that was asked for, or from below wherever React had set it as a property and there was no attribute to read. */ onPlace: (placement) => { const side = placement.split('-')[0] as Side this.toggleState('placed-bottom', side === 'bottom') this.toggleState('placed-left', side === 'left') this.toggleState('placed-right', side === 'right') this.toggleState('placed-top', side === 'top') this.side = side }, placement: () => this.placement, surface: () => this.partNamed('bubble'), })",
128550
129700
  "inheritedFrom": {
128551
129701
  "name": "HelixHeadlessTourStop",
128552
129702
  "module": "src/tour/stop/tour-stop.ts"
@@ -128686,7 +129836,7 @@
128686
129836
  "text": "Promise<void>"
128687
129837
  },
128688
129838
  "readonly": true,
128689
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
129839
+ "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.",
128690
129840
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
128691
129841
  "inheritedFrom": {
128692
129842
  "name": "HelixElement",
@@ -128952,6 +130102,38 @@
128952
130102
  "module": "src/tour/stop/tour-stop.ts"
128953
130103
  }
128954
130104
  },
130105
+ {
130106
+ "description": "The point while the panel is below its target, so on the panel's top edge, beside `arrow`.",
130107
+ "name": "arrow-bottom",
130108
+ "inheritedFrom": {
130109
+ "name": "HelixHeadlessTourStop",
130110
+ "module": "src/tour/stop/tour-stop.ts"
130111
+ }
130112
+ },
130113
+ {
130114
+ "description": "The point while the panel is left of its target, so on the panel's right edge, beside `arrow`.",
130115
+ "name": "arrow-left",
130116
+ "inheritedFrom": {
130117
+ "name": "HelixHeadlessTourStop",
130118
+ "module": "src/tour/stop/tour-stop.ts"
130119
+ }
130120
+ },
130121
+ {
130122
+ "description": "The point while the panel is right of its target, so on the panel's left edge, beside `arrow`.",
130123
+ "name": "arrow-right",
130124
+ "inheritedFrom": {
130125
+ "name": "HelixHeadlessTourStop",
130126
+ "module": "src/tour/stop/tour-stop.ts"
130127
+ }
130128
+ },
130129
+ {
130130
+ "description": "The point while the panel is above its target, so on the panel's bottom edge, beside `arrow`.",
130131
+ "name": "arrow-top",
130132
+ "inheritedFrom": {
130133
+ "name": "HelixHeadlessTourStop",
130134
+ "module": "src/tour/stop/tour-stop.ts"
130135
+ }
130136
+ },
128955
130137
  {
128956
130138
  "description": "The control that goes to the previous stop.",
128957
130139
  "name": "back",
@@ -129796,7 +130978,7 @@
129796
130978
  "text": "Promise<void>"
129797
130979
  },
129798
130980
  "readonly": true,
129799
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
130981
+ "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.",
129800
130982
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
129801
130983
  "inheritedFrom": {
129802
130984
  "name": "HelixElement",
@@ -130851,7 +132033,7 @@
130851
132033
  "text": "Promise<void>"
130852
132034
  },
130853
132035
  "readonly": true,
130854
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
132036
+ "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.",
130855
132037
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
130856
132038
  "inheritedFrom": {
130857
132039
  "name": "HelixElement",
@@ -131463,7 +132645,7 @@
131463
132645
  "text": "Promise<void>"
131464
132646
  },
131465
132647
  "readonly": true,
131466
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
132648
+ "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.",
131467
132649
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
131468
132650
  "inheritedFrom": {
131469
132651
  "name": "HelixElement",
@@ -132096,7 +133278,7 @@
132096
133278
  "text": "Promise<void>"
132097
133279
  },
132098
133280
  "readonly": true,
132099
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
133281
+ "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.",
132100
133282
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
132101
133283
  "inheritedFrom": {
132102
133284
  "name": "HelixElement",
@@ -132787,7 +133969,7 @@
132787
133969
  "text": "Promise<void>"
132788
133970
  },
132789
133971
  "readonly": true,
132790
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
133972
+ "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.",
132791
133973
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
132792
133974
  "inheritedFrom": {
132793
133975
  "name": "HelixElement",
@@ -133602,7 +134784,7 @@
133602
134784
  "text": "Promise<void>"
133603
134785
  },
133604
134786
  "readonly": true,
133605
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
134787
+ "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.",
133606
134788
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
133607
134789
  "inheritedFrom": {
133608
134790
  "name": "HelixElement",
@@ -135531,7 +136713,7 @@
135531
136713
  "text": "Promise<void>"
135532
136714
  },
135533
136715
  "readonly": true,
135534
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
136716
+ "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.",
135535
136717
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
135536
136718
  "inheritedFrom": {
135537
136719
  "name": "HelixElement",
@@ -136946,7 +138128,7 @@
136946
138128
  "text": "Promise<void>"
136947
138129
  },
136948
138130
  "readonly": true,
136949
- "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 race it\nagainst a timeout; `readyToMove` does exactly that.",
138131
+ "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.",
136950
138132
  "default": "new Promise<void>((resolve) => { this.resolveSettled = resolve })",
136951
138133
  "inheritedFrom": {
136952
138134
  "name": "HelixElement",